记得上下班打卡 | git大法好,push需谨慎

Commit 0f0a62a9 authored by 张国柄's avatar 张国柄

~api:藏品管理:添加藏品+概率和<100校验;

parent 42a9feda
...@@ -5,6 +5,7 @@ import com.alibaba.excel.support.ExcelTypeEnum; ...@@ -5,6 +5,7 @@ import com.alibaba.excel.support.ExcelTypeEnum;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.exception.constant.ErrorCode; import com.liquidnet.common.exception.constant.ErrorCode;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
...@@ -1143,7 +1144,16 @@ public class GoblinStoreMgtGoodsController { ...@@ -1143,7 +1144,16 @@ public class GoblinStoreMgtGoodsController {
initGoodsSkuInfoVo.setExtagVoList(goodsExtagVoList); initGoodsSkuInfoVo.setExtagVoList(goodsExtagVoList);
} }
} }
goblinstoreMgtGoodsService.digitalGoodsAddSku(currentUid, initGoodsSkuInfoVo, goodsInfoVo); try {
goblinstoreMgtGoodsService.digitalGoodsAddSku(currentUid, initGoodsSkuInfoVo, goodsInfoVo);
} catch (Exception e) {
if (e instanceof LiquidnetServiceException) {
LiquidnetServiceException lsEx = (LiquidnetServiceException) e;
return ResponseDto.failure(lsEx.getCode(), lsEx.getMessage());
}
log.error("商品管理:商品编辑:SKU添加:异常[UID={},initGoodsSkuInfoVo={}]", currentUid, JsonUtils.toJson(initGoodsSkuInfoVo), e);
return ResponseDto.failure("添加失败");
}
return ResponseDto.success(initGoodsSkuInfoVo.getSkuId()); return ResponseDto.success(initGoodsSkuInfoVo.getSkuId());
} }
......
package com.liquidnet.service.goblin.service.impl.manage; package com.liquidnet.service.goblin.service.impl.manage;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.exception.constant.ErrorCode;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.service.base.PagedResult;
...@@ -982,14 +984,22 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -982,14 +984,22 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
} }
skuIdList.add(initGoodsSkuInfoVo.getSkuId()); skuIdList.add(initGoodsSkuInfoVo.getSkuId());
mgtGoodsInfoVo.setSkuIdList(skuIdList); mgtGoodsInfoVo.setSkuIdList(skuIdList);
BigDecimal priceGe = BigDecimal.ZERO, priceLe = BigDecimal.ZERO; BigDecimal priceGe = BigDecimal.ZERO, priceLe = BigDecimal.ZERO, hitRatioSum = BigDecimal.ZERO;
for (String skuIdStr : skuIdList) { for (String skuIdStr : skuIdList) {
GoblinGoodsSkuInfoVo skuInfoVo = skuIdStr.equals(skuId) ? initGoodsSkuInfoVo : goblinRedisUtils.getGoodsSkuInfoVo(skuIdStr); GoblinGoodsSkuInfoVo skuInfoVo = skuIdStr.equals(skuId) ? initGoodsSkuInfoVo : goblinRedisUtils.getGoodsSkuInfoVo(skuIdStr);
if (null != skuInfoVo && skuInfoVo.getDelFlg().equals("0")) { if (null != skuInfoVo && skuInfoVo.getDelFlg().equals("0")) {
priceGe = priceGe.compareTo(BigDecimal.ZERO) == 0 ? skuInfoVo.getPrice() : (priceGe.compareTo(skuInfoVo.getPrice()) > 0 ? skuInfoVo.getPrice() : priceGe); priceGe = priceGe.compareTo(BigDecimal.ZERO) == 0 ? skuInfoVo.getPrice() : (priceGe.compareTo(skuInfoVo.getPrice()) > 0 ? skuInfoVo.getPrice() : priceGe);
priceLe = priceLe.compareTo(skuInfoVo.getPrice()) < 0 ? skuInfoVo.getPrice() : priceLe; priceLe = priceLe.compareTo(skuInfoVo.getPrice()) < 0 ? skuInfoVo.getPrice() : priceLe;
BigDecimal hitRatio = skuInfoVo.getHitRatio();
if ("0".equals(skuInfoVo.getSoldoutStatus()) && "0".equals(skuInfoVo.getUnbox()) && null != hitRatio) {
hitRatioSum = hitRatioSum.add(hitRatio);
}
} }
} }
if (hitRatioSum.compareTo(new BigDecimal("100")) > 0) {
throw new LiquidnetServiceException(ErrorCode.HTTP_PARAM_ERROR.getCode(), "各藏品概率之和不能大于100");
}
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
if (priceGe.compareTo(mgtGoodsInfoVo.getPriceGe()) != 0 || priceLe.compareTo(mgtGoodsInfoVo.getPriceLe()) != 0) { if (priceGe.compareTo(mgtGoodsInfoVo.getPriceGe()) != 0 || priceLe.compareTo(mgtGoodsInfoVo.getPriceLe()) != 0) {
mgtGoodsInfoVo.setPriceGe(priceGe); mgtGoodsInfoVo.setPriceGe(priceGe);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment