|  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  |         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())){ | 
 |  |  | 
 |  |  |         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()); | 
 |  |  | 
 |  |  |                 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); | 
 |  |  |                 }; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |             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); | 
 |  |  | 
 |  |  |                                             if(mulFiles==null){ | 
 |  |  |                                                 mulFiles = new ArrayList<>(); | 
 |  |  |                                             } | 
 |  |  |                                             mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),f)); | 
 |  |  |                                             mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),mf)); | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  | 
 |  |  |                     f.setCreator(newModel.getCreator()); | 
 |  |  |                     f.setIsdeleted(Constants.ZERO); | 
 |  |  |                     f.setSortnum(i); | 
 |  |  |                     f.setCompanyId(user.getCompanyId()); | 
 |  |  |                     f.setFileurl(s); | 
 |  |  |                     multifileMapper.insert(f); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |     @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"); | 
 |  |  | 
 |  |  |             // 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()))); | 
 |  |  |             }); | 
 |  |  | 
 |  |  |                                 .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 "))); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @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); | 
 |  |  | 
 |  |  |         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()), | 
 |  |  | 
 |  |  |                 .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 "))); |