From 2a8241df4493a36b046855f2283b1c3da9e6bfbe Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期一, 18 九月 2023 18:37:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 62 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 9 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 ad4b0c8..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
@@ -21,6 +21,8 @@
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;
@@ -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);
+ };
+
}
}
}
@@ -780,7 +810,7 @@
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);
@@ -801,7 +831,7 @@
if(mulFiles==null){
mulFiles = new ArrayList<>();
}
- mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),f));
+ mulFiles.add(baseDataService.getOssImgurl(ossModel,ossModel.getGoodsFolder(),mf));
}
}
}
@@ -872,6 +902,7 @@
f.setCreator(newModel.getCreator());
f.setIsdeleted(Constants.ZERO);
f.setSortnum(i);
+ f.setCompanyId(user.getCompanyId());
f.setFileurl(s);
multifileMapper.insert(f);
}
@@ -970,6 +1001,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");
@@ -983,7 +1015,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())));
});
@@ -1042,14 +1077,18 @@
.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 ")));
@@ -1061,6 +1100,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);
@@ -1072,6 +1115,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()),
@@ -1085,8 +1129,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