From 47f9dffa729e76ae5d0f2f845f55d8cc7179e8ac Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期一, 11 九月 2023 17:01:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
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