From 4d2dda710968035fa52e69dea47525985674422b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 21 一月 2026 17:18:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 268 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 171 insertions(+), 97 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index 3559a14..43968bc 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -29,6 +29,7 @@
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
+import org.bouncycastle.jcajce.provider.asymmetric.GOST;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -56,6 +57,8 @@
@Autowired
private GoodsMapper goodsMapper;
+ @Autowired
+ private ShopGoodsRelationMapper shopGoodsRelationMapper;
@@ -83,12 +86,17 @@
@Autowired
private MultifileService multifileService;
+ @Autowired
+ private CollectMapper collectMapper;
+
@Autowired
private GoodsAdminJoinMapper goodsAdminJoinMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private ShopMapper shopMapper;
@Autowired
private GoodsSkuAttrJoinMapper goodsSkuAttrJoinMapper;
@@ -156,7 +164,7 @@
goodsSku.setGoodsId(goods.getId());
goodsSku.setName(goods.getName());
goodsSku.setPrice(goods.getSkuPrice());
- goodsSku.setShowPrice(goods.getPrice());
+ goodsSku.setShowPrice(goods.getShowPrice());
goodsSku.setStock(goods.getStockNum());
goodsSku.setIntegralRate(goods.getDeductRata());
goodsSku.setUnitName(goods.getUnitName());
@@ -211,13 +219,19 @@
|| goods.getBrandList() == null
|| goods.getBrandList().size() == 0
|| goods.getWeight() == null
+ || goods.getDeductRata() == null
|| goods.getPrice() == null
|| goods.getSkuPrice() == null
- || StringUtils.isBlank(goods.getImgurl())
- || org.apache.commons.collections.CollectionUtils.isEmpty(goods.getFileList())) {
+// || StringUtils.isBlank(goods.getImgurl())
+// || org.apache.commons.collections.CollectionUtils.isEmpty(goods.getFileList())
+ ) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
}
+ if(goods.getDeductRata().compareTo(new BigDecimal(0.1)) <Constants.ZERO ||
+ goods.getDeductRata().compareTo(new BigDecimal(100)) >Constants.ZERO){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绉垎鍙姷鎵i噾棰濇瘮渚嬭璁剧疆[0.1,100]涔嬮棿~");
+ }
//鏌ヨ鍒嗙被
Labels cate = labelsMapper.selectById(goods.getCategoryId());
if(cate == null || Constants.equalsInteger(cate.getIsdeleted(),Constants.ONE)
@@ -225,7 +239,7 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍒嗙被淇℃伅涓嶅瓨鍦�");
}
if(goods.getBrandId()!=null){
- Labels brand = labelsMapper.selectById(goods.getCategoryId());
+ Labels brand = labelsMapper.selectById(goods.getBrandId());
if(brand == null || Constants.equalsInteger(brand.getIsdeleted(),Constants.ONE)
||! Constants.equalsInteger(brand.getType(),Constants.LabelsType.GOODSBRAND.getKey())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍝佺墝淇℃伅涓嶅瓨鍦�");
@@ -234,7 +248,7 @@
List<Integer> bIds = new ArrayList<>();
for(Labels b : goods.getBrandList()){
bIds.add(b.getId());
- if(b.getChildIdList() == null || b.getChildIdList().size() ==0){
+ if(b.getChildIdList() != null && b.getChildIdList().size() >=0){
bIds.addAll(b.getChildIdList());
}
}
@@ -251,9 +265,9 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勯�傜敤鍝佺墝");
}
idsBrand.add("["+b.getId()+"]");
- if(b.getChildIdList() == null || b.getChildIdList().size() ==0){
+ if(b.getChildIdList()!= null && b.getChildIdList().size() >=0){
for(Integer c :b.getChildIdList()){
- Labels cb = findLabelFromListByid(allBrands,b.getId(),Constants.LabelsType.SERIES_BRAND.getKey(),b.getId());
+ Labels cb = findLabelFromListByid(allBrands,c,Constants.LabelsType.SERIES_BRAND.getKey(),b.getId());
if(cb == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍝佺墝銆�"+tb.getName() +"銆戜笅鎵�灞炵郴鍒椾笉姝g‘");
}
@@ -265,7 +279,6 @@
if(idsSerial.size()>0){
goods.setSerialIds(String.join(",",idsSerial));
}
-
}
private Labels findLabelFromListByid(List<Labels> allBrands, Integer id, int type,Integer parentId) {
@@ -274,13 +287,13 @@
}
for(Labels labels:allBrands){
if(!Constants.equalsInteger(id,labels.getId())){
- return null;
+ continue;
}
if(!Constants.equalsInteger(type,labels.getType())){
- return null;
+ continue;
}
if(parentId !=null && !Constants.equalsInteger(parentId,labels.getParentId())){
- return null;
+ continue;
}
return labels;
}
@@ -301,6 +314,8 @@
goods.setEditor(user.getId());
goods.setId(id);
goodsMapper.updateById(goods);
+ //鍒犻櫎渚涜揣浠�
+ shopGoodsRelationMapper.delete(new UpdateWrapper<ShopGoodsRelation>().lambda().eq(ShopGoodsRelation::getGoodsId,id));
}
@Override
@@ -319,29 +334,79 @@
@Override
public void updateStatusById(List<Goods> list) {
- LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
-
-
- for(Goods model:list){
- if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
- MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Goods.class);
- queryWrapper.innerJoin(GoodsSku.class,GoodsSku::getGoodsId,Goods::getId);
- queryWrapper.eq(GoodsSku::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(Goods::getId,model.getId());
- List<Goods> query= goodsAdminJoinMapper.selectJoinList(Goods.class,queryWrapper);
- if(query==null||query.size()<=0){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), model.getName()+":鍟嗗搧鏈厤缃甋KU锛屾棤娉曚笂鏋�");
- }
- }
- Goods update=new Goods();
- update.setEditor(user.getId());
- update.setEditDate(new Date());
- update.setStatus(model.getStatus());
- update.setId(model.getId());
- goodsMapper.updateById(model);
+ if(list == null || list.size()==0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ List<Integer> idList = new ArrayList<>();
+ for(Goods model:list){
+ idList.add(model.getId() );
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Constants.formatIntegerNum(list.get(0).getStatus()) == Constants.ONE){
+ //濡傛灉鏄壒閲忎笅鏋�
+ goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+ .set(Goods::getEditDate,new Date() )
+ .set(Goods::getEditor,user.getId())
+ .set(Goods::getStatus,Constants.ONE )
+ .in(Goods::getId,idList));
+ return;
+ }
+ long shopNum = shopMapper.selectCount(new QueryWrapper<Shop>().lambda()
+ .eq(Shop::getIsdeleted,Constants.ZERO)
+ .eq(Shop::getStatus,Constants.ZERO));
+ MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Goods.class);
+ queryWrapper.select("(select count(s.id) from shop_goods_relation s " +
+ "left join shop g on s.SHOP_ID =g.id " +
+ "where g.status=0 and s.ISDELETED=0 and s.GOODS_ID=t.id) as pricedShopNum ");
+ queryWrapper.eq(GoodsSku::getIsdeleted,Constants.ZERO);
+ queryWrapper.in(Goods::getId,idList);
+ List<Goods> goodsList= goodsAdminJoinMapper.selectJoinList(Goods.class,queryWrapper);
+ if(goodsList==null || goodsList.size() == 0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍟嗗搧淇℃伅鏌ヨ鏃犳晥 ");
+ }
+ //鏌ヨ鍏ㄩ儴sku淇℃伅
+ List<GoodsSku> goodsSkuList=goodsSkuMapper.selectList(new QueryWrapper<GoodsSku>().lambda()
+ .eq(GoodsSku::getIsdeleted,Constants.ZERO)
+ .in(GoodsSku::getGoodsId,idList) );
+ if(goodsSkuList==null || goodsSkuList.size() == 0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍟嗗搧灏氭湭璁剧疆闆跺敭浠凤紝璇峰厛璁剧疆浠锋牸锛� ");
+ }
+ for(Goods param: list){
+ Goods goods = getGoodsFromListById(param.getId(),goodsList,goodsSkuList);
+ if(goods ==null ){
+ continue;
+ }
+ //濡傛灉鏄笂鏋�
+ goods.setGoodsSkuList(goodsSkuList);
+ if(goods.getSkuPrice() == null || goods.getSkuPrice().compareTo(new BigDecimal(0)) <=0){
+ //榛樿sku淇℃伅
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鍟嗗搧鍟嗗搧灏氭湭璁剧疆闆跺敭浠凤紝鏃犳硶涓婃灦");
+ }
+ if(Constants.formatLongNum(goods.getPricedShopNum()) <= shopNum){
+ //榛樿sku淇℃伅
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鏈夋湭璁剧疆渚涜揣浠风殑缁忛攢鍟嗭紝鏃犳硶涓婃灦");
+ }
+ }
+ goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+ .set(Goods::getEditDate,new Date() )
+ .set(Goods::getEditor,user.getId())
+ .set(Goods::getStatus,Constants.ZERO )
+ .in(Goods::getId,idList));
+ }
+
+ private Goods getGoodsFromListById(Integer id, List<Goods> goodsList, List<GoodsSku> skuList) {
+ for(Goods model: goodsList){
+ if(Constants.equalsObject(model.getIdList(),id)){
+ for(GoodsSku sku :skuList){
+ if(Constants.equalsInteger(sku.getGoodsId(),id)){
+ model.setSkuPrice(sku.getPrice());
+ }
+ }
+ return model;
+ }
+ }
+ return null;
}
@@ -364,11 +429,11 @@
skuMapper.update(null,new UpdateWrapper<Sku>().lambda()
.set(Sku::getIsdeleted,Constants.ONE)
.eq(Sku::getIsdeleted,Constants.ZERO)
- .eq(Sku::getGoodsId,goods.getSkuId()));
+ .eq(Sku::getGoodsId,goods.getId()));
goodsSkuMapper.update(null,new UpdateWrapper<GoodsSku>().lambda()
.set(GoodsSku::getIsdeleted,Constants.ONE)
.eq(GoodsSku::getIsdeleted,Constants.ZERO)
- .eq(GoodsSku::getGoodsId,goods.getSkuId()));
+ .eq(GoodsSku::getGoodsId,goods.getId()));
dealDefaultGoodsSku(goods);//鏂板缓sku淇℃伅
dealBatchMultiFiles(goods, goods.getFileList(), user,true);
}
@@ -526,7 +591,8 @@
@Override
public Goods findById(Integer id) {
MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>();
- String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
+ String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
queryWrapper.eq(Goods::getId,id);
queryWrapper.selectAll(Goods.class);
@@ -554,6 +620,7 @@
//榛樿sku淇℃伅
GoodsSku goodsSku = goodsSkuList.get(0);
goods.setSkuPrice(goodsSku.getPrice());
+ goods.setShowPrice(goodsSku.getShowPrice());
goods.setWeight(goodsSku.getWeight());
goods.setStockNum(goodsSku.getStock());
goods.setUnitName(goodsSku.getUnitName());
@@ -592,6 +659,7 @@
}
}
}
+ goods.setBrandList(brandList);
}
}
@@ -703,6 +771,9 @@
@Override
public List<Goods> findList(Goods goods) {
QueryWrapper<Goods> wrapper = new QueryWrapper<>(goods);
+ wrapper.lambda()
+ .in(goods.getIdList() != null && goods.getIdList().size()>0, Goods::getId, goods.getIdList())
+ .eq( Goods::getIsdeleted, Constants.ZERO);
return goodsMapper.selectList(wrapper);
}
@@ -711,9 +782,7 @@
IPage<Goods> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
-
queryWrapper.selectAll(Goods.class);
-
queryWrapper.select("t1.name",Goods::getCategoryName);
queryWrapper.select("t2.name" ,Goods::getBrandName);
queryWrapper.select("t3.name" ,Goods::getParentName);
@@ -721,7 +790,12 @@
queryWrapper.leftJoin(Labels.class,Labels::getId,Goods::getBrandId);
queryWrapper.leftJoin(Labels.class,Labels::getId,Goods::getParentCategoryId);
//搴撳瓨閲�
- queryWrapper.select("(select sum(STOCK) from goods_sku where ISDELETED=0 and GOODS_ID=t.id) as stockNum ");
+ queryWrapper.select("(select sum(STOCK) from goods_sku where ISDELETED=0 and GOODS_ID=t.id) as stockNum ");
+ if(pageWrap.getModel().getShopId() !=null){
+ queryWrapper.select("(select s.price from shop_goods_relation s where s.ISDELETED=0 and s.GOODS_ID=t.id and s.shop_id="+pageWrap.getModel().getShopId()+" limit 1) as shopPrice");//鍟嗗渚涜揣浠�
+ }else{
+ queryWrapper.select("(select count(s.id) from shop_goods_relation s left join shop g on s.SHOP_ID =g.id where g.status=0 and s.ISDELETED=0 and s.GOODS_ID=t.id) as pricedShopNum ");
+ }
//瀹為檯閿�閲�
queryWrapper.select("(select sum(gd.GOODS_NUM) from goodsorder_detail gd" +
" inner join goods_sku gs on gs.id=gd.GOODS_SKU_ID" +
@@ -743,10 +817,13 @@
queryWrapper.eq(pageWrap.getModel().getParentCategoryId() != null, Goods::getParentCategoryId, pageWrap.getModel().getParentCategoryId());
queryWrapper.eq(pageWrap.getModel().getBrandId() != null, Goods::getBrandId, pageWrap.getModel().getBrandId());
queryWrapper.eq(pageWrap.getModel().getStatus() != null, Goods::getStatus, pageWrap.getModel().getStatus());
-
- queryWrapper.orderByDesc(Goods::getCreateDate);
+ queryWrapper.in(pageWrap.getModel().getIdList() != null && pageWrap.getModel().getIdList().size()>0, Goods::getId, pageWrap.getModel().getIdList());
+ if(pageWrap.getModel().getShopId() !=null){
+ queryWrapper.orderByAsc("shopPrice");
+ }
+ queryWrapper.orderByDesc(Goods::getId);
IPage<Goods> result = goodsAdminJoinMapper.selectJoinPage(page, Goods.class, queryWrapper);
- initResult(result.getRecords());
+ initResult(result.getRecords(),pageWrap.getModel().getShopId()==null);
return PageData.from(result);
}
@@ -769,12 +846,20 @@
- private void initResult(List<Goods> list) {
+ private void initResult(List<Goods> list,boolean shopId) {
if (list == null || list.size() == 0) {
return;
}
- String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
+ long shopNum = 0;
+ if(shopId){//涓嶉拡瀵瑰晢瀹舵悳绱㈢殑璇濓紝
+ shopNum = shopMapper.selectCount(new QueryWrapper<Shop>().lambda()
+ .eq(Shop::getIsdeleted,Constants.ZERO)
+ .eq(Shop::getStatus,Constants.ZERO));
+ }
+ String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
for (Goods goods : list) {
+ goods.setShopNum(shopNum);
goods.setResourcePath(path);
//鏌ヨsku
MPJLambdaWrapper<GoodsSku> queryWrapper = new MPJLambdaWrapper<GoodsSku>()
@@ -788,9 +873,11 @@
//榛樿sku淇℃伅
goods.setSkuPrice(goodsSku.getPrice());
goods.setWeight(goodsSku.getWeight());
+ goods.setShowPrice(goodsSku.getShowPrice());
goods.setStockNum(goodsSku.getStock());
goods.setUnitName(goodsSku.getUnitName());
}
+// initGoodsApplyBrandAndSerial(goods);
}
}
@@ -811,68 +898,43 @@
*/
@Override
public IPage<GoodsInfoResponse> getGoodsPage(PageWrap<GoodsRequest> pageWrap) {
+ GoodsRequest model = pageWrap.getModel();
QueryWrapper<GoodsRequest> wrapper = new QueryWrapper<GoodsRequest>()
.eq("g.ISDELETED",Constants.ZERO)
- .eq("g.PARENT_CATEGORY_ID",pageWrap.getModel().getParentCategoryId())
- .eq(!Objects.isNull(pageWrap.getModel()) && Objects.nonNull(pageWrap.getModel().getCategoryId()),
- "g.CATEGORY_ID", pageWrap.getModel().getCategoryId())
+ .eq(!Objects.isNull(model) && Objects.nonNull(model.getCategoryId()),
+ "g.CATEGORY_ID", model.getCategoryId())
+ //閫傜敤鍝佺墝 閫傜敤绯诲垪
+ .apply(!Objects.isNull(model) && Objects.nonNull(model.getApplicableBrandId()),
+ " find_in_set( '["+model.getApplicableBrandId()+"]' , g.BRAND_IDS ) ")
+ .apply(!Objects.isNull(model) && Objects.nonNull(model.getSeriesBrandId()),
+ " find_in_set( '["+model.getSeriesBrandId()+"]' , g.SERIAL_IDS ) ")
.eq("g.STATUS", Constants.ZERO)
- .like(StringUtils.isNotBlank(pageWrap.getModel().getGoodsName()),"g.NAME",pageWrap.getModel().getGoodsName());
-// .eq(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getType()), "g.TYPE", pageWrap.getModel().getType());
+ .like(StringUtils.isNotBlank(model.getGoodsName()),"g.NAME",model.getGoodsName());
- for(PageWrap.SortData sortData:pageWrap.getSorts1()){
- if ("CREATE_DATE".equalsIgnoreCase(sortData.getProperty())){
- if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
- wrapper.orderByAsc("g.CREATE_DATE");
- }
+ if(Objects.nonNull(model.getSortInfo())){
+ //鎺掑簭鏂瑰紡锛�0=缁煎悎鎺掑簭锛�1=閿�閲忕敱浣庡埌楂� 锛�2=浠锋牸鐢变綆鍒伴珮锛�3=閿�閲忕敱楂樺埌浣庯紱4=浠锋牸鐢遍珮鍒颁綆
+ if(Constants.equalsInteger(model.getSortInfo(),Constants.ZERO)){
wrapper.orderByDesc("g.CREATE_DATE");
-
- }
- if ("realSaleNum".equalsIgnoreCase(sortData.getProperty())){
-
- if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
- wrapper.orderByAsc("realSaleNum");
- }
+ }else if(Constants.equalsInteger(model.getSortInfo(),Constants.ONE)){
+ wrapper.orderByAsc("realSaleNum");
+ }else if(Constants.equalsInteger(model.getSortInfo(),Constants.TWO)){
+ wrapper.orderByAsc("g.price");
+ }else if(Constants.equalsInteger(model.getSortInfo(),Constants.THREE)){
wrapper.orderByDesc("realSaleNum");
+ }else if(Constants.equalsInteger(model.getSortInfo(),Constants.FOUR)){
+ wrapper.orderByDesc("g.price");
}
- if ("PRICE".equalsIgnoreCase(sortData.getProperty())){
- if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
- wrapper.orderByAsc("g.PRICE");
- }
- wrapper.orderByDesc("g.PRICE");
- }
-
}
-
-
- IPage<GoodsInfoResponse> page = goodsMapper.goodsPage(pageWrap.toPage(),wrapper);
+ IPage<GoodsInfoResponse> page =
+ Objects.isNull(model.getShopId())?
+ goodsMapper.goodsPage(pageWrap.toPage(),wrapper)
+ :
+ goodsMapper.goodsPageForShop(pageWrap.toPage(),wrapper,model.getShopId()) ;
if (!CollectionUtils.isEmpty(page.getRecords())){
String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
page.getRecords().forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
}
-
-
-// if (pageWrap.getModel().getType().equals(Constants.TWO)) {
-// for (GoodsInfoResponse goodsResponse : page.getRecords()) {
-// //鏌ヨ鍟嗗搧鐨勫垎绫�
-// goodsResponse.setCategoryLabels(labelsMapper.selectById(goodsResponse.getCategoryId()));
-// //鏌ヨ鍟嗗搧鐨勫搧鐗�
-// goodsResponse.setBrandLabels(labelsMapper.selectById(goodsResponse.getBrandId()));
-// //鏌ヨ鍟嗗搧鐨勬爣绛句俊鎭�
-// if (StringUtils.isNotBlank(goodsResponse.getLabels())) {
-// goodsResponse.setLabelsList(labelsMapper.selectList(new QueryWrapper<Labels>()
-// .apply(" find_in_set( id, " + goodsResponse.getLabels().split(",") + " ) ")));
-// }
-// //鏌ヨ鏄惁宸茶闃�
-// goodsResponse.setIsSubscribe(goodsorderDetailMapper.selectCount(new QueryWrapper<GoodsorderDetail>()
-// .eq("CREATOR", pageWrap.getModel().getMemberId())
-// .apply(" GOODS_SKU_ID in ( SELECT g.id FROM goods_sku g where g.GOODS_ID = " + goodsResponse.getId() + " ) ")
-// ));
-// //sku鍩虹淇℃伅
-// this.getSkuInfo(goodsResponse);
-// }
-// }
return page;
}
@@ -888,6 +950,7 @@
String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
+ Integer sumStock = Constants.ZERO;
for (GoodsSkuResponse goodsSkuResponse:goodsSkuResponseList) {
if(StringUtils.isBlank(goodsSkuResponse.getImgurl())){
goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getGoodsImgUrl());
@@ -920,8 +983,11 @@
indexData.append("," + ( skuAttr.getSortnum()-1));
}
goodsSkuResponse.setIndexData(indexData.toString().substring(1));
+ sumStock = sumStock + goodsSkuResponse.getStock();
}
-
+ //鐪熷疄閿�閲� = realSaleNum - saleNum;
+ //鐪熷疄搴撳瓨= sumStock - (realSaleNum - saleNum)
+ goodsResponse.setStock(sumStock - goodsResponse.getRealSaleNum() + goodsResponse.getSaleNum());
goodsResponse.setGoodsSkuResponseList(goodsSkuResponseList);
//Sku鍩虹淇℃伅
List<SkuResponse> skuResponseList = skuMapper.getSkuResponseList(goodsResponse.getId());
@@ -937,13 +1003,12 @@
@Override
- public GoodsInfoResponse getGoodsInfo(Integer goodsId) {
-
+ public GoodsInfoResponse getGoodsInfo(Integer goodsId,Integer memberId) {
String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
GoodsInfoResponse goodsResponse = goodsMapper.getGoodsInfo(goodsId);
if(Objects.isNull(goodsResponse)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠涓撳尯鍏宠仈鍟嗗搧宸插垹闄�");
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
goodsResponse.setImgurl(fullUrl + goodsResponse.getImgurl());
//鏌ヨ鍟嗗搧鐨勫垎绫�
@@ -960,6 +1025,15 @@
Constants.GOODS_FILE);
List<MultiFileDTO> multiFileDTOS = objAllFileUrl.get(Constants.MultiFile.PLATFORM_GOOD_ROTATION.getKey());
goodsResponse.setGoodBannerMultiFiles(multiFileDTOS);
+ goodsResponse.setCollectStatus(Constants.ZERO);
+ if(Objects.nonNull(memberId)){
+ goodsResponse.setCollectStatus(collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+ .eq(Collect::getMemberId,memberId)
+ .eq(Collect::getObjId,goodsId)
+ .eq(Collect::getObjType,Constants.ONE)
+ )>Constants.ZERO?Constants.ONE:Constants.ZERO);
+ }
+
return goodsResponse;
}
--
Gitblit v1.9.3