From d5b7ec2f5564b863ee221fe5f8af0450a2ae3e9c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 18 九月 2023 14:26:37 +0800 Subject: [PATCH] 基础字段 --- server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 160 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 99 insertions(+), 61 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 1b54d9a..1023bb5 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 @@ -23,6 +23,7 @@ import com.doumee.dao.business.model.dto.PlatGoodsParam; import com.doumee.service.business.GoodsService; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.java.Log; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -130,7 +131,7 @@ @Override public Integer createPlat(GoodCreatePlatRequest param){ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - if(Constants.equalsInteger(user.getType(), Constants.UserType.COMPANY.getKey())){ + if(!Constants.equalsInteger(user.getType(), Constants.UserType.COMPANY.getKey())){ //闈炰紒涓氱敤鎴蜂笉鑳芥搷浣� throw new BusinessException(ResponseStatus.NOT_ALLOWED); } @@ -143,7 +144,7 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Category category = categoryMapper.selectById(param.getCategoryId()); - if(category ==null ||Constants.equalsInteger(category.getIsdeleted(), Constants.ONE) ||Constants.equalsInteger(category.getCompanyId(), user.getCompanyId())){ + if(category ==null ||Constants.equalsInteger(category.getIsdeleted(), Constants.ONE) ||!Constants.equalsInteger(category.getCompanyId(), user.getCompanyId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绫诲埆淇℃伅涓嶆纭紝璇峰埛鏂伴噸璇曪紒"); } if(category.getPlatCateId() == null){ @@ -160,11 +161,14 @@ if(p.getGoodsId() == null || p.getPrice() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋纭�夋嫨骞冲彴鍟嗗搧骞堕厤缃叆鎵嬩环锛�"); } + if(ids == null){ + ids = new ArrayList<>(); + } ids.add(p.getGoodsId()); } } goodsList = baseGoodsMapper.selectList(new QueryWrapper<>(bp).lambda().in((ids!=null && ids.size()>0),BaseGoods::getId,ids)); - if(Constants.equalsInteger(Constants.ONE, param.getType()) || goodsList==null || ids.size()!=goodsList.size()){ + if(Constants.equalsInteger(Constants.ONE, param.getType()) &&( goodsList==null || ids.size()!=goodsList.size())){ // 濡傛灉閫夋嫨骞冲彴鍟嗗搧鍜屾煡璇㈢粨鏋滃涓嶄笂锛屾彁绀洪敊璇� throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋纭�夋嫨骞冲彴鍟嗗搧锛�"); } @@ -219,6 +223,7 @@ goods.setStatus(Constants.ZERO); goods.setCreateDate(new Date()); goods.setCreator(user.getId()); + goods.setCompanyId(user.getCompanyId()); goods.setIsdeleted(Constants.ZERO); //澶勭悊鎷奸煶闂 goods.setPinyin(PinYinUtil.getFullSpell(goods.getName())); @@ -559,8 +564,8 @@ @Override public Goods findById(Integer id) { Goods goods = goodsMapper.selectById(id); - 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(); goods.setPrefixUrl(prefixUrl); Brand brand = brandMapper.selectById(goods.getBrandId()); if(!Objects.isNull(brand)){ @@ -603,8 +608,8 @@ Goods::getPrice,goods.getSPrice(),goods.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 "))); @@ -621,11 +626,16 @@ queryWrapper.selectAll(Goods.class); queryWrapper.selectAs(Category::getName, Goods::getCategoryName); + queryWrapper.selectAs(BaseGoods::getZdPrice, Goods::getBaseZdPrice); + queryWrapper.selectAs(BaseGoods::getPrice, Goods::getBasePrice); queryWrapper.selectAs(Brand::getName, Goods::getBrandName); queryWrapper.selectAs(Category::getAttrFirst, Goods::getAttrFirst); queryWrapper.selectAs(Category::getAttrSecond, Goods::getAttrSecond); + queryWrapper.selectAs(BaseCategory::getPriceRate,Goods::getBasePriceRate); queryWrapper.leftJoin(Category.class, Category::getId, Goods::getCategoryId); queryWrapper.leftJoin(Brand.class, Brand::getId, Goods::getBrandId); + queryWrapper.leftJoin(BaseGoods.class,BaseGoods::getId,Goods::getGoodsId); + queryWrapper.leftJoin(BaseCategory.class,BaseCategory::getId,BaseGoods::getCategoryId); queryWrapper.eq(Goods::getIsdeleted, Constants.ZERO); if (pageWrap.getModel().getId() != null) { @@ -644,14 +654,19 @@ 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(); + 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); + if(i.getType().equals(Constants.ONE)){ + i.setBasePrice(i.getBasePrice().multiply(i.getBasePriceRate())); + } + }); return PageData.from(goodsIPage); } @@ -761,54 +776,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(); @@ -890,6 +905,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){ @@ -999,6 +1028,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"); @@ -1012,7 +1042,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()))); }); @@ -1077,8 +1110,8 @@ .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 "))); @@ -1090,6 +1123,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); @@ -1101,6 +1138,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()), @@ -1114,8 +1152,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