admin
2020-04-15 d4588f4e43336b26b356b869c29d0c76390167d5
Merge remote-tracking branch 'origin/div' into div

Conflicts:
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
11个文件已修改
293 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/UserMoneyMsgNotificationServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/money/msg/UserMoneyMsgNotificationService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOrderDetailFactory.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOtherDetailFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/env-dev/rocketmq.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/MyBatisProduce.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/tlj/Test_IntegralTaskRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
@@ -34,13 +34,9 @@
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dao.dynamic.DynamicInfoDao;
import com.yeshi.fanli.dao.mybatis.help.HelpCenterMapper;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.jd.JDSearchResult;
import com.yeshi.fanli.entity.bus.activity.ActivityShareResult;
import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.dynamic.InviteMaterial;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.ActivityException;
import com.yeshi.fanli.exception.push.PushException;
@@ -55,17 +51,13 @@
import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.db.MongoDBManager;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.push.OPPOPushUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -326,50 +318,7 @@
            e.printStackTrace();
        }
    }
    /**
     * 插入邀请素材
     *
     * @param out
     */
    @RequestMapping(value = "getJingFenList")
    public void getJingFenList(String callback, Integer page, Integer eliteId, PrintWriter out) {
        try {
            JDSearchResult result = JDApiUtil.getJingFenGoods(page, eliteId);
            long count = 0;
            JSONObject data = new JSONObject();
            JSONArray array = new JSONArray();
            if (result != null) {
                PageEntity pageEntity = result.getPageEntity();
                if (pageEntity != null) {
                    count = pageEntity.getTotalCount();
                }
                List<JDGoods> goodsList = result.getGoodsList();
                if (goodsList != null && goodsList.size() > 0) {
                    BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
                    BigDecimal shareRate = hongBaoManageService.getShareRate();
                    ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,
                            hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP));
                    Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
                    for (JDGoods goods : goodsList) {
                        GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
                        array.add(gson.toJson(goodsDetailVO));
                    }
                }
            }
            data.put("count", count);
            data.put("list", array);
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
            e.printStackTrace();
        }
    }
    @RequestMapping(value = "getWaitingThreadsCount")
    public void getWaitingThreadsCount(PrintWriter out) {
        out.print(Constant.waitingThreadSet.size());
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -480,24 +480,6 @@
            dividend = new BigDecimal(0);
            // 总团队奖励
            teamMoney = bonus.add(subsidy).add(dividend);
            JSONObject paramsFanli = new JSONObject();
            paramsFanli.put("type", "1");
            data.put("paramsFanli", paramsFanli);
            data.put("jumpFanli", jumpDetailV2Service.getByTypeCache("fanli_share_statistics",
                    Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
            JSONObject paramsShare = new JSONObject();
            paramsShare.put("type", "2");
            data.put("paramsShare", paramsShare);
            data.put("jumpShare", jumpDetailV2Service.getByTypeCache("fanli_share_statistics",
                    Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
            JSONObject paramsTeam = new JSONObject();
            paramsTeam.put("type", "3");
            data.put("paramsTeam", paramsTeam);
            data.put("jumpTeam", jumpDetailV2Service.getByTypeCache("team_statistics",
                    Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
        }
        data.put("inviteMoney", teamMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
        out.print(JsonUtil.loadTrueResult(data));
@@ -591,8 +573,7 @@
                hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
            }
        }
        orderRebateVO.setFanLiDesc(predictDesc + typeName);
        orderRebateVO.setFanLi("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN));
        
        HongBaoV2 hongBaoV2 = hoList.get(0).getHongBaoV2();
        UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(hongBaoV2.getUrank());
@@ -648,6 +629,9 @@
            }
        }
            
        CommonOrder commonOrder = hoList.get(0).getCommonOrder();
        Date downTime = commonOrder.getThirdCreateTime();
        // 团队补贴
        if (type == 3) {
            BigDecimal teamSubsidy = null;
@@ -655,16 +639,27 @@
            InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType);
            if (inviteOrderSubsidy != null) {
                teamSubsidy = inviteOrderSubsidy.getMoney();
                Integer urank = commonOrder.getUrank();
                UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
                boolean direct = false;
                if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
                    direct = true;
                }
                BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,buyerUserLevel, userLevel, direct);
                // 计算达人补贴
                if (userLevel != UserLevelEnum.daRen) {
                    CommonOrder commonOrder = hoList.get(0).getCommonOrder();
                    Integer urank = commonOrder.getUrank();
                    UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
                    boolean direct = false;
                    if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
                        direct = true;
                    }
                    // 计算上一级补贴
                    lowerSubsidy = getLowerSubsidy(inviteOrderSubsidy.getMoney(), commonOrder.getThirdCreateTime(), buyerUserLevel, userLevel, direct);
                    BigDecimal daRenRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,    buyerUserLevel,
                            UserLevelEnum.daRen, direct);
                    lowerSubsidy = MoneyBigDecimalUtil.div(teamSubsidy.multiply(daRenRate), originRate);
                }
                if (userLevel != UserLevelEnum.superVIP && userLevel != UserLevelEnum.superVIP) {
                    BigDecimal vipRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,    buyerUserLevel,
                            UserLevelEnum.superVIP, direct);
                    upperTotalMoney = upperTotalMoney.add(MoneyBigDecimalUtil.div(teamSubsidy.multiply(vipRate), originRate));
                    System.out.println(upperTotalMoney);
                }
            } else {
                teamSubsidy = BigDecimal.valueOf(0.00);
@@ -677,13 +672,20 @@
            orderRebateVO.setSubsidyDesc("团队补贴");
            orderRebateVO.setSubsidy("¥" + teamSubsidy.setScale(2, BigDecimal.ROUND_DOWN) +"");
            
            upperTotalMoney = upperTotalMoney.add(teamSubsidy);
            hongBao = hongBao.add(teamSubsidy);
        }
        orderRebateVO.setFanLiDesc(predictDesc + typeName);
        orderRebateVO.setFanLi("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN));
        
        orderRebateVO.setType(type);
        orderRebateVO.setStateDesc(stateDesc);
        orderRebateVO.setListGoods(voList);
        orderRebateVO.setUserLevel(userLevel.name());
        if (downTime.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) {
            orderRebateVO.setUserLevel(UserLevelEnum.superVIP.name()); // 隐藏
        } else {
            orderRebateVO.setUserLevel(userLevel.name());
        }
        
        // 上级返利
        if (upperLevel != null) {
@@ -709,7 +711,6 @@
                    freeState = state;
                    break;
                }
            }
        }
        
@@ -765,18 +766,6 @@
        JSONObject data = new JSONObject();
        data.put("result", orderRebateVO);
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
    }
    private BigDecimal getLowerSubsidy(BigDecimal money, Date downTime,  UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, boolean direct) {
        // 原始比例
        BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,
                buyerUserLevel, userLevel, direct);
        // 小一级比例
        BigDecimal darenRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,    buyerUserLevel, UserLevelEnum.daRen, direct);
        return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.div(money,originRate), darenRate);
    }
    
    
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/UserMoneyMsgNotificationServiceImpl.java
@@ -123,8 +123,30 @@
    @Override
    public void fanliOrderReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
            BigDecimal balance, Date downTime) {
        MsgMoneyDetail detail = MsgMoneyDetailFactory.createOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
                uid, Constant.TYPE_REBATE, downTime, false);
        MsgMoneyDetail detail = MsgMoneyDetailFactory.fanLiOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
                uid, downTime, false);
        try {
            msgMoneyDetailService.addMsgMoneyDetail(detail);
        } catch (MsgMoneyDetailException e) {
            e.printStackTrace();
        }
        PushContentDTO dto = PushMsgFactory.createMoneyFanliRecieved(orderType, orderId, money);
        try {
            pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (PushException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void rewardCounponReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
            BigDecimal balance, Date downTime) {
        MsgMoneyDetail detail = MsgMoneyDetailFactory.fanLiOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
                uid, downTime, true);
        try {
            msgMoneyDetailService.addMsgMoneyDetail(detail);
        } catch (MsgMoneyDetailException e) {
@@ -166,8 +188,7 @@
    @Override
    public void shareOrderReceived(Long uid, int orderType, int orderCount, int goodsCount, BigDecimal money,
            BigDecimal balance, String orderId, Date downTime) {
        MsgMoneyDetail detail = MsgMoneyDetailFactory.createOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
                uid, Constant.TYPE_SHAER, downTime, false);
        MsgMoneyDetail detail = MsgMoneyDetailFactory.shareOrderReceivedMsg(money, balance, orderType, uid);
        try {
            msgMoneyDetailService.addMsgMoneyDetail(detail);
        } catch (MsgMoneyDetailException e) {
fanli/src/main/java/com/yeshi/fanli/service/inter/money/msg/UserMoneyMsgNotificationService.java
@@ -153,6 +153,19 @@
     */
    public void teamReceive(Long uid, BigDecimal money, BigDecimal balance, Date receivedDate);
    /**
     * 使用奖励券
     * @param uid
     * @param orderId
     * @param orderType
     * @param goodsCount
     * @param money
     * @param balance
     * @param downTime
     */
    public void rewardCounponReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
            BigDecimal balance, Date downTime);
    
}
fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
@@ -171,7 +171,7 @@
             * 通知用户的返利情况
             */
            if (!Constant.IS_TEST) {
//            if (!Constant.IS_TEST) {
                if (hasAdd) {
                    Iterator<Integer> its = notificationMap.keySet().iterator();
                    while (its.hasNext()) {
@@ -223,7 +223,7 @@
                        }
                    }
                }
//                }
            }
            int resultCode = 0;
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -186,24 +186,13 @@
     * @param beiZhu
     * @return
     */
    public static MsgMoneyDetail createOrderReceivedMsg(BigDecimal money, BigDecimal balance, String orderId, int source,
             int goodsCount, Long uid, int type, Date downTime, boolean useCoupon) {
    public static MsgMoneyDetail fanLiOrderReceivedMsg(BigDecimal money, BigDecimal balance, String orderId, int source,
             int goodsCount, Long uid, Date downTime, boolean useCoupon) {
        if (money == null || balance == null || orderId == null || uid == null)
            return null;
        String fanliName = "";
        MsgTypeMoneyTypeEnum typeEnum = null;
        String sourceName = Constant.getSourceName(source);
        if (Constant.TYPE_REBATE == type) {
            fanliName = "自购返利";
            sourceName += "-返利订单";
            typeEnum = MsgTypeMoneyTypeEnum.fanli;
        } else if (Constant.TYPE_SHAER == type) {
            fanliName = "分享奖金";
            sourceName += "-分享订单";
            typeEnum = MsgTypeMoneyTypeEnum.share;
        }
        String fanliName = "自购返利";
        String sourceName = Constant.getSourceName(source) + "-返利订单";
        if (useCoupon) {
            fanliName = "使用返利奖励券";
        }
@@ -214,12 +203,15 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("下单时间", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE), contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE), contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账类目", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(fanliName, ClientTextStyleVO.COLOR_CONTENT)));
        
@@ -235,7 +227,7 @@
        detail.setCreateTime(new Date());
        detail.setGoodsCount(goodsCount);
        detail.setMoney(money);
        detail.setMsgType(typeEnum);
        detail.setMsgType(MsgTypeMoneyTypeEnum.fanli);
        detail.setOrderId(orderId);
        detail.setOrderType(source);
        detail.setRead(false);
@@ -244,6 +236,51 @@
        return detail;
    }
    /**
     * 返利到账
     *
     * @param money
     * @param balance
     * @param orderId
     * @param goodsCount
     * @param uid
     * @param beiZhu
     * @return
     */
    public static MsgMoneyDetail shareOrderReceivedMsg(BigDecimal money, BigDecimal balance, int source, Long uid) {
        if (money == null || balance == null || uid == null)
            return null;
        String sourceName = Constant.getSourceName(source) + "-分享订单";
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账详情", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(sourceName, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账类目", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("分享奖金", ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("(账户余额¥"+ balance.setScale(2, BigDecimal.ROUND_DOWN) + ")", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("如有疑问请联系人工客服",    ClientTextStyleVO.COLOR_CONTENT)));
        MsgMoneyDetail detail = new MsgMoneyDetail();
        detail.setBalance(balance);
        detail.setCreateTime(new Date());
        detail.setMoney(money);
        detail.setMsgType(MsgTypeMoneyTypeEnum.share);
        detail.setOrderType(source);
        detail.setRead(false);
        detail.setUser(new UserInfo(uid));
        detail.setExtraInfo(new Gson().toJson(listMsg));
        return detail;
    }
    /**
     * 返利维权
     * 
@@ -282,12 +319,14 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("下单时间", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE), contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE), contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回原因", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(weiquan, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE),
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOrderDetailFactory.java
@@ -70,13 +70,14 @@
                    new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
        }
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("下单时间", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList
                .add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE),
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE),
                contentList));
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
@@ -153,12 +154,14 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
        
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提交时间", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(TimeUtil.formatDate(submitTime), ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("提交时间:" + TimeUtil.formatDate(submitTime), ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("共", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO(goodsCount + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList.add(new ClientTextStyleVO("件商品", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("订单相关", ClientTextStyleVO.COLOR_TITLE),contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("商品数量", ClientTextStyleVO.COLOR_TITLE),contentList));
        
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("实付款:", ClientTextStyleVO.COLOR_CONTENT));
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOtherDetailFactory.java
@@ -56,7 +56,7 @@
            List<ClientTextStyleVO> contentList2 = new ArrayList<>();
            contentList2.add(new ClientTextStyleVO(TimeUtil.formatDateDot(startTime) + "-" + TimeUtil.formatDateDot(endTime) + "-于", ClientTextStyleVO.COLOR_CONTENT));
            contentList2.add(new ClientTextStyleVO(days +"" ,ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
            contentList2.add(new ClientTextStyleVO("天过期", ClientTextStyleVO.COLOR_CONTENT));
            contentList2.add(new ClientTextStyleVO("天后过期", ClientTextStyleVO.COLOR_CONTENT));
            listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("有效期", ClientTextStyleVO.COLOR_TITLE),contentList2));
            
            listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("使用范围", ClientTextStyleVO.COLOR_TITLE),
@@ -116,7 +116,7 @@
            List<ClientTextStyleVO> contentList2 = new ArrayList<>();
            contentList2.add(new ClientTextStyleVO(TimeUtil.formatDateDot(startTime) + "-" + TimeUtil.formatDateDot(endTime) + "-于", ClientTextStyleVO.COLOR_CONTENT));
            contentList2.add(new ClientTextStyleVO(days +"" ,ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
            contentList2.add(new ClientTextStyleVO("天过期", ClientTextStyleVO.COLOR_CONTENT));
            contentList2.add(new ClientTextStyleVO("天后过期", ClientTextStyleVO.COLOR_CONTENT));
            listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("有效期", ClientTextStyleVO.COLOR_TITLE),contentList2));
            
            listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("使用范围", ClientTextStyleVO.COLOR_TITLE),
fanli/src/main/resource/env-dev/rocketmq.xml
@@ -2,10 +2,8 @@
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--
    <import resource="classpath:/rocket/consumer.xml" />
    <import resource="classpath:/rocket/system-coupon-consumer.xml"/>
     -->
    <import resource="classpath:/rocket/producer.xml" />
    <import resource="classpath:/rocket/transactionProducer.xml" />
</beans>
fanli/src/test/java/org/fanli/MyBatisProduce.java
@@ -5,21 +5,20 @@
import org.yeshi.utils.mybatis.MyBatisMapperUtil;
import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic;
import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
import com.yeshi.fanli.entity.money.TeamEincomeRecord;
//@Ignore
public class MyBatisProduce {
    @Test
    public void test3() {
        MyBatisMapperUtil.createMapper(TeamUserLevelStatistic.class);
        MyBatisMapperUtil.createMapper(TeamEincomeRecord.class);
    }
    @Test
    public void test1() {
        ColumnParseUtil.parseColumn(InviteOrderSubsidy.class,
                "D:/workspace/fanli/fanli-server/fanli/src/main/java/com/yeshi/fanli/mapping/order/InviteOrderSubsidyMapper.xml");
        ColumnParseUtil.parseColumn(TeamUserLevelStatistic.class,
                "D:/workspace/fanli/fanli-server/fanli/src/main/java/com/yeshi/fanli/mapping/user/vip/TeamUserLevelStatisticMapper.xml");
    }
}
fanli/src/test/java/org/fanli/tlj/Test_IntegralTaskRecordService.java
@@ -31,7 +31,7 @@
                    try {
                        BigDecimal tlj = moneyExtra.getTlj();
                        BigDecimal tljSelf = moneyExtra.getTljSelf();
                        service.taoLiJinExchange(moneyExtra.getUid(), tljSelf.intValue(), tlj);
//                        service.taoLiJinExchange(moneyExtra.getUid(), tljSelf.intValue(), tlj);
                        
                        moneyExtra.setTlj(zero);
                        moneyExtra.setTljSelf(zero);