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