1
0
Просмотр исходного кода

公司邮箱发送数据缺失提醒邮件,目前提供接口给前端,具体邮件实现延后

chenjianhua 7 месяцев назад
Родитель
Сommit
a7c8ab735e

+ 29 - 0
service-base/src/main/java/com/simuwang/base/common/enums/OpenStatusType.java

@@ -0,0 +1,29 @@
+package com.simuwang.base.common.enums;
+
+import java.util.stream.Stream;
+
+/**
+ * FileName: OpenStatusType
+ * Author:   chenjianhua
+ * Date:     2024/9/13 9:14
+ * Description: ${DESCRIPTION}
+ */
+public enum OpenStatusType {
+    YES(1, "是"), NO(0, "否");
+
+    private final Integer code;
+    private final String msg;
+
+    OpenStatusType(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}

+ 4 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/IdVO.java

@@ -25,4 +25,8 @@ public class IdVO {
      * 批量ID集合
      */
     private List<Integer> idList;
+    /**
+     * 批量CompanyId集合
+     */
+    private List<String> companyIdList;
 }

+ 22 - 2
service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java

@@ -87,7 +87,7 @@ public class CompanyEmailSendHistoryController extends BaseController {
     }
     /**
      * 根据ID批量删除邮箱发送历史数据
-     * @param comyanyEmailIdVO
+     * @param comyanyEmailIdVO 已选行的idList
      * @return
      */
     @PostMapping("delete-email-history")
@@ -133,7 +133,7 @@ public class CompanyEmailSendHistoryController extends BaseController {
 
     /**
      * 根据ID删除邮箱配置
-     * @param comyanyEmailIdVO
+     * @param comyanyEmailIdVO --id
      * @return
      */
     @PostMapping("delete-email-config")
@@ -144,6 +144,26 @@ public class CompanyEmailSendHistoryController extends BaseController {
         }catch (Exception e){
             vo = new ResultVo(ResultCode.DELETE_FAILED);
             logger.error(e.getMessage(),e);
+            vo.setMsg(e.getMessage());
+        }
+        return vo;
+    }
+
+
+    /**
+     * 根据IDList发送数据确实邮件
+     * @param comyanyEmailIdVO  已选行的companyIdList
+     * @return
+     */
+    @PostMapping("send-company-email")
+    public ResultVo sendCompanyEmail(@RequestBody IdVO comyanyEmailIdVO){
+        ResultVo vo = new ResultVo(ResultCode.SUCCESS);
+        try{
+            companyEmailConfigService.sendCompanyEmail(comyanyEmailIdVO.getCompanyIdList());
+        }catch (Exception e){
+            vo = new ResultVo(ResultCode.SUBMIT_FAILED);
+            vo.setMsg(e.getMessage());
+            logger.error(e.getMessage(),e);
         }
         return vo;
     }

+ 2 - 0
service-manage/src/main/java/com/simuwang/manage/service/CompanyEmailConfigService.java

@@ -17,4 +17,6 @@ public interface CompanyEmailConfigService {
     void deleteCompanyEmailConfig(Integer id);
 
     void updateCompanyEmailConfig(CompanyEmailConfigVO companyEmailConfigVO);
+
+    void sendCompanyEmail(List<String> idList);
 }

+ 24 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailConfigServiceImpl.java

@@ -1,5 +1,6 @@
 package com.simuwang.manage.service.impl;
 
+import com.simuwang.base.common.enums.OpenStatusType;
 import com.simuwang.base.mapper.CompanyEmailConfigMapper;
 import com.simuwang.base.pojo.dos.CompanyEmailConfigDO;
 import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
@@ -7,6 +8,7 @@ import com.simuwang.manage.service.CompanyEmailConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -65,4 +67,26 @@ public class CompanyEmailConfigServiceImpl implements CompanyEmailConfigService
             companyEmailConfigMapper.updateCompanyEmailConfig(configDO);
         }
     }
+
+    @Override
+    public void sendCompanyEmail(List<String> companyIdList) {
+        for(String companyId : companyIdList){
+            List<CompanyEmailConfigVO> configVOs = companyEmailConfigMapper.searchEmailConfig(companyId);
+            if(configVOs .size() > 0){
+                List<String> emailList = new ArrayList<>();
+                for(CompanyEmailConfigVO configVO : configVOs){
+                    if(configVO.getOpenStatus().equals(OpenStatusType.YES.getCode())){
+                        //获取开启的邮箱地址
+                        emailList.add(configVO.getEmail());
+                    }
+                }
+                //把缺失数据的邮件发送到该公司名下的邮箱地址
+                sendEmail(companyId,emailList);
+            }
+        }
+    }
+    //邮件校验处理
+    private void sendEmail(String companyId, List<String> emailList) {
+
+    }
 }