admin
2020-03-20 f0d06601a6be8c09ef5e8e7e76666cb1e8ef72a5
团队补贴按照下单时间兼容
15个文件已修改
207 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/mapping/order/OrderTeamRewardMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/MsgMoneyDetailServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPInfoService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/OrderTeamRewardMapper.xml
@@ -141,8 +141,7 @@
        otr_subsidy_id = #{0}
    </select>
    <select id="listCanSettleByUid" resultMap="BaseResultMap"
        parameterType="java.lang.Long">SELECT * FROM yeshi_ec_order_team_reward WHERE
    <select id="listCanSettleByUid" resultMap="BaseResultMap">SELECT * FROM yeshi_ec_order_team_reward WHERE
        otr_uid
        =#{uid} AND otr_state=1 AND NOW()>otr_pre_get_time
        limit
@@ -152,7 +151,7 @@
    <select id="countCanSettle" resultType="java.lang.Long"
        parameterType="java.lang.Long">SELECT count(*) FROM yeshi_ec_order_team_reward
        WHERE
        otr_uid =#{0} AND otr_state=1 AND NOW()>otr_pre_get_time
        otr_uid =#{uid} AND otr_state=1 AND NOW()>otr_pre_get_time
    </select>
fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyServiceImpl.java
@@ -14,6 +14,7 @@
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.cmq.UserMoneyChangeCMQManager;
@Service
@@ -53,6 +54,7 @@
        userMoneyDetailMapper.insertSelective(detail);
        userInfoMapper.subHongBaoByUid(uid, money);
        try {
            if (!Constant.IS_TEST)
            UserMoneyChangeCMQManager.getInstance()
                    .addUserMoneyChangeMsg(new UserMoneyChangeDTO(uid, new BigDecimal(0).subtract(money)));
        } catch (Exception e) {
@@ -70,6 +72,7 @@
        userMoneyDetailMapper.insertSelective(detail);
        userInfoMapper.addHongBaoByUid(uid, money);
        try {
            if (!Constant.IS_TEST)
            UserMoneyChangeCMQManager.getInstance().addUserMoneyChangeMsg(new UserMoneyChangeDTO(uid, money));
        } catch (Exception e) {
            try {
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/MsgMoneyDetailServiceImpl.java
@@ -152,6 +152,13 @@
            detail.setUpdateTime(new Date());
            detail.setRead(false);
            msgMoneyDetailMapper.insertSelective(detail);
        } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.orderTeamReward) {
            if (detail.getMoney() == null || detail.getUser() == null)
                throw new MsgMoneyDetailException(2, "消息信息不全");
            detail.setCreateTime(new Date());
            detail.setUpdateTime(new Date());
            detail.setRead(false);
            msgMoneyDetailMapper.insertSelective(detail);
        }
        userMsgReadStateService.addMoneyMsgUnReadCount(detail.getUser().getId(), 1);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -538,7 +538,8 @@
                    taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 加入返还记录
                    // 加入邀请补贴返还记录
                    doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney,weiQuanOrder.getOrderItemId());
                    doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney,
                            weiQuanOrder.getOrderItemId());
                    // 如果资金大于0才扣除
@@ -598,6 +599,7 @@
            debt.setOriginMoney(drawBackMoney);
            debt.setUid(uid);
            debt.setCreateTime(new Date());
            debt.setSourceId(subSidy.getId());
            debt.setTradeId(tradeId);
            try {
                inviteOrderSubsidyDebtService.addDebt(debt);
@@ -631,6 +633,7 @@
                debt.setUid(reward.getUid());
                debt.setCreateTime(new Date());
                debt.setTradeId(tradeId);
                debt.setSourceId(reward.getId());
                try {
                    orderTeamRewardDebtService.addDebt(debt);
                } catch (OrderTeamRewardDebtException e) {
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -322,7 +322,6 @@
            Integer sourceType = order.getSourceType();
            Integer hongBaoType = order.getHongBaoType();
            
            BigDecimal totalPay = new BigDecimal(0);
            BigDecimal totalActual = new BigDecimal(0);
            // 商品信息组合
@@ -1716,7 +1715,8 @@
    }
    @Override
    public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception {
    public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list)
            throws Exception {
        List<CommonOrderVO> listVO = commonOrderMapper.searchOrderByUid((page - 1) * size, size, uid, list);
        // 订单信息为空
@@ -1746,8 +1746,8 @@
     * @param listGoods
     * @param uid
     */
    private void orderVOFactoryNew(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid)
            throws Exception {
    private void orderVOFactoryNew(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods,
            Long uid) throws Exception {
        List<String> listTB = new ArrayList<String>();
        List<String> listJD = new ArrayList<String>();
        List<String> listPDD = new ArrayList<String>();
@@ -1824,7 +1824,6 @@
            }
        }
    
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
        // 2019.8.1开始返回维权信息
@@ -1840,7 +1839,6 @@
            String orderNo = order.getOrderNo();
            Integer sourceType = order.getSourceType();
            Integer hongBaoType = order.getHongBaoType();
            BigDecimal totalPay = new BigDecimal(0);
            BigDecimal totalActual = new BigDecimal(0);
@@ -1876,7 +1874,6 @@
                    
                    totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement);
                    
                    // 商品价格
                    BigDecimal actualPrice = commonGoodsVO.getActualPrice();
                    if (actualPrice != null) {
@@ -1884,7 +1881,6 @@
                        totalActual = MoneyBigDecimalUtil.add(totalActual, 
                                MoneyBigDecimalUtil.mul(new BigDecimal(totalCount), actualPrice));
                    }
                    
                    // 邀请订单信息保护
                    if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
@@ -2271,4 +2267,12 @@
        }
    }
    @Override
    public Date getThirdCreateTime(String orderId, int sourceType) {
        List<CommonOrder> list = listBySourceTypeAndOrderId(sourceType, orderId);
        if (list == null || list.size() == 0)
            return null;
        return list.get(0).getThirdCreateTime();
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java
@@ -200,7 +200,9 @@
        if (list != null && list.size() > 0) {
            // 必须是自购订单才返利
            HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId());
            if (parent != null && parent.getUrank() != UserLevelEnum.superVIP.getOrderRank()) {// 不是超级会员的自购/分享才补贴
            if (parent != null && parent.getUrank() != UserLevelEnum.superVIP.getOrderRank()
                    && (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {// 不是超级会员的自购/分享才补贴
                boolean isShare = (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS);
                List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId);
                if (orderList == null || orderList.size() == 0)
@@ -282,7 +284,7 @@
                            else
                                orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_TWO);
                            // 会员才能补贴
                            if (userLevel != UserLevelEnum.daRen)
                            if (userLevel != UserLevelEnum.daRen) {
                                try {
                                    addOrderSubsidy(orderSubsidy);
                                } catch (OrderTeamRewardException e) {
@@ -290,6 +292,11 @@
                                } catch (CommonOrderException e) {
                                    throw new InviteOrderSubsidyException(e.getCode(), e.getMsg());
                                }
                                // 分享赚不能使用返利奖励券,不用等待5天
                                if (isShare) {
                                    validByOrderIdAndSourceType(orderId, sourceType);
                                }
                            }
                        }
                    }
                }
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -739,6 +739,7 @@
                    order.setOrderType(Constant.SOURCE_TYPE_TAOBAO);
                    order.setUserInfo(new UserInfo(uid));
                    try {
                        if (!Constant.IS_TEST)
                        PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order);
                    } catch (Exception e) {
                    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
@@ -99,8 +99,6 @@
    @Resource
    private MsgAccountDetailService msgAccountDetailService;
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addUserVIPInfo(UserVIPInfo info) throws UserVIPInfoException {
@@ -271,8 +269,14 @@
    @Override
    public boolean isVIP(Long uid) {
        return isVIP(uid, System.currentTimeMillis());
    }
    @Override
    public boolean isVIP(Long uid, Long time) {
        UserVIPInfo userInfo = userVIPInfoMapper.selectByPrimaryKey(uid);
        if (userInfo != null && userInfo.getState() == UserVIPInfo.STATE_SUCCESS)
        if (userInfo != null && userInfo.getState() == UserVIPInfo.STATE_SUCCESS
                && userInfo.getSuccessTime().getTime() < time)
            return true;
        else
            return false;
@@ -315,7 +319,8 @@
        // 1、直接粉丝(从 2020 年 1 月 1 日起直接粉丝产生有效订单)
        BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay"));
//        long teamNum = hongBaoV2CountService.countValidOrderTeamUserByUid(uid,
        // long teamNum =
        // hongBaoV2CountService.countValidOrderTeamUserByUid(uid,
//                TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney);
        long teamNum = 0L;
        long vipBegin = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME);
@@ -327,17 +332,13 @@
                    continue;
                }
                // 1、邀请关系成功后;2、单(分享 + 自购)实付款大于1元
                long countValid = hongBaoV2CountService.countValidOrderByUidAndTime(worker.getId(), three.getSucceedTime(), payMoney);
                long countValid = hongBaoV2CountService.countValidOrderByUidAndTime(worker.getId(),
                        three.getSucceedTime(), payMoney);
                if (countValid > 0) {
                    teamNum ++;
                }
            }
        }
        // 区分老用户和新用户
        String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
@@ -450,7 +451,6 @@
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void applyVIPNew(Long uid) throws UserVIPInfoException {
@@ -480,7 +480,6 @@
        info.setUpdateTime(new Date());
        userVIPInfoMapper.updateByPrimaryKeySelective(info);
        
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setTitle("尊敬的高级会员,系统已收到你的超级会员升级申请,正在受理中");
        detail.setBeiZhu("如有疑问请联系我的-人工客服");
@@ -495,8 +494,6 @@
            e.printStackTrace();
        }
    }
    
    @Transactional(rollbackFor = Exception.class)
    @Override
@@ -558,14 +555,12 @@
            throw new UserVIPInfoException(1, "券赠送失败");
        }
        // 消息
        MsgAccountVipDTO msgDto = new MsgAccountVipDTO();
        msgDto.setStatus("已将你的账户由高级会员升级为超级会员");
        msgDto.setEquity("从收到本消息起,你将获得全部超级会员权益");
        msgAccountDetailService.addMsgVIP(uid, "恭喜你!经人工审核你满足升级超级会员条件", "如有疑问请联系我的-人工客服", msgDto);
    }
    
    /**
     * 验证是否符合VIP
@@ -590,7 +585,6 @@
        return false;
    }
    
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void rejectVIPApplyNew(Long uid, String reason) throws UserVIPInfoException {
@@ -614,4 +608,5 @@
        msgDto.setReason(reason);
        msgAccountDetailService.addMsgVIP(uid, "很抱歉!经人工审核你未满足或不符合升级超级会员的条件", "如有疑问请联系我的-人工客服", msgDto);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -40,8 +40,6 @@
    @Resource
    private MsgAccountDetailService msgAccountDetailService;
    
    @Override
    public void addUserVIPPreInfo(UserVIPPreInfo info) throws UserVIPPreInfoException {
        if (info == null || info.getUid() == null || info.getProcess() == null)
@@ -73,6 +71,27 @@
        return infoList.get(0);
    }
    @Override
    public UserVIPPreInfo getProcessInfo(Long uid, Date time) {
        List<UserVIPPreInfo> infoList = userVIPPreInfoMapper.listByUid(uid);
        if (infoList == null || infoList.size() == 0)
            return null;
        Comparator<UserVIPPreInfo> cm = new Comparator<UserVIPPreInfo>() {
            @Override
            public int compare(UserVIPPreInfo o1, UserVIPPreInfo o2) {
                return o2.getProcess() - o1.getProcess();
            }
        };
        Collections.sort(infoList, cm);
        for (UserVIPPreInfo info : infoList) {
            if (time.getTime() >= info.getCreateTime().getTime())
                return info;
        }
        return null;
    }
    @RequestSerializableByKeyService(key = "#uid")
    @Transactional(rollbackFor = Exception.class)
    @Override
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
@@ -375,5 +375,17 @@
    public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception;
    public long countSearchOrderByUid(Long uid, List<ESOrder> list);
    /**
     * 返回订单的第三方创建时间
     * @Title: getThirdCreateTime
     * @Description:
     * @param orderId
     * @param sourceType
     * @return
     * Date 返回类型
     * @throws
     */
    public Date getThirdCreateTime(String orderId,int sourceType);
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPInfoService.java
@@ -52,6 +52,19 @@
     * @return
     */
    public boolean isVIP(Long uid);
    /**
     * 在某个时间是否为VIP
     * @Title: isVIP
     * @Description:
     * @param uid
     * @param time
     * @return
     * boolean 返回类型
     * @throws
     */
    public boolean isVIP(Long uid,Long time);
    /**
     * 根据UID检索
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.service.inter.user.vip;
import java.util.Date;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
import com.yeshi.fanli.exception.user.vip.UserVIPPreInfoException;
@@ -29,6 +31,14 @@
    public UserVIPPreInfo getLatestProcessInfo(Long uid);
    /**
     * 获取某个时间的进度
     *
     * @param uid
     * @return
     */
    public UserVIPPreInfo getProcessInfo(Long uid,Date time);
    /**
     * 会员等级添加并验证
     * @param uid
     * @param inviteSuccess
fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java
@@ -50,10 +50,9 @@
     * @throws
     */
    public UserLevelEnum getUserLevel(Long uid,Date date) {
        //TODO 按时间段获取
        if (userVIPInfoService.isVIP(uid))
        if (userVIPInfoService.isVIP(uid, date.getTime()))
            return UserLevelEnum.superVIP;
        UserVIPPreInfo info = userVIPPreInfoService.getLatestProcessInfo(uid);
        UserVIPPreInfo info = userVIPPreInfoService.getProcessInfo(uid, date);
        if (info != null)
            for (UserLevelEnum level : UserLevelEnum.values())
                if (level.getLevel() == info.getProcess())
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.util.rocketmq.consumer.order;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -20,16 +21,22 @@
import com.yeshi.fanli.dto.mq.user.body.UserSystemCouponUseMQMsg;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
import com.yeshi.fanli.entity.mq.MQUnSendInfo;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.system.SystemCoupon;
import com.yeshi.fanli.exception.money.OrderMoneySettleException;
import com.yeshi.fanli.exception.mq.MQUnSendInfoException;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.exception.order.InviteOrderSubsidyException;
import com.yeshi.fanli.exception.order.OrderTeamRewardException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.mq.MQUnSendInfoService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyServiceV2;
import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -45,6 +52,9 @@
    private InviteOrderSubsidyService inviteOrderSubsidyService;
    @Resource
    private InviteOrderSubsidyServiceV2 inviteOrderSubsidyServiceV2;
    @Resource
    private UserSystemCouponRecordService userSystemCouponRecordService;
    @Resource(name = "producer")
@@ -55,6 +65,12 @@
    @Resource
    private OrderMoneySettleService orderMoneySettleService;
    @Resource
    private CommonOrderService commonOrderService;
    // 团队奖励开始时间
    private static final long TEAM_REWARD_START_TIME = TimeUtil.convertToTimeTemp("2019-04-15", "yyyy-MM-dd");
    public InviteOrderSubsidyMessageListener() {
@@ -72,11 +88,32 @@
                // 查询上级红包
                OrderMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class);
                if (dto != null) {
                    // 查询出订单创建时间
                    Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getType());
                    if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
                        try {
                            inviteOrderSubsidyServiceV2.addOrUpdateByOrder(dto.getOrderId(), dto.getType());
                            return Action.CommitMessage;
                        } catch (InviteOrderSubsidyException e) {
                            e.printStackTrace();
                            LogHelper.errorDetailInfo(e, new Gson().toJson(dto), "");
                        } catch (OrderTeamRewardException e) {
                            e.printStackTrace();
                            LogHelper.errorDetailInfo(e, new Gson().toJson(dto), "");
                        } catch (CommonOrderException e) {
                            e.printStackTrace();
                            LogHelper.errorDetailInfo(e, new Gson().toJson(dto), "");
                        }
                        return Action.ReconsumeLater;
                    } else {
                    try {
                        inviteOrderSubsidyService.addOrUpdateByOrder(dto.getOrderId(), dto.getType());
                    } catch (InviteOrderSubsidyException e) {
                            LogHelper.errorDetailInfo(e, new Gson().toJson(dto), "");
                        return Action.ReconsumeLater;
                    }
                    }
                }
            } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) {
                OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
@@ -115,11 +152,25 @@
                                    && record.getCouponType()
                                            .equalsIgnoreCase(SystemCoupon.CouponTypeEnum.rebatePercentCoupon.name())
                                    && record.getGoodSource() == dto.getSourceType()) {// 成功使用了奖励券
                                Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getType());
                                if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
                                    inviteOrderSubsidyServiceV2.invalidByOrderIdAndSourceType(dto.getOrderId(),
                                            dto.getSourceType());
                                } else
                                inviteOrderSubsidyService.invalidByOrderIdAndSourceType(dto.getOrderId(),
                                        dto.getSourceType());
                            } else {
                                // 使数据有效
                                try {
                                    Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(),
                                            dto.getType());
                                    if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
                                        inviteOrderSubsidyServiceV2.validByOrderIdAndSourceType(dto.getOrderId(),
                                                dto.getSourceType());
                                    } else
                                    inviteOrderSubsidyService.validByOrderIdAndSourceType(dto.getOrderId(),
                                            dto.getSourceType());
                                } catch (InviteOrderSubsidyException e) {
@@ -141,7 +192,13 @@
                            dto.getSourceType());
                    if (count > 0) {
                        // 使相关订单失效
                        inviteOrderSubsidyService.invalidByOrderIdAndSourceType(dto.getOrderId(), dto.getSourceType());
                        Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getSourceType());
                        if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
                            inviteOrderSubsidyServiceV2.invalidByOrderIdAndSourceType(dto.getOrderId(),
                                    dto.getSourceType());
                        } else
                            inviteOrderSubsidyService.invalidByOrderIdAndSourceType(dto.getOrderId(),
                                    dto.getSourceType());
                    }
                    return Action.CommitMessage;
                }
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java
@@ -19,7 +19,6 @@
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2SettleTempService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Component
@@ -30,9 +29,6 @@
    @Resource
    private HongBaoV2SettleTempService hongBaoV2SettleTempService;
    @Resource
    private InviteOrderSubsidyService inviteOrderSubsidyService;
    @Resource
    private CommonOrderService commonOrderService;