yujian
2020-04-14 245bf498b0b145b21b73cc73c77637c895528322
消息
4个文件已修改
277 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/MsgAccountDetailServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/UserAccountMsgNotificationServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java 237 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/MsgAccountDetailServiceImpl.java
@@ -6,16 +6,17 @@
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.MsgAccountDetailMapper;
import com.yeshi.fanli.dto.msg.MsgAccountVipDTO;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail.MsgTypeAccountTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.msg.MsgAccountDetailException;
import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService;
import com.yeshi.fanli.util.Constant;
@@ -30,18 +31,23 @@
    @Resource
    private UserMsgReadStateService userMsgReadStateService;
    @Resource
    private MsgExtraService msgExtraService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addMsgAccountDetail(MsgAccountDetail detail) throws MsgAccountDetailException {
        if (detail == null)
            throw new MsgAccountDetailException(1, "消息为空");
        if (StringUtil.isNullOrEmpty(detail.getTitle()) || StringUtil.isNullOrEmpty(detail.getContent())
                || detail.getType() == null || detail.getUser() == null)
            throw new MsgAccountDetailException(2, "消息内容不完整");
        if (detail == null || detail.getUser() == null || detail.getType() == null
                || StringUtil.isNullOrEmpty(detail.getExtraInfo()))
            throw new MsgAccountDetailException(1, "消息信息不全");
        // 持久化到数据库
        detail.setCreateTime(new Date());
        detail.setUpdateTime(new Date());
        detail.setRead(false);
        msgAccountDetailMapper.insertSelective(detail);
        // 消息内容
        msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        // 红点
        userMsgReadStateService.addAccountMsgUnReadCount(detail.getUser().getId(), 1);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/UserAccountMsgNotificationServiceImpl.java
@@ -3,10 +3,8 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.exception.msg.MsgAccountDetailException;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService;
@@ -23,76 +21,60 @@
    private MsgExtraService msgExtraService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void bindingSuccess(Long uid, int type) {
        saveDetail(MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_BIND));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void unBindingSuccess(Long uid, int type) {
        saveDetail(MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_UNBIND));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void changeBindingSuccess(Long uid, int type) {
        saveDetail(MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_CHANGE));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void taoBaoAuthFail(Long uid, String taoBaoNickName, String reason) {
        saveDetail(MsgAccountDetailFactory.createBindFail(uid, MsgAccountDetailFactory.TYPE_TB, 
                MsgAccountDetailFactory.WAY_CHANGE, reason));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createChangeInviteCode(Long uid, String oldCode, String newCode) {
        saveDetail(MsgAccountDetailFactory.createChangeInviteCode(uid, oldCode, newCode));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void vipPreUpgrade(Long uid, String originalName, String upName, int days, long targetNum1, Long targetNum2,Integer type) {
        saveDetail( MsgAccountDetailFactory.vipPreUpgrade(uid, originalName, upName, days, targetNum1,
                targetNum2, type, null));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void vipUpgradeSuccess(Long uid, int days) {
        saveDetail(MsgAccountDetailFactory.vipUpgradeSuccess(uid, days));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void vipUpgradeFail(Long uid, String reason) {
        saveDetail(MsgAccountDetailFactory.vipUpgradeFail(uid, reason));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void teacherInvite(Long uid, String nickname,String kefuName, String kefuWX) {
         saveDetail(MsgAccountDetailFactory.teacherInvite(uid, nickname, kefuName, kefuWX));
    }
    
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void teacherSuccess(Long uid, int days, String kefuName, String kefuWX) {
        saveDetail(MsgAccountDetailFactory.teacherSuccess(uid, days, kefuName, kefuWX));
    }
    
    @Transactional(rollbackFor = Exception.class)
    private void saveDetail(MsgAccountDetail detail) {
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java
@@ -119,7 +119,7 @@
        
        List<CommonMsgItemVO> listMsg = new ArrayList<>();
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("绑定详情", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO("恭喜你!" + info +"-"+ way, ClientTextStyleVO.COLOR_CONTENT)));
                new ClientTextStyleVO("很抱歉!" + info +"-"+ way, ClientTextStyleVO.COLOR_CONTENT)));
        listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("绑定账号", ClientTextStyleVO.COLOR_TITLE),
                new ClientTextStyleVO(typeName, ClientTextStyleVO.COLOR_CONTENT)));
        if (!StringUtil.isNullOrEmpty(reason)) {
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgMoneyDetailFactory.java
@@ -2,7 +2,6 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -355,207 +354,6 @@
        return detail;
    }
//    /**
//     * 邀请赚维权
//     *
//     * @param uid
//     * @param orderId
//     * @param money
//     * @param balance
//     * @param beiZhu
//     * @return
//     */
//    public static MsgMoneyDetail createInviteWeiQuanMsg(Long uid, String orderId, int orderType, BigDecimal money,
//            BigDecimal balance, String beiZhu) {
//        if (money == null || orderId == null || money == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.inviteWeiQuan);
//        detail.setOrderId(orderId);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//        detail.setOrderType(orderType);
//
//        return detail;
//    }
//
//    /**
//     * 分享赚到账
//     *
//     * @param money
//     * @param balance
//     * @param orderCount
//     * @param goodsCount
//     * @param uid
//     * @param beiZhu
//     * @return
//     */
//    public static MsgMoneyDetail createShareMsg(BigDecimal money, BigDecimal balance, int orderType, int orderCount,
//            int goodsCount, Long uid, String beiZhu) {
//        if (money == null || balance == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setGoodsCount(goodsCount);
//        detail.setOrderType(orderType);
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.share);
//        detail.setOrderCount(orderCount);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//
//        return detail;
//    }
//
//    /**
//     * 分享赚维权
//     *
//     * @param uid
//     * @param orderId
//     * @param money
//     * @param balance
//     * @param beiZhu
//     * @return
//     */
//    public static MsgMoneyDetail createShareWeiQuanMsg(Long uid, String orderId, int orderType, BigDecimal money,
//            BigDecimal balance, String beiZhu) {
//        if (money == null || orderId == null || money == null || uid == null)
//            return null;
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.shareWeiQuan);
//        detail.setOrderId(orderId);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//        detail.setOrderType(orderType);
//        return detail;
//    }
//
//    public static MsgMoneyDetail createOrderRewardMsg(Long uid, String orderId, int orderType, BigDecimal money,
//            BigDecimal balance, String beiZhu) {
//        if (money == null || orderId == null || money == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.orderReward);
//        detail.setOrderId(orderId);
//        detail.setRead(false);
//        detail.setOrderType(orderType);
//        detail.setUser(new UserInfo(uid));
//        return detail;
//    }
//
//    public static MsgMoneyDetail createSystemEqualizeMsg(Long uid, String reason, BigDecimal money, BigDecimal balance,
//            String beiZhu) {
//        if (money == null || money == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.systemEqualize);
//        detail.setOrderId(reason);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//        return detail;
//    }
//
//    public static MsgMoneyDetail createElmeFanliMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
//            String beiZhu) {
//        if (money == null || money == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.fanliElme);
//        detail.setOrderId(orderId);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//        return detail;
//    }
//
//
//
//
//    /**
//     * 团队奖励
//     * @Title: createOrderTeamRewardMsg
//     * @Description:
//     * @param uid
//     * @param date
//     * @param from
//     * @param money
//     * @param balance
//     * @param beiZhu
//     * @return
//     * MsgMoneyDetail 返回类型
//     * @throws
//     */
//    public static MsgMoneyDetail createOrderTeamRewardMsg(Long uid, Date date, String from, BigDecimal money,
//            BigDecimal balance, String beiZhu) {
//        if (money == null || money == null || uid == null)
//            return null;
//
//        MsgMoneyDetail detail = new MsgMoneyDetail();
//        detail.setBalance(balance);
//        detail.setBeiZhu(beiZhu);
//        detail.setCreateTime(new Date());
//        detail.setMoney(money);
//        detail.setMsgType(MsgTypeMoneyTypeEnum.orderTeamReward);
//        detail.setRead(false);
//        detail.setUser(new UserInfo(uid));
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        detail.setStateDesc(String.format("%s年%s月团队奖励到账", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)));
//        detail.setDesc(from);
//
//        return detail;
//    }
//
//
    /**
     * 红包相关信息
     * @param uid
     * @param type
     * @param content
     * @param beiZhu
     * @return
     */
    public static MsgMoneyDetail createRedPackMsg(Long uid, MsgTypeMoneyTypeEnum type, String content, String beiZhu) {
        if (uid == null || type == null || StringUtil.isNullOrEmpty(content))
            return null;
        MsgMoneyDetail detail = new MsgMoneyDetail();
        detail.setUser(new UserInfo(uid));
        detail.setRead(false);
        detail.setContent(content);
        detail.setMsgType(type);
        detail.setBeiZhu(beiZhu);
        detail.setCreateTime(new Date());
        return detail;
    }
    
    private static String filterName(String oldname) {
        String name = "";
@@ -612,9 +410,44 @@
    }
    
    
    /**
     * 红包相关信息
     * @param uid
     * @param type
     * @param content
     * @param beiZhu
     * @return
     */
    public static MsgMoneyDetail createRedPackMsg(Long uid, MsgTypeMoneyTypeEnum type, String content, String beiZhu) {
        if (uid == null || type == null || StringUtil.isNullOrEmpty(content))
            return null;
        MsgMoneyDetail detail = new MsgMoneyDetail();
        detail.setUser(new UserInfo(uid));
        detail.setRead(false);
        detail.setContent(content);
        detail.setMsgType(type);
        detail.setBeiZhu(beiZhu);
        detail.setCreateTime(new Date());
        return detail;
    }
    
    
    public static MsgMoneyDetail createSystemEqualizeMsg(Long uid, String reason, BigDecimal money, BigDecimal balance,
            String beiZhu) {
        if (money == null || money == null || uid == null)
            return null;
    
        MsgMoneyDetail detail = new MsgMoneyDetail();
        detail.setBalance(balance);
        detail.setBeiZhu(beiZhu);
        detail.setCreateTime(new Date());
        detail.setMoney(money);
        detail.setMsgType(MsgTypeMoneyTypeEnum.systemEqualize);
        detail.setOrderId(reason);
        detail.setRead(false);
        detail.setUser(new UserInfo(uid));
        return detail;
    }
    
}