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.money.msg.MsgMoneyDetailService;
|
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
|
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
|
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
|
import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService;
|
import com.yeshi.fanli.service.inter.user.invite.MsgInviteDetailService;
|
import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService;
|
|
@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 MsgOtherDetailService msgOtherDetailService;
|
|
@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 void addOtherMsgUnReadCount(Long uid, int count) {
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeOther(num.getTypeOther() + count);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Override
|
public UserMsgUnReadNum getReadStateByUid(Long uid) {
|
return getUserMsgUnReadNum(uid);
|
}
|
|
@Transactional
|
@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);
|
|
}
|
|
@Transactional
|
@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);
|
}
|
|
@Transactional
|
@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);
|
}
|
|
@Transactional
|
@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);
|
}
|
|
@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.setTypeOrder(0);
|
update.setUpdateTime(new Date());
|
update.setGuanXuanReadTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
readAccountMsg(uid);
|
readOrderMsg(uid);
|
readMoneyMsg(uid);
|
readInviteMsg(uid);
|
readUserSystemMsg(uid);
|
readOtherMsg(uid);
|
}
|
|
@Override
|
public void readOtherMsg(Long uid) {
|
msgOtherDetailService.readMsgByUid(uid);
|
UserMsgUnReadNum num = getUserMsgUnReadNum(uid);
|
UserMsgUnReadNum update = new UserMsgUnReadNum();
|
update.setId(num.getId());
|
update.setTypeOther(0);
|
update.setUpdateTime(new Date());
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(update);
|
}
|
|
@Override
|
public void updateSelective(UserMsgUnReadNum num) {
|
if (num != null)
|
userMsgUnReadNumMapper.updateByPrimaryKeySelective(num);
|
}
|
|
}
|