server/company/src/main/java/com/doumee/api/business/CategoryController.java
@@ -38,6 +38,15 @@ return ApiResponse.success(categoryService.create(category)); } @PreventRepeat @ApiOperation("ä¼ä¸æ°å»ºåç±»") @PostMapping("/companyCreate") @RequiresPermissions("business:category:create") public ApiResponse companyCreate(@RequestBody Category category) { return ApiResponse.success(categoryService.companyCreate(category)); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") @RequiresPermissions("business:category:delete") @@ -64,6 +73,14 @@ @RequiresPermissions("business:category:update") public ApiResponse updateById(@RequestBody Category category) { categoryService.updateById(category); return ApiResponse.success(null); } @ApiOperation("ä¼ä¸æ ¹æ®IDä¿®æ¹") @PostMapping("/companyUpdateById") @RequiresPermissions("business:category:update") public ApiResponse companyUpdateById(@RequestBody Category category) { categoryService.companyUpdateById(category); return ApiResponse.success(null); } @@ -108,4 +125,11 @@ return ApiResponse.success(categoryService.findListForGoods(goodsId)); } @ApiOperation("ä¼ä¸éæ©åç±»å表 - H5") @PostMapping("/companyFindList") public ApiResponse<List<Category>> companyFindList (@RequestBody Category category) { return ApiResponse.success(categoryService.companyFindList(category)); } } server/company/src/main/java/com/doumee/api/business/GoodsController.java
@@ -6,6 +6,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.Goods; 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,6 +42,17 @@ public ApiResponse create(@RequestBody Goods goods) { return ApiResponse.success(goodsService.create(goods)); } @PreventRepeat @ApiOperation("ä¼ä¸æ°å»ºåå") @PostMapping("/companyCreate") @RequiresPermissions("business:goods:create") public ApiResponse companyCreate(@RequestBody Goods goods) { return ApiResponse.success(goodsService.companyCreate(goods)); } @PreventRepeat @ApiOperation("ä»å¹³å°éæ©åå") @PostMapping("/createPlat") @@ -75,6 +87,14 @@ @RequiresPermissions("business:goods:update") public ApiResponse updateById(@RequestBody Goods goods) { goodsService.updateById(goods); return ApiResponse.success(null); } @ApiOperation("ä¼ä¸æ ¹æ®IDä¿®æ¹") @PostMapping("/companyUpdateById") @RequiresPermissions("business:goods:update") public ApiResponse companyUpdateById(@RequestBody Goods goods) { goodsService.companyUpdateById(goods); return ApiResponse.success(null); } @@ -118,6 +138,13 @@ return ApiResponse.success(null); } @ApiOperation("æ¹éä¿®æ¹ç¶æ") @PostMapping("/batchUpdateDisableById") @RequiresPermissions("business:category:update") public ApiResponse<String> batchUpdateDisableById(@RequestBody BatchDisableDTO batchDisableDTO) { return ApiResponse.success(goodsService.batchUpdateDisableById(batchDisableDTO)); } @ApiOperation("å表 - H5") @PostMapping("/list") server/service/src/main/java/com/doumee/dao/business/model/dto/BatchDisableDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.doumee.dao.business.model.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/9/11 10:27 */ @Data public class BatchDisableDTO { @ApiModelProperty(value = "æä½ä¸»é®å¤ä¸ªä»¥,åå²") private String ids; @ApiModelProperty(value = "æä½åç±»ï¼0=䏿¶ï¼1=䏿¶") private Integer status; } server/service/src/main/java/com/doumee/service/business/CategoryService.java
@@ -20,6 +20,9 @@ */ Integer create(Category category); Integer companyCreate(Category category); /** * 主é®å é¤ * @@ -50,6 +53,7 @@ */ void updateById(Category category); void companyUpdateById(Category category); /** * æ¹é䏻鮿´æ° * @@ -81,6 +85,7 @@ */ List<Category> findList(Category category); List<Category> companyFindList(Category category); /** * æ¥è¯¢ç±»å« * @param goodsId server/service/src/main/java/com/doumee/service/business/GoodsService.java
@@ -4,6 +4,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.Goods; 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 org.springframework.web.multipart.MultipartFile; @@ -26,6 +27,8 @@ * @return Integer */ Integer create(Goods goods); Integer companyCreate(Goods goods); /** * 主é®å é¤ @@ -55,6 +58,7 @@ */ void updateById(Goods goods); void companyUpdateById(Goods goods); /** * æ¹é䏻鮿´æ° * @@ -64,6 +68,8 @@ void updateDisableById(Goods goods); String batchUpdateDisableById(BatchDisableDTO batchDisableDTO); /** * 䏻鮿¥è¯¢ * server/service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -116,10 +116,55 @@ cateBudgetMapper.insert(cateBudget); } } return category.getId(); } @Override public Integer companyCreate(Category category) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(categoryMapper.selectCount(new QueryWrapper<Category>().eq("ISDELETED",Constants.ZERO) .eq("COMPANY_ID",user.getCompanyId()).eq("name",category.getName()))>0){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ã"+category.getName()+"ãå·²åå¨"); }; category.setStatus(Constants.ZERO); category.setCreateDate(new Date()); category.setCreator(user.getId()); category.setIsdeleted(Constants.ZERO); //å¤çæ¼é³é®é¢ category.setPinyin(PinYinUtil.getFullSpell(category.getName())); category.setShortPinyin(PinYinUtil.getFirstSpell(category.getName())); categoryMapper.insert(category); List<CateParam> paramList = category.getParamList(); if(!Objects.isNull(paramList)&¶mList.size()> Constants.ZERO){ for (int i = 0; i < paramList.size(); i++) { CateParam cateParam = paramList.get(i); cateParam.setCreator(user.getId()); cateParam.setCreateDate(new Date()); cateParam.setIsdeleted(Constants.ZERO); cateParam.setSortnum(i+Constants.ONE); cateParam.setStatus(Constants.ZERO); cateParam.setCategoryId(category.getId()); cateParamMapper.insert(cateParam); } } List<CateBudget> budgetList = category.getBudgetList(); if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){ for (int i = 0; i < budgetList.size(); i++) { CateBudget cateBudget = budgetList.get(i); cateBudget.setCreator(user.getId()); cateBudget.setCreateDate(new Date()); cateBudget.setIsdeleted(Constants.ZERO); cateBudget.setSortnum(i+Constants.ONE); cateBudget.setStatus(Constants.ZERO); cateBudget.setCategoryId(category.getId()); cateBudgetMapper.insert(cateBudget); } } return category.getId(); } @Override public void deleteById(Integer id) { @@ -209,6 +254,52 @@ // } // } cateBudgetMapper.delete(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",category.getId())); List<CateBudget> budgetList = category.getBudgetList(); if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){ for (int i = 0; i < budgetList.size(); i++) { CateBudget cateBudget = budgetList.get(i); cateBudget.setCreator(user.getId()); cateBudget.setCreateDate(new Date()); cateBudget.setIsdeleted(Constants.ZERO); cateBudget.setSortnum(i+Constants.ONE); cateBudget.setStatus(Constants.ZERO); cateBudget.setCategoryId(category.getId()); cateBudgetMapper.insert(cateBudget); } } } @Override public void companyUpdateById(Category category) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(categoryMapper.selectCount(new QueryWrapper<Category>().eq("ISDELETED",Constants.ZERO).ne("id",category.getId()).eq("name",category.getName()))>0){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ã"+category.getName()+"ãå·²åå¨"); }; category.setStatus(Constants.ZERO); category.setEditDate(new Date()); category.setEditor(user.getId()); category.setIsdeleted(Constants.ZERO); //å¤çæ¼é³é®é¢ category.setPinyin(PinYinUtil.getFullSpell(category.getName())); category.setShortPinyin(PinYinUtil.getFirstSpell(category.getName())); categoryMapper.updateById(category); //å¤ç屿§é ç½® cateParamMapper.delete(new QueryWrapper<CateParam>().eq("CATEGORY_ID",category.getId())); List<CateParam> paramList = category.getParamList(); if(!Objects.isNull(paramList)&¶mList.size()> Constants.ZERO){ for (int i = 0; i < paramList.size(); i++) { CateParam cateParam = paramList.get(i); cateParam.setCreator(user.getId()); cateParam.setCreateDate(new Date()); cateParam.setIsdeleted(Constants.ZERO); cateParam.setSortnum(i+Constants.ONE); cateParam.setStatus(Constants.ZERO); cateParam.setCategoryId(category.getId()); cateParamMapper.insert(cateParam); } } cateBudgetMapper.delete(new QueryWrapper<CateBudget>().eq("CATEGORY_ID",category.getId())); List<CateBudget> budgetList = category.getBudgetList(); if(!Objects.isNull(budgetList)&&budgetList.size()> Constants.ZERO){ @@ -385,4 +476,29 @@ QueryWrapper<Category> wrapper = new QueryWrapper<>(category); return categoryMapper.selectCount(wrapper); } /**********************************************************************************/ @Override public List<Category> companyFindList(Category category) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); QueryWrapper<Category> wrapper = new QueryWrapper<>(category) .eq("STATUS",Constants.ZERO) .eq("COMPANY_ID",user.getCompanyId()) .eq("ISDELETED",Constants.ZERO) .orderByAsc(" SORTNUM "); List<Category> list = categoryMapper.selectList(wrapper); String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode(); for (Category c:list) { c.setPrefixUrl(prefixUrl); c.setBudgetList(cateBudgetMapper.selectList(new QueryWrapper<CateBudget>().eq("STATUS",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc(" SORTNUM "))); c.setParamList(cateParamMapper.selectList(new QueryWrapper<CateParam>().eq("STATUS",Constants.ZERO).eq("CATEGORY_ID",c.getId()).orderByAsc("SORTNUM"))); } return list; } } 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.*; /** * ååä¿¡æ¯è¡¨Serviceå®ç° @@ -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);