From fa668c325f2dac348fb9f80c0c6c679f9ce1e41b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 10 三月 2026 18:28:17 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 34 +++++++++++++++++++++-------------
1 files changed, 21 insertions(+), 13 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 0ce6f17..0d731d5 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
@@ -889,9 +889,9 @@
queryWrapper.eq(pageWrap.getModel().getBrandId() != null, Goods::getBrandId, pageWrap.getModel().getBrandId());
queryWrapper.eq(pageWrap.getModel().getStatus() != null, Goods::getStatus, pageWrap.getModel().getStatus());
queryWrapper.in(pageWrap.getModel().getIdList() != null && pageWrap.getModel().getIdList().size()>0, Goods::getId, pageWrap.getModel().getIdList());
- if(pageWrap.getModel().getShopId() !=null){
- queryWrapper.orderByAsc("shopPrice");
- }
+// if(pageWrap.getModel().getShopId() !=null){
+// queryWrapper.orderByAsc("shopPrice");
+// }
queryWrapper.orderByDesc(Goods::getId);
IPage<Goods> result = goodsAdminJoinMapper.selectJoinPage(page, Goods.class, queryWrapper);
initResult(result.getRecords(),pageWrap.getModel().getShopId()==null);
@@ -972,8 +972,8 @@
GoodsRequest model = pageWrap.getModel();
MPJLambdaWrapper<Goods> wrapper = new MPJLambdaWrapper<Goods>()
.selectAll(Goods.class)
- .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0) ",Goods::getMinPrice)
- .select(" ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0) ",Goods::getLinePrice)
+ .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0 ),0) ",Goods::getMinPrice)
+ .select(" ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0 ),0) ",Goods::getLinePrice)
.leftJoin(SystemUser.class, SystemUser::getId, Goods::getCreator)
.eq(Goods::getIsdeleted,Constants.ZERO)
.eq(!Objects.isNull(model) && Objects.nonNull(model.getCategoryId()),
@@ -989,10 +989,10 @@
.like(StringUtils.isNotBlank(model.getGoodsName()),Goods::getName,model.getGoodsName());
if(Objects.nonNull(model.getShopId())){
wrapper.select(" ifnull( ( select sgr.PRICE from shop_goods_relation sgr where sgr.GOODS_ID = t.ID and sgr.ISDELETED = 0 and sgr.`STATUS` = 0 and sgr.SHOP_ID = "+model.getShopId()+" ) ,0) ",Goods::getExFactoryPrice);
- wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd inner join goodsorder go on gd.ORDER_ID = go.id where gd.GOODS_ID = t.`id` and go.DISTRIBUTION_SHOP_ID = "+model.getShopId()+" ),0) ",Goods::getRealSaleNum);
+ wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd inner join goodsorder go on gd.ORDER_ID = go.id where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id` and go.DISTRIBUTION_SHOP_ID = "+model.getShopId()+" ),0) ",Goods::getRealSaleNum);
}else{
- wrapper.select(" (( select ifnull(sum(GOODS_NUM),0) from goodsorder_detail gd where gd.GOODS_ID = t.id )) ",Goods::getRealSaleNum);
+ wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd inner join goodsorder go on gd.ORDER_ID = go.id where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id` ),0) ",Goods::getRealSaleNum);
}
if(Objects.nonNull(model.getSortInfo())){
@@ -1000,11 +1000,11 @@
if(Constants.equalsInteger(model.getSortInfo(),Constants.ZERO)){
wrapper.orderByDesc("t.CREATE_DATE");
}else if(Constants.equalsInteger(model.getSortInfo(),Constants.ONE)){
- wrapper.orderByAsc("(realSaleNum + t.SALENUM)");
+ wrapper.orderByAsc("(realSaleNum + ifnull(t.SALENUM,0))");
}else if(Constants.equalsInteger(model.getSortInfo(),Constants.TWO)){
wrapper.orderByAsc("minPrice");
}else if(Constants.equalsInteger(model.getSortInfo(),Constants.THREE)){
- wrapper.orderByDesc("(realSaleNum + t.SALENUM)");
+ wrapper.orderByDesc("(realSaleNum + ifnull(t.SALENUM,0))");
}else if(Constants.equalsInteger(model.getSortInfo(),Constants.FOUR)){
wrapper.orderByDesc("minPrice");
}
@@ -1056,13 +1056,21 @@
List<GoodsSkuResponse> goodsSkuResponseList = goodsSkuMapper.getSkuResponseList(goodsResponse.getId());
Integer sumStock = Constants.ZERO;
+ Boolean noRestrictions = true;
for (GoodsSkuResponse goodsSkuResponse:goodsSkuResponseList) {
goodsSkuResponse.setStock(Objects.isNull(goodsSkuResponse.getStock())?Constants.ZERO:goodsSkuResponse.getStock());
sumStock = sumStock + goodsSkuResponse.getStock();
+ if(StringUtils.isNotBlank(goodsSkuResponse.getStockStr())){
+ noRestrictions = false;
+ }
}
//鐪熷疄閿�閲� = realSaleNum - saleNum;
//鐪熷疄搴撳瓨= sumStock - (realSaleNum - saleNum)
- goodsResponse.setStock(sumStock);
+ if(noRestrictions){
+ goodsResponse.setStock(-Constants.ONE);
+ }else{
+ goodsResponse.setStock(sumStock);
+ }
goodsResponse.setGoodsSkuResponseList(goodsSkuResponseList);
//Sku鍩虹淇℃伅
List<SkuResponse> skuResponseList = skuMapper.getSkuResponseList(goodsResponse.getId());
@@ -1084,9 +1092,9 @@
Goods goodsResponse = goodsMapper.selectOne(
new MPJLambdaWrapper<Goods>()
.selectAll(Goods.class)
- .select(" (( select ifnull(sum(GOODS_NUM),0) from goodsorder_detail gd where gd.GOODS_ID = t.id )) ",Goods::getRealSaleNum)
- .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0) ",Goods::getMinPrice)
- .select(" ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0) ",Goods::getLinePrice)
+ .select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd inner join goodsorder go on gd.ORDER_ID = go.id where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id` ),0) ",Goods::getRealSaleNum)
+ .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0),0) ",Goods::getMinPrice)
+ .select(" ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0),0) ",Goods::getLinePrice)
.leftJoin(SystemUser.class, SystemUser::getId, Goods::getCreator)
// .eq(Goods::getIsdeleted,Constants.ZERO)
// .eq(Goods::getStatus, Constants.ZERO)
--
Gitblit v1.9.3