浏览代码

相机协作场景

lyhzzz 2 年之前
父节点
当前提交
3724fcdfae

+ 1 - 1
src/main/java/com/fdkankan/ucenter/controller/CameraController.java

@@ -94,7 +94,7 @@ public class CameraController extends BaseController {
             throw new BusinessException(LoginConstant.FAILURE_CODE_3025, LoginConstant.FAILURE_MSG_3025);
         }
         cameraService.saveCooperationUser(jsonObject.getString("ids"),
-                jsonObject.getLong("cameraId"),jsonObject.getString("resourceIds"),jsonObject.getString("userName"));
+                jsonObject.getLong("cameraId"),jsonObject.getString("resourceIds"),jsonObject.getString("userName"), getLang());
         return Result.success();
     }
 

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/ICameraService.java

@@ -32,7 +32,7 @@ public interface ICameraService extends IService<Camera> {
 
     void bind(Integer cameraType, String snCode, String username);
 
-    void saveCooperationUser(String ids, Long cameraId,String resourceIds, String username);
+    void saveCooperationUser(String ids, Long cameraId,String resourceIds, String username,String lang);
 
     HashMap<Long, Camera> getByIds(List<Long> cameraIds);
 

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IMailTemplateService.java

@@ -1,10 +1,12 @@
 package com.fdkankan.ucenter.service;
 
+import com.fdkankan.ucenter.entity.Camera;
 import com.fdkankan.ucenter.entity.MailTemplate;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.ucenter.entity.ScenePlus;
 import com.fdkankan.ucenter.entity.ScenePro;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -43,4 +45,6 @@ public interface IMailTemplateService extends IService<MailTemplate> {
      * 发送协作邮件
      */
     Boolean sendSceneCooperation(List<ScenePro> proList, List<ScenePlus> plusList, String username,String lang);
+
+    Boolean sendCameraCooperation(HashMap<Long, Camera> cameraMap, String username, String lang);
 }

+ 6 - 1
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -68,6 +68,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     ISceneCooperationService sceneCooperationService;
     @Autowired
     ICameraIncrementLogService cameraIncrementLogService;
+    @Autowired
+    IMailTemplateService mailTemplateService;
 
     @Override
     public Camera getBySnCode(String snCode) {
@@ -283,7 +285,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     }
 
     @Override
-    public void saveCooperationUser(String ids, Long id,String resourceIds, String username) {
+    public void saveCooperationUser(String ids, Long id,String resourceIds, String username,String lang) {
         User user = userService.getByUserName(username);
         if(user == null){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3021, LoginConstant.FAILURE_MSG_3021);
@@ -339,6 +341,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
         fdkkLaserService.disableCooperation(detailMap, cameraMap);
         fdkkLaserService.enableCameraCooperation(detailMap, cameraMap, username);
+        if("aws".equals(NacosProperty.uploadType)){
+            mailTemplateService.sendCameraCooperation(cameraMap,username,lang);
+        }
     }
 
     @Override

+ 45 - 15
src/main/java/com/fdkankan/ucenter/service/impl/MailTemplateServiceImpl.java

@@ -3,17 +3,18 @@ package com.fdkankan.ucenter.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.ucenter.common.constants.ResultCode;
-import com.fdkankan.ucenter.entity.MailTemplate;
-import com.fdkankan.ucenter.entity.ScenePlus;
-import com.fdkankan.ucenter.entity.ScenePro;
+import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.mapper.IMailTemplateMapper;
 import com.fdkankan.ucenter.service.IMailTemplateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.service.IScenePlusExtService;
 import com.fdkankan.ucenter.util.SendMailUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -28,6 +29,9 @@ import java.util.List;
 @Slf4j
 public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, MailTemplate> implements IMailTemplateService {
 
+    @Autowired
+    IScenePlusExtService scenePlusExtService;
+
     @Override
     public Boolean sendMail(String email , MailTemplate mailTemplate, String file) {
         if(mailTemplate == null){
@@ -90,35 +94,61 @@ public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, Ma
             if(proList.size()<=0 && plusList.size() <=0){
                 return false;
             }
-            String sceneName = null;
+            StringBuilder webSites = new StringBuilder();
             for (ScenePro scenePro : proList) {
-                sceneName = scenePro.getSceneName();
+                webSites.append(scenePro.getWebSite()).append("\n");
             }
             for (ScenePlus scenePlus : plusList) {
-                sceneName = scenePlus.getTitle();
+                ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
+                if(scenePlusExt != null){
+                    webSites.append(scenePlusExt.getWebSite()).append("\n");
+                }
             }
-            if(StringUtils.isBlank(sceneName)){
+            if(StringUtils.isBlank(webSites)){
                 return false;
             }
             MailTemplate mailTemplate = this.getTemplate(6,lang);
             if(mailTemplate != null){
                 String msg = mailTemplate.getMsg();
-                if(StringUtils.isNotBlank(sceneName)){
-                    msg = msg.replace("{sceneName}",sceneName);
+                if(StringUtils.isNotBlank(webSites)){
+                    msg = msg.replace("{sceneWebSites}",webSites.toString());
                 }
+                mailTemplate.setMsg(msg);
+            }
+            return sendMail(username,mailTemplate,null);
+        }catch (Exception e){
+            log.error("邮件发送失败,type:{},error:{}","协作场景邮件",e);
+        }
+        return false;
+    }
 
-                String subject = mailTemplate.getSubject();
-                if(StringUtils.isNotBlank(sceneName)){
-                    subject = subject.replace("{sceneName}",sceneName);
+    @Override
+    public Boolean sendCameraCooperation(HashMap<Long, Camera> cameraMap, String username, String lang) {
+        try {
+            if(cameraMap.size()<=0 ){
+                return false;
+            }
+            StringBuilder snCodes = new StringBuilder();
+            for (Long cameraId : cameraMap.keySet()) {
+                if(cameraMap.get(cameraId) != null){
+                    snCodes.append(cameraMap.get(cameraId).getSnCode()).append("\n");
+                }
+            }
+            if(StringUtils.isBlank(snCodes)){
+                return false;
+            }
+            MailTemplate mailTemplate = this.getTemplate(8,lang);
+            if(mailTemplate != null){
+                String msg = mailTemplate.getMsg();
+                if(StringUtils.isNotBlank(snCodes)){
+                    msg = msg.replace("{snCodes}",snCodes.toString());
                 }
-
                 mailTemplate.setMsg(msg);
-                mailTemplate.setSubject(subject);
             }
             return sendMail(username,mailTemplate,null);
         }catch (Exception e){
             log.error("邮件发送失败,type:{},error:{}","协作场景邮件",e);
         }
-       return false;
+        return false;
     }
 }