From bbde15ef91014818c747eda0a5fc7303426b4d1f Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 11 九月 2023 15:13:55 +0800 Subject: [PATCH] 基础字段 --- server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 202 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 197 insertions(+), 5 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 0e5c1ad..fd52229 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.service.business.GoodsService; @@ -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瀹炵幇 @@ -74,6 +72,12 @@ @Autowired private GoodsJoinMapper goodsJoinMapper; + @Autowired + private CateParamSelectMapper cateParamSelectMapper; + + @Autowired + private BaseGoodsMapper baseGoodsMapper; + @Override @@ -171,13 +175,77 @@ goodsParam.setCreator(user.getId()); goodsParam.setCreateDate(new Date()); goodsParam.setIsdeleted(Constants.ZERO); - goodsParam.setSortnum(i+Constants.ONE); goodsParam.setStatus(Constants.ZERO); + goodsParam.setSortnum(i+Constants.ONE); goodsParam.setGoodsId(goods.getId()); goodsParamMapper.insert(goodsParam); } } + return goods.getId(); + } + + @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(); } @@ -251,6 +319,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)) { @@ -265,11 +400,68 @@ @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) { Goods goods = goodsMapper.selectById(id); -- Gitblit v1.9.3