fix
This commit is contained in:
@@ -72,12 +72,9 @@ public class OrderRankingSettlementTask {
|
||||
/**
|
||||
* 生产排行信息 1、查询所有的租户信息 2、查询每个租户的用户,以及他们在对应时间段的订单 3、根据订单生产排行信息
|
||||
*
|
||||
* @param startTime
|
||||
* 接单开始时间
|
||||
* @param endTime
|
||||
* 接单截至时间
|
||||
* @param weeklyRanking
|
||||
* weeklyRanking 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @param startTime 接单开始时间
|
||||
* @param endTime 接单截至时间
|
||||
* @param weeklyRanking weeklyRanking 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @author admin
|
||||
* @since 2024/6/12 15:21
|
||||
**/
|
||||
@@ -95,8 +92,9 @@ public class OrderRankingSettlementTask {
|
||||
// 生成每个人的订单排行信息
|
||||
for (PlayClerkUserInfoEntity clerkUserInfo : clerkUserReturnVos) {
|
||||
// 生成订单排行数据
|
||||
clerkRankingInfoEntities.add(
|
||||
getClerkRanking(clerkUserInfo.getId(), startTime, endTime, weeklyRanking, newSerialNumber));
|
||||
PlayClerkRankingInfoEntity clerkRanking = getClerkRanking(clerkUserInfo.getId(), startTime, endTime, weeklyRanking, newSerialNumber);
|
||||
clerkRanking.setTenantId(tenantEntity.getTenantId());
|
||||
clerkRankingInfoEntities.add(clerkRanking);
|
||||
}
|
||||
// 更新排行名次
|
||||
clerkRankingInfoEntities.sort((p1, p2) -> p2.getOrderNumber() - p1.getOrderNumber());
|
||||
@@ -104,8 +102,7 @@ public class OrderRankingSettlementTask {
|
||||
PlayClerkRankingInfoEntity item = clerkRankingInfoEntities.get(i);
|
||||
item.setRankingIndex(i + 1);
|
||||
if (i > 0) {
|
||||
item.setPreviousMoney(
|
||||
clerkRankingInfoEntities.get(i - 1).getOrderMoney().subtract(item.getOrderMoney()));
|
||||
item.setPreviousMoney(clerkRankingInfoEntities.get(i - 1).getOrderMoney().subtract(item.getOrderMoney()));
|
||||
}
|
||||
}
|
||||
// 排名数据生成后,将以往排名状态标记为历史排名
|
||||
@@ -118,21 +115,15 @@ public class OrderRankingSettlementTask {
|
||||
/**
|
||||
* 生产当前排行信息
|
||||
*
|
||||
* @param clerkId
|
||||
* 店员ID
|
||||
* @param startTime
|
||||
* 排行开始统计日期 yyyy-mm-dd 00:00:00
|
||||
* @param endTime
|
||||
* 排行结束统计日期 yyyy-mm-dd 23:59:59
|
||||
* @param weeklyRanking
|
||||
* 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @param serialNumber
|
||||
* 查询当前租户、当前排行、的最后一次统计编号
|
||||
* @param clerkId 店员ID
|
||||
* @param startTime 排行开始统计日期 yyyy-mm-dd 00:00:00
|
||||
* @param endTime 排行结束统计日期 yyyy-mm-dd 23:59:59
|
||||
* @param weeklyRanking 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @param serialNumber 查询当前租户、当前排行、的最后一次统计编号
|
||||
* @author admin
|
||||
* @since 2024/6/7 11:43
|
||||
**/
|
||||
public PlayClerkRankingInfoEntity getClerkRanking(String clerkId, String startTime, String endTime,
|
||||
String weeklyRanking, Integer serialNumber) {
|
||||
public PlayClerkRankingInfoEntity getClerkRanking(String clerkId, String startTime, String endTime, String weeklyRanking, Integer serialNumber) {
|
||||
List<PlayOrderInfoEntity> orderInfoEntities = orderInfoService.listByTime(clerkId, startTime, endTime, null);
|
||||
int orderNumber = orderInfoEntities.size();
|
||||
BigDecimal orderMoney = BigDecimal.ZERO;
|
||||
@@ -151,13 +142,8 @@ public class OrderRankingSettlementTask {
|
||||
ordersExpiredNumber++;
|
||||
}
|
||||
}
|
||||
BigDecimal orderContinueProportion = orderNumber == 0
|
||||
? BigDecimal.ZERO
|
||||
: new BigDecimal(ordersExpiredNumber).divide(new BigDecimal(orderNumber), 4, RoundingMode.HALF_UP)
|
||||
.add(new BigDecimal(100));
|
||||
BigDecimal averageUnitPrice = customIds.isEmpty()
|
||||
? BigDecimal.ZERO
|
||||
: orderMoney.divide(new BigDecimal(customIds.size()), 4, RoundingMode.HALF_UP);
|
||||
BigDecimal orderContinueProportion = orderNumber == 0 ? BigDecimal.ZERO : new BigDecimal(ordersExpiredNumber).divide(new BigDecimal(orderNumber), 4, RoundingMode.HALF_UP).add(new BigDecimal(100));
|
||||
BigDecimal averageUnitPrice = customIds.isEmpty() ? BigDecimal.ZERO : orderMoney.divide(new BigDecimal(customIds.size()), 4, RoundingMode.HALF_UP);
|
||||
PlayClerkRankingInfoEntity rankingInfo = new PlayClerkRankingInfoEntity();
|
||||
rankingInfo.setId(IdUtils.getUuid());
|
||||
rankingInfo.setClerkId(clerkId);
|
||||
|
||||
@@ -76,7 +76,7 @@ public class PlayOrderInfoController {
|
||||
@PostMapping("/sendNotice")
|
||||
public R sendNotice(String orderId) {
|
||||
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(orderId);
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, orderInfo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1").eq(PlayClerkUserInfoEntity::getSex, orderInfo.getSex()));
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getClerkState, "1").eq(PlayClerkUserInfoEntity::getSex, orderInfo.getSex()));
|
||||
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), orderInfo.getCommodityName(), orderId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ public class OrderJob {
|
||||
return;
|
||||
}
|
||||
redisTemplate.opsForValue().set("order_notice_" + orderInfo.getId(), "1", 30, java.util.concurrent.TimeUnit.MINUTES);
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, orderInfo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1")
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getClerkState, "1")
|
||||
.eq(PlayClerkUserInfoEntity::getSex, orderInfo.getSex()).eq(PlayClerkUserInfoEntity::getTenantId, orderInfo.getTenantId()));
|
||||
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), orderInfo.getCommodityName(), orderInfo.getId());
|
||||
|
||||
|
||||
@@ -479,7 +479,7 @@ public class WxCustomController {
|
||||
// 顾客减少余额
|
||||
customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "下单-随机单", money, BigDecimal.ZERO, orderId);
|
||||
// 给全部店员发送通知
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, vo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1").eq(PlayClerkUserInfoEntity::getSex, vo.getSex()));
|
||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getClerkState, "1").eq(PlayClerkUserInfoEntity::getSex, vo.getSex()));
|
||||
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderNo, money.toString(), commodityInfo.getCommodityName(),orderId);
|
||||
// 记录订单,指定指定未接单后,进行退款处理
|
||||
overdueOrderHandlerTask.enqueue(orderId + "_" + SecurityUtils.getTenantId());
|
||||
|
||||
Reference in New Issue
Block a user