package com.zhujizheng.IHome.everymomentmsg.service; import com.zhujizheng.IHome.everymomentmsg.vo.PYEveryMomentUnreadMsgVO; import com.zhujizheng.IHome.generator.dao.PYEveryMomentMsg; import com.zhujizheng.IHome.generator.mapper.PYEveryMomentMsgMapper; import com.zhujizheng.IHome.generator.mapper.PYUserInfoMapper; import com.zhujizheng.IHome.everymomentmsg.vo.PYEveryMomentMsgVO; import com.zhujizheng.IHome.util.CodeUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * Created with IntelliJ IDEA *

* Author: yons * Date: 2019/04/29 * Time: 00:09 * Description: * Copyright © 2019年 com.zhujizheng. All rights reserved. */ @Slf4j @Service @Transactional(rollbackFor = RuntimeException.class) public class PYEveryMomentMsgServiceImpl implements PYEveryMomentMsgService { @Autowired private PYEveryMomentMsgMapper msgMapper; @Autowired private PYUserInfoMapper userInfoMapper; @Autowired private CodeUtil codeUtil; private static final int DEFAULT_NUM = 20; @Override public List pullEveryMomentMsg(int userId, int msgType, int msgId) { log.info("msgType = " + msgType + ", msgTypeId = " + msgId); int id = codeUtil.dealInt(msgId); List msgList = msgMapper.selectMsgs(userId, msgType, id, DEFAULT_NUM); if (msgList == null) { return null; } List voList = new ArrayList<>(); for (PYEveryMomentMsg msg : msgList) { PYEveryMomentMsgVO vo = PYEveryMomentMsgVO.createVO(msg, userInfoMapper); voList.add(vo); } log.info("voList = " + voList); return voList; } @Override public int updateEveryMomentMsgAllReadedWithUserId(int userId) { log.info("userId = " + userId); return msgMapper.updateMsgAllReadedWithUserId(userId); } @Override public PYEveryMomentUnreadMsgVO selectAllUnreadedMsg(int userId) { log.info("userId = " + userId); List list = msgMapper.selectUnreadMsgs(userId); log.info("list = " + list); if (list == null) { return null; } List voList = new ArrayList<>(); for (PYEveryMomentMsg msg : list) { PYEveryMomentMsgVO vo = PYEveryMomentMsgVO.createVO(msg, userInfoMapper); voList.add(vo); } log.info("voList = " + voList); PYEveryMomentUnreadMsgVO msgVO = PYEveryMomentUnreadMsgVO.createVO(voList); return msgVO; } }