浏览代码

Merge remote-tracking branch 'origin/test' into test

dsx 2 年之前
父节点
当前提交
af5740c15d

+ 3 - 0
src/main/java/com/fdkankan/ucenter/common/BaseController.java

@@ -87,6 +87,9 @@ public class BaseController {
     protected String getToken(){
         return request.getHeader("token");
     }
+    protected String getLang(){
+        return request.getHeader("lang");
+    }
     protected String getSign(){
         return request.getHeader("sign");
     }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/controller/SceneCooperationController.java

@@ -8,6 +8,7 @@ import com.fdkankan.ucenter.entity.SceneCooperation;
 import com.fdkankan.ucenter.service.ISceneCooperationService;
 import com.fdkankan.ucenter.vo.request.SceneCooperationParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -53,6 +54,9 @@ public class SceneCooperationController extends BaseController {
     @PostMapping("/save")
     public Result save(@RequestBody SceneCooperationParam param){
         String username = JwtUtil.getUsername(getToken());
+        if(StringUtils.isNotBlank(getLang())){
+            param.setLang(getLang());
+        }
         sceneCooperationService.saveCooperation(param,username);
         return Result.success();
     }

+ 5 - 1
src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java

@@ -177,7 +177,7 @@ public class LaserService {
 
 
     public void copy(Long camaraId, String createTime, String newNum, Integer status,
-                     String  path, String sceneKey, String sceneName, Long userId,String version){
+                     String  path, String sceneKey, String sceneName, Long userId,String version,Integer isObj){
         String phone = null;
         String snCode = null;
         if(userId != null){
@@ -201,6 +201,10 @@ public class LaserService {
         params.put("isCopy", true);
         params.put("path",path);
         params.put("version",version);
+        if(isObj == 1){
+            params.put("buildObjStatus",isObj);
+
+        }
         Result result = laserClient.saveOrEdit(newNum, params);
         if( result.getCode() != HttpStatus.OK.value()){
             log.error("激光场景状态同步失败!");

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

@@ -2,6 +2,10 @@ package com.fdkankan.ucenter.service;
 
 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.List;
 
 /**
  * <p>
@@ -34,4 +38,9 @@ public interface IMailTemplateService extends IService<MailTemplate> {
      * 发送会员权益今天过期
      */
     Boolean sendPeTodayExMail(String email);
+
+    /**
+     * 发送协作邮件
+     */
+    Boolean sendSceneCooperation(List<ScenePro> proList, List<ScenePlus> plusList, String username,String lang);
 }

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

@@ -112,7 +112,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
             wrapper.set(CameraDetail::getTotalSpace,Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
             this.update(wrapper);
             cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
-            if(!"local".equals(NacosProperty.uploadType)){
+            if(!"local".equals(NacosProperty.uploadType) && cameraDetail.getType()!=10){
                 sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);     //封存场景
             }
         }

+ 44 - 0
src/main/java/com/fdkankan/ucenter/service/impl/MailTemplateServiceImpl.java

@@ -4,13 +4,18 @@ 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.mapper.IMailTemplateMapper;
 import com.fdkankan.ucenter.service.IMailTemplateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.util.SendMailUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -20,6 +25,7 @@ import org.springframework.stereotype.Service;
  * @since 2023-01-10
  */
 @Service
+@Slf4j
 public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, MailTemplate> implements IMailTemplateService {
 
     @Override
@@ -77,4 +83,42 @@ public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, Ma
         MailTemplate mailTemplate = this.getTemplate(5,"en");
         return sendMail(email,mailTemplate,null);
     }
+
+    @Override
+    public Boolean sendSceneCooperation(List<ScenePro> proList, List<ScenePlus> plusList, String username,String lang) {
+        try {
+            if(proList.size()<=0 && plusList.size() <=0){
+                return false;
+            }
+            String sceneName = null;
+            for (ScenePro scenePro : proList) {
+                sceneName = scenePro.getSceneName();
+            }
+            for (ScenePlus scenePlus : plusList) {
+                sceneName = scenePlus.getTitle();
+            }
+            if(StringUtils.isBlank(sceneName)){
+                return false;
+            }
+            MailTemplate mailTemplate = this.getTemplate(6,lang);
+            if(mailTemplate != null){
+                String msg = mailTemplate.getMsg();
+                if(StringUtils.isNotBlank(sceneName)){
+                    msg = msg.replace("{sceneName}",sceneName);
+                }
+
+                String subject = mailTemplate.getSubject();
+                if(StringUtils.isNotBlank(sceneName)){
+                    subject = subject.replace("{sceneName}",sceneName);
+                }
+
+                mailTemplate.setMsg(msg);
+                mailTemplate.setSubject(subject);
+            }
+            return sendMail(username,mailTemplate,null);
+        }catch (Exception e){
+            log.error("邮件发送失败,type:{},error:{}","协作场景邮件",e);
+        }
+       return false;
+    }
 }

+ 6 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
+import com.fdkankan.ucenter.common.constants.NacosProperty;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.httpClient.service.LaserService;
@@ -57,6 +58,8 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     IUserService userService;
     @Autowired
     RedisUtil redisUtil;
+    @Autowired
+    IMailTemplateService mailTemplateService;
 
     @Override
     public Long getCooperationSceneNum(Long userId, List<Integer> sceneSourceList) {
@@ -241,6 +244,9 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
             }
         }
         this.saveBatchByList(proList,plusList,user.getId(),resourceIdList);
+        if("aws".equals(NacosProperty.uploadType)){
+            mailTemplateService.sendSceneCooperation(proList,plusList,param.getUserName(),param.getLang());
+        }
     }
 
     @Override

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -250,7 +250,7 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
 
                 if(scenePlus.getSceneSource() == 4){  //深时复制
                     laserService.copy(scenePlus.getCameraId(),scenePlus.getCreateTime(),newNum,0,null,
-                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4");
+                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4",plusExt.getIsObj());
                 }
 
                 List<Surveillance> list = surveillanceService.list(new LambdaQueryWrapper<Surveillance>().eq(Surveillance::getNum, num));
@@ -317,7 +317,7 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                 if(scenePlus.getSceneSource() == 4){  //深时复制
                     String laserPath = laserService.copyDataSource(oldDataSource,plusExt.getDataSource());
                     laserService.copy(scenePlus.getCameraId(),scenePlus.getCreateTime(),newNum,2,laserPath,
-                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4");
+                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4",plusExt.getIsObj());
                 } else if(!"aws".equals(NacosProperty.uploadType)){
                     laserService.cloudPointBuild(num,newNum);
                 }

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -756,7 +756,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         this.save(oldScene);
         if(oldScene.getSceneSource() == 4){  //深时复制
             laserService.copy(oldScene.getCameraId(),oldScene.getCreateTime(),newNum,0,null,
-                    oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3");
+                    oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3",oldScene.getIsObj());
         }
         //更新video
         Map map = new HashMap();
@@ -833,7 +833,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 if(oldScene.getSceneSource() == 4){  //深时复制
                     String laserPath = laserService.copyDataSource(preDataSource,oldScene.getDataSource());
                     laserService.copy(oldScene.getCameraId(),oldScene.getCreateTime(),newNum,2,laserPath,
-                            oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3");
+                            oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3",oldScene.getIsObj());
                 }
                 sceneCopyLogService.saveByNum(oldNum,newNum,oldScene.getUserId());
 

+ 3 - 2
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -229,8 +229,9 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         wrapper.eq(UserIncrement::getId,param.getId());
         wrapper.set(UserIncrement::getCameraId,null);
         this.update(wrapper);
-
-        sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);
+        if(cameraDetail.getType() !=10){
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);
+        }
     }
 
     @Override

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/request/SceneCooperationParam.java

@@ -14,4 +14,6 @@ public class SceneCooperationParam {
 
     private String userName;
     private String resourceIds;
+
+    private String lang = "en";
 }