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 |  162 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 100 insertions(+), 62 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 c9eca84..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()));
@@ -227,7 +232,7 @@
         goods.setCategoryId(param.getCategoryId());
         //鑾峰彇鍏ユ墜浠锋牸
         goods.setPrice(getPriceFromParam(model,param));
-        goods.setZdPrice(model.getZdPrice());g
+        goods.setZdPrice(model.getZdPrice());
         goods.setRemark(model.getRemark());
         goods.setImgurl(model.getImgurl());
         goods.setBrandId(model.getBrandId());
@@ -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