| 
					
				 | 
			
			
				@@ -1,283 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package com.usky.iot.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.toolkit.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.toolkit.Wrappers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.google.gson.JsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.common.core.bean.ApiResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.common.core.bean.CommonPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.common.security.utils.SecurityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.domain.MceContent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.domain.MceMbuser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.domain.MceReceive; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.domain.MceSetting; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.mapper.MceReceiveMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.MceContentService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.MceMbuserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.MceReceiveService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.common.mybatis.core.AbstractCrudService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.MceSettingService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.config.HttpClientUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.system.RemoteUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.system.domain.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.scheduling.annotation.Async; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * <p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 消息接收表 服务实现类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @author han 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @since 2024-04-19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper, MceReceive> implements MceReceiveService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private MceContentService mceContentService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private MceMbuserService mceMbuserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private RemoteUserService remoteUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private MceSettingService mceSettingService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public CommonPage<Object> mceList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<Object> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LambdaQueryWrapper<MceContent> lambdaQuery1 = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lambdaQuery1.select(MceContent::getId, MceContent::getInfoTitle, MceContent::getInfoContent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .like(StringUtils.isNotBlank(infoTitle),MceContent::getInfoTitle,infoTitle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MceContent> list1 = mceContentService.list(lambdaQuery1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IPage<MceReceive> page = new Page<>(current, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<Integer> contentIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(list1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for(int i=0;i<list1.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                contentIds.add(list1.get(i).getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lambdaQuery.select(MceReceive::getId, MceReceive::getInfoType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    MceReceive::getContentId, MceReceive::getReadFlag, MceReceive::getCreateTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    MceReceive::getReceiverId,MceReceive::getModuleId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),MceReceive::getCreateTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            startTime,endTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .eq(StringUtils.isNotBlank(infoType),MceReceive::getInfoType, infoType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .eq(MceReceive::getReceiverId, SecurityUtils.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .in(CollectionUtils.isNotEmpty(contentIds),MceReceive::getContentId,contentIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .orderByDesc(MceReceive::getId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                .inSql(StringUtils.isNotBlank(infoTitle),MceReceive::getContentId,"SELECT id FROM mce_content WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        "info_title like '%" + infoTitle + "%' AND tenant_id = "+SecurityUtils.getTenantId()+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            page = this.page(page,lambdaQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (CollectionUtils.isNotEmpty(page.getRecords())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int i = 0; i < page.getRecords().size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    map.put("id", page.getRecords().get(i).getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    map.put("infoType", page.getRecords().get(i).getInfoType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    map.put("readFlag", page.getRecords().get(i).getReadFlag()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    map.put("moduleId", page.getRecords().get(i).getModuleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    map.put("createTime", page.getRecords().get(i).getCreateTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (CollectionUtils.isNotEmpty(list1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int j = 0; j < list1.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (page.getRecords().get(i).getContentId().equals(list1.get(j).getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                map.put("infoTitle", list1.get(j).getInfoTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                map.put("infoContent", list1.get(j).getInfoContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    list.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public CommonPage<Object> mceManageList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<Object> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IPage<MceContent> page = new Page<>(current, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LambdaQueryWrapper<MceContent> lambdaQuery1 = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lambdaQuery1.select(MceContent::getId, MceContent::getInfoTitle, MceContent::getInfoContent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                MceContent::getCreateTime,MceContent::getInfoType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .like(StringUtils.isNotBlank(infoTitle),MceContent::getInfoTitle,infoTitle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),MceContent::getCreateTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        startTime,endTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(StringUtils.isNotBlank(infoType),MceContent::getInfoType, infoType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(MceContent::getCreateBy,SecurityUtils.getUsername()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(MceContent::getTenantId,SecurityUtils.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        page = mceContentService.page(page,lambdaQuery1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(page.getRecords())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<Integer> contentIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < page.getRecords().size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                contentIds.add(page.getRecords().get(i).getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QueryWrapper<MceReceive> queryWrapper = Wrappers.query(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            queryWrapper.select("content_id AS contentId","COUNT(read_flag=0 or null) as notReadCount","COUNT(read_flag=1 or null) as readCount") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .in("content_id",contentIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .groupBy("content_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<Map<String,Object>> readStatisticList = this.listMaps(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < page.getRecords().size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("id", page.getRecords().get(i).getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("infoTitle", page.getRecords().get(i).getInfoTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("infoContent", page.getRecords().get(i).getInfoContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("infoType", page.getRecords().get(i).getInfoType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("createTime", page.getRecords().get(i).getCreateTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int j = 0; j < readStatisticList.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (page.getRecords().get(i).getId().equals(readStatisticList.get(j).get("contentId"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        map.put("notReadCount", readStatisticList.get(j).get("notReadCount")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        map.put("readCount", readStatisticList.get(j).get("readCount")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                list.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public CommonPage<MceReceive> mceManageById(Integer id, Integer current, Integer size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IPage<MceReceive> page = new Page<>(current, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lambdaQuery.eq(MceReceive::getContentId,id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        page = this.page(page,lambdaQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (CollectionUtils.isNotEmpty(page.getRecords())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            List<Integer> userIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            for (int i = 0; i < page.getRecords().size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                userIds.add(page.getRecords().get(i).getReceiverId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            List<Integer> distinctUserIds = userIds.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    .distinct() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            ApiResult<List<SysUser>> userApi = remoteUserService.userByIdList(distinctUserIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            List<SysUser> list1 = userApi.getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            for (int j = 0; j < page.getRecords().size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                if (CollectionUtils.isNotEmpty(list1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    for (int k = 0; k < list1.size(); k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        long longValue = list1.get(k).getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        Integer intValue = (int) longValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        if (page.getRecords().get(j).getReceiverId().equals(intValue)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                            page.getRecords().get(j).setUpdateBy(list1.get(k).getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public Map<String, Object> mceReceiveStatic() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LocalDateTime currentDate = LocalDateTime.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LocalDateTime oneYearAgo = currentDate.minusYears(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LocalDateTime zeroTime = oneYearAgo.withHour(0).withMinute(0).withSecond(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QueryWrapper<MceReceive> queryWrapper = Wrappers.query(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryWrapper.select("COUNT(read_flag=0 or null) as notReadCount","COUNT(read_flag=1 or null) as readCount" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ,"info_type AS infoType") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq("receiver_id",SecurityUtils.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .between("create_time",zeroTime,currentDate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .groupBy("info_type"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<Map<String,Object>> readStatisticList = this.listMaps(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lambdaQuery.eq(MceReceive::getReceiverId,SecurityUtils.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(MceReceive::getReadFlag,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer notReadCount = this.count(lambdaQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("notReadCount", notReadCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("infoTypeStatic", readStatisticList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void updateMceReceive(MceReceive mceReceive){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LambdaUpdateWrapper<MceReceive> updateWrapper = new UpdateWrapper<MceReceive>().lambda(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (Objects.nonNull(mceReceive.getId())&&!mceReceive.getId().equals(0)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateWrapper.eq(MceReceive::getId,mceReceive.getId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getReadFlag,1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getUpdateBy,SecurityUtils.getUsername()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getUpdateTime,LocalDateTime.now()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateWrapper.eq(MceReceive::getReceiverId,SecurityUtils.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .eq(MceReceive::getReadFlag,0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getReadFlag,1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getUpdateBy,SecurityUtils.getUsername()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(MceReceive::getUpdateTime,LocalDateTime.now()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.update(updateWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void add(String mceReceive){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        JSONObject mceReceiveVO = JSONObject.parseObject(mceReceive); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        MceContent mceContent = new MceContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setInfoTitle(mceReceiveVO.get("infoTitle").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setInfoContent(mceReceiveVO.get("infoContent").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setInfoType(mceReceiveVO.get("infoType").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setCreateBy(SecurityUtils.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setCreateTime(LocalDateTime.now()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        mceContent.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContent.setTenantId(SecurityUtils.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mceContentService.save(mceContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer contentId = mceContent.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ApiResult<List<SysUser>> userAllList = remoteUserService.userAllList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<SysUser> list = userAllList.getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (CollectionUtils.isNotEmpty(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<Integer> userIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int g = 0; g < list.size(); g++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                userIds.add(list.get(g).getUserId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            LambdaQueryWrapper<MceMbuser> lambdaQuery3 = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lambdaQuery3.in(MceMbuser::getUserId,userIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<MceMbuser> list3 = mceMbuserService.list(lambdaQuery3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < list.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                MceReceive mceReceive1 = new MceReceive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setReceiverId(list.get(i).getUserId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setContentId(contentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setReadFlag(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setInfoType(mceReceiveVO.get("infoType").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setModuleId((int)mceReceiveVO.get("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setReceiverName(list.get(i).getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setCreateBy(SecurityUtils.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setCreateTime(LocalDateTime.now()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mceReceive1.setTenantId(list.get(i).getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                mceReceive1.setDeptId(list.get(i).getDeptId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.save(mceReceive1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Integer mceReceiveId = mceReceive1.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                LambdaQueryWrapper<MceSetting> lambdaQuery = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                lambdaQuery.eq(MceSetting::getCreateBy,list.get(i).getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                List<MceSetting> list1 = mceSettingService.list(lambdaQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (CollectionUtils.isNotEmpty(list1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    JSONObject appMode = JSONObject.parseObject(list1.get(0).getAppMode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    JSONObject wcMode = JSONObject.parseObject(list1.get(0).getWcMode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (int j = 0; j < list3.size(); j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (appMode.get(mceReceiveVO.get("infoType").toString()).equals(true)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getCids())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                mceContentService.sendApp(mceReceiveVO,list3.get(j).getCids(),0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (wcMode.get(mceReceiveVO.get("infoType").toString()).equals(true)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getOpenid())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                mceContentService.sendApp(mceReceiveVO,list3.get(j).getOpenid(),mceReceiveId,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 |