| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.common.GetLook; |
| | | import com.yuanchu.mom.pojo.InformationNotification; |
| | | import com.yuanchu.mom.mapper.InformationNotificationMapper; |
| | | import com.yuanchu.mom.pojo.InformationNotification; |
| | | import com.yuanchu.mom.pojo.InformationNotificationDto; |
| | | import com.yuanchu.mom.service.InformationNotificationService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDate; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | @Service |
| | | public class InformationNotificationServiceImpl extends ServiceImpl<InformationNotificationMapper, InformationNotification> implements InformationNotificationService { |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private GetLook getLook; |
| | | |
| | | @Override |
| | | public IPage<InformationNotificationDto> getPage(Page page, String messageType) { |
| | | return baseMapper.getPage(page, messageType); |
| | | Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); |
| | | return baseMapper.getPage(page, messageType, map1.get("userId")); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public Boolean checkForUnreadData() { |
| | | Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); |
| | | List<InformationNotification> informationNotifications = baseMapper.selectList( |
| | | Wrappers.<InformationNotification>lambdaQuery() |
| | | .eq(InformationNotification::getConsigneeId, map1.get("userId")) |
| | | .eq(InformationNotification::getViewStatus, false) |
| | | .last("limit 1")); |
| | | return !informationNotifications.isEmpty(); |
| | | Map<String, Integer> map1 = null; |
| | | try { |
| | | map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); |
| | | List<InformationNotification> informationNotifications = baseMapper.selectList( |
| | | Wrappers.<InformationNotification>lambdaQuery() |
| | | .eq(InformationNotification::getConsigneeId, map1.get("userId")) |
| | | .eq(InformationNotification::getViewStatus, false) |
| | | .last("limit 1")); |
| | | return !informationNotifications.isEmpty(); |
| | | } catch (Exception e) { |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | |
| | | .eq(InformationNotification::getId, id) |
| | | .set(InformationNotification::getViewStatus, true)); |
| | | } |
| | | |
| | | @Override |
| | | public int addInformationNotification(InformationNotification informationNotification) { |
| | | return baseMapper.insert(informationNotification); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getNumberFourTypesMessagesHomePage() { |
| | | Map<String, Integer> map1 = null; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); |
| | | Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery() |
| | | .eq(InformationNotification::getConsigneeId, map1.get("userId"))); |
| | | Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery() |
| | | .eq(InformationNotification::getConsigneeId, map1.get("userId")) |
| | | .eq(InformationNotification::getViewStatus, true)); |
| | | LocalDate today = LocalDate.now(); |
| | | LocalDate sevenDaysAgo = today.minusDays(7); |
| | | Long totalNumberOfMessagesInThePastSevenDays = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery() |
| | | .eq(InformationNotification::getConsigneeId, map1.get("userId")) |
| | | .between(InformationNotification::getCreateTime, today, sevenDaysAgo)); |
| | | long remainingToDo = totalNumberOfMessages - totalNumberOfReadMessages; |
| | | map.put("totalNumberOfMessages", totalNumberOfMessages); |
| | | map.put("remainingToDo", remainingToDo); |
| | | map.put("totalNumberOfReadMessages", totalNumberOfReadMessages); |
| | | map.put("totalNumberOfMessagesInThePastSevenDays", totalNumberOfMessagesInThePastSevenDays); |
| | | return map; |
| | | } |
| | | } |