From a7a57c08a3c632bfc7fc82b8015167022c2d8505 Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期四, 14 九月 2023 18:23:37 +0800 Subject: [PATCH] #自测修改 --- server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 309 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 258 insertions(+), 51 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 a7342ed..4e04375 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 @@ -17,6 +17,7 @@ import com.doumee.dao.business.*; import com.doumee.dao.business.join.GoodsJoinMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.dto.BatchDisableDTO; import com.doumee.dao.business.model.dto.GoodCreatePlatRequest; import com.doumee.dao.business.model.dto.GoodsRequest; import com.doumee.dao.business.model.dto.PlatGoodsParam; @@ -41,10 +42,7 @@ import java.math.BigDecimal; import java.net.URLEncoder; import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 鍟嗗搧淇℃伅琛⊿ervice瀹炵幇 @@ -78,6 +76,10 @@ @Autowired private GoodsJoinMapper goodsJoinMapper; + @Autowired + private CateParamSelectMapper cateParamSelectMapper; + + @Override @@ -273,6 +275,72 @@ } //杩斿洖 return Constants.formatBigdecimal(model.getPrice()).multiply(model.getCateRatePrice()).multiply(param.getRate()); + + } + + + @Override + public Integer companyCreate(Goods goods) { + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(user.getType()==1){ + goods.setCompanyId(user.getCompanyId()); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛绫诲埆閿欒锛屾棤娉曡繘琛岃鎿嶄綔"); + } + if(goodsMapper.selectCount(new QueryWrapper<Goods>().eq("COMPANY_ID",user.getCompanyId()).eq("ISDELETED",Constants.ZERO).eq("name",goods.getName()))>0){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+goods.getName()+"銆戝凡瀛樺湪"); + } + goods.setStatus(Constants.ZERO); + goods.setCreateDate(new Date()); + goods.setCreator(user.getId()); + goods.setIsdeleted(Constants.ZERO); + //澶勭悊鎷奸煶闂 + goods.setPinyin(PinYinUtil.getFullSpell(goods.getName())); + goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName())); + goodsMapper.insert(goods); + + List<Multifile> multifileList = goods.getMultifileList(); + if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){ + for (int i = 0; i < multifileList.size(); i++) { + Multifile multifile = multifileList.get(i); + multifile.setCreator(user.getId()); + multifile.setCreateDate(new Date()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setSortnum(i+Constants.ONE); + multifile.setObjId(goods.getId()); + multifile.setType(Constants.ZERO); + multifile.setObjType(Constants.ZERO); + multifileMapper.insert(multifile); + } + } + List<GoodsParam> goodsParamList = goods.getGoodsParamList(); + if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){ + for (int i = 0; i < goodsParamList.size(); i++) { + GoodsParam goodsParam = goodsParamList.get(i); + goodsParam.setCreator(user.getId()); + goodsParam.setCreateDate(new Date()); + goodsParam.setIsdeleted(Constants.ZERO); + goodsParam.setStatus(Constants.ZERO); + 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(); } @Override @@ -345,6 +413,73 @@ } } + + @Override + public void companyUpdateById(Goods goods) { + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(user.getType()==1){ + goods.setCompanyId(user.getCompanyId()); + }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){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+goods.getName()+"銆戝凡瀛樺湪"); + }; + goods.setStatus(Constants.ZERO); + goods.setEditDate(new Date()); + goods.setEditor(user.getId()); + goods.setIsdeleted(Constants.ZERO); + //澶勭悊鎷奸煶闂 + goods.setPinyin(PinYinUtil.getFullSpell(goods.getName())); + goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName())); + goodsMapper.updateById(goods); + + multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",goods.getId())); + List<Multifile> multifileList = goods.getMultifileList(); + if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){ + for (int i = 0; i < multifileList.size(); i++) { + Multifile multifile = multifileList.get(i); + multifile.setCreator(user.getId()); + multifile.setCreateDate(new Date()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setSortnum(i+Constants.ONE); + multifile.setObjId(goods.getId()); + multifile.setType(Constants.ZERO); + multifile.setObjType(Constants.ZERO); + multifileMapper.insert(multifile); + } + } + goodsParamMapper.delete(new QueryWrapper<GoodsParam>().eq("GOODS_ID",goods.getId())); + List<GoodsParam> goodsParamList = goods.getGoodsParamList(); + if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){ + for (int i = 0; i < goodsParamList.size(); i++) { + GoodsParam goodsParam = goodsParamList.get(i); + goodsParam.setCreator(user.getId()); + goodsParam.setCreateDate(new Date()); + goodsParam.setIsdeleted(Constants.ZERO); + goodsParam.setSortnum(i+Constants.ONE); + goodsParam.setStatus(Constants.ZERO); + 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); + }; + } + } + } + + @Override public void updateByIdInBatch(List<Goods> goodss) { if (CollectionUtils.isEmpty(goodss)) { @@ -359,10 +494,67 @@ @Override public void updateDisableById(Goods goods) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + Goods dbGoods = goodsMapper.selectById(goods.getId()); + if(Objects.isNull(dbGoods)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + //鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋� + if(dbGoods.getType().equals(Constants.goodsType.PULL)&&goods.getStatus().equals(Constants.ZERO)){ + BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId()); + if(Objects.isNull(baseGoods)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌骞冲彴鍟嗗搧淇℃伅"); + } + if(!baseGoods.getStatus().equals(Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"骞冲彴鍟嗗搧宸蹭笅鏋讹紝鏃犳硶涓婃灦"); + } + } goods.setEditDate(new Date()); goods.setEditor(user.getId()); goodsMapper.updateById(goods); } + + /** + * 鎵归噺涓婁笅鏋� + * @param batchDisableDTO + * @return + */ + @Override + public String batchUpdateDisableById(BatchDisableDTO batchDisableDTO) { + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(StringUtils.isBlank(batchDisableDTO.getIds())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇烽�夋嫨瀵瑰簲鐨勫晢鍝佽繘琛岃鎿嶄綔"); + } + if(!(batchDisableDTO.getStatus().equals(Constants.ZERO)||batchDisableDTO.getStatus().equals(Constants.ONE))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔绫诲瀷閿欒"); + } + Integer okNum = 0; + Integer errNum = 0; + List<String> goodsList = Arrays.asList(batchDisableDTO.getIds().split(",")); + for (String goodsId:goodsList) { + Goods dbGoods = goodsMapper.selectById(goodsId); + if(Objects.isNull(dbGoods)){ + errNum++; + continue; + } + //鎷夊紡鍟嗗搧 涓� 涓婃灦鏃讹紝闇�瑕侀檺鍒� 骞冲彴鍟嗗搧鏄惁宸蹭笅鏋� + if(dbGoods.getType().equals(Constants.goodsType.PULL)&&batchDisableDTO.getStatus().equals(Constants.ZERO)){ + BaseGoods baseGoods = baseGoodsMapper.selectById(dbGoods.getGoodsId()); + if(Objects.isNull(baseGoods)||!baseGoods.getStatus().equals(Constants.ZERO)){ + errNum++; + continue; + } + } + dbGoods.setEditDate(new Date()); + dbGoods.setEditor(user.getId()); + dbGoods.setStatus(batchDisableDTO.getStatus()); + goodsMapper.updateById(dbGoods); + okNum++; + } + return "鏇存柊鎴愬姛鏁伴噺("+okNum+");鏇存柊澶辫触鏁伴噺("+errNum+")"; + } + + + @Override public Goods findById(Integer id) { @@ -452,9 +644,10 @@ if (pageWrap.getModel().getBrandId() != null) { queryWrapper.eq(Goods::getBrandId, pageWrap.getModel().getBrandId()); } - + if (pageWrap.getModel().getCompanyId() != null) { + queryWrapper.eq(Goods::getCompanyId, pageWrap.getModel().getCompanyId()); + } queryWrapper.orderByDesc(Goods::getId); - IPage<Goods> goodsIPage = goodsJoinMapper.selectJoinPage(page, Goods.class, queryWrapper); String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode(); @@ -569,54 +762,54 @@ //鏌ヨ鍏ㄩ儴灞炴��1鍜屽睘鎬�2瑙勬牸鍊� List<CateAttr> allAttr = cateAttrMapper.selectList(new QueryWrapper<>(ca)); //灞炴��1闆嗗悎 - String[] attrs = StringUtils.defaultString(m.getAttrFirstNames(),"").split("\n"); +// String[] attrs = StringUtils.defaultString(m.getAttrFirstNames(),"").split("\n"); //灞炴��2闆嗗悎 - String[] attrs2 = StringUtils.defaultString(m.getAttrSecodNames(),"").split("\n"); +// String[] attrs2 = StringUtils.defaultString(m.getAttrSecodNames(),"").split("\n"); //浜у搧鍙傛暟闆嗗悎 String[] params = StringUtils.defaultString(m.getParamStr(),"").split("\n"); - if(attrs.length > 0){ - String attrids="" ,attrNames=""; - for(String s : attrs){ - if(StringUtils.isBlank(s)){ - continue; - } - //鏌ヨ灞炴�ц鏍煎璞� - CateAttr ta = getCateAttrByName(s,Constants.ZERO,allAttr); - if(ta == null){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+(num)+"銆戣灞炴��1涓��"+s+"銆戞棤鏁堬紝璇锋鏌ヨ緭鍏ワ紒"); - } - if(StringUtils.isNotBlank(attrids)){ - attrids += ","; - attrNames += ","; - } - attrids+= ta.getId(); - attrNames+= ta.getName(); - } - newModel.setAttrFirstIds(attrids); - newModel.setAttrFirstNames(attrNames); - } - if(attrs2.length > 0){ - String attrids="" ,attrNames=""; - for(String s : attrs2){ - if(StringUtils.isBlank(s)){ - continue; - } - //鏌ヨ灞炴�ц鏍煎璞� - CateAttr ta = getCateAttrByName(s,Constants.ONE,allAttr); - if(ta == null){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+(num)+"銆戣灞炴��1涓��"+s+"銆戞棤鏁堬紝璇锋鏌ヨ緭鍏ワ紒"); - } - if(StringUtils.isNotBlank(attrids)){ - attrids += ","; - attrNames += ","; - } - attrids+= ta.getId(); - attrNames+= ta.getName(); - } - newModel.setAttrSecodIds(attrids); - newModel.setAttrSecodNames(attrNames); - - } +// if(attrs.length > 0){ +// String attrids="" ,attrNames=""; +// for(String s : attrs){ +// if(StringUtils.isBlank(s)){ +// continue; +// } +// //鏌ヨ灞炴�ц鏍煎璞� +// CateAttr ta = getCateAttrByName(s,Constants.ZERO,allAttr); +// if(ta == null){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+(num)+"銆戣灞炴��1涓��"+s+"銆戞棤鏁堬紝璇锋鏌ヨ緭鍏ワ紒"); +// } +// if(StringUtils.isNotBlank(attrids)){ +// attrids += ","; +// attrNames += ","; +// } +// attrids+= ta.getId(); +// attrNames+= ta.getName(); +// } +// newModel.setAttrFirstIds(attrids); +// newModel.setAttrFirstNames(attrNames); +// } +// if(attrs2.length > 0){ +// String attrids="" ,attrNames=""; +// for(String s : attrs2){ +// if(StringUtils.isBlank(s)){ +// continue; +// } +// //鏌ヨ灞炴�ц鏍煎璞� +// CateAttr ta = getCateAttrByName(s,Constants.ONE,allAttr); +// if(ta == null){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+(num)+"銆戣灞炴��1涓��"+s+"銆戞棤鏁堬紝璇锋鏌ヨ緭鍏ワ紒"); +// } +// if(StringUtils.isNotBlank(attrids)){ +// attrids += ","; +// attrNames += ","; +// } +// attrids+= ta.getId(); +// attrNames+= ta.getName(); +// } +// newModel.setAttrSecodIds(attrids); +// newModel.setAttrSecodNames(attrNames); +// +// } List<String> mulFiles = null; String proDir =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode(); @@ -698,6 +891,20 @@ gp.setSortnum(ta.getSortnum()); //鎻掑叆浜у搧鍙傛暟鍏宠仈琛� goodsParamMapper.insert(gp); + //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦� + if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>() + .eq("PARAM_ID",gp.getPramaId()).eq("NAME",gp.getName()))<=Constants.ZERO){ + CateParamSelect cateParamSelect = new CateParamSelect(); + cateParamSelect.setCreator(user.getId()); + cateParamSelect.setCreateDate(new Date()); + cateParamSelect.setName(gp.getVal()); + cateParamSelect.setIsdeleted(Constants.ZERO); + cateParamSelect.setStatus(Constants.ZERO); + cateParamSelect.setParamId(gp.getPramaId()); + cateParamSelect.setCategoryId(newModel.getCategoryId()); + cateParamSelect.setStatus(Constants.ZERO); + cateParamSelectMapper.insert(cateParamSelect); + }; } } if(mulFiles !=null && mulFiles.size()>0){ -- Gitblit v1.9.3