package com.ks.daylucky.service.impl.remote;
|
|
import com.ks.daylucky.exception.UserInfoExtraException;
|
import com.ks.daylucky.mapper.UserInfoExtraMapper;
|
import com.ks.daylucky.pojo.DO.UserInfoExtra;
|
import com.ks.daylucky.pojo.DTO.UserMsgSettings;
|
import com.ks.daylucky.service.UserInfoExtraService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
|
@Service
|
public class UserInfoExtraServiceImpl implements UserInfoExtraService {
|
|
@Resource
|
private UserInfoExtraMapper userInfoExtraMapper;
|
|
|
@Override
|
public void init(Long uid) {
|
UserInfoExtra extra = new UserInfoExtra();
|
extra.setUid(uid);
|
extra.setCreateTime(new Date());
|
extra.setMsgSetting(new UserMsgSettings().toString());
|
extra.setMsgUnreadCount(0);
|
userInfoExtraMapper.insertSelective(extra);
|
}
|
|
@Override
|
public UserInfoExtra getUserInfoExtra(Long uid) {
|
return userInfoExtraMapper.selectByPrimaryKey(uid);
|
}
|
|
@Override
|
public void setMsgRead(Long uid) throws UserInfoExtraException {
|
UserInfoExtra extra = new UserInfoExtra();
|
extra.setUid(uid);
|
extra.setMsgUnreadCount(0);
|
extra.setUpdateTime(new Date());
|
userInfoExtraMapper.updateByPrimaryKeySelective(extra);
|
}
|
|
@Override
|
public void setUserMsgSetting(Long uid, UserMsgSettings setting) {
|
UserMsgSettings old = getUserMsgSettings(uid);
|
//设置已经设置的
|
if (setting.getAssistSuccessMsg() != null) {
|
old.setAssistSuccessMsg(setting.getAssistSuccessMsg());
|
}
|
|
if (setting.getDrawnMsg() != null) {
|
old.setDrawnMsg(setting.getDrawnMsg());
|
}
|
|
if (setting.getJoinActivityMsg() != null) {
|
old.setJoinActivityMsg(setting.getJoinActivityMsg());
|
}
|
|
if (setting.getNotDrawnMsg() != null) {
|
old.setNotDrawnMsg(setting.getNotDrawnMsg());
|
}
|
|
if (setting.getNotOpenActivityMsg() != null) {
|
old.setNotOpenActivityMsg(setting.getNotOpenActivityMsg());
|
}
|
|
if (setting.getOpenActivityMsg() != null) {
|
old.setOpenActivityMsg(setting.getOpenActivityMsg());
|
}
|
|
|
UserInfoExtra extra = new UserInfoExtra();
|
extra.setUid(uid);
|
extra.setMsgSetting(old.toString());
|
extra.setUpdateTime(new Date());
|
userInfoExtraMapper.updateByPrimaryKeySelective(extra);
|
}
|
|
@Override
|
public UserMsgSettings getUserMsgSettings(Long uid) {
|
UserInfoExtra userInfoExtra = userInfoExtraMapper.selectByPrimaryKeyForUpdate(uid);
|
String msg = userInfoExtra.getMsgSetting();
|
return UserMsgSettings.parse(msg);
|
}
|
}
|