From 23f7b250c00597ad89282075460a4c27dffe1ada Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 19 一月 2019 17:39:06 +0800 Subject: [PATCH] Merge branch 'dev-msg' --- fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserMsgReadStateServiceImpl.java | 186 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 186 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserMsgReadStateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserMsgReadStateServiceImpl.java new file mode 100644 index 0000000..c7e3add --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserMsgReadStateServiceImpl.java @@ -0,0 +1,186 @@ +package com.yeshi.fanli.service.impl.msg; + +import java.util.Date; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.yeshi.fanli.dao.mybatis.msg.UserMsgUnReadNumMapper; +import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.service.inter.msg.MsgAccountDetailService; +import com.yeshi.fanli.service.inter.msg.MsgInviteDetailService; +import com.yeshi.fanli.service.inter.msg.MsgMoneyDetailService; +import com.yeshi.fanli.service.inter.msg.MsgOrderDetailService; +import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService; +import com.yeshi.fanli.service.inter.msg.UserSystemMsgService; + +@Service +public class UserMsgReadStateServiceImpl implements UserMsgReadStateService { + + @Resource + private UserMsgUnReadNumMapper userMsgUnReadNumMapper; + + @Resource + private MsgAccountDetailService msgAccountDetailService; + + @Resource + private MsgOrderDetailService msgOrderDetailService; + + @Resource + private MsgInviteDetailService msgInviteDetailService; + + @Resource + private MsgMoneyDetailService msgMoneyDetailService; + + @Resource + private UserSystemMsgService userSystemMsgService; + + private UserMsgUnReadNum getUserMsgUnReadNum(Long uid) { + UserMsgUnReadNum userMsgUnReadNum = userMsgUnReadNumMapper.selectByUid(uid); + if (userMsgUnReadNum == null) { + UserMsgUnReadNum um = new UserMsgUnReadNum(); + um.setCreateTime(new Date()); + um.setUser(new UserInfo(uid)); + userMsgUnReadNumMapper.insertSelective(um); + return userMsgUnReadNumMapper.selectByPrimaryKey(um.getId()); + } + return userMsgUnReadNum; + } + + @Override + public void addOrderMsgUnReadCount(Long uid, int count) { + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeOrder(num.getTypeOrder() + count); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void addAccountMsgUnReadCount(Long uid, int count) { + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeAccount(num.getTypeAccount() + count); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void addMoneyMsgUnReadCount(Long uid, int count) { + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeMoney(num.getTypeMoney() + count); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void addInviteMsgUnReadCount(Long uid, int count) { + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeInvite(num.getTypeInvite() + count); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void addSystemMsgUnReadCount(Long uid, int count) { + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeSystem(num.getTypeSystem() + count); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public UserMsgUnReadNum getReadStateByUid(Long uid) { + return getUserMsgUnReadNum(uid); + } + + @Override + public void readOrderMsg(Long uid) { + msgOrderDetailService.readMsgByUid(uid); + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeOrder(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + + } + + @Override + public void readAccountMsg(Long uid) { + msgAccountDetailService.readMsgByUid(uid); + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeAccount(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void readMoneyMsg(Long uid) { + msgMoneyDetailService.readMsgByUid(uid); + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeMoney(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void readInviteMsg(Long uid) { + msgInviteDetailService.readMsgByUid(uid); + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeInvite(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Override + public void readUserSystemMsg(Long uid) { + userSystemMsgService.readMsgByUid(uid); + + UserMsgUnReadNum num = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(num.getId()); + update.setTypeSystem(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + } + + @Transactional + @Override + public void setAllMsgRead(Long uid) { + UserMsgUnReadNum userMsgNum = getUserMsgUnReadNum(uid); + UserMsgUnReadNum update = new UserMsgUnReadNum(); + update.setId(userMsgNum.getId()); + update.setTypeAccount(0); + update.setTypeInvite(0); + update.setTypeMoney(0); + update.setTypeOrder(0); + update.setTypeScore(0); + update.setTypeSystem(0); + update.setUpdateTime(new Date()); + userMsgUnReadNumMapper.updateByPrimaryKeySelective(update); + readAccountMsg(uid); + readOrderMsg(uid); + readMoneyMsg(uid); + readInviteMsg(uid); + readUserSystemMsg(uid); + } + +} -- Gitblit v1.8.0