yujian
2020-04-14 99f131731d056d3d2f7d4b20e0d2578f57602362
消息调整
13个文件已修改
171 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/msg/MsgMoneyDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/config/AlipayConfig.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/UserMoneyMsgNotificationServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/MsgInviteDetailServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteMsgNotificationServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/invite/UserInviteMsgNotificationService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgInviteDetailFactory.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/alipay.properties 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -742,7 +742,7 @@
            }
        }
        orderRebateVO.setFanLiDesc(predictDesc + typeName);
        orderRebateVO.setFanLi("¥" + hongBao.setScale(2));
        orderRebateVO.setFanLi("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN));
        
        HongBaoV2 hongBaoV2 = hoList.get(0).getHongBaoV2();
        UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(hongBaoV2.getUrank());
@@ -771,7 +771,7 @@
                payment = hongBaoOrder.getCommonOrder().getSettlement();
            if (payment == null)
                payment = new BigDecimal(0);
            goodsVO.setActualPay("¥" + payment.setScale(2));
            goodsVO.setActualPay("¥" + payment.setScale(2, BigDecimal.ROUND_DOWN));
            
            BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder);
            if (type == 3) { // 奖金
@@ -782,11 +782,11 @@
            
            // 平台补贴
            BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney();
            goodsVO.setSubsidy("¥" + vipFanli.subtract(commission).setScale(2));
            goodsVO.setSubsidy("¥" + vipFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
            //  达人补贴
            if (userLevel != UserLevelEnum.daRen) {
                BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen);
                goodsVO.setOriginSubsidy("¥" + darenFanli.subtract(commission).setScale(2) + "");
                goodsVO.setOriginSubsidy("¥" + darenFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN) + "");
            }
            
            voList.add(goodsVO);
@@ -818,10 +818,10 @@
            }
            
            if (userLevel != UserLevelEnum.daRen) {
                orderRebateVO.setOriginSubsidy("¥" + lowerSubsidy.setScale(2));
                orderRebateVO.setOriginSubsidy("¥" + lowerSubsidy.setScale(2, BigDecimal.ROUND_DOWN));
            }
            orderRebateVO.setSubsidyDesc("团队补贴");
            orderRebateVO.setSubsidy("¥" + teamSubsidy.setScale(2) +"");
            orderRebateVO.setSubsidy("¥" + teamSubsidy.setScale(2, BigDecimal.ROUND_DOWN) +"");
        }
        
        orderRebateVO.setType(type);
@@ -867,7 +867,7 @@
            orderRebateVO.setCouponType(1);
            orderRebateVO.setCouponUse(true);
            orderRebateVO.setCouponText("奖励成功");
            orderRebateVO.setCouponDesc("已再返¥" +couponMoney.setScale(2));
            orderRebateVO.setCouponDesc("已再返¥" +couponMoney.setScale(2, BigDecimal.ROUND_DOWN));
            orderRebateVO.setCouponParams(params.toString());
            orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
        } else if (freeState > 0) { // 已使用免单券
fanli/src/main/java/com/yeshi/fanli/entity/bus/msg/MsgMoneyDetail.java
@@ -26,7 +26,7 @@
        fanliWeiQuan("资金退回","http://img.flqapp.com/resource/msg/icon_msg_fanli.png"),
        shareWeiQuan("资金退回", "http://img.flqapp.com/resource/msg/icon_msg_share_money.png"),
        extractAutoWX("自动提现", "http://img.flqapp.com/resource/money_detail/icon_system.png"),
        extractValid("提现账号验证", "http://img.flqapp.com/resource/msg/icon_msg_extract.png"),
        extractValid("提现验证", "http://img.flqapp.com/resource/msg/icon_msg_extract.png"),
        inviteWeiQuan("团队奖金扣除", "http://img.flqapp.com/resource/msg/icon_msg_invite_money.png"),
        orderReward("返利奖励","http://img.flqapp.com/resource/msg/icon_msg_order_reward.png"),
        systemEqualize("系统补齐","http://img.flqapp.com/resource/money_detail/icon_system.png"),
fanli/src/main/java/com/yeshi/fanli/entity/config/AlipayConfig.java
@@ -7,6 +7,9 @@
    private String appId;
    @Map("private_key")
    private String privateKey;
    @Map("account_name")
    private String accountName;
    public String getAppId() {
        return appId;
@@ -24,4 +27,13 @@
        this.privateKey = privateKey;
    }
    public String getAccountName() {
        return accountName;
    }
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/UserMoneyMsgNotificationServiceImpl.java
@@ -90,7 +90,7 @@
    @Override
    public void alipayAccountValid(AlipayAccountValidNormalHistory history, String limitDay, boolean change) {
        MsgMoneyDetail detail = MsgMoneyDetailFactory.createAlipayAccountValidMsg(history, history.getUid(),
                Constant.systemCommonConfig.getProjectChineseName(), new BigDecimal("0.1"), limitDay, change);
                Constant.alipayConfig.getAccountName(), new BigDecimal("0.1"), limitDay, change);
        try {
            msgMoneyDetailService.addMsgMoneyDetail(detail);
        } catch (MsgMoneyDetailException e) {
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java
@@ -6,15 +6,19 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.gson.Gson;
import com.yeshi.fanli.dao.mybatis.msg.MsgOtherDetailMapper;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class MsgOtherDetailServiceImpl implements MsgOtherDetailService {
@@ -25,9 +29,19 @@
    @Resource
    private UserMsgReadStateService userMsgReadStateService;
    @Resource
    private MsgExtraService msgExtraService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addMsgOtherDetail(MsgOtherDetail detail) throws MsgOtherDetailException {
        if (detail == null || detail.getUser() == null || StringUtil.isNullOrEmpty(detail.getExtraInfo())) {
            throw new MsgOtherDetailException(1, "消息内容不全");
        }
        msgOtherDetailMapper.insertSelective(detail);
        msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_OTHER);
        userMsgReadStateService.addOtherMsgUnReadCount(detail.getUser().getId(), 1);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
@@ -7,10 +7,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
import com.yeshi.fanli.util.factory.msg.MsgOtherDetailFactory;
@@ -21,16 +19,11 @@
    @Resource
    private MsgOtherDetailService msgOtherDetailService;
    
    @Resource
    private MsgExtraService msgExtraService;
    @Transactional(rollbackFor = Exception.class)
    private void saveMsgDetail(MsgOtherDetail detail) {
        try {
            msgOtherDetailService.addMsgOtherDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_INVITE);
        } catch (MsgOtherDetailException e) {
            e.printStackTrace();
        }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/MsgInviteDetailServiceImpl.java
@@ -6,14 +6,18 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.msg.MsgInviteDetailMapper;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.exception.msg.MsgInviteDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.service.inter.user.invite.MsgInviteDetailService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class MsgInviteDetailServiceImpl implements MsgInviteDetailService {
@@ -24,39 +28,24 @@
    @Resource
    private UserMsgReadStateService userMsgReadStateService;
    @Resource
    private MsgExtraService msgExtraService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addMsgInviteDetail(MsgInviteDetail detail) throws MsgInviteDetailException {
        if (detail == null)
            throw new MsgInviteDetailException(1, "消息为空");
        if (detail.getInviteUser() == null || detail.getMsgType() == null || detail.getUser() == null
                || detail.getDesc() == null)
        if (detail.getMsgType() == null || detail.getUser() == null || StringUtil.isNullOrEmpty(detail.getExtraInfo()))
            throw new MsgInviteDetailException(2, "消息内容不完整");
        // 查询是否已存在该邀请ID
        MsgInviteDetail oldDetail = msgInviteDetailMapper.selectByThreeSaleId(detail.getInviteUser().getId());
        if (oldDetail == null) {
            detail.setCreateTime(new Date());
            detail.setUpdateTime(new Date());
            detail.setRead(false);
            msgInviteDetailMapper.insertSelective(detail);
        } else {
            MsgInviteDetail update = new MsgInviteDetail();
            update.setId(oldDetail.getId());
            if (!detail.getInviteUser().getState()) {
                if (detail.getInviteUser().getExpire() == ThreeSale.EXPIRE_NORMAL) {
                    update.setDesc("恭喜你,有新粉丝加入你的队列,若对方60天内未激活将会与你脱离邀请关系");
                } else {
                    update.setDesc("抱歉,该粉丝因60天内未激活,已脱离了你的队列,可以试着重新邀请");
                }
            } else {
                update.setDesc("恭喜你,成功邀请一个粉丝");
            }
            update.setUpdateTime(new Date());
            update.setRead(false);
            msgInviteDetailMapper.updateByPrimaryKeySelective(update);
        }
        detail.setCreateTime(new Date());
        detail.setUpdateTime(new Date());
        detail.setRead(false);
        msgInviteDetailMapper.insertSelective(detail);
        msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_INVITE);
        userMsgReadStateService.addInviteMsgUnReadCount(detail.getUser().getId(), 1);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteMsgNotificationServiceImpl.java
@@ -7,11 +7,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.exception.msg.MsgInviteDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.service.inter.user.invite.MsgInviteDetailService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
@@ -23,8 +20,6 @@
    @Resource
    private MsgInviteDetailService msgInviteDetailService;
    
    @Resource
    private MsgExtraService msgExtraService;
    @Resource
    private PushService pushService;
@@ -33,8 +28,6 @@
    private void saveMsgDetail(MsgInviteDetail detail) {
        try {
            msgInviteDetailService.addMsgInviteDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_INVITE);
        } catch (MsgInviteDetailException e) {
            e.printStackTrace();
        }
@@ -60,15 +53,14 @@
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void fansPreDivorced(Long uid, String rankName, String nickName, String item, Date time) {
        saveMsgDetail(MsgInviteDetailFactory.fansPreDivorced(uid, rankName, nickName, item, time));
    public void fansPreDivorced(Long uid, String rankName, String nickName, Date time) {
        saveMsgDetail(MsgInviteDetailFactory.fansPreDivorced(uid, rankName, nickName, time));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName,
            String item, Date time) {
        saveMsgDetail(MsgInviteDetailFactory.fansPredivorcedIndirect(uid, rankName, nickName, fansName, item, time));
    public void fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName, Date time) {
        saveMsgDetail(MsgInviteDetailFactory.fansPredivorcedIndirect(uid, rankName, nickName, fansName, time));
    }
    
    @Override
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -479,14 +479,14 @@
            userInviteSeparateService.addPreSeparateRecord(uid, bossId);
            
            // 直接粉丝脱离-开始脱离提醒
            userInviteMsgNotificationService.fansPreDivorced(bossId, rankName, userInfo.getNickName(), item, time);
            userInviteMsgNotificationService.fansPreDivorced(bossId, rankName, userInfo.getNickName(), time);
            
            //间接粉丝脱离-开始脱离提醒
            if (threeSaleSuper != null) { 
                UserInfo boss = userInfoService.selectByPKey(bossId);
                Long bossIdSuper = threeSaleSuper.getBoss().getId();
                userInviteMsgNotificationService.fansPredivorcedIndirect(bossIdSuper, rankName, userInfo.getNickName(),
                        boss.getNickName(), item, time);
                        boss.getNickName(), time);
            } 
        }
    }
fanli/src/main/java/com/yeshi/fanli/service/inter/user/invite/UserInviteMsgNotificationService.java
@@ -2,8 +2,6 @@
import java.util.Date;
import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
/**
 * 用户邀请消息通知
 * 
@@ -53,7 +51,7 @@
     * @param item
     * @param time
     */
    public void fansPreDivorced(Long uid, String rankName, String nickName, String item, Date time);
    public void fansPreDivorced(Long uid, String rankName, String nickName, Date time);
    /**
@@ -65,7 +63,7 @@
     * @param item
     * @param time
     */
    public void fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName, String item, Date time);
    public void fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName, Date time);
    /**
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgInviteDetailFactory.java
@@ -28,10 +28,11 @@
            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, portrait));
        contentList.add(new ClientTextStyleVO("、" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("直接粉丝", ClientTextStyleVO.COLOR_TITLE),contentList));
        contentList.add(new ClientTextStyleVO("&" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("粉丝信息", ClientTextStyleVO.COLOR_TITLE),contentList));
        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(TimeUtil.formatDate(time), ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
@@ -60,11 +61,11 @@
            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, portrait));
        contentList.add(new ClientTextStyleVO("、" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("间接粉丝", ClientTextStyleVO.COLOR_TITLE),contentList));
        contentList.add(new ClientTextStyleVO("&" + nickName, ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("粉丝信息", ClientTextStyleVO.COLOR_TITLE),contentList));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("粉丝类别", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("间接粉丝", ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("由直接粉丝", ClientTextStyleVO.COLOR_CONTENT));
        contentList2.add(new ClientTextStyleVO(inviteName,ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
@@ -133,8 +134,8 @@
     * @param time
     * @return
     */
    public static MsgInviteDetail fansPreDivorced(Long uid, String rankName, String nickName, String item, Date time) {
        if (nickName == null || uid == null || item == null || time == null)
    public static MsgInviteDetail fansPreDivorced(Long uid, String rankName, String nickName, Date time) {
        if (nickName == null || uid == null || time == null)
            return null;
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        List<ClientTextStyleVO> contentList = new ArrayList<>();
@@ -172,9 +173,8 @@
     * @param time
     * @return
     */
    public static MsgInviteDetail fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName,
            String item, Date time) {
        if (nickName == null || uid == null || item == null || time == null)
    public static MsgInviteDetail fansPredivorcedIndirect(Long uid, String rankName, String nickName, String fansName, Date time) {
        if (nickName == null || uid == null || time == null)
            return null;
        
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -41,7 +41,7 @@
                new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
        
        List<ClientTextStyleVO> contentList = new ArrayList<>();
        contentList.add(new ClientTextStyleVO("¥" + extract.getMoney().setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList.add(new ClientTextStyleVO("¥" + extract.getMoney().setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        if (!StringUtil.isNullOrEmpty(alipayNo)) {
            contentList.add(new ClientTextStyleVO(String.format("&支付宝订单号: %s", "*" + alipayNo.substring(alipayNo.length() - 10)), ClientTextStyleVO.COLOR_CONTENT));
        }
@@ -98,7 +98,7 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("打款金额", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(money + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT)));
                new ClientTextStyleVO(money.setScale(2, BigDecimal.ROUND_DOWN) + "", ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(String.format("提现账号收到一笔,来自%s的转账,即绑定成功", appName), ClientTextStyleVO.COLOR_CONTENT)));
        List<ClientTextStyleVO> contentList = new ArrayList<>();
@@ -137,14 +137,12 @@
        if (change) {
            changeWay = "修改";
        }
        String name = filterName(valid.getName());
        String account = filterAccount(valid.getAccount());
        
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("验证状态", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(String.format("提现账号%s失败", changeWay), ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("提现账号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",account, name), ClientTextStyleVO.COLOR_CONTENT)));
                new ClientTextStyleVO(String.format("支付宝:%s-姓名:%s",valid.getAccount(), valid.getName()), ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("原因", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("请仔细核对填写账号是否有误或距上一次修改时长是否超过30天", ClientTextStyleVO.COLOR_CONTENT)));
    
@@ -196,7 +194,7 @@
            sourceName += "-返利订单";
            typeEnum = MsgTypeMoneyTypeEnum.fanli;
        } else if (Constant.TYPE_SHAER == type) {
            fanliName = "分享奖金:";
            fanliName = "分享奖金";
            sourceName += "-分享订单";
            typeEnum = MsgTypeMoneyTypeEnum.share;
        } 
@@ -221,8 +219,8 @@
                new ClientTextStyleVO(fanliName, ClientTextStyleVO.COLOR_CONTENT)));
        
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("¥" + money, ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("(账户余额¥)"+ balance, ClientTextStyleVO.COLOR_CONTENT));
        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)));
@@ -288,10 +286,10 @@
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回原因", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(weiquan, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("到账金额", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("¥" +fanliMoney.setScale(2) + "(原到账金额)", ClientTextStyleVO.COLOR_CONTENT)));
                new ClientTextStyleVO("¥" +fanliMoney.setScale(2, BigDecimal.ROUND_DOWN) + "(原到账金额)", ClientTextStyleVO.COLOR_CONTENT)));
        
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2, BigDecimal.ROUND_DOWN), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("("+ weiquanMoney + ")", ClientTextStyleVO.COLOR_CONTENT));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("退回金额", ClientTextStyleVO.COLOR_TITLE), contentList2));
        
@@ -337,8 +335,8 @@
                new ClientTextStyleVO("团队收益", ClientTextStyleVO.COLOR_CONTENT), true));
        
        List<ClientTextStyleVO> contentList2 = new ArrayList<>();
        contentList2.add(new ClientTextStyleVO("¥" + money.setScale(2), ClientTextStyleVO.COLOR_HIGHLIGHT_CONTENT));
        contentList2.add(new ClientTextStyleVO("(账户余额¥ "+ balance.setScale(2)+")", ClientTextStyleVO.COLOR_CONTENT));
        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)));
@@ -392,14 +390,14 @@
        } else {// 其他
            if (alipayAccount.length() >= 6) {
                for (int i = 0; i < alipayAccount.length(); i++) {
                    if (i < 3 || i >= alipayAccount.length() - 2)
                    if (i < alipayAccount.length() - 4)
                        account += alipayAccount.charAt(i);
                    else
                        account += "*";
                }
            } else {
                for (int i = 0; i < alipayAccount.length(); i++) {
                    if (i < 1 || i >= alipayAccount.length() - 1)
                    if (i <  alipayAccount.length() - 1)
                        account += alipayAccount.charAt(i);
                    else
                        account += "*";
fanli/src/main/resource/alipay.properties
@@ -1,2 +1,3 @@
appId=2018120462438303
private_key=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCr3zyepJWxJxRFfzJ3LX0Sb/HLiLndOmdcufUzcHuQ2qR0vSFbQ8GUe9IMkSsjWCVFtOGO1rc8BRuZoxapP6g8TrhPpMjqkxGJ0kiRIJ5OM76Czqcd8xy4gtqHPXHybr76wlOTeHmfQkABTPsO8H/IgLkafa7Gs2fdDMswn+2zlkk6ghyU8HptyDnnjhW2CXBGZnqUHDv894eO6q8F7abaabEjzssQykC6y8IoYngziy0zYk89wr+ZfDH7j9zKNOLXWfiN1xz8+Bjdu8gybAqKZjsujP9pzUuUTgU+zuvBi/wL12HQVqQHq/7wrXNUBJt3fcwquL4JokaKD6jy2O5dAgMBAAECggEAVxP/bpEMlniqOJu9Qcx2NcUpyGk5YfCZNc2xgaJXuIhOEidQoyCtD0G8pklWhc2+9JY0QV5f77TWyvxqGs35urRXhWKDuPVSSXWU9pKEIjLtLvDskqv9vS3u8d4bwSyC7iFOnsTHOf0i2IXcHTGUTE2LevR6fImg8cntmHEuyXFh4CmhoK1j0eBL5oXyQJJ+IXjp6ihwHbhX9h5IKXct5esmcL5hC77x3nyhIEA7sT/UfQH6vMsOHj0Ie8oju56ePQi7fQfGkOVdXQWCmusrPoqinmsgRPBB6N0uvGy33nscPjc00T0wNDiTOuRR5vS0H8N5WNorUzeMH1hsyE52sQKBgQDjf30UspjBO66vmJM7mjBl+5IAJcXXQotJGbOX1yr0YsUo4QbR+2QG8xJDtR0XnXgbhHZ97sPGcDKc7Wb8hI6hkl5fjQVQ3SKcyOIYSkFUcLPNlK8KjWvCgbGesfWAWopzkpEmvy+BtCOG+iQXtzKAOa9YCPn3uvzanBtgdKKhewKBgQDBZ6nyjl+1AdW1zTE/Rjc8CXUQqHuhV6PN1+KCuPVHcf2v3BwPFjODSncpK/11q0u9LRkXmgPatmqPSC3/xtGSAqeWHxwX3ILwur7cCP9VhzmW4yDrZIDQ0/OmKPa+7B4pghlGIo/S13WJi7YhhCjldBZc9/32tvxFa1gUToJMBwKBgQCYwRDWpfklvpJT+6nY2nZm892b1cEbAeaOhgBuEx8Xi36BLV+r/RW0COCZr/HB2o08RNxfQMQZ6VpCvrFpGwS+fo55sDICkwlbpxMRZkKplSdWAeDqv/y8VONUAIAs2B6g7agjETqv56n3RtyXQ/5X1OPkw9o8OkTv8OP9BzPwIwKBgHkoFoeTdxMuPhGwpDwuIWXjyskPsrsE6uGFbylS8py6JSDos08kKksB+Bn7q8Dt+Pleagyl9+ooQiLWJbLIevqL3S4m+PNduU1Sv0OaA1Ix7vq9+B5eDHBFhqm9ma1Kvy5jiK+t8Qk03jW3JvZiEziCe4vr8tV+FhTqxPebovY7AoGBAMD2Q5nxLO1ai68zdL0iWdtT8W7ETQm8jd5RsB+fulMMulQOiowIe7L100XT/Ni+z4XFhQrhr9JHkTLu6+pMdwJtJKZENWz0nec7QhhplcxL332XtA78ZzIjaikMn/WggDeCSLJL/qQEQL5YBdDpQg1wWyW3j3hPAjx7ebhb374A
private_key=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCr3zyepJWxJxRFfzJ3LX0Sb/HLiLndOmdcufUzcHuQ2qR0vSFbQ8GUe9IMkSsjWCVFtOGO1rc8BRuZoxapP6g8TrhPpMjqkxGJ0kiRIJ5OM76Czqcd8xy4gtqHPXHybr76wlOTeHmfQkABTPsO8H/IgLkafa7Gs2fdDMswn+2zlkk6ghyU8HptyDnnjhW2CXBGZnqUHDv894eO6q8F7abaabEjzssQykC6y8IoYngziy0zYk89wr+ZfDH7j9zKNOLXWfiN1xz8+Bjdu8gybAqKZjsujP9pzUuUTgU+zuvBi/wL12HQVqQHq/7wrXNUBJt3fcwquL4JokaKD6jy2O5dAgMBAAECggEAVxP/bpEMlniqOJu9Qcx2NcUpyGk5YfCZNc2xgaJXuIhOEidQoyCtD0G8pklWhc2+9JY0QV5f77TWyvxqGs35urRXhWKDuPVSSXWU9pKEIjLtLvDskqv9vS3u8d4bwSyC7iFOnsTHOf0i2IXcHTGUTE2LevR6fImg8cntmHEuyXFh4CmhoK1j0eBL5oXyQJJ+IXjp6ihwHbhX9h5IKXct5esmcL5hC77x3nyhIEA7sT/UfQH6vMsOHj0Ie8oju56ePQi7fQfGkOVdXQWCmusrPoqinmsgRPBB6N0uvGy33nscPjc00T0wNDiTOuRR5vS0H8N5WNorUzeMH1hsyE52sQKBgQDjf30UspjBO66vmJM7mjBl+5IAJcXXQotJGbOX1yr0YsUo4QbR+2QG8xJDtR0XnXgbhHZ97sPGcDKc7Wb8hI6hkl5fjQVQ3SKcyOIYSkFUcLPNlK8KjWvCgbGesfWAWopzkpEmvy+BtCOG+iQXtzKAOa9YCPn3uvzanBtgdKKhewKBgQDBZ6nyjl+1AdW1zTE/Rjc8CXUQqHuhV6PN1+KCuPVHcf2v3BwPFjODSncpK/11q0u9LRkXmgPatmqPSC3/xtGSAqeWHxwX3ILwur7cCP9VhzmW4yDrZIDQ0/OmKPa+7B4pghlGIo/S13WJi7YhhCjldBZc9/32tvxFa1gUToJMBwKBgQCYwRDWpfklvpJT+6nY2nZm892b1cEbAeaOhgBuEx8Xi36BLV+r/RW0COCZr/HB2o08RNxfQMQZ6VpCvrFpGwS+fo55sDICkwlbpxMRZkKplSdWAeDqv/y8VONUAIAs2B6g7agjETqv56n3RtyXQ/5X1OPkw9o8OkTv8OP9BzPwIwKBgHkoFoeTdxMuPhGwpDwuIWXjyskPsrsE6uGFbylS8py6JSDos08kKksB+Bn7q8Dt+Pleagyl9+ooQiLWJbLIevqL3S4m+PNduU1Sv0OaA1Ix7vq9+B5eDHBFhqm9ma1Kvy5jiK+t8Qk03jW3JvZiEziCe4vr8tV+FhTqxPebovY7AoGBAMD2Q5nxLO1ai68zdL0iWdtT8W7ETQm8jd5RsB+fulMMulQOiowIe7L100XT/Ni+z4XFhQrhr9JHkTLu6+pMdwJtJKZENWz0nec7QhhplcxL332XtA78ZzIjaikMn/WggDeCSLJL/qQEQL5YBdDpQg1wWyW3j3hPAjx7ebhb374A
account_name=重庆快省科技有限公司