From 0b9c144b5110a7e2a85b2e5581ef304bb81a3ebc Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 19 九月 2023 19:24:35 +0800 Subject: [PATCH] 修改 --- server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 135 +++++++++++++++++++++++++++------------------ 1 files changed, 81 insertions(+), 54 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 ad4b0c8..bb7ec36 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 @@ -21,6 +21,8 @@ import com.doumee.service.business.BaseDataService; import com.doumee.service.business.GoodsService; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.swagger.v3.oas.annotations.callbacks.Callback; +import lombok.extern.java.Log; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -129,6 +131,7 @@ return goods.getId(); } @Override + @Transactional( rollbackFor = {Exception.class, BusinessException.class}) public Integer createPlat(GoodCreatePlatRequest param){ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(), Constants.UserType.COMPANY.getKey())){ @@ -197,6 +200,16 @@ if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){ for (int i = 0; i < goodsParamList.size(); i++) { BaseGoodsParam bgParam = goodsParamList.get(i); + //鏍规嵁骞冲彴鍟嗗搧閰嶇疆鐨勫钩鍙板弬鏁颁俊鎭煡璇紒涓氱粦瀹氱殑鍙傛暟淇℃伅 杩涜瀛樺偍鍒� 浼佷笟鍟嗗搧鍙傛暟鍐� + CateParam cateParam = cateParamMapper.selectOne(new QueryWrapper<CateParam>() + .eq("CATEGORY_ID",goods.getCategoryId()) + .eq("BASE_CATE_PARAM_ID",bgParam.getPramaId()) + .eq("ISDELETED",Constants.ZERO) + .eq("STATUS",Constants.ZERO) + .last(" limit 1 ")); +// if(Objects.isNull(cateParam)){ +// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼佷笟鍒嗙被鏁版嵁鍚屾寮傚父璇疯仈绯荤鐞嗗憳"); +// } GoodsParam goodsParam = new GoodsParam(); goodsParam.setCreator(user.getId()); goodsParam.setCreateDate(new Date()); @@ -206,6 +219,7 @@ goodsParam.setGoodsId(goods.getId()); goodsParam.setVal(bgParam.getVal()); goodsParam.setName(bgParam.getName()); + goodsParam.setPramaId(Objects.isNull(cateParam)?null:cateParam.getId()); goodsParamMapper.insert(goodsParam); } } @@ -330,19 +344,19 @@ 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); - }; +// 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(); @@ -439,7 +453,8 @@ goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName())); goodsMapper.updateById(goods); - multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",goods.getId())); + multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",goods.getId()) + .eq("OBJ_TYPE",0).eq("COMPANY_ID",user.getCompanyId())); List<Multifile> multifileList = goods.getMultifileList(); if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){ for (int i = 0; i < multifileList.size(); i++) { @@ -467,19 +482,19 @@ 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); - }; +// 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); +// }; } } } @@ -647,7 +662,9 @@ if (pageWrap.getModel().getStatus() != null) { queryWrapper.eq(Goods::getStatus, pageWrap.getModel().getStatus()); } - + if (pageWrap.getModel().getType() != null) { + queryWrapper.eq(Goods::getType, pageWrap.getModel().getType()); + } if (pageWrap.getModel().getCategoryId() != null) { queryWrapper.eq(Goods::getCategoryId, pageWrap.getModel().getCategoryId()); } @@ -663,10 +680,6 @@ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_IMG).getCode(); goodsIPage.getRecords().forEach(i->{ i.setPrefixUrl(prefixUrl); - if(i.getType().equals(Constants.ONE)){ - i.setBasePrice(i.getBasePrice().multiply(i.getBasePriceRate())); - } - }); return PageData.from(goodsIPage); } @@ -780,7 +793,7 @@ String proDir =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode(); String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GOODS_IMG_DIR).getCode() - + proDir; + + proDir + File.separator + user.getCompanyId(); if(StringUtils.isNotBlank(path)){ OssModel ossModel = baseDataService.initOssModel(); File dir =new File(path+File.separator+newModel.getRemark()+File.separator); @@ -801,7 +814,7 @@ if(mulFiles==null){ mulFiles = new ArrayList<>(); } - mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),f)); + mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),mf)); } } } @@ -845,19 +858,19 @@ //鎻掑叆浜у搧鍙傛暟鍏宠仈琛� 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(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){ @@ -872,6 +885,7 @@ f.setCreator(newModel.getCreator()); f.setIsdeleted(Constants.ZERO); f.setSortnum(i); + f.setCompanyId(user.getCompanyId()); f.setFileurl(s); multifileMapper.insert(f); } @@ -970,6 +984,7 @@ @Override public void export(HttpServletRequest request, HttpServletResponse response) throws Exception { try { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); String fileName = "浜у搧瀵煎叆琛�"+System.currentTimeMillis()+".xlsx"; // 鑾峰彇鏂囦欢杈撳叆娴� InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/file/goodsExcelTemp.xlsx"); @@ -983,7 +998,10 @@ // sheet.getPhysicalNumberOfRows()鑾峰彇鎬荤殑琛屾暟 // 寰幆璇诲彇姣忎竴琛� Row row = sheet.createRow(1); - List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().eq("ISDELETED",0)); + List<Category> categoryList = categoryMapper.selectList( + new QueryWrapper<Category>().eq("ISDELETED",0) + .eq("COMPANY_ID",loginUserInfo.getCompanyId()) + ); categoryList.forEach(i->{ i.setParamList(cateParamMapper.selectList(new QueryWrapper<CateParam>().eq("ISDELETED",0).eq("CATEGORY_ID",i.getId()))); }); @@ -1042,14 +1060,18 @@ .or().like(Goods::getShortPinyin,pageWrap.getModel().getKeyword()) .or().like(Goods::getName,pageWrap.getModel().getKeyword()) ) - .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrFirst()), " find_in_set('"+pageWrap.getModel().getAttrFirst()+"',t.ATTR_FIRST_IDS) ") - .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrSecond()), " find_in_set('"+pageWrap.getModel().getAttrSecond()+"',t.ATTR_SECOD_IDS) ") +// .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrFirst()), " find_in_set('"+pageWrap.getModel().getAttrFirst()+"',t.ATTR_FIRST_IDS) ") +// .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrSecond()), " find_in_set('"+pageWrap.getModel().getAttrSecond()+"',t.ATTR_SECOD_IDS) ") + .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrFirst()), " t.id in ( SELECT gp.GOODS_ID FROM cate_param_select cps , goods_param gp where gp.PRAMA_ID = cps.PARAM_ID and gp.VAL = cps.`NAME` " + + " and cps.ID = '"+pageWrap.getModel().getAttrFirst()+"' ) ") + .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getAttrSecond()), " t.id in ( SELECT gp.GOODS_ID FROM cate_param_select cps , goods_param gp where gp.PRAMA_ID = cps.PARAM_ID and gp.VAL = cps.`NAME` " + + " and cps.ID = '"+pageWrap.getModel().getAttrSecond()+"' ) ") .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getSPrice()), " t.PRICE >= "+pageWrap.getModel().getSPrice()+" ") .apply(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getEPrice()), " t.PRICE <= "+pageWrap.getModel().getEPrice()+" "); 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(); + String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_IMG).getCode(); goodsIPage.getRecords().forEach(i->{ i.setPrefixUrl(prefixUrl); i.setMultifileList(multifileMapper.selectList(new QueryWrapper<Multifile>().eq("OBJ_ID",i.getId()).orderByAsc(" SORTNUM "))); @@ -1061,6 +1083,10 @@ @Override public List<Goods> findListForH5(GoodsRequest goodsRequest) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!loginUserInfo.getType().equals(Constants.UserType.ZHUBO.getKey())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰富鎾敤鎴锋棤娉曚娇鐢�"); + } MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Goods.class); queryWrapper.selectAs(Category::getName, Goods::getCategoryName); @@ -1072,6 +1098,7 @@ queryWrapper.leftJoin(Brand.class, Brand::getId, Goods::getBrandId); queryWrapper.eq(Goods::getStatus,Constants.ZERO); queryWrapper.eq(Goods::getIsdeleted,Constants.ZERO); + queryWrapper.eq(Goods::getCompanyId,loginUserInfo.getCompanyId()); queryWrapper.eq(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getCategoryId()), Goods::getCategoryId, goodsRequest.getCategoryId()) .eq(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getBrandId()), Goods::getBrandId, goodsRequest.getBrandId()) .and(!Objects.isNull(goodsRequest) && StringUtils.isNotBlank(goodsRequest.getKeyword()), @@ -1085,8 +1112,8 @@ .apply(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getEPrice()), " t.PRICE <= "+goodsRequest.getEPrice()+" "); queryWrapper.orderByDesc(Goods::getId); List<Goods> goodsList = goodsJoinMapper.selectJoinList(Goods.class,queryWrapper); - String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() - + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode(); + String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_IMG).getCode(); goodsList.forEach(i->{ i.setPrefixUrl(prefixUrl); i.setMultifileList(multifileMapper.selectList(new QueryWrapper<Multifile>().eq("OBJ_ID",i.getId()).orderByAsc(" SORTNUM "))); -- Gitblit v1.9.3