admin
2020-04-16 d525f0175016f802def58d244235bd0285df5235
分享订单到账,团队订单到账,团队分红到账修改
1个文件已删除
13个文件已修改
144 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/exception/money/TeamEincomeRecordException.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/exception/order/dividents/TeamDividentsRecordException.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamDividentsJob.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamIncomeJob.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsRecordServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/InviteValidTeamMessageListener.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/rocket/consumer.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/exception/money/TeamEincomeRecordException.java
@@ -3,6 +3,8 @@
import com.yeshi.fanli.exception.BaseException;
public class TeamEincomeRecordException extends BaseException {
    /**
     * 
fanli/src/main/java/com/yeshi/fanli/exception/order/dividents/TeamDividentsRecordException.java
@@ -4,6 +4,8 @@
public class TeamDividentsRecordException extends BaseException {
     
    public final static int CODE_EXIST=1;
    private static final long serialVersionUID = 1L;
    
    public TeamDividentsRecordException(int code, String msg) {
fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamDividentsJob.java
@@ -17,6 +17,7 @@
import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceUserService;
import com.yeshi.fanli.service.manger.money.TeamEincomeManager;
import com.yeshi.fanli.service.manger.order.TeamDividentsManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.cmq.order.TeamOrderCMQManager;
@@ -47,6 +48,10 @@
    @XxlJob("startPreOrderTeamDividentsHandler")
    public ReturnT<String> startPreDividents(String param) throws Exception {
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM") + "-25";
        if (!StringUtil.isNullOrEmpty(param)) {
            day = param;
        }
        Date preSendTime = new Date(TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"));
        long count = teamDividentsSourceOrderService.countCanSendUidByPreSendTime(preSendTime);
@@ -55,7 +60,7 @@
        for (int i = 0; i < totalPage; i++) {
            List<Long> list = teamDividentsSourceOrderService.listCanSendUidByPreSendTime(preSendTime, i + 1, pageSize);
            for (Long uid : list) {
                teamDividentsManager.startDividents(uid);
                teamDividentsManager.startDividents(uid, preSendTime);
            }
        }
        startAddDividentsRecord(preSendTime);
@@ -85,6 +90,10 @@
    @XxlJob("addTeamDividentsTOUserAccountHandler")
    public ReturnT<String> addTeamIncomeTOUserAccount(String param) throws Exception {
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM") + "-25";
        if (!StringUtil.isNullOrEmpty(param)) {
            day = param;
        }
        Date preSendTime = new Date(TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"));
        List<Integer> typeList = new ArrayList<>();
@@ -95,7 +104,7 @@
        int pageSize = 500;
        int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int i = 0; i < totalPage; i++) {
            List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i * pageSize, pageSize);
            List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i +1, pageSize);
            for (Long uid : list) {
                TeamOrderCMQManager.getInstance().addTeamDividentsMsg(new UidDateDTO(uid, preSendTime));
            }
fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamIncomeJob.java
@@ -17,6 +17,7 @@
import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceUserService;
import com.yeshi.fanli.service.manger.order.TeamDividentsManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.cmq.order.TeamOrderCMQManager;
@@ -55,6 +56,9 @@
    @XxlJob("addTeamIncomeTOUserAccountHandler")
    public ReturnT<String> addTeamIncomeTOUserAccount(String param) throws Exception {
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM") + "-25";
        if (!StringUtil.isNullOrEmpty(param))
            day = param;
        Date preSendTime = new Date(TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"));
        List<Integer> typeList = new ArrayList<>();
@@ -66,7 +70,7 @@
        int pageSize = 500;
        int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int i = 0; i < totalPage; i++) {
            List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i * pageSize, pageSize);
            List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i + 1, pageSize);
            for (Long uid : list) {
                TeamOrderCMQManager.getInstance().addFanLiTeamIncomeMsg(new UidDateDTO(uid, preSendTime));
            }
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
@@ -737,6 +737,7 @@
        // 所有的返利到账红包ID
        for (Long hongBaoId : recieveHongBaoIds) {
            try {
                if (Constant.ENABLE_MQ)
                HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
            } catch (Exception e) {
                LogHelper.errorDetailInfo(e);
@@ -819,6 +820,7 @@
        // 所有的返利到账红包ID
        for (Long hongBaoId : recieveHongBaoIds) {
            try {
                if(Constant.ENABLE_MQ)
                HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
            } catch (Exception e) {
                LogHelper.errorDetailInfo(e);
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -428,6 +428,11 @@
    public void fanli(HongBaoV2 hb1) throws TaoBaoWeiQuanException {
        // 查询最新的红包数据
        hb1 = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hb1.getId());
        if (hb1 == null || hb1.getState() != HongBaoV2.STATE_KELINGQU || hb1.getPreGetTime() == null
                || hb1.getPreGetTime().getTime() > System.currentTimeMillis())
            return;
        // 正常用户才能到账
        UserInfo mainUser = userInfoMapper.selectAvailableByPrimaryKey(hb1.getUserInfo().getId());
        if (mainUser == null || mainUser.getState() != UserInfo.STATE_NORMAL) {
fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsRecordServiceImpl.java
@@ -31,7 +31,7 @@
        TeamDividentsRecord old = teamDividentsRecordMapper.selectByUidAndDayForUpdate(record.getUid(),
                record.getDay());
        if (old != null)
            throw new TeamDividentsRecordException(1, "记录已存在");
            throw new TeamDividentsRecordException(TeamDividentsRecordException.CODE_EXIST, "记录已存在");
        // 加入记录
        if (record.getCreateTime() == null)
fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java
@@ -144,7 +144,7 @@
        userMoneyService.addUserMoney(uid, money, detail);
        // 发送消息
        BigDecimal balance = userMoneyService.getBalance(uid);
        userMoneyMsgNotificationService.teamReceive(uid, money, balance, now);
        userMoneyMsgNotificationService.teamDividend(uid, money, balance, now);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java
@@ -113,7 +113,7 @@
    // 是否可以分红
    private boolean isCanDividents(TeamUserLevelStatistic tus) {
        if (Constant.IS_TEST)
        if (Constant.IS_TEST && tus.getLevel() != UserLevelEnum.daRen && tus.getLevel() != UserLevelEnum.normalVIP)
            return true;
        if (tus != null && (tus.getLevel() == UserLevelEnum.highVIP || tus.getLevel() == UserLevelEnum.superVIP
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -37,6 +37,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
import com.yeshi.fanli.exception.order.dividents.TeamDividentsRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.ad.DouYinClickEventService;
import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService;
@@ -1162,7 +1163,19 @@
                            try {
                                teamDividentsManager.addToTeamEincome(dto.getUid(), dto.getDate());
                                TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key);
                            } catch (Exception e) {
                            } catch (TeamDividentsRecordException e1) {
                                if (e1.getCode() == TeamDividentsRecordException.CODE_EXIST) {
                                    TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key);
                                } else {
                                    try {
                                        LogHelper.errorDetailInfo(e1);
                                    } catch (Exception e2) {
                                        e2.printStackTrace();
                                    }
                                }
                            }
                            catch (Exception e) {
                                try {
                                    LogHelper.errorDetailInfo(e);
                                } catch (Exception e1) {
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java
@@ -26,6 +26,7 @@
import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
import com.yeshi.fanli.service.manger.order.TeamSubsidyManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -55,9 +56,6 @@
    @Resource
    private CommonOrderService commonOrderService;
    // 团队奖励开始时间
    private static final long TEAM_REWARD_START_TIME = TimeUtil.convertToTimeTemp("2019-04-15", "yyyy-MM-dd");
    public InviteOrderSubsidyMessageListener() {
    }
@@ -76,7 +74,7 @@
                if (dto != null) {
                    // 查询出订单创建时间
                    Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getType());
                    if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
                    if (orderTime.getTime() >= Constant.NEW_ORDER_FANLI_RULE_TIME) {
                        try {
                            teamSubsidyManager.addOrUpdateOrder(dto.getOrderId(), dto.getType());
                            return Action.CommitMessage;
@@ -110,7 +108,6 @@
                } catch (ParamsException e) {
                    e.printStackTrace();
                }
                return Action.ReconsumeLater;
            }
        }
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/InviteValidTeamMessageListener.java
File was deleted
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
@@ -18,6 +18,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -39,6 +40,9 @@
    @Resource
    private ThreeSaleSerivce threeSaleSerivce;
    @Resource
    private UserInviteValidNumService userInviteValidNumService;
    @Override
    public Action consume(Message message, ConsumeContext context) {
@@ -96,6 +100,7 @@
                if (dto != null) {
                    // 会员等级升级-粉丝数量验证
                    userVIPPreInfoService.upgradeVipByTeamNum(dto.getSourceUid());
                    userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(), dto.getPlaceOrderTime());
                }
            }
        }
fanli/src/main/resource/rocket/consumer.xml
@@ -5,13 +5,13 @@
    <bean id="inviteOrderSubsidyMsgListener"
        class="com.yeshi.fanli.util.rocketmq.consumer.order.InviteOrderSubsidyMessageListener"></bean> <!--Listener 配置 -->
    <!-- Group ID 订阅同一个 Topic,可以创建多个 ConsumerBean -->
    <bean id="orderTransactionConsumer" class="com.aliyun.openservices.ons.api.bean.ConsumerBean"
    <bean id="inviteOrderSubsidyConsumer" class="com.aliyun.openservices.ons.api.bean.ConsumerBean"
        init-method="start" destroy-method="shutdown">
        <property name="properties"> <!--消费者配置信息 -->
            <props>
                <prop key="AccessKey">${rocketmq.AccessKey}</prop>
                <prop key="SecretKey">${rocketmq.SecretKey}</prop>
                <prop key="GROUP_ID">GID_ORDER</prop>
                <prop key="GROUP_ID">GID_INVITE_ORDER_SUBSIDY</prop>
                <prop key="NAMESRV_ADDR">${rocketmq.NAMESRV_ADDR}</prop>
                <!--将消费者线程数固定为 50 个 <prop key="ConsumeThreadNums">50</prop> -->
            </props>
@@ -241,36 +241,6 @@
        </property>
    </bean>
    <!-- 产生有效队员 -->
    <bean id="inviteValidTeamMessageListener"
        class="com.yeshi.fanli.util.rocketmq.consumer.user.InviteValidTeamMessageListener"></bean>
    <!-- Group ID 订阅同一个 Topic,可以创建多个 ConsumerBean -->
    <bean id="inviteValidTeamConsumer" class="com.aliyun.openservices.ons.api.bean.ConsumerBean"
        init-method="start" destroy-method="shutdown">
        <property name="properties"> <!--消费者配置信息 -->
            <props>
                <prop key="AccessKey">${rocketmq.AccessKey}</prop>
                <prop key="SecretKey">${rocketmq.SecretKey}</prop>
                <prop key="GROUP_ID">GID_INVITE_VALID_TEAM</prop>
                <prop key="NAMESRV_ADDR">${rocketmq.NAMESRV_ADDR}</prop>
                <prop key="ConsumeThreadNums">50</prop>
            </props>
        </property>
        <property name="subscriptionTable">
            <map>
                <!-- 订单收货 -->
                <entry value-ref="inviteValidTeamMessageListener">
                    <key>
                        <bean class="com.aliyun.openservices.ons.api.bean.Subscription">
                            <property name="topic" value="TOPIC_ORDER" />
                            <property name="expression" value="orderConfirm" />
                        </bean>
                    </key>
                </entry>
            </map>
        </property>
    </bean>
    <!--团队分红消息订阅 -->
    <bean id="orderDividentsMessageListener"