yujian
2020-03-18 47f034b4239ac0865560953e9f6edafa487b0fb9
会员等级 + 订单列表新增内容
14个文件已修改
1个文件已添加
290 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/OrderController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/msg/MsgAccountVipDTO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 132 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/Constant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/UserMsgVOFactory.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/user/UserLevelUtil.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/order/CommonOrderVO.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/rocket/consumer.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -258,7 +258,7 @@
            if (list == null || list.size() == 0) {
                List<ESOrder> listES = esOrderService.query(key, uid.toString(), null);
                if (listES.size() != 0) {
                    list = commonOrderService.searchOrderByUid(page, Constant.PAGE_SIZE, uid, listES);
                    list = commonOrderService.searchOrderByUid(acceptData, page, Constant.PAGE_SIZE, uid, listES);
                    count = commonOrderService.countSearchOrderByUid(uid, listES);
                }
            } else {
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/OrderController.java
@@ -313,7 +313,11 @@
            List<ESOrder> listES = esOrderService.query(key, uid.toString(), listSource);
            if (listES.size() != 0) {
                list = commonOrderService.searchOrderByUid(page, Constant.PAGE_SIZE, uid, listES);
                // 2.1版本
                AcceptData acceptData = new AcceptData();
                acceptData.setPlatform("android");
                acceptData.setVersion("56");
                list = commonOrderService.searchOrderByUid(acceptData, page, Constant.PAGE_SIZE, uid, listES);
                count = commonOrderService.countSearchOrderByUid(uid, listES);
            }
fanli/src/main/java/com/yeshi/fanli/dto/msg/MsgAccountVipDTO.java
@@ -9,6 +9,7 @@
public class MsgAccountVipDTO {
    private String status; // 状态
    private String equity; // 权益
    private String reason; // 原因
    public String getStatus() {
        return status;
@@ -26,4 +27,12 @@
        this.equity = equity;
    }
    public String getReason() {
        return reason;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -163,7 +163,7 @@
        co_order_goods_id,co_count,co_state,co_state_whole_order,
        co_estimate,co_eIncome,co_payment,co_settlement, co_third_create_time,
        MAX(co_settle_time) AS co_settle_time, co_order_by, co_create_time,
        co_update_time,co_state_desc
        co_update_time,co_state_desc,co_urank
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -74,6 +74,7 @@
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.order.CommonOrderGoodsVO;
import com.yeshi.fanli.vo.order.CommonOrderVO;
@@ -211,7 +212,11 @@
        }
        // 数据加工重新组织
        orderVOFactory(acceptData, listOrder, listGoods, uid);
        if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
            orderVOFactoryNew(acceptData, listOrder, listGoods, uid);
        } else {
            orderVOFactory(acceptData, listOrder, listGoods, uid);
        }
        return listOrder;
    }
@@ -268,21 +273,38 @@
        }
        Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList);
        // 设置是否为vip订单
        for (CommonOrderVO order : listOrder) {
            if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                    || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                    || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
                        && vipUserMap.get(Long.parseLong(order.getUserId())) == true)
                    order.setVipOrder(true);
                else
        if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
            for (CommonOrderVO order : listOrder) {
                if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                    Integer urank = order.getUrank();
                    if (urank != null) {
                        String levelName = UserLevelUtil.getLevelName(urank);
                        if (!StringUtil.isNullOrEmpty(levelName)) {
                            order.setOrderDesc(levelName);
                        }
                    }
                }
            }
        } else {
            // 设置是否为vip订单
            for (CommonOrderVO order : listOrder) {
                if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                    if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
                            && vipUserMap.get(Long.parseLong(order.getUserId())) == true)
                        order.setVipOrder(true);
                    else
                        order.setVipOrder(false);
                } else
                    order.setVipOrder(false);
            } else
                order.setVipOrder(false);
            if (order.isVipOrder())
                order.setVipOrderDesc("订单来源:由超级会员的粉丝产生");
                if (order.isVipOrder())
                    order.setVipOrderDesc("订单来源:由超级会员的粉丝产生");
            }
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
@@ -1694,7 +1716,7 @@
    }
    @Override
    public List<CommonOrderVO> searchOrderByUid(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);
        // 订单信息为空
@@ -1711,7 +1733,7 @@
        }
        // 数据加工重新组织
        orderVOFactoryNew(listVO, listGoods, uid);
        orderVOFactoryNew(acceptData, listVO, listGoods, uid);
        return listVO;
    }
@@ -1724,7 +1746,7 @@
     * @param listGoods
     * @param uid
     */
    private void orderVOFactoryNew(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid)
    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>();
@@ -1768,22 +1790,40 @@
        }
        Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList);
        // 设置是否为vip订单
        for (CommonOrderVO order : listOrder) {
            if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                    || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                    || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
                        && vipUserMap.get(Long.parseLong(order.getUserId())) == true)
                    order.setVipOrder(true);
                else
        if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
            for (CommonOrderVO order : listOrder) {
                if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                    Integer urank = order.getUrank();
                    if (urank != null) {
                        String levelName = UserLevelUtil.getLevelName(urank);
                        if (!StringUtil.isNullOrEmpty(levelName)) {
                            order.setOrderDesc(levelName);
                        }
                    }
                }
            }
        } else {
            // 设置是否为vip订单
            for (CommonOrderVO order : listOrder) {
                if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
                        || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
                    if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
                            && vipUserMap.get(Long.parseLong(order.getUserId())) == true)
                        order.setVipOrder(true);
                    else
                        order.setVipOrder(false);
                } else
                    order.setVipOrder(false);
            } else
                order.setVipOrder(false);
            if (order.isVipOrder())
                order.setVipOrderDesc("订单来源:由超级会员的粉丝产生");
                if (order.isVipOrder())
                    order.setVipOrderDesc("订单来源:由超级会员的粉丝产生");
            }
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
@@ -1794,11 +1834,17 @@
        boolean vip = userVIPInfoService.isVIP(uid);
        // 是否存在奖励券
        boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid);
        long nowTime = java.lang.System.currentTimeMillis();
        for (CommonOrderVO order : listOrder) {
            String orderNo = order.getOrderNo();
            Integer sourceType = order.getSourceType();
            Integer hongBaoType = order.getHongBaoType();
            BigDecimal totalPay = new BigDecimal(0);
            BigDecimal totalActual = new BigDecimal(0);
            // 商品信息组合
            for (CommonOrderVO commonOrder : listGoods) {
                CommonOrderGoods goods = commonOrder.getCommonOrderGoods();
@@ -1827,8 +1873,19 @@
                        totalSettlement = commonOrder.getTotalPayment();
                    }
                    commonGoodsVO.setActualPay("付款金额:¥" + totalSettlement);
                    totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement);
                    Integer hongBaoType = order.getHongBaoType();
                    // 商品价格
                    BigDecimal actualPrice = commonGoodsVO.getActualPrice();
                    if (actualPrice != null) {
                        Integer totalCount = commonOrder.getTotalCount();
                        totalActual = MoneyBigDecimalUtil.add(totalActual,
                                MoneyBigDecimalUtil.mul(new BigDecimal(totalCount), actualPrice));
                    }
                    // 邀请订单信息保护
                    if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
                            || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
@@ -1862,6 +1919,16 @@
                order.setObtainTime(thirdCreateTime.getTime());
            }
            // 2.1分享订单和返利订单实付金额大于或者小于券后价的时候,订单页面 只显示3天 下单时间开始
            if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
                if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType
                        && DateUtil.plusDayDate(3, thirdCreateTime).getTime() > nowTime
                        && totalPay.compareTo(totalActual) != 0) {
                    order.setFanliDesc("由实付金额*返利比计算而来");
                    order.setFanliDescLink(configService.get(ConfigKeyEnum.shareOrderRebateDescLink.getKey()));
                }
            }
            Date settleTime = order.getSettleTime();
            if (settleTime != null) {
                order.setReceiveTime("收货时间:" + format.format(settleTime));
@@ -1936,7 +2003,6 @@
            // 订单标识
            List<String> signList = new ArrayList<String>();
            /* 订单返利类型 转换 */
            Integer hongBaoType = order.getHongBaoType();
            if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) {
                // 自购
                hongbaoInfo = "返利";
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
@@ -60,6 +60,12 @@
            InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
            InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 二维码
            // 官方默认头像
            if (portraitInputStream == null) {
                portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
            }
            // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
            ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode);
@@ -109,6 +115,11 @@
            InputStream portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
            InputStream erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 二维码
            // 官方默认头像
            if (portraitInputStream == null) {
                portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
            }
            // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
            ImageUtil.inviteFriendImg(urlInputStream, portraitInputStream, erCodeInputStream, targetPath,
                    erCodePostionX, erCodePostionY, erCodeSize, inviteCode);
@@ -161,7 +172,6 @@
            portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
        } else {
            targetPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + System.currentTimeMillis() + ".jpg";
            erCodeTempPath = FileUtil.getCacheDir() + "/" + uid + "_" + System.currentTimeMillis() + ".jpg";
@@ -175,7 +185,13 @@
            portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
            erCodeInputStream = new FileInputStream(new File(erCodeTempPath)); // 二维码
        }
        // 官方默认头像
        if (portraitInputStream == null) {
            portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
        }
        // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
        ImageUtil.inviteFriendImgWhitecustom(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, pX, pY,
                size, inviteCode);
@@ -247,6 +263,11 @@
            portraitInputStream = HttpUtil.getAsInputStream(portrait); // 头像
        }
        // 官方默认头像
        if (portraitInputStream == null) {
            portraitInputStream = ImageUtil.class.getClassLoader().getResourceAsStream("image/official_icon.png");
        }
        // 开始根据 url(背景图), qrCode(二维码), portrait(头像) 生成图片
        ImageUtil.drawInviteToGreet(urlInputStream, portraitInputStream, erCodeInputStream, targetPath, inviteCode,
                content, date);
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
@@ -582,6 +582,7 @@
        // 队员
        long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
        long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
        if (countZiGou >= Constant.VIP_PROCESS_3_ZIGOU || countShare >= Constant.VIP_PROCESS_3_SHARE
                || (firstTeam >= Constant.VIP_PROCESS_3_TEAM && secondTeam >= Constant.VIP_PROCESS_3_TEAM_SECOND)) {
            return true;
@@ -607,6 +608,10 @@
        info.setUpdateTime(new Date());
        userVIPInfoMapper.updateByPrimaryKeySelective(info);
        
        // TODO消息
        // 消息
        MsgAccountVipDTO msgDto = new MsgAccountVipDTO();
        msgDto.setStatus("你的账号仍是高级会员");
        msgDto.setReason(reason);
        msgAccountDetailService.addMsgVIP(uid, "很抱歉!经人工审核你未满足或不符合升级超级会员的条件", "如有疑问请联系我的-人工客服", msgDto);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -108,7 +108,7 @@
            }
            // 邀请订单
            long countZiGou = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
            long countZiGou =hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
                    HongBaoV2.TYPE_ZIGOU);
            // 邀请订单
            long countShare = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
@@ -372,7 +372,7 @@
     * @param list
     * @return
     */
    public List<CommonOrderVO> searchOrderByUid(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;
    public long countSearchOrderByUid(Long uid, List<ESOrder> list);
fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -173,7 +173,7 @@
    public static final int TLJ_NEW_USER_DEFINE = 10;
    // vip奖励券券5张
    public static final int VIP_COUPON_REWARD_NUM = 30;
    public static final int VIP_COUPON_REWARD_NUM = 15;
    // vip赠送免单券5张
    public static final int VIP_COUPON_GIVEFREE_NUM = 5;
    // vip赠送金币
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/UserMsgVOFactory.java
@@ -988,27 +988,33 @@
        if (msg.getType() == MsgTypeAccountTypeEnum.vipPgrade) {// 等级升级
            
            contentList.add(new ClientTextStyleVO(msg.getTitle() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("详情", COLOR_TITLE), contentList));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("详        情", COLOR_TITLE), contentList));
            
            MsgAccountVipDTO dto = new Gson().fromJson(msg.getContent(), MsgAccountVipDTO.class);
            if (dto != null) {
                if (!StringUtil.isNullOrEmpty(dto.getStatus())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getStatus() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("状态", COLOR_TITLE), contentList));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("状        态", COLOR_TITLE), contentList));
                }
                if (!StringUtil.isNullOrEmpty(dto.getEquity())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getEquity() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("权益", COLOR_TITLE), contentList));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("权        益", COLOR_TITLE), contentList));
                }
                if (!StringUtil.isNullOrEmpty(dto.getReason())) {
                    contentList = new ArrayList<>();
                    contentList.add(new ClientTextStyleVO(dto.getReason() + "", COLOR_CONTENT));
                    items.add(new CommonMsgItemVO(new ClientTextStyleVO("原        因", COLOR_TITLE), contentList));
                }
            }
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            
            return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
@@ -1022,12 +1028,12 @@
            
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(msg.getContent() + "", COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说明", COLOR_TITLE), contentList));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("说        明", COLOR_TITLE), contentList));
            contentList = new ArrayList<>();
            contentList.add(new ClientTextStyleVO(StringUtil.isNullOrEmpty(msg.getBeiZhu()) ? "无" : msg.getBeiZhu() + "",
                    COLOR_CONTENT));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备注", COLOR_TITLE), contentList));
            items.add(new CommonMsgItemVO(new ClientTextStyleVO("备        注", COLOR_TITLE), contentList));
            
            return new UserMsgVO("http://img.flqapp.com/resource/msg/icon_msg_account.png", msg.getType().getDesc(),
                    msg.getUpdateTime() == null ? msg.getCreateTime() : msg.getUpdateTime(), items);
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
@@ -13,7 +13,6 @@
import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg;
import com.yeshi.fanli.exception.money.OrderMoneySettleException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
fanli/src/main/java/com/yeshi/fanli/util/user/UserLevelUtil.java
New file
@@ -0,0 +1,25 @@
package com.yeshi.fanli.util.user;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
public class UserLevelUtil {
    public static String getLevelName(int orderRank) {
        if (orderRank == UserLevelEnum.daRen.getOrderRank()) {
            return UserLevelEnum.daRen.getName();
        }
        if (orderRank == UserLevelEnum.normalVIP.getOrderRank()) {
            return UserLevelEnum.normalVIP.getName();
        }
        if (orderRank == UserLevelEnum.highVIP.getOrderRank()) {
            return UserLevelEnum.highVIP.getName();
        }
        if (orderRank == UserLevelEnum.superVIP.getOrderRank()) {
            return UserLevelEnum.superVIP.getName();
        }
        return null;
    }
}
fanli/src/main/java/com/yeshi/fanli/vo/order/CommonOrderVO.java
@@ -123,15 +123,18 @@
    private Integer otherState; // 1免单
    @Expose
    private boolean vipOrder;// 是否为超级用户订单
    private boolean vipOrder;// 是否为超级用户订单(2.1之后废弃)
    
    @Expose
    private String vipOrderDesc;// 超级订单描述
    private String vipOrderDesc;// 超级订单描述(2.1之后废弃)
    
    @Expose
    private String fanliDesc;// 返利说明
    @Expose
    private String fanliDescLink;// 返利说明链接
    @Expose
    private String orderDesc;// 订单描述
    public String getVipOrderDesc() {
@@ -453,5 +456,13 @@
    public void setFanliDescLink(String fanliDescLink) {
        this.fanliDescLink = fanliDescLink;
    }
    public String getOrderDesc() {
        return orderDesc;
    }
    public void setOrderDesc(String orderDesc) {
        this.orderDesc = orderDesc;
    }
    
}
fanli/src/main/resource/rocket/consumer.xml
@@ -211,6 +211,48 @@
    </bean>
    <!-- 邀请图修改消息订阅 -->
    <bean id="userVIPMessageListener"
        class="com.yeshi.fanli.util.rocketmq.consumer.user.UserVIPMessageListener"></bean>
    <!-- Group ID 订阅同一个 Topic,可以创建多个 ConsumerBean -->
    <bean id="userVIPConsumer" 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_USER_VIP</prop>
                <prop key="NAMESRV_ADDR">${rocketmq.NAMESRV_ADDR}</prop>
                <prop key="ConsumeThreadNums">50</prop>
            </props>
        </property>
        <property name="subscriptionTable">
            <map>
                <!-- 邀请队员成功 -->
                <entry value-ref="userVIPMessageListener">
                    <key>
                        <bean class="com.aliyun.openservices.ons.api.bean.Subscription">
                            <property name="topic" value="TOPIC_USER" />
                            <property name="expression" value="inviteSuccess" />
                        </bean>
                    </key>
                </entry>
                <!-- 订单到账 -->
                <entry value-ref="userVIPMessageListener">
                    <key>
                        <bean class="com.aliyun.openservices.ons.api.bean.Subscription">
                            <property name="topic" value="TOPIC_ORDER" />
                            <property name="expression" value="orderFanLiActual" />
                        </bean>
                    </key>
                </entry>
            </map>
        </property>
    </bean>
</beans>