From 8d322f025a9483030a47d4671c5fa7502bbcb930 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 18 九月 2023 15:56:32 +0800
Subject: [PATCH] 休bug

---
 server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |  111 ++++++++++++++++---------------------------------------
 1 files changed, 32 insertions(+), 79 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 a049452..a805828 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 lombok.extern.java.Log;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -54,6 +53,9 @@
 
     @Autowired
     private GoodsMapper goodsMapper;
+    @Autowired
+    @Lazy
+    private BaseDataService baseDataService;
     @Autowired
     private BaseGoodsMapper baseGoodsMapper;
     @Autowired
@@ -721,6 +723,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){
@@ -729,6 +732,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){
@@ -738,7 +742,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)+"銆戣鍟嗗搧鍝佺墝鏃犳晥锛岃妫�鏌ヨ緭鍏ワ紒");
             }
@@ -751,6 +757,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);
@@ -769,67 +776,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;
             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();
@@ -837,16 +791,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();
@@ -856,12 +802,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(),f));
                                         }
                                     }
                                 }
@@ -941,6 +882,9 @@
         return  num;
 
     }
+
+
+
 
     private boolean isImgFile(File f) {
         if(f!=null && f.isFile() ){
@@ -1027,6 +971,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");
@@ -1040,7 +985,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())));
             });
@@ -1105,8 +1053,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 ")));
@@ -1118,6 +1066,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);
@@ -1129,6 +1081,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()),
@@ -1142,8 +1095,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