admin
2021-01-23 c3e8c86d062fbac17758274156a4f18655bdd3a2
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserInfoExtraServiceImpl.java
@@ -5,12 +5,13 @@
import com.ks.daylucky.pojo.DO.UserInfoExtra;
import com.ks.daylucky.pojo.DTO.UserMsgSettings;
import com.ks.daylucky.service.UserInfoExtraService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@Service(version = "1.0.0")
@Service
public class UserInfoExtraServiceImpl implements UserInfoExtraService {
    @Resource
@@ -18,11 +19,22 @@
    @Override
    public void init(Long uid) {
    public void init(Long uid, boolean msgSetting) {
        UserInfoExtra extra = new UserInfoExtra();
        extra.setUid(uid);
        extra.setCreateTime(new Date());
        extra.setMsgSetting(new UserMsgSettings().toString());
        extra.setMsgUnreadCount(0);
        UserMsgSettings userMsgSettings = new UserMsgSettings();
        userMsgSettings.setDrawnMsg(true);
        userMsgSettings.setAssistSuccessMsg(true);
        userMsgSettings.setJoinActivityMsg(true);
        userMsgSettings.setNotOpenActivityMsg(false);
        userMsgSettings.setNotDrawnMsg(false);
        userMsgSettings.setOpenActivityMsg(false);
        if (msgSetting) {
            extra.setMsgSetting(userMsgSettings.toString());
        }
        userInfoExtraMapper.insertSelective(extra);
    }
@@ -42,9 +54,36 @@
    @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(setting.toString());
        extra.setMsgSetting(old.toString());
        extra.setUpdateTime(new Date());
        userInfoExtraMapper.updateByPrimaryKeySelective(extra);
    }
@@ -55,4 +94,15 @@
        String msg = userInfoExtra.getMsgSetting();
        return UserMsgSettings.parse(msg);
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void addMsgUnReadCount(Long uid, int count) {
        UserInfoExtra userInfoExtra = userInfoExtraMapper.selectByPrimaryKeyForUpdate(uid);
        UserInfoExtra update = new UserInfoExtra();
        update.setUid(uid);
        update.setMsgUnreadCount(userInfoExtra.getMsgUnreadCount() + count);
        update.setUpdateTime(new Date());
        userInfoExtraMapper.updateByPrimaryKeySelective(update);
    }
}