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