From f9e40800aa15abd4cfd2799f334b015e6f13629c Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 16 Mar 2026 11:21:38 +0800
Subject: [PATCH] feat(yinhe): 新增智能体系统功能并调整配置

---
 src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java |  320 ++++++++++++++++++++++++++--------------------------
 1 files changed, 160 insertions(+), 160 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
index 2aebfcf..d9ec3fe 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -37,170 +37,170 @@
 @ConditionalOnProperty(prefix = "system", name = "job", havingValue = "true")
 public class OrderSettlementJob {
 
-    @Autowired
-    private MallOrderInfoMapper mallOrderInfoMapper;
-
-    @Autowired
-    private MallOrderItemMapper mallOrderItemMapper;
-
-    @Autowired
-    private IApiMallMemberWalletService memberWalletService;
-
-    @Autowired
-    private IMallMoneyFlowService mallMoneyFlowService;
-
-    @Autowired
-    private MallMemberMapper mallMemberMapper;
-
-    @Autowired
-    private MallGoodsSkuMapper mallGoodsSkuMapper;
-
-    @Autowired
-    private MallLeaderAchieveMapper mallLeaderAchieveMapper;
-
-    @Autowired
-    private MallTeamLeaderMapper mallTeamLeaderMapper;
-
-    @Autowired
-    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
-
-    @Autowired
-    private IMemberProfitService memberProfitService;
-
-    @Autowired
-    private IMallAchieveService mallAchieveService;
-
-    @Autowired
-    private AgentProducer agentProducer;
-
-    /**
-     * 普通商品结算
-     */
+//    @Autowired
+//    private MallOrderInfoMapper mallOrderInfoMapper;
+//
+//    @Autowired
+//    private MallOrderItemMapper mallOrderItemMapper;
+//
+//    @Autowired
+//    private IApiMallMemberWalletService memberWalletService;
+//
+//    @Autowired
+//    private IMallMoneyFlowService mallMoneyFlowService;
+//
+//    @Autowired
+//    private MallMemberMapper mallMemberMapper;
+//
+//    @Autowired
+//    private MallGoodsSkuMapper mallGoodsSkuMapper;
+//
+//    @Autowired
+//    private MallLeaderAchieveMapper mallLeaderAchieveMapper;
+//
+//    @Autowired
+//    private MallTeamLeaderMapper mallTeamLeaderMapper;
+//
+//    @Autowired
+//    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+//
+//    @Autowired
+//    private IMemberProfitService memberProfitService;
+//
+//    @Autowired
+//    private IMallAchieveService mallAchieveService;
+//
+//    @Autowired
+//    private AgentProducer agentProducer;
+//
+//    /**
+//     * 普通商品结算
+//     */
+////    @Scheduled(cron = "0 0 0 * * ?")
+////    public void normalGoodsSettlementJob() {
+////        log.info("普通商品结算");
+////        List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderInfoWithNormalGoods(DateUtil.offsetDay(new Date(), -10));
+////        if (CollUtil.isEmpty(orderInfos)) {
+////            return;
+////        }
+////
+////        for (MallOrderInfo orderInfo : orderInfos) {
+////            MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId());
+////            if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
+////                continue;
+////            }
+////
+////            for (MallOrderItem item : orderInfo.getItems()) {
+////                MallGoodsSku sku = mallGoodsSkuMapper.selectById(item.getSkuId());
+////                BigDecimal score = sku.getPresentPrice();
+////
+////                memberWalletService.add(score, member.getId(), "score");
+////                mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+////
+////                mallAchieveService.add(item.getId());
+////            }
+////
+////            // 普通商品动态分红结算
+////            memberProfitService.dynamicProfit(orderInfo.getId(), 1);
+////        }
+////    }
+//
+//    /**
+//     * 自动确认收货
+//     */
 //    @Scheduled(cron = "0 0 0 * * ?")
-//    public void normalGoodsSettlementJob() {
-//        log.info("普通商品结算");
-//        List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderInfoWithNormalGoods(DateUtil.offsetDay(new Date(), -10));
-//        if (CollUtil.isEmpty(orderInfos)) {
-//            return;
-//        }
 //
-//        for (MallOrderInfo orderInfo : orderInfos) {
-//            MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId());
-//            if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
-//                continue;
-//            }
-//
-//            for (MallOrderItem item : orderInfo.getItems()) {
-//                MallGoodsSku sku = mallGoodsSkuMapper.selectById(item.getSkuId());
-//                BigDecimal score = sku.getPresentPrice();
-//
-//                memberWalletService.add(score, member.getId(), "score");
-//                mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
-//
-//                mallAchieveService.add(item.getId());
-//            }
-//
-//            // 普通商品动态分红结算
-//            memberProfitService.dynamicProfit(orderInfo.getId(), 1);
-//        }
-//    }
-
-    /**
-     * 自动确认收货
-     */
-    @Scheduled(cron = "0 0 0 * * ?")
-
-//    @Scheduled(cron = "1 * * * * ?")
-    public void orderAutoConfirmJob() {
-        log.info("自动确认收货");
-        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.OEDER_AUTO_CONFIRM.getType(), DataDictionaryEnum.OEDER_AUTO_CONFIRM.getCode());
-        Integer value = Integer.parseInt(dic.getValue());
-        List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderByStatusAndPayTime(3,DateUtil.offsetDay(new Date(), -value));
-        if(CollUtil.isNotEmpty(orderInfos)){
-//            for(MallOrderInfo orderInfo : orderInfos){
-//                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
-//                Integer profitSwitch = mallTeamLeader.getProfitSwitch()==null?2:mallTeamLeader.getProfitSwitch();
-//                if(1 == profitSwitch){
-//                    BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
-////                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
-////                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
-//                    //生成一条团长提成记录
-//                    Long id = orderInfo.getId();
-//                    List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
-//                    if(CollUtil.isNotEmpty(mallOrderItemList)){
-//                        for(MallOrderItem mallOrderItem : mallOrderItemList){
-//                            Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
-//                            if(1 == state){
-//                                MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
-//                                mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
-//                                mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
-//                                mallLeaderAchieve.setOrderItemId(mallOrderItem.getId());
-//                                BigDecimal itemAmount = mallOrderItem.getAmount();
-//                                mallLeaderAchieve.setAmount(itemAmount);
-//                                BigDecimal bigDecimal = bonusPercent.multiply(itemAmount).setScale(2, BigDecimal.ROUND_DOWN);
-//                                mallLeaderAchieve.setProfitAmount(bigDecimal);
-//                                mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
-//                                mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
-//                                mallLeaderAchieveMapper.insert(mallLeaderAchieve);
-//                            }
-//                        }
-//                    }
-//                }
-//            }
-            mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.date(),DateUtil.offsetDay(new Date(), -value));
-
-            orderInfos.forEach(item -> {
-                agentProducer.sendGetScoreMsg(item.getId());
-            });
-        }
-    }
-    /**
-     * 团长第二天才会结算前一天的所有提成
-     * 从团长业绩表中查询出前一天的所有已完成订单金额*提成系数,得到今日提成
-     * 修改业绩的状态
-     * 并生成一条提成流水
-     */
-//    @Scheduled(cron = "0 0 1 * * ?")
 ////    @Scheduled(cron = "1 * * * * ?")
-//    public void leaderAchieveAuto() {
-//        log.info("团长每日提成");
-//        //获取每日提成总数
-//        /**
-//         * a.unique_code uniqueCode 团长特征码
-//         * , IFNULL(sum(a.amount),0) amount 每日提成总金额
-//         */
-//            DateTime dateTime = DateUtil.offsetDay(new Date(), -1);
-////        DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
-//        List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
-//        if (CollUtil.isNotEmpty(allLeaderAchieve)) {
-//            for (Map<String, String> map : allLeaderAchieve) {
-//                String uniqueCode = map.get("uniqueCode");
-//                Object profitAmount = map.get("profitAmount");
+//    public void orderAutoConfirmJob() {
+//        log.info("自动确认收货");
+//        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.OEDER_AUTO_CONFIRM.getType(), DataDictionaryEnum.OEDER_AUTO_CONFIRM.getCode());
+//        Integer value = Integer.parseInt(dic.getValue());
+//        List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderByStatusAndPayTime(3,DateUtil.offsetDay(new Date(), -value));
+//        if(CollUtil.isNotEmpty(orderInfos)){
+////            for(MallOrderInfo orderInfo : orderInfos){
+////                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+////                Integer profitSwitch = mallTeamLeader.getProfitSwitch()==null?2:mallTeamLeader.getProfitSwitch();
+////                if(1 == profitSwitch){
+////                    BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
+//////                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
+//////                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+////                    //生成一条团长提成记录
+////                    Long id = orderInfo.getId();
+////                    List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+////                    if(CollUtil.isNotEmpty(mallOrderItemList)){
+////                        for(MallOrderItem mallOrderItem : mallOrderItemList){
+////                            Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
+////                            if(1 == state){
+////                                MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
+////                                mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
+////                                mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
+////                                mallLeaderAchieve.setOrderItemId(mallOrderItem.getId());
+////                                BigDecimal itemAmount = mallOrderItem.getAmount();
+////                                mallLeaderAchieve.setAmount(itemAmount);
+////                                BigDecimal bigDecimal = bonusPercent.multiply(itemAmount).setScale(2, BigDecimal.ROUND_DOWN);
+////                                mallLeaderAchieve.setProfitAmount(bigDecimal);
+////                                mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
+////                                mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
+////                                mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+////                            }
+////                        }
+////                    }
+////                }
+////            }
+//            mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.date(),DateUtil.offsetDay(new Date(), -value));
 //
-//                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(uniqueCode);
-//                Integer profitSwitch = mallTeamLeader.getProfitSwitch();
-//                if(1 == profitSwitch){
-//                    //直接舍弃小数点的第三位
-//                    BigDecimal achieveMoney = new BigDecimal(String.valueOf(profitAmount)).setScale(2,BigDecimal.ROUND_DOWN);
-//                    MallMember mallMember = mallMemberMapper.selectInfoByInviteId(uniqueCode);
-//                    memberWalletService.addBalance(achieveMoney,mallMember.getId());
-//                    String achieveNo = "TC."+ MallUtils.getOrderNum();
-//                    mallMoneyFlowService.addMoneyFlow(
-//                            mallMember.getId(),
-//                            achieveMoney,
-//                            MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),
-//                            achieveNo,
-//                            FlowTypeEnum.BALANCE.getValue());
-//
-//                    //更新到已提成状态
-//                    mallLeaderAchieveMapper.updateByUniqueCodeStateAndTime(DateUtil.date(),uniqueCode,MallLeaderAchieve.STATE_ONE,dateTime);
-//                }
-//            }
+//            orderInfos.forEach(item -> {
+//                agentProducer.sendGetScoreMsg(item.getId());
+//            });
 //        }
 //    }
-
-//    public static void main(String[] args) {
-//        BigDecimal bigDecimal = new BigDecimal(0.1256).setScale(2,BigDecimal.ROUND_DOWN);
-//        System.out.println(bigDecimal);
-//    }
+//    /**
+//     * 团长第二天才会结算前一天的所有提成
+//     * 从团长业绩表中查询出前一天的所有已完成订单金额*提成系数,得到今日提成
+//     * 修改业绩的状态
+//     * 并生成一条提成流水
+//     */
+////    @Scheduled(cron = "0 0 1 * * ?")
+//////    @Scheduled(cron = "1 * * * * ?")
+////    public void leaderAchieveAuto() {
+////        log.info("团长每日提成");
+////        //获取每日提成总数
+////        /**
+////         * a.unique_code uniqueCode 团长特征码
+////         * , IFNULL(sum(a.amount),0) amount 每日提成总金额
+////         */
+////            DateTime dateTime = DateUtil.offsetDay(new Date(), -1);
+//////        DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
+////        List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
+////        if (CollUtil.isNotEmpty(allLeaderAchieve)) {
+////            for (Map<String, String> map : allLeaderAchieve) {
+////                String uniqueCode = map.get("uniqueCode");
+////                Object profitAmount = map.get("profitAmount");
+////
+////                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(uniqueCode);
+////                Integer profitSwitch = mallTeamLeader.getProfitSwitch();
+////                if(1 == profitSwitch){
+////                    //直接舍弃小数点的第三位
+////                    BigDecimal achieveMoney = new BigDecimal(String.valueOf(profitAmount)).setScale(2,BigDecimal.ROUND_DOWN);
+////                    MallMember mallMember = mallMemberMapper.selectInfoByInviteId(uniqueCode);
+////                    memberWalletService.addBalance(achieveMoney,mallMember.getId());
+////                    String achieveNo = "TC."+ MallUtils.getOrderNum();
+////                    mallMoneyFlowService.addMoneyFlow(
+////                            mallMember.getId(),
+////                            achieveMoney,
+////                            MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),
+////                            achieveNo,
+////                            FlowTypeEnum.BALANCE.getValue());
+////
+////                    //更新到已提成状态
+////                    mallLeaderAchieveMapper.updateByUniqueCodeStateAndTime(DateUtil.date(),uniqueCode,MallLeaderAchieve.STATE_ONE,dateTime);
+////                }
+////            }
+////        }
+////    }
+//
+////    public static void main(String[] args) {
+////        BigDecimal bigDecimal = new BigDecimal(0.1256).setScale(2,BigDecimal.ROUND_DOWN);
+////        System.out.println(bigDecimal);
+////    }
 }

--
Gitblit v1.9.1