master:获取商城档口首页各状态数量BUG修复;

pull/1121/head
liujiang 2025-10-04 23:34:34 +08:00
parent f8e9517b9a
commit 47898898df
7 changed files with 70 additions and 27 deletions

View File

@ -129,6 +129,12 @@ public class StoreProductController extends XktBaseController {
return R.ok(BeanUtil.toBean(storeProdService.getStatusNum(storeId), StoreProdStatusCountResVO.class));
}
@ApiOperation(value = "获取商品各个状态数量", httpMethod = "GET", response = R.class)
@GetMapping(value = "/pc/status/num/{storeId}")
public R<StoreProdStatusCountResVO> getPcStatusNum(@PathVariable Long storeId) {
return R.ok(BeanUtil.toBean(storeProdService.getPcStatusNum(storeId), StoreProdStatusCountResVO.class));
}
@ApiOperation(value = "获取商品各个状态下的分类数量", httpMethod = "POST", response = R.class)
@PostMapping(value = "/status/cate/num/{storeId}")
public R<List<StoreProdStatusCateCountResVO>> getStatusCateNum(@Validated @RequestBody StoreProdStatusCateNumVO cateCountVO) {

View File

@ -8,9 +8,11 @@ import com.ruoyi.xkt.dto.storeProdColorPrice.StoreProdColorPricePageDTO;
import com.ruoyi.xkt.dto.storeProdColorPrice.StoreProdColorPriceResDTO;
import com.ruoyi.xkt.dto.storeProduct.StoreProdPageDTO;
import com.ruoyi.xkt.dto.storeProduct.StoreProdPageResDTO;
import com.ruoyi.xkt.dto.storeProduct.StoreProdStatusCountResDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
/**
@ -70,4 +72,12 @@ public interface StoreProductColorMapper extends BaseMapper<StoreProductColor> {
* @return List<StoreProdColorPriceResDTO>
*/
List<StoreProdColorPriceResDTO> selectColorPricePage(StoreProdColorPricePageDTO pageDTO);
/**
*
*
* @param storeId ID
* @return StoreProdStatusCountResDTO
*/
StoreProdStatusCountResDTO getStatusNum(@Param("storeId") Long storeId);
}

View File

@ -104,18 +104,6 @@ public interface StoreProductMapper extends BaseMapper<StoreProduct> {
*/
StoreProdPCResDTO selectPCProdInfo(@Param("storeProdId") Long storeProdId, @Param("userId") Long userId);
/**
*
*
* @param storeId ID
* @param sixMonthAgo
* @param now
* @return StoreProdStatusCountResDTO
*/
StoreProdStatusCountResDTO getStatusNum(@Param("storeId") Long storeId,
@Param("sixMonthAgo") Date sixMonthAgo,
@Param("now") Date now);
/**
*
*
@ -132,5 +120,13 @@ public interface StoreProductMapper extends BaseMapper<StoreProduct> {
* @return StoreProdAppResDTO
*/
StoreProdAppResDTO getAppInfo(@Param("storeProdId") Long storeProdId, @Param("userId") Long userId);
/**
*
*
* @param storeId ID
* @return StoreProdStatusCountResDTO
*/
StoreProdStatusCountResDTO getStatusNum(@Param("storeId") Long storeId);
}

View File

@ -162,4 +162,12 @@ public interface IStoreProductService {
* @return StoreProdFuzzyResDTO
*/
List<StoreProdFuzzyResDTO> fuzzyQuery(String prodArtNum);
/**
*
*
* @param storeId ID
* @return StoreProdStatusCountResDTO
*/
StoreProdStatusCountResDTO getPcStatusNum(Long storeId);
}

View File

@ -718,6 +718,18 @@ public class StoreProductServiceImpl implements IStoreProductService {
.collect(Collectors.toList());
}
/**
*
*
* @param storeId ID
* @return StoreProdStatusCountResDTO
*/
@Override
@Transactional(readOnly = true)
public StoreProdStatusCountResDTO getPcStatusNum(Long storeId) {
return this.storeProdMapper.getStatusNum(storeId);
}
/**
* ID
@ -964,9 +976,7 @@ public class StoreProductServiceImpl implements IStoreProductService {
@Override
@Transactional(readOnly = true)
public StoreProdStatusCountResDTO getStatusNum(Long storeId) {
final Date now = java.sql.Date.valueOf(LocalDate.now().plusDays(1));
final Date sixMonthAgo = java.sql.Date.valueOf(LocalDate.now().minusMonths(6));
return this.storeProdMapper.getStatusNum(storeId, sixMonthAgo, now);
return this.storeProdColorMapper.getStatusNum(storeId);
}
/**

View File

@ -125,5 +125,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
spc.id
</select>
<select id="getStatusNum" resultType="com.ruoyi.xkt.dto.storeProduct.StoreProdStatusCountResDTO">
SELECT
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 1 THEN 1 ELSE 0 END ), 0 ) AS unPublishedNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 2 THEN 1 ELSE 0 END ), 0 ) AS onSaleNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 3 THEN 1 ELSE 0 END ), 0 ) AS tailGoodsNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 4 THEN 1 ELSE 0 END ), 0 ) AS offSaleNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 2 AND spc.prod_status = 5 THEN 1 ELSE 0 END ), 0 ) AS removedNum
FROM
store_product_color spc
WHERE
spc.store_id = #{storeId}
AND (
( spc.del_flag = 0 AND spc.prod_status IN ( 1, 2, 3, 4 ))
OR ( spc.del_flag = 2 AND spc.prod_status = 5 )
);
</select>
</mapper>

View File

@ -248,24 +248,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND sp.id = #{storeProdId}
</select>
<select id="getStatusNum" resultType="com.ruoyi.xkt.dto.storeProduct.StoreProdStatusCountResDTO">
SELECT
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 1 THEN 1 ELSE 0 END ), 0 ) AS unPublishedNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 2 THEN 1 ELSE 0 END ), 0 ) AS onSaleNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 3 THEN 1 ELSE 0 END ), 0 ) AS tailGoodsNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 0 AND spc.prod_status = 4 THEN 1 ELSE 0 END ), 0 ) AS offSaleNum,
COALESCE ( SUM( CASE WHEN spc.del_flag = 2 AND spc.prod_status = 5 THEN 1 ELSE 0 END ), 0 ) AS removedNum
COALESCE ( SUM( CASE WHEN sp.del_flag = 0 AND sp.prod_status = 2 THEN 1 ELSE 0 END ), 0 ) AS onSaleNum,
COALESCE ( SUM( CASE WHEN sp.del_flag = 0 AND sp.prod_status = 3 THEN 1 ELSE 0 END ), 0 ) AS tailGoodsNum,
COALESCE ( SUM( CASE WHEN sp.del_flag = 0 AND sp.prod_status = 4 THEN 1 ELSE 0 END ), 0 ) AS offSaleNum
FROM
store_product_color spc
store_product sp
WHERE
spc.store_id = #{storeId}
AND spc.create_time BETWEEN #{sixMonthAgo} AND #{now}
AND (
( spc.del_flag = 0 AND spc.prod_status IN ( 1, 2, 3, 4 ))
OR ( spc.del_flag = 2 AND spc.prod_status = 5 )
);
sp.del_flag = 0
AND sp.store_id = #{storeId}
</select>
<select id="getStatusCateNum" resultType="com.ruoyi.xkt.dto.storeProduct.StoreProdStatusCateCountDTO">
SELECT
sp.prod_status,