yujian
2020-04-13 a5bc9c4e52f98032b287a42fd243c2ffcb7d58f6
消息
3个文件已修改
324 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/UserAccountMsgNotificationServiceImpl.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/msg/UserAccountMsgNotificationService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/msg/UserAccountMsgNotificationServiceImpl.java
@@ -3,6 +3,7 @@
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;
@@ -22,32 +23,72 @@
    private MsgExtraService msgExtraService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void bindingSuccess(Long uid, int type) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_BIND);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
        saveDetail(MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_BIND));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void unBindingSuccess(Long uid, int type) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_UNBIND);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
        saveDetail(MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_UNBIND));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void changeBindingSuccess(Long uid, int type) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createBindSuccess(uid, type, MsgAccountDetailFactory.WAY_CHANGE);
        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);
            // 消息内容
@@ -59,108 +100,13 @@
    @Override
    public void connectSuccess(Long uid, Long lessUid) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createConnectAccount(uid, lessUid);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
        // TODO Auto-generated method stub
    }
    @Override
    public void userRank(Long uid, String orderType, int orderCount, String rankName) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createUserRank(uid, orderType, orderCount, rankName);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void taoBaoAuthFail(Long uid, String taoBaoNickName, String reason) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createBindFail(uid, MsgAccountDetailFactory.TYPE_TB,
                MsgAccountDetailFactory.WAY_CHANGE, reason);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void createChangeInviteCode(Long uid, String oldCode, String newCode) {
        MsgAccountDetail detail = MsgAccountDetailFactory.createChangeInviteCode(uid, oldCode, newCode);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void vipPreUpgrade(Long uid, String originalName, String upName, int days, long targetNum1, Long targetNum2,Integer type) {
        MsgAccountDetail detail = MsgAccountDetailFactory.vipPreUpgrade(uid, originalName, upName, days, targetNum1,
                targetNum2, type, null);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void vipUpgradeSuccess(Long uid, int days) {
        MsgAccountDetail detail = MsgAccountDetailFactory.vipUpgradeSuccess(uid, days);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void vipUpgradeFail(Long uid, String reason) {
        MsgAccountDetail detail = MsgAccountDetailFactory.vipUpgradeFail(uid, reason);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void teacherInvite(Long uid, String nickname,String kefuName, String kefuWX) {
        MsgAccountDetail detail = MsgAccountDetailFactory.teacherInvite(uid, nickname, kefuName, kefuWX);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
    }
    @Override
    public void teacherSuccess(Long uid, int days, String kefuName, String kefuWX) {
        MsgAccountDetail detail = MsgAccountDetailFactory.teacherSuccess(uid, days, kefuName, kefuWX);
        try {
            msgAccountDetailService.addMsgAccountDetail(detail);
            // 消息内容
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_ACCOUNT);
        } catch (MsgAccountDetailException e) {
            e.printStackTrace();
        }
        // TODO Auto-generated method stub
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/msg/UserAccountMsgNotificationService.java
@@ -33,25 +33,6 @@
    public void changeBindingSuccess(Long uid, int type);
    /**
     * 账号合并成功
     *
     * @param uid
     * @param lessUid
     */
    public void connectSuccess(Long uid, Long lessUid);
    /**
     * 用户等级变化
     *
     * @param uid
     * @param orderType
     *            -订单类型(邀请订单/返利订单/分享订单)
     * @param orderCount
     * @param rankName
     */
    public void userRank(Long uid, String orderType, int orderCount, String rankName);
    /**
     * 淘宝授权失败
     * 
     * @param uid
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgAccountDetailFactory.java
@@ -181,134 +181,15 @@
        return detail;
    }
    
    
    /**
     * 账号解绑成功
     *
     * @param uid
     * @param type
     * @return
     */
    public static MsgAccountDetail createUnBindingAccount(Long uid, int type) {
        String msg = "";
        if (type == TYPE_PHONE) {
            msg = "<highlight>手机号解绑成功</highlight>";
        } else if (type == TYPE_TB) {
            msg = "<highlight>淘宝解绑成功</highlight>";
        } else if (type == TYPE_WX) {
            msg = "<highlight>微信解绑成功</highlight>";
        }
        if (StringUtil.isNullOrEmpty(msg))
            return null;
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setBeiZhu("无");
        detail.setContent(msg);
        detail.setTitle("解绑账号");
        detail.setType(MsgTypeAccountTypeEnum.cancelBinding);
        detail.setUser(new UserInfo(uid));
        detail.setCreateTime(new Date());
        detail.setRead(false);
        return detail;
    }
    /**
     * 账号更换成功
     *
     * @param uid
     * @param type
     * @return
     */
    public static MsgAccountDetail createChangeBindingAccount(Long uid, int type) {
        String msg = "";
        if (type == TYPE_PHONE) {
            msg = "<highlight>手机号更换绑定成功</highlight>";
        } else if (type == TYPE_TB) {
            msg = "<highlight>淘宝更换绑定成功</highlight>";
        } else if (type == TYPE_WX) {
            msg = "<highlight>微信更换绑定成功</highlight>";
        }
        if (StringUtil.isNullOrEmpty(msg))
            return null;
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setBeiZhu("无");
        detail.setContent(msg);
        detail.setTitle("更换绑定账号");
        detail.setType(MsgTypeAccountTypeEnum.bingdingChange);
        detail.setUser(new UserInfo(uid));
        detail.setCreateTime(new Date());
        detail.setRead(false);
        return detail;
    }
    /**
     * 账号打通
     *
     * @param mainUid
     * @param lessUid
     * @return
     */
    public static MsgAccountDetail createConnectAccount(Long mainUid, Long lessUid) {
        if (mainUid == null || lessUid == null)
            return null;
        String msg = String.format("恭喜你账号合并成功,由“<highlight>%s</highlight>”合并到“<highlight>%s</highlight>”", lessUid + "",
                mainUid + "");
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setBeiZhu("无");
        detail.setContent(msg);
        detail.setTitle("账号合并");
        detail.setType(MsgTypeAccountTypeEnum.connect);
        detail.setUser(new UserInfo(mainUid));
        detail.setCreateTime(new Date());
        detail.setRead(false);
        return detail;
    }
    // 账号等级
    public static MsgAccountDetail createUserRank(Long uid, String orderType, int orderCount, String rankName) {
        if (uid == null || rankName == null)
            return null;
        String msg = String.format(
                "恭喜你,上月<highlight>%s</highlight>订单达到<highlight>%s</highlight>单,已为你升级为<highlight>%s</highlight>用户,将会获得对应的福利和特权。",
                orderType, orderCount + "", rankName);
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setBeiZhu("无");
        detail.setContent(msg);
        detail.setTitle("账号等级");
        detail.setType(MsgTypeAccountTypeEnum.level);
        detail.setUser(new UserInfo(uid));
        detail.setCreateTime(new Date());
        detail.setRead(false);
        return detail;
    }
    // 淘宝授权失败
    public static MsgAccountDetail createTaoBaoAuthFail(Long uid, String taoBaoNickName, String reason) {
        if (uid == null || reason == null)
            return null;
        JSONArray msg = new JSONArray();
        JSONObject item = new JSONObject();
        item.put("name", "账号");
        item.put("content", String.format("淘宝昵称[%s]", taoBaoNickName));
        msg.add(item);
        item = new JSONObject();
        item.put("name", "原因");
        item.put("content", reason);
        msg.add(item);
        MsgAccountDetail detail = new MsgAccountDetail();
        detail.setBeiZhu("无");
        detail.setContent(msg.toString());
        detail.setTitle("淘宝账号授权失败");
        detail.setType(MsgTypeAccountTypeEnum.taoBaoAuthFail);
        detail.setUser(new UserInfo(uid));
        detail.setCreateTime(new Date());
        detail.setRead(false);
        return detail;
    }
    
    /**
     * 普通会员、高级会员自动提升