master:档口首页返回数据调优;

pull/1121/head
liujiang 2025-10-25 10:47:38 +08:00
parent acd3709baa
commit 64e271b062
4 changed files with 14 additions and 26 deletions

View File

@ -141,10 +141,10 @@ public class StoreController extends XktBaseController {
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')")
@ApiOperation(value = "获取档口首页 今日商品销售额前5 ", httpMethod = "GET", response = R.class)
@GetMapping(value = "/index/today/prod/sale/top5/{storeId}")
public R<StoreIndexTodaySaleTop5ResVO> indexTodayProdSaleRevenueTop5(@PathVariable Long storeId) {
return R.ok(BeanUtil.toBean(storeService.indexTodayProdSaleRevenueTop5(storeId), StoreIndexTodaySaleTop5ResVO.class));
@ApiOperation(value = "获取档口首页 今日商品销售额top ", httpMethod = "GET", response = R.class)
@GetMapping(value = "/index/today/prod/sale/top/{storeId}")
public R<StoreIndexTodaySaleTop5ResVO> indexTodayProdSaleRevenueTop(@PathVariable Long storeId) {
return R.ok(BeanUtil.toBean(storeService.indexTodayProdSaleRevenueTop(storeId, 8), StoreIndexTodaySaleTop5ResVO.class));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')")

View File

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
# active: prod
active: local
# active: prod

View File

@ -170,18 +170,11 @@ public interface IStoreService {
/**
* 5
*
* @param storeId ID
* @param storeId ID
* @param topCount
* @return StoreIndexTodaySaleResDTO
*/
StoreIndexTodaySaleTop5ResDTO indexTodayProdSaleRevenueTop5(Long storeId);
/**
*
*
* @param storeId
* @return
*/
Integer getStoreStatus(Long storeId);
StoreIndexTodaySaleTop5ResDTO indexTodayProdSaleRevenueTop(Long storeId, Integer topCount);
/**
*
@ -201,8 +194,8 @@ public interface IStoreService {
/**
*
*
* @return
* @param storeId
* @param storeId ID
* @return Integer
*/
Integer getStockSys(Long storeId);
}

View File

@ -363,7 +363,7 @@ public class StoreServiceImpl implements IStoreService {
*/
@Override
@Transactional(readOnly = true)
public StoreIndexTodaySaleTop5ResDTO indexTodayProdSaleRevenueTop5(Long storeId) {
public StoreIndexTodaySaleTop5ResDTO indexTodayProdSaleRevenueTop(Long storeId, Integer topCount) {
List<StoreSaleDetail> detailList = this.saleDetailMapper.selectList(new LambdaQueryWrapper<StoreSaleDetail>()
.eq(StoreSaleDetail::getStoreId, storeId).eq(StoreSaleDetail::getDelFlag, Constants.UNDELETED)
.eq(StoreSaleDetail::getVoucherDate, java.sql.Date.valueOf(LocalDate.now())));
@ -386,18 +386,13 @@ public class StoreServiceImpl implements IStoreService {
// 总的金额
final BigDecimal totalAmount = detailList.stream().map(StoreSaleDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
// 销售额排名前5的列表
List<StoreIndexTodaySaleTop5ResDTO.SITSProdSaleDTO> top5List = saleList.stream().sorted(Comparator.comparing(StoreIndexTodaySaleTop5ResDTO.SITSProdSaleDTO::getSaleAmount).reversed()).limit(5).collect(Collectors.toList());
List<StoreIndexTodaySaleTop5ResDTO.SITSProdSaleDTO> top5List = saleList.stream()
.sorted(Comparator.comparing(StoreIndexTodaySaleTop5ResDTO.SITSProdSaleDTO::getSaleAmount).reversed()).limit(topCount).collect(Collectors.toList());
// 其它款式的销售额
final BigDecimal otherAmount = totalAmount.subtract(top5List.stream().map(StoreIndexTodaySaleTop5ResDTO.SITSProdSaleDTO::getSaleAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
return new StoreIndexTodaySaleTop5ResDTO().setStoreId(storeId).setOtherAmount(otherAmount).setSaleList(top5List);
}
@Transactional(readOnly = true)
@Override
public Integer getStoreStatus(Long storeId) {
return Optional.ofNullable(storeMapper.selectById(storeId)).map(Store::getStoreStatus).orElse(null);
}
@Override
@Transactional
public Integer updateStockSys(StoreUpdateStockSysDTO stockSysDTO) {