yujian
2020-04-13 e7435f02fcbe040e32dfd21c308957eb2de2837d
订单详情
10个文件已修改
770 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/Constant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgInviteDetailFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOrderDetailFactory.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOtherDetailFactory.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/order/OrderRebateVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -29,6 +29,7 @@
import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemClientParams;
@@ -458,7 +459,6 @@
                }
            }
            
            // 邀请成功时间
            Long succeedTime = threeSale.getSucceedTime(); 
            if (succeedTime == null) {
@@ -489,24 +489,30 @@
            array.add(loginJson);
            // 查询粉丝等级
            UserInviteLevelEnum level = null;
            UserLevelEnum level = null;
            UserInviteLevelEnum inviteLevel = null;
            UserVIPLevel vipLevel = userInviteService.getVIPLevelByUid(workerId);
            if (vipLevel != null) {
                if (vipLevel.getLevel() == UserVIPLevel.LEVEL_3) {
                    level = UserInviteLevelEnum.actived;
                } else if (vipLevel.getLevel() == UserVIPLevel.LEVEL_7) {
                    level = UserInviteLevelEnum.actived;
                } else if (vipLevel.getLevel() == UserVIPLevel.LEVEL_10) {
                    level = UserInviteLevelEnum.actived;
            if (vipLevel != null && vipLevel.getLevelEnum() != null) {
                inviteLevel = vipLevel.getLevelEnum();
                if (UserInviteLevelEnum.vipPre1 == inviteLevel) {
                    level = UserLevelEnum.normalVIP;
                } else if (UserInviteLevelEnum.vipPre2 == inviteLevel || UserInviteLevelEnum.vipApply == inviteLevel) {
                    level = UserLevelEnum.highVIP;
                    inviteLevel = UserInviteLevelEnum.vipPre2;
                } else if (UserInviteLevelEnum.vip == inviteLevel || UserInviteLevelEnum.tearcherApply == inviteLevel) {
                    level = UserLevelEnum.superVIP;
                    inviteLevel = UserInviteLevelEnum.vip;
                } else if (UserInviteLevelEnum.tearcher == inviteLevel ) {
                    level = UserLevelEnum.tearcher;
                }
            }
            
            if(level == null) {
                if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
                    level = UserInviteLevelEnum.noActive;
                } else {
                    level = UserInviteLevelEnum.actived;
                }
                level = UserLevelEnum.daRen;
            }
            if (inviteLevel == null) {
                inviteLevel = UserInviteLevelEnum.actived;
            }
            
            
@@ -518,7 +524,7 @@
            object.put("inviteTime", format.format(new Date(succeedTime)) + " 加入");
            object.put("state", state? 1 : 2);
            object.put("recentMsg", array);
            object.put("level", level.name());
            object.put("level", inviteLevel.name());
            object.put("validFans", validFans);
            
            
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -58,6 +58,7 @@
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.order.CommonOrderVO;
import com.yeshi.fanli.vo.order.CurrentBonusVO;
import com.yeshi.fanli.vo.order.GoodsRebateVO;
@@ -727,7 +728,7 @@
                BigDecimal weiQuanMoney = commonOrderService.getWeiQuanMoney(listWQ, sourceType, uid);
                
                orderRebateVO.setWq(true);
                orderRebateVO.setWqMoney("-¥"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
                orderRebateVO.setWqMoney("¥"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
                if (hongBao.compareTo(weiQuanMoney) > 0) {
                    orderRebateVO.setWqDesc("部分售后退回");
                } else {
@@ -779,7 +780,7 @@
            
            // 平台补贴
            BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney();
            goodsVO.setSubsidy(vipFanli.subtract(commission).setScale(2) + "");
            goodsVO.setSubsidy("¥" + vipFanli.subtract(commission).setScale(2));
            //  达人补贴
            if (userLevel != UserLevelEnum.daRen) {
                BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen);
@@ -832,17 +833,48 @@
            orderRebateVO.setJumpLink(upperLevel.getDetailLink());
        }
        // 奖励券使用
        Date accountTime = hongBaoCountVO.getAccountTime();
        if (accountTime != null) {
            boolean vip = userInviteService.verifyVIP(uid);
            Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
            long currentTime = java.lang.System.currentTimeMillis();
            if (endDay.getTime() > currentTime && !vip) {
                UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null);
                if (couponRecord == null
                        || (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) {
                    orderRebateVO.setCoupon(true);
        boolean rewardSuccess = false;
        List<String> listNo = new ArrayList<String>();
        listNo.add(orderNo);
        List<UserSystemCouponRecord> useRecord = userSystemCouponRecordService.getRecordByOrderNoList(sourceType, listNo);
        if (useRecord != null && useRecord.size() > 0) {
            for (UserSystemCouponRecord couponRecord : useRecord) {
                int goodSource = couponRecord.getGoodSource();
                if (goodSource == 0)
                    goodSource = 1;
                Integer state = couponRecord.getState();
                String systemCouponType = couponRecord.getCouponType();
                if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
                        && UserSystemCouponRecord.STATE_SUCCESS == state) {
                    rewardSuccess = true;
                    break;
                }
            }
        }
        if (rewardSuccess) {  // 已使用奖励券
            Map<String, Object> jumpLink = new HashMap<String, Object>();
            jumpLink.put("orderNo", orderNo);
            jumpLink.put("goodsType", sourceType + "");
            orderRebateVO.setCouponSuccess(true);
            orderRebateVO.setCouponParams(jumpLink.toString());
            orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
        } else { // 可使用奖励券
            Date accountTime = hongBaoCountVO.getAccountTime();
            if (accountTime != null) {
                boolean vip = userInviteService.verifyVIP(uid);
                Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
                long currentTime = java.lang.System.currentTimeMillis();
                if (endDay.getTime() > currentTime && !vip) {
                    UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null);
                    if (couponRecord == null
                            || (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) {
                        orderRebateVO.setCoupon(true);
                    }
                }
            }
        }
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -1789,504 +1789,6 @@
        return listVO;
    }
    /**
     * 订单信息加工
     *
     * @param acceptData
     * @param listOrder
     * @param listGoods
     * @param 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>();
        List<String> listPDD = new ArrayList<String>();
        for (CommonOrderVO commonOrderVO : listOrder) {
            Integer sourceType = commonOrderVO.getSourceType();
            if (sourceType == null) {
                continue;
            } else if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
                listTB.add(commonOrderVO.getOrderNo());
            } else if (sourceType == Constant.SOURCE_TYPE_JD) {
                listJD.add(commonOrderVO.getOrderNo());
            } else if (sourceType == Constant.SOURCE_TYPE_PDD) {
                listPDD.add(commonOrderVO.getOrderNo());
            }
        }
        List<UserSystemCouponRecord> listRecordTB = null;
        if (listTB.size() > 0) {
            listRecordTB = userSystemCouponRecordService.getRecordByOrderNoList(Constant.SOURCE_TYPE_TAOBAO, listTB);
        }
        List<UserSystemCouponRecord> listRecordJD = null;
        if (listJD.size() > 0) {
            listRecordJD = userSystemCouponRecordService.getRecordByOrderNoList(Constant.SOURCE_TYPE_JD, listJD);
        }
        List<UserSystemCouponRecord> listRecordPDD = null;
        if (listPDD.size() > 0) {
            listRecordPDD = userSystemCouponRecordService.getRecordByOrderNoList(Constant.SOURCE_TYPE_PDD, listPDD);
        }
        // 需要查询是否为VIP的用户ID,只有邀请订单才需要查询
        List<Long> needSelectVIPUidList = new ArrayList<>();
        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)
                needSelectVIPUidList.add(Long.parseLong(order.getUserId()));
        }
        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);
                    }
                }
            }
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
        // 2019.8.1开始返回维权信息
        Date august = TimeUtil.parse("2019-08-01");
        // 当前用户是否可以使用奖励券
        boolean isvip = userInviteService.verifyVIP(uid);
        // 是否存在奖励券
        boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid);
        for (CommonOrderVO order : listOrder) {
            String orderNo = order.getOrderNo();
            Integer sourceType = order.getSourceType();
            Integer hongBaoType = order.getHongBaoType();
            // 商品信息组合
            for (CommonOrderVO commonOrder : listGoods) {
                CommonOrderGoods goods = commonOrder.getCommonOrderGoods();
                if (goods == null) {
                    continue;
                }
                if (sourceType.equals(commonOrder.getSourceType()) && orderNo.equals(commonOrder.getOrderNo())) {
                    CommonOrderGoodsVO commonGoodsVO = new CommonOrderGoodsVO();
                    PropertyUtils.copyProperties(commonGoodsVO, goods);
                    if (commonGoodsVO.getGoodsType() == null) {
                        commonGoodsVO.setGoodsType(sourceType);
                    }
                    // 淘宝商品图片处理
                    String picture = commonGoodsVO.getPicture();
                    if (sourceType == Constant.SOURCE_TYPE_TAOBAO && !StringUtil.isNullOrEmpty(picture)
                            && !picture.contains("320x320")) {
                        commonGoodsVO.setPicture(TbImgUtil.getTBSize320Img(picture));
                    }
                    // 购买数量
                    commonGoodsVO.setActualCount(commonOrder.getTotalCount() + "件");
                    // 实付款
                    BigDecimal totalSettlement = commonOrder.getTotalSettlement();
                    if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
                        totalSettlement = commonOrder.getTotalPayment();
                    }
                    commonGoodsVO.setActualPay("付款金额:¥" + totalSettlement);
                    // 邀请订单信息保护
                    if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
                            || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
                            || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
                        Map<String, String> titleMap = new HashMap<String, String>();
                        titleMap.put("content", "为保障用户隐私,商品信息已隐藏!");
                        titleMap.put("fontColor", "#888888");
                        titleMap.put("bottomColor", "#E9E9E9");
                        commonGoodsVO.setTitle(null);
                        commonGoodsVO.setGoodsTitle(titleMap);
                    }
                    // 订单类型为空时 已商品类为准
                    String shopType = commonGoodsVO.getShopType();
                    if (CommonOrderGoodsVO.TYPE_TAOBAO.equalsIgnoreCase(shopType)) {
                        order.setOrderType(1);
                    } else if (CommonOrderGoodsVO.TYPE_TMALL.equalsIgnoreCase(shopType)) {
                        order.setOrderType(2);
                    }
                    Integer goodsType = commonGoodsVO.getGoodsType();
                    if (goodsType != null & goodsType == Constant.SOURCE_TYPE_ELME) {
                        order.setOrderType(Constant.SOURCE_TYPE_ELME); // 饿了么订单
                    }
                    order.getListOrderGoods().add(commonGoodsVO);
                }
            }
            // 订单类型
            if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
                Integer orderType = order.getOrderType();
                if (orderType == null) {
                    order.setOrderType(1);
                }
            } else if (sourceType == Constant.SOURCE_TYPE_JD) {
                order.setOrderType(3);
            } else if (sourceType == Constant.SOURCE_TYPE_PDD) {
                order.setOrderType(4);
            }
            Date thirdCreateTime = order.getThirdCreateTime();
            if (thirdCreateTime != null) {
                order.setDownTime("下单时间:" + format.format(thirdCreateTime));
                order.setObtainTime(thirdCreateTime.getTime());
            }
            Date settleTime = order.getSettleTime();
            if (settleTime != null) {
                order.setReceiveTime("收货时间:" + format.format(settleTime));
            }
            /* 订单状态 转换处理 */
            String orderStateContent = "";
            Map<String, String> orderStateMap = new HashMap<String, String>();
            // 订单状态
            Integer orderState = order.getState();
            // 红包状态
            Integer hongBaoState = order.getHongBaoState();
            Integer stateWholeOrder = order.getStateWholeOrder();
            if (CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO == stateWholeOrder) {
                // 整个订单部分失效:判断真实状态 订单、红包
                CommonOrderVO buFenOrder = commonOrderMapper.getBuFenOrderState(uid, order.getOrderNo());
                if (buFenOrder != null) {
                    // 有效的订单状态
                    orderState = buFenOrder.getState();
                    // 有效的红包状态
                    hongBaoState = buFenOrder.getHongBaoState();
                }
            }
            // 2.1显示返利说明连接> 未失效-自购-分享
            if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
                if (CommonOrder.STATE_SX != orderState
                        && thirdCreateTime.getTime() > TimeUtil.convertDateToTemp(Constant.ORDER_SHOW_BRACE_TIME)
                        && ((HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType)
                                || HongBaoV2.TYPE_SHARE_GOODS == hongBaoType)) {
                    String rebateLink = configService.get(ConfigKeyEnum.orderRebateDescLink.getKey());
                    order.setRebateLink(rebateLink + "?orderNo=" + orderNo + "&sourceType=" + sourceType);
                }
            }
            BigDecimal hongBao = order.getHongBao();
            if (hongBao == null) {
                hongBao = new BigDecimal(0);
            }
            if (CommonOrder.STATE_FK == orderState) {
                orderStateContent = "已付款";
            } else if (CommonOrder.STATE_JS == orderState) {
                orderStateContent = "已收货";
            } else if (CommonOrder.STATE_SX == orderState) {
                orderStateContent = "未付款/已退款";
            } else if (CommonOrder.STATE_WQ == orderState) {
                orderStateContent = "已售后";
                if (sourceType != null && sourceType == Constant.SOURCE_TYPE_TAOBAO) {
                    /* 订单维权 判断是否全部维权 */
                    List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper
                            .selectListByOrderIdAndState(order.getOrderNo(), "维权成功");
                    BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid);
                    if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) {
                        orderStateContent = "售后成功";
                        WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
                        weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
                        weiQuanInfo.setWqHongBao("售后:-¥" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
                        hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
                        order.setWeiQuanInfo(weiQuanInfo);
                    }
                }
            }
            orderStateMap.put("content", orderStateContent);
            orderStateMap.put("fontColor", "#666666");
            order.setOrderState(orderStateMap);
            String hongbaoInfo = "";
            // 订单标识
            List<String> signList = new ArrayList<String>();
            /* 订单返利类型 转换 */
            if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) {
                // 自购
                hongbaoInfo = "返利";
                order.setOrderOrigin("1");
                order.setHongBaoTypePic(CommonOrder.TYPE_FANLI);
                signList.add(CommonOrder.TYPE_FANLI);
            } else if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType) {
                // 分享
                hongbaoInfo = "奖金";
                order.setOrderOrigin("2");
                order.setHongBaoTypePic(CommonOrder.TYPE_SHARE);
                signList.add(CommonOrder.TYPE_SHARE);
            } else if (HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
                // 下级的分享订单: 显示邀请
                hongbaoInfo = "奖金";
                order.setOrderOrigin("3");
                order.setHongBaoTypePic(CommonOrder.TYPE_INVITE);
                signList.add(CommonOrder.TYPE_INVITE);
            } else if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
                    || HongBaoV2.TYPE_ERJI == hongBaoType) {
                // 邀请订单
                hongbaoInfo = "奖金";
                order.setOrderOrigin("3");
                order.setHongBaoTypePic(CommonOrder.TYPE_INVITE);
                signList.add(CommonOrder.TYPE_INVITE);
                // 超级会员补贴信息
                InviteOrderSubsidy orderSubsidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, order.getOrderNo(),
                        sourceType);
                if (orderSubsidy != null) {
                    ClientTextStyleVO subsidyInfo = new ClientTextStyleVO();
                    subsidyInfo.setContent("(补贴¥" + orderSubsidy.getMoney() + ")");
                    if (orderSubsidy.getState() == InviteOrderSubsidy.STATE_SUBSIDIZED) {
                        subsidyInfo.setColor("#E5005C");
                    } else {
                        subsidyInfo.setColor("#888888");
                    }
                    order.setSubsidy(subsidyInfo);
                    // 解释信息(问号)
                    List<String> subsidyList = new ArrayList<String>();
                    subsidyList.add("额外补贴能否获得由系统算法自动判断,人为无法干涉;");
                    subsidyList.add("额外补贴到账时间以及金额请以实际到账为准;");
                    subsidyList.add("额外补贴产生后将会在消息-资金消息中提醒你。");
                    order.setSubsidyList(subsidyList);
                }
            }
            order.setSignList(signList);
            String hongBaoDate = null;
            String hongBaoState_Str = "";
            String hongbaoInfoFontColor = "#E5005C";
            /* 红包状态 转换 */
            String stateContent = "";
            String stateFontColor = "#E5005C";
            Integer orderHongBaoState = null;
            if (HongBaoV2.STATE_KELINGQU == hongBaoState || HongBaoV2.STATE_BUKELINGQU == hongBaoState) {
                orderHongBaoState = 1;
                stateContent = "未到账";
                hongBaoState_Str = "预估";
                Date preAccountTime = order.getPreAccountTime();
                if (preAccountTime != null) {
                    hongBaoDate = "预计到账时间:" + formatday.format(preAccountTime);
                }
            } else if (HongBaoV2.STATE_YILINGQU == hongBaoState) {
                orderHongBaoState = 3;
                stateContent = "已到账";
                Date accountTime = order.getAccountTime();
                if (accountTime != null) {
                    hongBaoDate = "到账时间:" + formatday.format(accountTime);
                }
            } else if (HongBaoV2.STATE_BUFENSHIXIAO == hongBaoState) {
                stateContent = "部分失效";
                orderHongBaoState = 3;
                Date accountTime = order.getAccountTime();
                if (accountTime != null) {
                    hongBaoDate = "到账时间:" + formatday.format(accountTime);
                }
            } else if (HongBaoV2.STATE_SHIXIAO == hongBaoState) {
                orderHongBaoState = 4;
                stateContent = "已失效";
                hongbaoInfoFontColor = "#888888";
            }
            order.setHongBaoState(orderHongBaoState);
            order.setHongBaoDate(hongBaoDate);
            if (!StringUtil.isNullOrEmpty(order.getStateDesc())) {
                stateContent = stateContent + "-" + order.getStateDesc();
            }
            Map<String, String> stateMap = new HashMap<String, String>();
            stateMap.put("content", stateContent);
            stateMap.put("fontColor", stateFontColor);
            order.setAccountState(stateMap);
            hongbaoInfo = hongBaoState_Str + hongbaoInfo;
            Map<String, String> hongBaoMap = new HashMap<String, String>();
            hongBaoMap.put("content", hongbaoInfo + " ¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
            hongBaoMap.put("fontColor", hongbaoInfoFontColor);
            order.setHongBaoInfo(hongBaoMap);
            // 显示返利、免单详情
            if (HongBaoV2.TYPE_ZIGOU == hongBaoType) {
                // 奖励订单、免单 使用记录
                if (sourceType == null) {
                    couponFactoryNew(order, hasRewardCoupon, hongBaoState, hongBaoType, null, uid, isvip);
                } else if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
                    couponFactoryNew(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordTB, uid, isvip);
                } else if (sourceType == Constant.SOURCE_TYPE_JD) {
                    couponFactoryNew(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordJD, uid, isvip);
                } else if (sourceType == Constant.SOURCE_TYPE_PDD) {
                    couponFactoryNew(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordPDD, uid, isvip);
                }
            }
            // 分享、邀请 隐藏订单号
            if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType || HongBaoV2.TYPE_YAOQING == hongBaoType
                    || HongBaoV2.TYPE_YIJI == hongBaoType || HongBaoV2.TYPE_ERJI == hongBaoType
                    || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
                order.setOrderNo(UserUtil.filterOrderId(order.getOrderNo()));
            }
        }
    }
    /**
     * 订单: 免单标识 奖励标识
     *
     * @param order
     * @param hasRewardCoupon
     * @param hongBaoState
     * @param list
     * @param signList
     */
    private void couponFactoryNew(CommonOrderVO order, boolean hasRewardCoupon, Integer hongBaoState,
            Integer hongBaoType, List<UserSystemCouponRecord> list, Long uid, boolean vip) throws Exception {
        // 是否免单商品
        boolean freeOrder = false;
        // 是否奖励成功
        boolean rewardSuccess = false;
        if (list != null && list.size() > 0) {
            for (UserSystemCouponRecord couponRecord : list) {
                int goodSource = couponRecord.getGoodSource();
                if (goodSource == 0)
                    goodSource = 1;
                if (order.getOrderNo().equals(couponRecord.getOrderNo()) && goodSource == order.getSourceType()) {
                    Integer state = couponRecord.getState();
                    String systemCouponType = couponRecord.getCouponType();
                    if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
                            && UserSystemCouponRecord.STATE_SUCCESS == state) {
                        rewardSuccess = true;
                    } else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
                            || CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)
                            || CouponTypeEnum.freeCouponBuy.name().equals(systemCouponType)) {
                        if (UserSystemCouponRecord.STATE_FREE_ON == state) {
                            // 免单中
                            freeOrder = true;
                            order.getSignList().add(PIC_FREE_ON);
                        } else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
                            // 免单成功
                            freeOrder = true;
                            order.getSignList().add(PIC_FREE_SUCCEED);
                        } else if (UserSystemCouponRecord.STATE_FAIL_RULE == state
                                || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
                            // 规则不匹配、退款
                            freeOrder = true;
                            order.getSignList().add(PIC_FREE_FAIL);
                        }
                    }
                    break;
                }
            }
        }
        // 免单详情
        if (freeOrder) {
            ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
            rewardStyleVO.setContent("免单详情 >");
            rewardStyleVO.setColor("#E5005C");
            rewardStyleVO.setBottomColor("#FFDCEA");
            Map<String, Object> jumpLink = new HashMap<String, Object>();
            jumpLink.put("orderNo", order.getOrderNo());
            jumpLink.put("goodsType", order.getSourceType() + "");
            Map<String, Object> jump = new HashMap<String, Object>();
            jump.put("type", 1); // 页面跳转
            jump.put("params", jumpLink);
            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
            Map<String, Object> rewardMap = new HashMap<String, Object>();
            rewardMap.put("text", rewardStyleVO);
            rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
        }
        // 已使用奖励券
        if (rewardSuccess) {
            ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
            rewardStyleVO.setColor("#E5005C");
            rewardStyleVO.setBottomColor("#FFDCEA");
            rewardStyleVO.setContent("已使用奖励券 >");
            Map<String, Object> rewardMap = new HashMap<String, Object>();
            rewardMap.put("text", rewardStyleVO);
            Map<String, Object> jumpLink = new HashMap<String, Object>();
            jumpLink.put("orderNo", order.getOrderNo());
            jumpLink.put("goodsType", order.getSourceType() + "");
            Map<String, Object> jump = new HashMap<String, Object>();
            jump.put("type", 1); // 1 常规跳转页面
            jump.put("params", jumpLink);
            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
            rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
        }
        // 是否可使用奖励券
        if (!rewardSuccess && !freeOrder && HongBaoV2.TYPE_ZIGOU == hongBaoType
                && HongBaoV2.STATE_YILINGQU == hongBaoState && !vip && CommonOrder.STATE_WQ != order.getState()) {
            // 下单时间
            Date thirdCreateTime = order.getThirdCreateTime();
            // 到账时间
            Date accountTime = order.getAccountTime();
            if (thirdCreateTime == null || accountTime == null)
                return;
            // 下单日期是否是符合上线日期
            long downOrderTime = thirdCreateTime.getTime();
            long limitDate = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME);
            if (downOrderTime > limitDate) {
                // 2.1 开始新版
                rewardCounponLimitTime(order, accountTime);
            } else if (hasRewardCoupon) {
                // 在2.1新版上线之前订单-存在则显示奖励券可使用
                ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
                rewardStyleVO.setColor("#E5005C");
                rewardStyleVO.setBottomColor("#FFDCEA");
                rewardStyleVO.setContent("使用奖励券");
                Map<String, Object> jumpLink = new HashMap<String, Object>();
                jumpLink.put("orderNo", order.getOrderNo());
                jumpLink.put("goodsType", order.getSourceType() + "");
                Map<String, Object> jump = new HashMap<String, Object>();
                jump.put("type", 2); // 弹框
                jump.put("params", jumpLink);
                jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
                Map<String, Object> rewardMap = new HashMap<String, Object>();
                rewardMap.put("text", rewardStyleVO);
                rewardMap.put("jump", jump);
                order.setRewardDetail(rewardMap);
            }
        }
    }
    @Override
    public Date getThirdCreateTime(String orderId, int sourceType) {
@@ -2296,8 +1798,6 @@
        return list.get(0).getThirdCreateTime();
    }
    
    @Override
    public List<CommonOrderVO> getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
@@ -2541,11 +2041,11 @@
                
                // 是否已使用奖励券、免单券情况
                 if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
                    couponUseFactory(order, listRecordTB);
                    couponUseFactory(order, signList, listRecordTB);
                } else if (sourceType == Constant.SOURCE_TYPE_JD) {
                    couponUseFactory(order, listRecordJD);
                    couponUseFactory(order, signList, listRecordJD);
                } else if (sourceType == Constant.SOURCE_TYPE_PDD) {
                    couponUseFactory(order, listRecordPDD);
                    couponUseFactory(order, signList, listRecordPDD);
                }
            } else if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType) {
                // 分享
@@ -2629,15 +2129,13 @@
     * @param list
     * @param signList
     */
    private void couponUseFactory(CommonOrderVO order, List<UserSystemCouponRecord> list) throws Exception {
    private void couponUseFactory(CommonOrderVO order,List<String> signList, List<UserSystemCouponRecord> list) throws Exception {
        if (list == null || list.size() == 0) {
            return;
        }
        // 是否免单商品
        boolean freeOrder = false;
        // 是否奖励成功
        boolean rewardSuccess = false;
        for (UserSystemCouponRecord couponRecord : list) {
            int goodSource = couponRecord.getGoodSource();
            if (goodSource == 0)
@@ -2647,26 +2145,22 @@
            if (order.getOrderNo().equals(orderNo) && goodSource == order.getSourceType()) {
                Integer state = couponRecord.getState();
                String systemCouponType = couponRecord.getCouponType();
                if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
                        && UserSystemCouponRecord.STATE_SUCCESS == state) {
                    // 已使用奖励券
                    rewardSuccess = true;
                } else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
                if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
                        || CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)
                        || CouponTypeEnum.freeCouponBuy.name().equals(systemCouponType)) {
                    if (UserSystemCouponRecord.STATE_FREE_ON == state) {
                        // 免单中
                        freeOrder = true;
                        order.getSignList().add(PIC_FREE_ON);
                        signList.add(PIC_FREE_ON);
                    } else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
                        // 免单成功
                        freeOrder = true;
                        order.getSignList().add(PIC_FREE_SUCCEED);
                        signList.add(PIC_FREE_SUCCEED);
                    } else if (UserSystemCouponRecord.STATE_FAIL_RULE == state
                            || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
                        // 规则不匹配、退款
                        freeOrder = true;
                        order.getSignList().add(PIC_FREE_FAIL);
                        signList.add(PIC_FREE_FAIL);
                    }
                }
                break;
@@ -2691,27 +2185,6 @@
            Map<String, Object> rewardMap = new HashMap<String, Object>();
            rewardMap.put("text", rewardStyleVO);
            rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
        }
        // 已使用奖励券
        if (rewardSuccess) {
            ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
            rewardStyleVO.setColor("#E5005C");
            rewardStyleVO.setBottomColor("#FFDCEA");
            rewardStyleVO.setContent("已使用奖励券 >");
            Map<String, Object> rewardMap = new HashMap<String, Object>();
            rewardMap.put("text", rewardStyleVO);
            Map<String, Object> jumpLink = new HashMap<String, Object>();
            jumpLink.put("orderNo", order.getOrderNo());
            jumpLink.put("goodsType", order.getSourceType() + "");
            Map<String, Object> jump = new HashMap<String, Object>();
            jump.put("type", 1); // 1 常规跳转页面
            jump.put("params", jumpLink);
            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
            rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
        }
fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -176,7 +176,7 @@
    public static final BigDecimal VIP_ORDER_PAY = new BigDecimal("1");
    
    // 订单列表显> 时间 TODO
    public static final String ORDER_SHOW_BRACE_TIME = "2012-03-01";
    public static final String ORDER_SHOW_BRACE_TIME = "1999-03-01";
        
    // 奖励券倒计时 - 天数
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java
@@ -14,9 +14,6 @@
import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class MsgAccountDetailFactory {
    public final static int TYPE_WX = 1;// 微信
    public final static int TYPE_TB = 2;// 淘宝
@@ -361,7 +358,7 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("邀约原因", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("尊敬的"+ nickname+",你已符合成长为一名资深导师的条件,希望你能加入板栗快省运营团队,与我们共创辉煌", ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("专属客服", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(kefuName + "-微信号:" +kefuWX, ClientTextStyleVO.COLOR_CONTENT)));
                new ClientTextStyleVO(kefuName + "-微信号:" +kefuWX, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("对应权益", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("如果你接受邀约,你将获得该账户等级对应的全部权益 ", ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
@@ -404,7 +401,7 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("邀约原因", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("从收到本消息起,你将获得该账户等级对应的全部权益", ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("专属客服", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(kefuName + "-微信号:" +kefuWX, ClientTextStyleVO.COLOR_CONTENT)));
                new ClientTextStyleVO(kefuName + "-微信号:" +kefuWX, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("与你共创辉煌", ClientTextStyleVO.COLOR_CONTENT)));
        
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgInviteDetailFactory.java
@@ -28,7 +28,7 @@
            return null;
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("恭喜你!团队增加直接粉丝:", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("恭喜你!团队增加直接粉丝:", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("",ClientTextStyleVO.COLOR_CONTENT, portrait));
        contentList.add(new ClientTextStyleVO("、" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("直接粉丝", ClientTextStyleVO.COLOR_TITLE),contentList));
@@ -60,7 +60,7 @@
            return null;
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("恭喜你!团队增加直接粉丝:", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("恭喜你!团队增加直接粉丝:", ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("",ClientTextStyleVO.COLOR_CONTENT, portrait));
        contentList.add(new ClientTextStyleVO("、" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("间接粉丝", ClientTextStyleVO.COLOR_TITLE),contentList));
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -11,15 +11,11 @@
import com.google.gson.Gson;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.ExtractWeiXinRecord;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory;
@@ -48,7 +44,7 @@
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("¥" + extract.getMoney().setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        if (!StringUtil.isNullOrEmpty(alipayNo)) {
            contentList.add(new ClientTextStyleVO(String.format("&支付宝订单号: %s", "*" + alipayNo.substring(alipayNo.length() - 10)), ClientTextStyleVO.COLOR_CONTENT));
            contentList.add(new ClientTextStyleVO(String.format("&支付宝订单号: %s", "*" + alipayNo.substring(alipayNo.length() - 10)), ClientTextStyleVO.COLOR_CONTENT));
        }
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现金额", ClientTextStyleVO.COLOR_TITLE),contentList));
        
@@ -201,7 +197,7 @@
            sourceName += "-返利订单";
            typeEnum = MsgTypeMoneyTypeEnum.fanli;
        } else if (Constant.TYPE_SHAER == type) {
            fanliName = "分享奖金:";
            fanliName = "分享奖金:";
            sourceName += "-分享订单";
            typeEnum = MsgTypeMoneyTypeEnum.share;
        } 
@@ -217,8 +213,8 @@
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
        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("下单时间:" + TimeUtil.formatDate(downTime), 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));
@@ -285,8 +281,8 @@
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
        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("下单时间:" + TimeUtil.formatDate(downTime), 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));
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOrderDetailFactory.java
@@ -44,15 +44,15 @@
        MsgTypeOrderTypeEnum typeEnum = null;
        String sourceName = Constant.getSourceName(source);
        if (Constant.TYPE_REBATE == type) {
            fanliName = "返利:";
            fanliName = "预估返利:";
            sourceName += "-返利订单";
            typeEnum = MsgTypeOrderTypeEnum.fanli;
        } else if (Constant.TYPE_SHAER == type) {
            fanliName = "奖金:";
            fanliName = "预估奖金:";
            sourceName += "-分享订单";
            typeEnum = MsgTypeOrderTypeEnum.share;
        } else if (Constant.TYPE_INVITE == type) {
            fanliName = "收益:";
            fanliName = "预估收益:";
            sourceName += "-团队订单";
            typeEnum = MsgTypeOrderTypeEnum.invite;
        }
@@ -72,15 +72,15 @@
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList
                .add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), ClientTextStyleVO.COLOR_CONTENT));
        contentList.add(new ClientTextStyleVO("-商品数量:共", ClientTextStyleVO.COLOR_CONTENT));
                .add(new ClientTextStyleVO("下单时间:" + TimeUtil.formatDate(downTime), 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));
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("实付款:", ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("实付款:", ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("¥" + filterMoney(payMoney), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("&" + fanliName, ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("¥" + filterMoney(money), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
@@ -135,10 +135,10 @@
        String fanliName = "";
        String sourceName = Constant.getSourceName(source);
        if (Constant.TYPE_REBATE == type) {
            fanliName = "返利:";
            fanliName = "预估返利:";
            sourceName +=  "-返利订单";
        } else if (Constant.TYPE_SHAER == type) {
            fanliName = "奖金:";
            fanliName = "预估奖金:";
            sourceName +=  "-分享订单";
        }
        
@@ -154,14 +154,14 @@
                new ClientTextStyleVO(orderId, ClientTextStyleVO.COLOR_CONTENT), true));
        
        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("提交时间:" + TimeUtil.formatDate(submitTime), 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));
        
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("实付款:", ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("实付款:", ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("¥" + filterMoney(payMoney), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("&" + fanliName, ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO("¥" + filterMoney(money), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOtherDetailFactory.java
@@ -5,7 +5,6 @@
import java.util.List;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgOtherCouponContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -15,55 +14,6 @@
import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory;
public class MsgOtherDetailFactory {
    /**
     * 券相关信息的通知
     *
     * @param uid
     * @param content
     * @param type
     * @param beiZhu
     * @return
     */
    public static MsgOtherDetail createCouponMsg(Long uid, Long userCouponId, MsgOtherCouponContentDTO content,
            MsgTypeOtherTypeEnum type, String beiZhu) {
        if (uid == null)
            return null;
        MsgOtherDetail detail = new MsgOtherDetail();
        detail.setBeiZhu(beiZhu);
        detail.setCreateTime(new Date());
        detail.setRead(false);
        detail.setUser(new UserInfo(uid));
        detail.setCoupnContent(content);
        detail.setType(type);
        detail.setSourceId(userCouponId);
        return detail;
    }
    /**
     * 券相关信息的通知
     *
     * @param uid
     * @param content
     * @param type
     * @param beiZhu
     * @return
     */
    public static MsgOtherDetail createTaoLiJinMsg(Long uid, Long userCouponId, MsgOtherCouponContentDTO content,
            MsgTypeOtherTypeEnum type, String beiZhu) {
        if (uid == null)
            return null;
        MsgOtherDetail detail = new MsgOtherDetail();
        detail.setBeiZhu(beiZhu);
        detail.setCreateTime(new Date());
        detail.setRead(false);
        detail.setUser(new UserInfo(uid));
        detail.setCoupnContent(content);
        detail.setType(type);
        detail.setSourceId(userCouponId);
        return detail;
    }
    
    
    /**
fanli/src/main/java/com/yeshi/fanli/vo/order/OrderRebateVO.java
@@ -2,10 +2,11 @@
import java.util.List;
import com.yeshi.fanli.entity.common.JumpDetailV2;
public class OrderRebateVO {
    private int type; // 订单类型 : 1返利 2分享 3邀请团队
    private String stateDesc; // 到账状态
    private boolean coupon; // 使用券
    private boolean wq; // 是否维权
    private String wqDesc; // 维权文字
    private String wqMoney; // 维权金额
@@ -21,6 +22,11 @@
    private String subsidy; // 团队补贴
    private String originSubsidy; // 小一等级补贴
    
    private boolean coupon; // 使用奖励券
    private boolean couponSuccess; // 使用券成功
    private String couponParams;
    private JumpDetailV2 couponJumpDetail;
    private List<GoodsRebateVO> listGoods;
@@ -145,5 +151,27 @@
        this.subsidyDesc = subsidyDesc;
    }
    public boolean isCouponSuccess() {
        return couponSuccess;
    }
    public void setCouponSuccess(boolean couponSuccess) {
        this.couponSuccess = couponSuccess;
    }
    public String getCouponParams() {
        return couponParams;
    }
    public void setCouponParams(String couponParams) {
        this.couponParams = couponParams;
    }
    public JumpDetailV2 getCouponJumpDetail() {
        return couponJumpDetail;
    }
    public void setCouponJumpDetail(JumpDetailV2 couponJumpDetail) {
        this.couponJumpDetail = couponJumpDetail;
    }
}