From b23c0332c287158ff2e6cf97479969d15744a992 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 18 九月 2023 18:01:22 +0800 Subject: [PATCH] 基础字段 --- server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 131 ++++++++++++++++++------------------------- 1 files changed, 54 insertions(+), 77 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 1023bb5..e5d6640 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,12 +17,11 @@ 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.dao.business.model.dto.PlatGoodsParam; +import com.doumee.dao.business.model.dto.*; +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.*; @@ -55,6 +54,9 @@ @Autowired private GoodsMapper goodsMapper; + @Autowired + @Lazy + private BaseDataService baseDataService; @Autowired private BaseGoodsMapper baseGoodsMapper; @Autowired @@ -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,7 +219,24 @@ goodsParam.setGoodsId(goods.getId()); goodsParam.setVal(bgParam.getVal()); goodsParam.setName(bgParam.getName()); + goodsParam.setPramaId(cateParam.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); + }; + } } } @@ -722,6 +752,7 @@ Goods g = new Goods(); g.setIsdeleted(Constants.ZERO); g.setRemark(m.getId()); + g.setCompanyId(user.getCompanyId()); //鍝佺被鏁版嵁 g = goodsMapper.selectOne(new QueryWrapper<>(g).last(" limit 1")); if(g != null){ @@ -730,6 +761,7 @@ Category cate = new Category(); cate.setIsdeleted(Constants.ZERO); cate.setName(m.getCategory()); + cate.setCompanyId(user.getCompanyId()); //鍝佺被鏁版嵁 cate = categoryMapper.selectOne(new QueryWrapper<>(cate).last(" limit 1")); if(cate == null){ @@ -739,7 +771,9 @@ brand.setIsdeleted(Constants.ZERO); brand.setName(m.getBrand()); //鍝佺被鏁版嵁 - brand = brandMapper.selectOne(new QueryWrapper<>(brand).last(" limit 1")); + QueryWrapper<Brand> qwrapper = new QueryWrapper<>(brand); + qwrapper.lambda().and(wapper-> wapper.eq(Brand::getCompanyId ,user.getCompanyId()).or().eq(Brand::getType,Constants.ONE)); + brand = brandMapper.selectOne(qwrapper.last(" limit 1")); if(brand == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗��"+(num)+"銆戣鍟嗗搧鍝佺墝鏃犳晥锛岃妫�鏌ヨ緭鍏ワ紒"); } @@ -752,6 +786,7 @@ newModel.setBrandId(brand.getId()); newModel.setIsdeleted(Constants.ZERO); newModel.setCreator(user.getId()); + newModel.setCompanyId(user.getCompanyId()); newModel.setCreateDate(new Date()); newModel.setName(m.getName()); newModel.setStatus(Constants.ZERO); @@ -770,67 +805,14 @@ newModel.setPinyin(PinYinUtil.getFullSpell(m.getName())); newModel.setShortPinyin(PinYinUtil.getFirstSpell(m.getName())); - CateAttr ca = new CateAttr(); - ca.setCategoryId(cate.getId()); - ca.setIsdeleted(Constants.ZERO); - //鏌ヨ鍏ㄩ儴灞炴��1鍜屽睘鎬�2瑙勬牸鍊� - List<CateAttr> allAttr = cateAttrMapper.selectList(new QueryWrapper<>(ca)); - //灞炴��1闆嗗悎 -// String[] attrs = StringUtils.defaultString(m.getAttrFirstNames(),"").split("\n"); - //灞炴��2闆嗗悎 -// 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); -// -// } List<String> mulFiles = null; String proDir =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode(); - String tf = proDir.substring(0,proDir.length()-1); 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); if(dir!=null && dir.isDirectory()){ File[] files = dir.listFiles(); @@ -838,16 +820,8 @@ for(File f:files){ if(StringUtils.isBlank(newModel.getImgurl()) && isImgFile(f)){ //鍙栫涓�寮犲浘鐗囦綔涓哄垪琛ㄥ浘 - String imgdir =f.getPath().substring(f.getPath().indexOf(tf)+tf.length()+1); - newModel.setImgurl(imgdir.replace(File.separator,"/")); -// newModel.setImgurl(f.getPath().replace(path.replace(File.separator,"/"),"")); + newModel.setImgurl(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),f)); } -// else{ -// if(mulFiles==null){ -// mulFiles = new ArrayList<>(); -// } -// mulFiles.add(f.getPath().replace(path.replace("/",File.separator),"")); -// } if((mulFiles ==null || mulFiles.size() == 0) && f.isDirectory()){ //濡傛灉鏄枃浠跺す File[] fs = f.listFiles(); @@ -857,12 +831,7 @@ if(mulFiles==null){ mulFiles = new ArrayList<>(); } - - String imgdir =mf.getPath().substring(mf.getPath().indexOf(tf)+tf.length()+1); - mulFiles.add(imgdir.replace(File.separator,"/")); -// newModel.setImgurl(imgdir); -//// mulFiles.add(mf.getName()); -// mulFiles.add(mf.getPath().replace(path.replace(File.separator,"/"),"")); + mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),mf)); } } } @@ -933,6 +902,7 @@ f.setCreator(newModel.getCreator()); f.setIsdeleted(Constants.ZERO); f.setSortnum(i); + f.setCompanyId(user.getCompanyId()); f.setFileurl(s); multifileMapper.insert(f); } @@ -942,6 +912,9 @@ return num; } + + + private boolean isImgFile(File f) { if(f!=null && f.isFile() ){ @@ -1104,8 +1077,12 @@ .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); -- Gitblit v1.9.3