From 4e456a3157ebb0c32dcc6c0ab598fdb8523b825a Mon Sep 17 00:00:00 2001 From: huchuansai Date: Mon, 15 Sep 2025 14:29:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/handler/MyMetaObjectHandler.java | 6 +-- .../common/task/ClerkWagesSettlementTask.java | 37 ++++++++++++------- .../impl/PlayClerkWagesInfoServiceImpl.java | 12 +++--- .../impl/PlayOrderInfoServiceImpl.java | 1 + 4 files changed, 33 insertions(+), 23 deletions(-) diff --git a/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyMetaObjectHandler.java b/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyMetaObjectHandler.java index 6cccfdc..c4050ca 100644 --- a/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyMetaObjectHandler.java +++ b/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyMetaObjectHandler.java @@ -79,9 +79,9 @@ public class MyMetaObjectHandler implements MetaObjectHandler { } } } catch (Exception ignored) { - if (SecurityUtils.isLogin()) { - return SecurityUtils.getUserId(); - } +// if (SecurityUtils.isLogin()) { +// return SecurityUtils.getUserId(); +// } } return ""; } diff --git a/play-admin/src/main/java/com/starry/admin/common/task/ClerkWagesSettlementTask.java b/play-admin/src/main/java/com/starry/admin/common/task/ClerkWagesSettlementTask.java index 01592e6..a749cea 100644 --- a/play-admin/src/main/java/com/starry/admin/common/task/ClerkWagesSettlementTask.java +++ b/play-admin/src/main/java/com/starry/admin/common/task/ClerkWagesSettlementTask.java @@ -1,5 +1,7 @@ package com.starry.admin.common.task; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.clerk.module.entity.PlayClerkWagesDetailsInfoEntity; import com.starry.admin.modules.clerk.module.entity.PlayClerkWagesInfoEntity; @@ -18,6 +20,8 @@ import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.List; import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** @@ -26,11 +30,10 @@ import org.springframework.stereotype.Component; * @author admin * @since 2024/5/28 下午2:42 **/ +@Slf4j @Component public class ClerkWagesSettlementTask { - @Resource - ISysTenantService sysTenantService; @Resource private IPlayClerkUserInfoService clerkUserInfoService; @@ -47,31 +50,33 @@ public class ClerkWagesSettlementTask { /** * 每分钟查询未结算订单 如果订单完成时间超过24小时,可进行结算,生成工资 */ - // @Scheduled(cron = "0 0/1 * * * ?") + @Scheduled(cron = "0 0/10 * * * ?") public void dailyRanking() { // 1、查询所有的租户信息 - List tenantEntities = sysTenantService.listAll(); - for (SysTenantEntity tenantEntity : tenantEntities) { - SecurityUtils.setTenantId(tenantEntity.getTenantId()); - List clerkUserReturnVos = clerkUserInfoService.listAll(); - // 生成每个人的工资信息 - for (PlayClerkUserInfoEntity clerkUserInfo : clerkUserReturnVos) { + List clerkUserReturnVos = clerkUserInfoService.listAll(); + // 生成每个人的工资信息 + for (PlayClerkUserInfoEntity clerkUserInfo : clerkUserReturnVos) { + try { updateClerkWagesInfo(clerkUserInfo.getId()); + } catch (Exception e) { + log.error("订单结算异常:" + e.getMessage()); + log.error(e.getMessage(),e); } + } } /** * 活动24小时前完成的订单,对订单进行结算 * - * @param clerkId - * 店员ID + * @param clerkId 店员ID */ public void updateClerkWagesInfo(String clerkId) { // 获得24小时前完成,并且未结算的订单 LocalDateTime lastTime = LocalDateTime.now().minusDays(1); // 查询当前店员上次结算工资到现在的订单 List orderInfoEntities = playOrderInfoService.listByEndTime(clerkId, lastTime); + if(CollectionUtils.isEmpty(orderInfoEntities)) return; PlayClerkWagesInfoEntity entity = playClerkWagesInfoService.getLastSettlement(clerkId); // 更新订单信息 updateClerkWagesInfo(clerkId, entity == null ? IdUtils.getUuid() : entity.getId(), orderInfoEntities); @@ -80,8 +85,7 @@ public class ClerkWagesSettlementTask { /** * 更新最新一次工资统计信息 更新订单记录 * - * @param orderInfoEntities - * 订单列表 + * @param orderInfoEntities 订单列表 */ public void updateClerkWagesInfo(String clerkId, String wagesId, List orderInfoEntities) { // 修改订单状态并且新增订单结算详情 @@ -89,7 +93,10 @@ public class ClerkWagesSettlementTask { // 修改订单状态 orderInfo.setOrderSettlementState("1"); orderInfo.setOrderSettlementTime(LocalDateTime.now()); - playOrderInfoService.update(orderInfo); + playOrderInfoService.update(Wrappers.lambdaUpdate(PlayOrderInfoEntity.class) + .eq(PlayOrderInfoEntity::getId, orderInfo.getId()) + .set(PlayOrderInfoEntity::getOrderSettlementState, "1") + .set(PlayOrderInfoEntity::getOrderSettlementTime, LocalDateTime.now())); PlayClerkWagesDetailsInfoEntity wagesDetailsInfo = playClerkWagesDetailsInfoService .selectByOrderId(orderInfo.getId()); @@ -103,6 +110,7 @@ public class ClerkWagesSettlementTask { wagesDetailsInfo.setOrderId(orderInfo.getId()); wagesDetailsInfo.setOrderNo(orderInfo.getOrderNo()); wagesDetailsInfo.setFinalAmount(orderInfo.getFinalAmount()); + wagesDetailsInfo.setTenantId(orderInfo.getTenantId()); wagesDetailsInfo.setEstimatedRevenue(orderInfo.getEstimatedRevenue()); wagesDetailsInfo.setEndOrderTime(orderInfo.getOrderEndTime()); playClerkWagesDetailsInfoService.saveOrUpdate(wagesDetailsInfo); @@ -138,6 +146,7 @@ public class ClerkWagesSettlementTask { wagesInfo.setFinalAmount(finalAmount); wagesInfo.setOrderContinueNumber(orderContinueNumber); wagesInfo.setOrderContinueMoney(orderContinueMoney); + wagesInfo.setTenantId(orderInfoEntities.get(0).getTenantId()); wagesInfo.setOrdersExpiredNumber(ordersExpiredNumber); wagesInfo.setSettlementDate(LocalDate.now()); wagesInfo.setEstimatedRevenue(estimatedRevenue); diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkWagesInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkWagesInfoServiceImpl.java index 18cddfe..336b287 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkWagesInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkWagesInfoServiceImpl.java @@ -42,7 +42,7 @@ public class PlayClerkWagesInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getClerkId, clerkId); - lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "0"); +// lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "0"); return this.baseMapper.selectOne(lambdaQueryWrapper); } @@ -50,7 +50,7 @@ public class PlayClerkWagesInfoServiceImpl extends ServiceImpl selectHistoricalWagesByClerkId(String clerkId) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getClerkId, clerkId); - lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "1"); +// lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "1"); return this.baseMapper.selectList(lambdaQueryWrapper); } @@ -58,7 +58,7 @@ public class PlayClerkWagesInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getClerkId, clerkId); - lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "0"); +// lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "0"); lambdaQueryWrapper.orderByDesc(PlayClerkWagesInfoEntity::getEndCountDate); return this.baseMapper.selectOne(lambdaQueryWrapper); } @@ -67,11 +67,11 @@ public class PlayClerkWagesInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getClerkId, clerkId); - lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "1"); +// lambdaQueryWrapper.eq(PlayClerkWagesInfoEntity::getHistoricalStatistics, "1"); lambdaQueryWrapper.orderByDesc(PlayClerkWagesInfoEntity::getEndCountDate); PlayClerkWagesInfoEntity entity = this.baseMapper.selectOne(lambdaQueryWrapper); if (entity == null) { - return LocalDate.of(2000, 1, 1); + return LocalDate.of(2025, 1, 1); } return entity.getEndCountDate(); } @@ -100,7 +100,7 @@ public class PlayClerkWagesInfoServiceImpl extends ServiceImpl clerkIdList = playClerkGroupInfoService.getValidClerkIdList(SecurityUtils.getLoginUser(), null); lambdaWrapper.in(PlayClerkUserInfoEntity::getId, clerkIdList); diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java index ed7809c..9df52c9 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java @@ -661,6 +661,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = getCommonOrderQueryVo( ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class)); + lambdaQueryWrapper.in(PlayOrderInfoEntity::getPlaceType, "0", "1", "2"); if (StringUtils.isNotBlank(vo.getGroupId())) { lambdaQueryWrapper.eq(PlayOrderInfoEntity::getGroupId, vo.getGroupId()); }