From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 14 四月 2025 23:10:22 +0800 Subject: [PATCH] 批量审核和图片保存bug --- ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java | 88 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 82 insertions(+), 6 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 d307642..2df405f 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,13 +4,19 @@ 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.common.util.CommonUtils; +import com.ycl.dto.message.MessageSmsParam; import com.ycl.entity.message.Message; import com.ycl.entity.message.SmsAudit; import com.ycl.entity.user.UmsDepartManage; +import com.ycl.exception.ApiException; +import com.ycl.mapper.message.MessageMapper; import com.ycl.mapper.message.SmsAuditMapper; import com.ycl.mapper.user.UmsDepartManageMapper; import com.ycl.service.message.ISmsAuditService; +import com.ycl.service.user.UmsAdminService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; @@ -18,7 +24,7 @@ /** * <p> - * 鐭俊瀹℃牳 鏈嶅姟瀹炵幇绫� + * 鐭俊瀹℃牳 鏈嶅姟瀹炵幇绫� * </p> * * @author mg @@ -29,6 +35,11 @@ @Resource private UmsDepartManageMapper umsDepartManageMapper; + @Resource + private MessageMapper messageMapper; + + @Resource + private UmsAdminService adminService; @Override public IPage<SmsAudit> list(SmsAudit smsAudit) { @@ -58,16 +69,17 @@ 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<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); + queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader, 1); List<UmsDepartManage> deptLeads = umsDepartManageMapper.selectList(queryDeptLeadWrapper); + + //瀹℃牳鍘婚噸 + List<UmsDepartManage> uniqueLeads = deptLeads.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getUserId()))), ArrayList::new)); //娣诲姞鐭俊瀹℃牳 List<SmsAudit> audits = new ArrayList<>(); - for (UmsDepartManage depart : deptLeads) { + for (UmsDepartManage depart : uniqueLeads) { SmsAudit audit = new SmsAudit(); audit.setMessageId(message.getId()); audit.setAuditId(depart.getUserId()); @@ -81,6 +93,70 @@ audits.add(audit); } saveBatch(audits); + } + @Override + public Boolean checkSms(MessageSmsParam messageSmsParam) { + switch (messageSmsParam.getStatus()) { + //鏈�氳繃 + case 0: + noPassMethod(messageSmsParam); + break; + //閫氳繃 + case 1: + passMethod(messageSmsParam); + break; + default: + throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�"); + } + return true; + } + + @Transactional + public void passMethod(MessageSmsParam messageSmsParam) { + Message message = messageMapper.selectById(messageSmsParam.getMessageId()); + if (CommonUtils.isEmpty(message)) { + throw new ApiException("鏈壘鍒拌瀹℃牳鐭俊娑堟伅"); + } + //id鎹㈡垚鎵嬫満鍙� + String targetToPhone = adminService.getTargetTo(message.getTargetTo(), message.getChannelCode()); + message.setTargetTo(targetToPhone); + + Message updateMessage = new Message(); + updateMessage.setSendTime(new Date()); + updateMessage.setIsScan(1); + updateMessage.setUpdateTime(new Date()); + updateMessage.setUpdateUser(messageSmsParam.getUpdateUser()); + + LambdaQueryWrapper<Message> updateWrapper = new LambdaQueryWrapper<>(); + updateWrapper.eq(Message::getMessageNumber, message.getMessageNumber()); + messageMapper.update(updateMessage, updateWrapper); + //瀹℃牳鐭俊鏇存柊 + updateSmsAudit(messageSmsParam); + } + + @Transactional + public void noPassMethod(MessageSmsParam messageSmsParam) { + //瀹℃牳鐭俊鏇存柊 + updateSmsAudit(messageSmsParam); + } + + public void updateSmsAudit(MessageSmsParam messageSmsParam) { + SmsAudit smsAudit = packageData(messageSmsParam); + LambdaQueryWrapper<SmsAudit> smsAuditUpdate = new LambdaQueryWrapper<>(); + smsAuditUpdate.eq(SmsAudit::getMessageId, messageSmsParam.getMessageId()); + baseMapper.update(smsAudit, smsAuditUpdate); + } + + public SmsAudit packageData(MessageSmsParam messageSmsParam) { + SmsAudit smsAudit = new SmsAudit(); + smsAudit.setMessageId(messageSmsParam.getMessageId()); + smsAudit.setAuditStatus(messageSmsParam.getStatus()); + smsAudit.setAuditOpinion(messageSmsParam.getAuditOpinion()); + smsAudit.setAuditResult(messageSmsParam.getResult()); + smsAudit.setRealAuditId(messageSmsParam.getUpdateUser()); + smsAudit.setUpdateTime(new Date()); + smsAudit.setUpdateUser(messageSmsParam.getUpdateUser()); + return smsAudit; } } -- Gitblit v1.8.0