package com.yeshi.fanli.system.service.impl.msg;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.fanli.facade.system.entity.msg.UserMsgUnReadNum;
|
import org.fanli.facade.system.service.msg.UserMsgReadStateService;
|
import org.fanli.facade.system.service.msg.UserSystemMsgService;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.base.entity.user.UserInfo;
|
import com.yeshi.fanli.system.dao.msg.UserMsgUnReadNumMapper;
|
|
@Service
|
public class UserMsgReadStateServiceImpl implements UserMsgReadStateService {
|
|
@Resource
|
private UserMsgUnReadNumMapper userMsgUnReadNumMapper;
|
|
@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);
|
}
|
|
@Transactional
|
@Override
|
public void readOrderMsg(Long uid) {
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeOrder(0);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Transactional
|
@Override
|
public void readAccountMsg(Long uid) {
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeAccount(0);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Transactional
|
@Override
|
public void readMoneyMsg(Long uid) {
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeMoney(0);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Transactional
|
@Override
|
public void readInviteMsg(Long uid) {
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeInvite(0);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Transactional
|
@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);
|
}
|
|
}
|