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