package com.hssx.cloudmodel.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hssx.cloudmodel.constant.Constant; import com.hssx.cloudmodel.entity.NewsNoticeUser; import com.hssx.cloudmodel.entity.User; import com.hssx.cloudmodel.entity.VnoticeUser; import com.hssx.cloudmodel.mapper.NewsNoticeUserMapper; import com.hssx.cloudmodel.mapper.UserMapper; import com.hssx.cloudmodel.mapper.VnoticeUserMapper; import com.hssx.cloudmodel.service.VnoticeUserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hssx.cloudmodel.util.HttpRespMsg; import com.hssx.cloudmodel.util.PageUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* VIEW 服务实现类 *

* * @author 吴涛涛 * @since 2019-08-10 */ @Service public class VnoticeUserServiceImpl extends ServiceImpl implements VnoticeUserService { @Resource VnoticeUserMapper vnoticeUserMapper; @Resource NewsNoticeUserMapper newsNoticeUserMapper; @Resource UserMapper userMapper; @Override public HttpRespMsg pageList(PageUtil page, String token) { HttpRespMsg msg = new HttpRespMsg(); List list = new ArrayList<>(); User user = userMapper.selectOne(new QueryWrapper().eq("head_imgurl", token)); List> mapList = new ArrayList<>(); if (user != null) { Map map = new HashMap<>(); //加载全部 System.out.println(page.getPageNum()+" "+page.getPageSize()); PageHelper.startPage(page.getPageNum(), page.getPageSize()); list = vnoticeUserMapper.selectList(new QueryWrapper().eq("user_id", user.getId()).eq("notice_type", Constant.APPROVEL_TYPE).orderByDesc("id")); long count = list.stream().filter(x -> x.getIsRead() == 0).count(); PageInfo pageInfo = new PageInfo(list); map.put("approvelList", pageInfo); map.put("isNotReadCount", count); mapList.add(map); List list1 = vnoticeUserMapper.selectList(new QueryWrapper().eq("user_id", user.getId()).eq("notice_type",Constant.MAINTAIN_TYPE).orderByDesc("id")); count = list.stream().filter(x -> x.getIsRead() == 0).count(); PageInfo pageInfo1 = new PageInfo(list1); Map map1 = new HashMap<>(); map1.put("matainList", pageInfo1); map1.put("isNotReadCount", count); mapList.add(map1); List list2 = vnoticeUserMapper.selectList(new QueryWrapper().eq("user_id", user.getId()).eq("notice_type",Constant.EMERGENCY_TYPE).orderByDesc("id")); count = list.stream().filter(x -> x.getIsRead() == 0).count(); PageInfo pageInfo2 = new PageInfo(list2); Map map2 = new HashMap<>(); map2.put("emergencyList", pageInfo2); map2.put("isNotReadCount", count); mapList.add(map2); msg.data = mapList; } else { msg.setError("用户不存在或者未登录"); } return msg; } @Override public HttpRespMsg read(Integer id) { HttpRespMsg msg = new HttpRespMsg(); NewsNoticeUser item = new NewsNoticeUser(); item.setId(id); item.setIsRead(1); newsNoticeUserMapper.updateById(item); msg.data = vnoticeUserMapper.selectById(id); return msg; } }