From f4a3c600d4600f211e4599de90545a6974c955de Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 20 九月 2023 10:50:11 +0800
Subject: [PATCH] pp
---
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 92 ++++++++++++++++++++--------------------------
1 files changed, 40 insertions(+), 52 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index 238da11..3a99f62 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -175,6 +175,8 @@
// 濡傛灉閫夋嫨骞冲彴鍟嗗搧鍜屾煡璇㈢粨鏋滃涓嶄笂锛屾彁绀洪敊璇�
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋纭�夋嫨骞冲彴鍟嗗搧锛�");
}
+ List<Multifile> multifileList = new ArrayList<>();
+ List<GoodsParam> goodsParamList = new ArrayList<>();
for(BaseGoods model : goodsList){
//閬嶅巻骞冲彴鍟嗗搧淇℃伅锛岃繘琛屽晢鍝佷俊鎭悓姝�
Goods goods = initGoodsPlatParam(user,model,param);
@@ -183,16 +185,21 @@
}
goodsMapper.insert(goods);
//寮�濮嬪鐞嗛檮浠�
- dealPlatMultifule(goods.getId(),user,model);
+ dealPlatMultifule(goods.getId(),user,model,multifileList);
//寮�濮嬪鐞嗗弬鏁伴厤缃�
- dealPlatGoodsParam(model,goods,user);
+ dealPlatGoodsParam(model,goods,user,goodsParamList);
}
-
+ if(multifileList.size()>0){
+ multifileMapper.insertBatch(multifileList);
+ }
+ if(goodsParamList.size()>0){
+ goodsParamMapper.insertBatch(goodsParamList);
+ }
return 1;
}
- private void dealPlatGoodsParam(BaseGoods model, Goods goods, LoginUserInfo user) {
+ private void dealPlatGoodsParam(BaseGoods model, Goods goods, LoginUserInfo user,List<GoodsParam> paramList) {
BaseGoodsParam baseGoodsParam = new BaseGoodsParam();
baseGoodsParam.setGoodsId(model.getId());
baseGoodsParam.setIsdeleted(Constants.ZERO);
@@ -207,9 +214,9 @@
.eq("ISDELETED",Constants.ZERO)
.eq("STATUS",Constants.ZERO)
.last(" limit 1 "));
- if(Objects.isNull(cateParam)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼佷笟鍒嗙被鏁版嵁鍚屾寮傚父璇疯仈绯荤鐞嗗憳");
- }
+// if(Objects.isNull(cateParam)){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼佷笟鍒嗙被鏁版嵁鍚屾寮傚父璇疯仈绯荤鐞嗗憳");
+// }
GoodsParam goodsParam = new GoodsParam();
goodsParam.setCreator(user.getId());
goodsParam.setCreateDate(new Date());
@@ -219,24 +226,9 @@
goodsParam.setGoodsId(goods.getId());
goodsParam.setVal(bgParam.getVal());
goodsParam.setName(bgParam.getName());
- goodsParam.setPramaId(cateParam.getId());
- goodsParamMapper.insert(goodsParam);
-
- //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦�
-// if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
-// .eq("PARAM_ID",goodsParam.getPramaId()).eq("NAME",goodsParam.getName()))<=Constants.ZERO){
-// CateParamSelect cateParamSelect = new CateParamSelect();
-// cateParamSelect.setCreator(user.getId());
-// cateParamSelect.setCreateDate(new Date());
-// cateParamSelect.setName(goodsParam.getVal());
-// cateParamSelect.setIsdeleted(Constants.ZERO);
-// cateParamSelect.setStatus(Constants.ZERO);
-// cateParamSelect.setParamId(goodsParam.getPramaId());
-// cateParamSelect.setCategoryId(goods.getCategoryId());
-// cateParamSelect.setStatus(Constants.ZERO);
-// cateParamSelectMapper.insert(cateParamSelect);
-// };
-
+ goodsParam.setPramaId(Objects.isNull(cateParam)?null:cateParam.getId());
+ paramList.add(goodsParam);
+// goodsParamMapper.insert(goodsParam);
}
}
}
@@ -245,6 +237,7 @@
Goods goods = new Goods();
goods.setIsdeleted(Constants.ZERO);
goods.setGoodsId(model.getId());
+ goods.setCompanyId(user.getCompanyId());
if(goodsMapper.selectCount(new QueryWrapper<>(goods))>0){
//濡傛灉宸茬粡鍚屾杩囷紝璺宠繃姝ゆ鍚屾
return null;
@@ -272,7 +265,7 @@
/**
* 寮�濮嬪鐞嗗钩鍙板晢鍝佸叧鑱旈檮浠讹紝澶嶅埗涓�濂楀埌浼佷笟鍟嗗搧涓�
*/
- private void dealPlatMultifule(Integer id, LoginUserInfo user, BaseGoods model) {
+ private void dealPlatMultifule(Integer id, LoginUserInfo user, BaseGoods model,List<Multifile> fileList ) {
Multifile f = new Multifile();
f.setObjId(model.getId());
f.setIsdeleted(Constants.ZERO);
@@ -291,7 +284,8 @@
multifile.setName(multifile.getName());
multifile.setSortnum(multifile.getSortnum());
multifile.setCompanyId(user.getCompanyId());
- multifileMapper.insert(multifile);
+ fileList.add(multifile);
+// multifileMapper.insert(multifile);
}
}
}
@@ -300,16 +294,16 @@
if(Constants.equalsInteger(Constants.ONE, param.getType())){
for(PlatGoodsParam p: param.getGoodsParamList()){
if(Constants.equalsInteger(model.getId(),p.getGoodsId())){
- return p.getPrice();
+ return p.getPrice().setScale(0,BigDecimal.ROUND_CEILING);
}
}
}
//濡傛灉娌℃湁閰嶇疆鍏ユ墜浠凤紝瀹夎鍔犱环绯绘暟鏉ヨ绠�
- if(model.getCateRatePrice()==null){
- model.setCateRatePrice(systemDictDataBiz.getGoodsPriceRate());
- }
- //杩斿洖
- return Constants.formatBigdecimal(model.getPrice()).multiply(model.getCateRatePrice()).multiply(param.getRate());
+// if(model.getCateRatePrice()==null){
+// model.setCateRatePrice(systemDictDataBiz.getGoodsPriceRate());
+// }
+ //杩斿洖 .multiply(model.getCateRatePrice())
+ return (Constants.formatBigdecimal(model.getPrice()).multiply(param.getRate())).setScale(0,BigDecimal.ROUND_CEILING);
}
@@ -345,6 +339,7 @@
multifile.setObjId(goods.getId());
multifile.setType(Constants.ZERO);
multifile.setObjType(Constants.ZERO);
+ multifile.setCompanyId(goods.getCompanyId());
multifileMapper.insert(multifile);
}
}
@@ -359,20 +354,6 @@
goodsParam.setSortnum(i+Constants.ONE);
goodsParam.setGoodsId(goods.getId());
goodsParamMapper.insert(goodsParam);
- //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦�
-// if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
-// .eq("PARAM_ID",goodsParam.getPramaId()).eq("NAME",goodsParam.getName()))<=Constants.ZERO){
-// CateParamSelect cateParamSelect = new CateParamSelect();
-// cateParamSelect.setCreator(user.getId());
-// cateParamSelect.setCreateDate(new Date());
-// cateParamSelect.setName(goodsParam.getVal());
-// cateParamSelect.setIsdeleted(Constants.ZERO);
-// cateParamSelect.setStatus(Constants.ZERO);
-// cateParamSelect.setParamId(goodsParam.getPramaId());
-// cateParamSelect.setCategoryId(goods.getCategoryId());
-// cateParamSelect.setStatus(Constants.ZERO);
-// cateParamSelectMapper.insert(cateParamSelect);
-// };
}
}
return goods.getId();
@@ -457,7 +438,8 @@
}else{
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛绫诲埆閿欒锛屾棤娉曡繘琛岃鎿嶄綔");
}
- if(goodsMapper.selectCount(new QueryWrapper<Goods>().eq("COMPANY_ID",user.getCompanyId()).eq("ISDELETED",Constants.ZERO).ne("id",goods.getId()).eq("name",goods.getName()))>0){
+ if(goodsMapper.selectCount(new QueryWrapper<Goods>().eq("COMPANY_ID",user.getCompanyId())
+ .eq("ISDELETED",Constants.ZERO).ne("id",goods.getId()).eq("name",goods.getName()))>0){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+goods.getName()+"銆戝凡瀛樺湪");
};
goods.setStatus(Constants.ZERO);
@@ -481,6 +463,7 @@
multifile.setSortnum(i+Constants.ONE);
multifile.setObjId(goods.getId());
multifile.setType(Constants.ZERO);
+ multifile.setCompanyId(goods.getCompanyId());
multifile.setObjType(Constants.ZERO);
multifileMapper.insert(multifile);
}
@@ -535,7 +518,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
//鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋�
- if(dbGoods.getType().equals(Constants.goodsType.PULL)&&goods.getStatus().equals(Constants.ZERO)){
+ if(dbGoods.getType().equals(Constants.goodsType.PULL.getValue())&&goods.getStatus().equals(Constants.ZERO)){
BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId());
if(Objects.isNull(baseGoods)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌骞冲彴鍟嗗搧淇℃伅");
@@ -573,7 +556,7 @@
continue;
}
//鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋�
- if(dbGoods.getType().equals(Constants.goodsType.PULL)&&batchDisableDTO.getStatus().equals(Constants.ZERO)){
+ if(dbGoods.getType().equals(Constants.goodsType.PULL.getValue())&&batchDisableDTO.getStatus().equals(Constants.ZERO)){
BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId());
if(Objects.isNull(baseGoods)||!baseGoods.getStatus().equals(Constants.ZERO)){
errNum++;
@@ -1091,7 +1074,9 @@
goodsIPage.getRecords().forEach(i->{
i.setPrefixUrl(prefixUrl);
i.setMultifileList(multifileMapper.selectList(new QueryWrapper<Multifile>().eq("OBJ_ID",i.getId()).orderByAsc(" SORTNUM ")));
- i.setGoodsParamList(goodsParamMapper.selectList(new QueryWrapper<GoodsParam>().eq("GOODS_ID",i.getId()).orderByAsc(" SORTNUM ")));
+ i.setGoodsParamList(goodsParamMapper.selectList(new QueryWrapper<GoodsParam>()
+ .eq("GOODS_ID",i.getId())
+ .orderByAsc(" SORTNUM ")));
});
return PageData.from(goodsIPage);
}
@@ -1133,7 +1118,10 @@
goodsList.forEach(i->{
i.setPrefixUrl(prefixUrl);
i.setMultifileList(multifileMapper.selectList(new QueryWrapper<Multifile>().eq("OBJ_ID",i.getId()).orderByAsc(" SORTNUM ")));
- i.setGoodsParamList(goodsParamMapper.selectList(new QueryWrapper<GoodsParam>().eq("GOODS_ID",i.getId()).orderByAsc(" SORTNUM ")));
+ i.setGoodsParamList(goodsParamMapper.selectList(
+ new QueryWrapper<GoodsParam>().eq("GOODS_ID",i.getId())
+ .apply(" name in ( select cp.NAME from cate_param cp where cp.CATEGORY_ID = "+i.getCategoryId()+" and cp.ISSHOW = 1 and cp.ISDELETED = 0 and cp.STATUS = 0 ) ")
+ .orderByAsc(" SORTNUM ")));
});
return goodsList;
}
--
Gitblit v1.9.3