diff --git a/play-admin/src/main/java/com/starry/admin/common/task/OrderRankingSettlementTask.java b/play-admin/src/main/java/com/starry/admin/common/task/OrderRankingSettlementTask.java index 7af6e72..5492d9b 100644 --- a/play-admin/src/main/java/com/starry/admin/common/task/OrderRankingSettlementTask.java +++ b/play-admin/src/main/java/com/starry/admin/common/task/OrderRankingSettlementTask.java @@ -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 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); diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java index 1fc6ec0..7844b5f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java @@ -76,7 +76,7 @@ public class PlayOrderInfoController { @PostMapping("/sendNotice") public R sendNotice(String orderId) { PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(orderId); - List 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 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(); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/job/OrderJob.java b/play-admin/src/main/java/com/starry/admin/modules/order/job/OrderJob.java index 43cfc13..d4694fa 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/job/OrderJob.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/job/OrderJob.java @@ -93,7 +93,7 @@ public class OrderJob { return; } redisTemplate.opsForValue().set("order_notice_" + orderInfo.getId(), "1", 30, java.util.concurrent.TimeUnit.MINUTES); - List clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, orderInfo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1") + List 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()); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java index 54cfaff..7fd450a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java @@ -479,7 +479,7 @@ public class WxCustomController { // 顾客减少余额 customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "下单-随机单", money, BigDecimal.ZERO, orderId); // 给全部店员发送通知 - List 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 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());