From d830cc0812ec66dcb6dd3300f09ab1998ab170e3 Mon Sep 17 00:00:00 2001 From: mg <maokecheng@163.com> Date: 星期三, 19 十月 2022 11:39:14 +0800 Subject: [PATCH] 添加发送消息优化。 --- ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java index b0bb2c3..aecf6fd 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java @@ -4,10 +4,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.entity.message.Message; import com.ycl.entity.message.SmsAudit; +import com.ycl.entity.user.UmsDepartManage; import com.ycl.mapper.message.SmsAuditMapper; +import com.ycl.mapper.user.UmsDepartManageMapper; import com.ycl.service.message.ISmsAuditService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -19,6 +26,10 @@ */ @Service public class SmsAuditServiceImpl extends ServiceImpl<SmsAuditMapper, SmsAudit> implements ISmsAuditService { + + @Resource + private UmsDepartManageMapper umsDepartManageMapper; + @Override public IPage<SmsAudit> list(SmsAudit smsAudit) { Page<SmsAudit> page = new Page<>(smsAudit.getCurrent(), smsAudit.getPageSize()); @@ -29,4 +40,42 @@ Page<SmsAudit> result = baseMapper.selectPage(page, queryWrapper); return result; } + + @Override + public void startAuditSms(Message message) { + String[] arr = message.getTargetTo().split(","); + List<Long> ids = new ArrayList<>(); + for (int i = 0; i < arr.length; i++) { + ids.add(Long.parseLong(arr[i])); + } + //鏌ヨ閮ㄩ棬 + LambdaQueryWrapper<UmsDepartManage> queryDeptWrapper = new LambdaQueryWrapper<>(); + queryDeptWrapper.in(UmsDepartManage::getUserId, ids); + List<UmsDepartManage> depts = umsDepartManageMapper.selectList(queryDeptWrapper); + //閮ㄩ棬鍘婚噸 + List<UmsDepartManage> uniques = depts.stream().collect( + Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o->o.getDepartId()))), + ArrayList::new)); + List<Long> deptLeadIds = uniques.stream().map(UmsDepartManage::getDepartId).collect(Collectors.toList()); + LambdaQueryWrapper<UmsDepartManage> queryDeptLeadWrapper = new LambdaQueryWrapper<>(); + queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader,1); + List<UmsDepartManage> deptLeads = umsDepartManageMapper.selectList(queryDeptLeadWrapper); + //娣诲姞鐭俊瀹℃牳 + List<SmsAudit> audits = new ArrayList<>(); + for (UmsDepartManage depart : deptLeads) { + SmsAudit audit = new SmsAudit(); + audit.setMessageId(message.getId()); + audit.setAuditId(depart.getUserId()); + //寰呭鏍哥姸鎬� + audit.setAuditStatus(0); + Long userId = Long.parseLong(message.getTargetFrom()); + audit.setCreateUser(userId); + audit.setCreateTime(new Date()); + audit.setUpdateUser(userId); + audit.setUpdateTime(new Date()); + audits.add(audit); + } + saveBatch(audits); + + } } -- Gitblit v1.8.0