lyhzzz vor 2 Jahren
Ursprung
Commit
8f7f42c7d9

+ 2 - 0
src/main/java/com/fdkankan/site/controller/ProjectController.java

@@ -73,12 +73,14 @@ public class ProjectController extends BaseController {
 
     @PostMapping("/addScene")
     public ResultData addScene(@RequestBody ProjectAddSceneParam param){
+        param.setToken(getToken());
         projectService.addScene(param);
         return ResultData.ok( );
     }
 
     @PostMapping("/delScene")
     public ResultData delScene(@RequestBody ProjectDelSceneParam param){
+        param.setToken(getToken());
         projectService.delScene(param);
         return ResultData.ok( );
     }

+ 3 - 0
src/main/java/com/fdkankan/site/entity/ProjectLog.java

@@ -40,6 +40,9 @@ public class ProjectLog implements Serializable {
     @TableField("user_name")
     private String userName;
 
+    @TableField("num")
+    private String num;
+
     @TableField("tb_status")
     @TableLogic
     private Integer tbStatus;

+ 1 - 0
src/main/java/com/fdkankan/site/request/ProjectAddSceneParam.java

@@ -9,4 +9,5 @@ import java.util.List;
 public class ProjectAddSceneParam extends RequestBase {
     private Integer projectId;
     private List<SceneNumParam> sceneNumParam;
+    private String token;
 }

+ 1 - 0
src/main/java/com/fdkankan/site/request/ProjectDelSceneParam.java

@@ -9,4 +9,5 @@ import java.util.List;
 public class ProjectDelSceneParam {
     private Integer projectId;
     private String num;
+    private String token;
 }

+ 4 - 0
src/main/java/com/fdkankan/site/service/IProjectLogService.java

@@ -5,6 +5,8 @@ import com.fdkankan.site.common.RequestBase;
 import com.fdkankan.site.entity.ProjectLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -16,4 +18,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IProjectLogService extends IService<ProjectLog> {
 
     PageInfo pageList(RequestBase param);
+
+    void addLog(Integer projectId, String logMsg, String token, List<String> numList);
 }

+ 2 - 0
src/main/java/com/fdkankan/site/service/ISceneService.java

@@ -11,5 +11,7 @@ public interface ISceneService {
 
     PageInfo pageList(SceneParam param, String token);
 
+    List<SceneVo> getListByNumList(List<String> numList);
+
     List<SceneVo> getListByNumMap(HashMap<Integer, List<String>> typeMap);
 }

+ 54 - 4
src/main/java/com/fdkankan/site/service/impl/ProjectLogServiceImpl.java

@@ -1,23 +1,25 @@
 package com.fdkankan.site.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.site.common.PageInfo;
 import com.fdkankan.site.common.RequestBase;
+import com.fdkankan.site.common.util.JwtUtil;
 import com.fdkankan.site.entity.Project;
 import com.fdkankan.site.entity.ProjectLog;
 import com.fdkankan.site.mapper.IProjectLogMapper;
 import com.fdkankan.site.response.ProjectLogVo;
+import com.fdkankan.site.response.SceneVo;
 import com.fdkankan.site.service.IProjectLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.site.service.IProjectService;
+import com.fdkankan.site.service.ISceneService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -33,6 +35,8 @@ public class ProjectLogServiceImpl extends ServiceImpl<IProjectLogMapper, Projec
 
     @Autowired
     IProjectService projectService;
+    @Autowired
+    ISceneService sceneService;
 
     @Override
     public PageInfo pageList(RequestBase param) {
@@ -40,6 +44,19 @@ public class ProjectLogServiceImpl extends ServiceImpl<IProjectLogMapper, Projec
         List<ProjectLogVo> voList = new ArrayList<>();
         Set<Integer> projectIds = page.getRecords().stream().map(ProjectLog::getProjectId).collect(Collectors.toSet());
         HashMap<Integer,Project> projectHashMap = projectService.getByIds(projectIds);
+
+        Set<String> numSet = new HashSet<>();
+        Set<String> numListSet = page.getRecords().stream().map(ProjectLog::getNum).collect(Collectors.toSet());
+        for (String num : numListSet) {
+            List<String> list = JSONObject.parseObject(num, List.class);
+            numSet.addAll(list);
+        }
+        List<SceneVo> sceneVoList = sceneService.getListByNumList(new ArrayList<>(numSet));
+        HashMap<String,String> sceneNameMap = new HashMap<>();
+        for (SceneVo sceneVo : sceneVoList) {
+            sceneNameMap.put(sceneVo.getNum(),sceneVo.getSceneName());
+        }
+
         for (ProjectLog record : page.getRecords()) {
             ProjectLogVo vo = new ProjectLogVo();
             BeanUtils.copyProperties(record,vo);
@@ -47,6 +64,24 @@ public class ProjectLogServiceImpl extends ServiceImpl<IProjectLogMapper, Projec
             if(project != null){
                 vo.setProjectName(project.getProjectName());
             }
+            if(StringUtils.isNotBlank(record.getNum())){
+                String nameList = null;
+                List<String> list = JSONObject.parseObject(record.getNum(), List.class);
+                List<String> sceneNameList = new ArrayList<>();
+                for (String num : list) {
+                    String name = sceneNameMap.get(num);
+                    if(StringUtils.isNotBlank(name)){
+                        sceneNameList.add(name);
+                    }
+                }
+                if(sceneNameList.size() >0){
+                    nameList = sceneNameList.stream().collect(Collectors.joining(","));
+                }
+                if(StringUtils.isNotBlank(nameList)){
+                    record.setLogMsg(record.getLogMsg() + ":"+nameList);
+                }
+            }
+
             voList.add(vo);
         }
         Page<ProjectLogVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
@@ -54,4 +89,19 @@ public class ProjectLogServiceImpl extends ServiceImpl<IProjectLogMapper, Projec
         voPage.setTotal(page.getTotal());
         return PageInfo.PageInfo(voPage);
     }
+
+    @Override
+    public void addLog(Integer projectId, String logMsg, String token, List<String> numList) {
+        try {
+            ProjectLog log = new ProjectLog();
+            log.setProjectId(projectId);
+            log.setUserName(JwtUtil.getUserName(token));
+            log.setLogMsg(logMsg);
+            log.setNum(JSONObject.toJSONString(numList));
+            this.save(log);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+    }
 }

+ 1 - 0
src/main/java/com/fdkankan/site/service/impl/ProjectNumServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.site.entity.ProjectNum;
 import com.fdkankan.site.entity.ProjectTeam;
 import com.fdkankan.site.mapper.IProjectNumMapper;
 import com.fdkankan.site.request.AppGetSceneInfoParam;
+import com.fdkankan.site.service.IProjectLogService;
 import com.fdkankan.site.service.IProjectNumService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.site.service.IProjectTeamService;

+ 5 - 0
src/main/java/com/fdkankan/site/service/impl/ProjectServiceImpl.java

@@ -55,6 +55,8 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
     IProjectBimService projectBimService;
     @Autowired
     ISceneService sceneService;
+    @Autowired
+    IProjectLogService projectLogService;
 
     @Override
     public Object getUserData(String token) {
@@ -222,9 +224,11 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
 
         if(delNumList.size() >0){
             projectNumService.delByNumList(param.getProjectId(),delNumList);
+            projectLogService.addLog(param.getProjectId(),"删除场景",param.getToken(),delNumList);
         }
         if(addNumList.size() >0){
             projectNumService.addByNumList(param.getProjectId(),numType,addNumList);
+            projectLogService.addLog(param.getProjectId(),"添加场景",param.getToken(),addNumList);
         }
 
     }
@@ -234,6 +238,7 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         VUtils.isTure(param.getProjectId() == null).throwMessage(ResultCode.PARAM_MISS);
         VUtils.isTure(StringUtils.isBlank(param.getNum())).throwMessage(ResultCode.PARAM_MISS);
         projectNumService.delByNumList(param.getProjectId(),Arrays.asList(param.getNum()));
+        projectLogService.addLog(param.getProjectId(),"删除场景",param.getToken(),Arrays.asList(param.getNum()));
     }
 
     @Override

+ 17 - 0
src/main/java/com/fdkankan/site/service/impl/SceneServiceImpl.java

@@ -34,6 +34,23 @@ public class SceneServiceImpl implements ISceneService {
     @Autowired
     IProjectNumService projectNumService;
 
+    @Override
+    public List<SceneVo> getListByNumList(List<String> numList) {
+        SceneParam param = new SceneParam();
+        param.setNumList(numList);
+        param.setStatus(2);
+        param.setPageNum(1);
+        param.setType(0);
+        param.setPageSize(9999);
+        JSONArray list = fdkkList(param);
+        param.setType(1);
+        JSONArray list1 = fdkkList(param);
+        list.addAll(list1);
+        List<SceneVo> sceneVos = overSceneVo(list, 0);
+        JSONArray list2 = laserList(param);
+        sceneVos.addAll(overSceneVo(list2,2));
+        return sceneVos;
+    }
 
     @Override
     public List<SceneVo> getListByNumMap(HashMap<Integer, List<String>> typeMap) {