lyhzzz 2 سال پیش
والد
کامیت
3dca800dd8

+ 13 - 0
src/main/java/com/fdkankan/manage_jp/common/OssPath.java

@@ -0,0 +1,13 @@
+package com.fdkankan.manage_jp.common;
+
+public class OssPath {
+    public final static String MANAGE_FILE_PATH = "manage/file/%s/%s";
+    public final static String invoiceOssDir = "manage/invoice/";
+    public final static String v3_statusPath = "data/data%s/status.json";
+    public final static String v4_statusPath = "scene_view_data/%s/data/status.json";
+    public final static String localStatusPath = System.getProperty("java.io.tmpdir") +"status.json";   //获取临时文件目录
+
+    public final static String default_head ="manage/user/newHead.png";
+
+
+}

+ 4 - 0
src/main/java/com/fdkankan/manage_jp/common/PageInfo.java

@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -20,6 +21,7 @@ public class PageInfo<T> {
     private long pageSize;
 
     private long total;
+    private long size;
 
     private T list;
 
@@ -29,6 +31,7 @@ public class PageInfo<T> {
             .pageSize(page.getSize())
             .total(page.getTotal())
             .list(page.getRecords())
+                .size(page.getTotal())
             .build();
     }
     public static PageInfo PageInfo(Long currentPage, Long pageSize, Long total, List<?> list){
@@ -37,6 +40,7 @@ public class PageInfo<T> {
             .pageSize(pageSize)
             .total(total)
             .list(list)
+                .size(total)
             .build();
     }
 

+ 12 - 1
src/main/java/com/fdkankan/manage_jp/controller/UserSceneController.java

@@ -3,13 +3,17 @@ package com.fdkankan.manage_jp.controller;
 
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.manage_jp.common.Result;
+import com.fdkankan.manage_jp.common.ResultCode;
 import com.fdkankan.manage_jp.entity.User;
+import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.httpClient.client.FdKKClient;
 import com.fdkankan.manage_jp.service.IDownService;
 import com.fdkankan.manage_jp.service.ISceneProService;
 import com.fdkankan.manage_jp.service.IUserRoleService;
 import com.fdkankan.manage_jp.service.IUserService;
+import com.fdkankan.manage_jp.vo.request.SceneDeleteParam;
 import com.fdkankan.manage_jp.vo.request.SceneParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -69,7 +73,14 @@ public class UserSceneController extends BaseController{
         return Result.success(downService.downloadProcess(num,isObj));
     }
 
-
+    @PostMapping("/delete")
+    public Result deleteScene(@RequestBody SceneDeleteParam param){
+        if(StringUtils.isEmpty(param.getSceneNum())){
+            throw new BusinessException(ResultCode.PARAM_ERROR);
+        }
+        sceneProService.deleteByNum(param.getSceneNum());
+        return Result.success();
+    }
 
 }
 

+ 13 - 0
src/main/java/com/fdkankan/manage_jp/httpClient/service/LaserService.java

@@ -189,4 +189,17 @@ public class LaserService {
         return null ;
     }
 
+    public void delete(String num) {
+        try {
+            Map<String,Object> params = new HashMap<>();
+            params.put("sceneCode", num);
+            params.put("status", -1);
+            Result result = laserClient.saveOrEdit(num, params);
+            if(result.getCode() != HttpStatus.OK.value()){
+                log.error("激光场景状态同步失败!");
+            }
+        }catch (Exception e){
+            log.error("激光场景状态同步失败!",e);
+        }
+    }
 }

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/service/IScenePlusExtService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IScenePlusExtService extends IService<ScenePlusExt> {
 
+    void delByPlus(Long plusId);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/ISceneProService.java

@@ -25,4 +25,6 @@ public interface ISceneProService extends IService<ScenePro> {
     ScenePro getByNum(String sceneNum);
 
     void addDownloadNum(String sceneNum);
+
+    void deleteByNum(String sceneNum);
 }

+ 7 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ScenePlusExtServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage_jp.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage_jp.entity.ScenePlusExt;
 import com.fdkankan.manage_jp.mapper.IScenePlusExtMapper;
 import com.fdkankan.manage_jp.service.IScenePlusExtService;
@@ -17,4 +18,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class ScenePlusExtServiceImpl extends ServiceImpl<IScenePlusExtMapper, ScenePlusExt> implements IScenePlusExtService {
 
+    @Override
+    public void delByPlus(Long plusId) {
+        LambdaQueryWrapper<ScenePlusExt> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePlusExt::getPlusId,plusId);
+        this.remove(wrapper);
+    }
 }

+ 55 - 4
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -1,9 +1,15 @@
 package com.fdkankan.manage_jp.service.impl;
 
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.manage_jp.common.OssPath;
 import com.fdkankan.manage_jp.common.PageInfo;
 import com.fdkankan.manage_jp.common.ResultCode;
 import com.fdkankan.manage_jp.entity.Company;
@@ -13,13 +19,11 @@ import com.fdkankan.manage_jp.entity.SceneProEdit;
 import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.httpClient.service.LaserService;
 import com.fdkankan.manage_jp.mapper.ISceneProMapper;
-import com.fdkankan.manage_jp.service.ICompanyService;
-import com.fdkankan.manage_jp.service.IScenePlusService;
-import com.fdkankan.manage_jp.service.ISceneProEditService;
-import com.fdkankan.manage_jp.service.ISceneProService;
+import com.fdkankan.manage_jp.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage_jp.vo.request.SceneParam;
 import com.fdkankan.manage_jp.vo.response.SceneVo;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,6 +41,7 @@ import java.util.stream.Collectors;
  * @since 2022-12-30
  */
 @Service
+@Slf4j
 public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro> implements ISceneProService {
 
     @Autowired
@@ -47,6 +52,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     ISceneProEditService sceneProEditService;
     @Autowired
     ICompanyService companyService;
+    @Autowired
+    IScenePlusExtService scenePlusExtService;
+    @Autowired
+    FYunFileServiceInterface fYunFileServiceInterface;
 
 
     @Override
@@ -120,4 +129,46 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 
     }
+
+
+    @Override
+    public void deleteByNum(String num) {
+        ScenePro scenePro = this.getByNum(num);
+        if(scenePro!=null){
+            this.removeById(scenePro.getId());
+            this.updateOssStatus(String.format(OssPath.v3_statusPath,scenePro.getNum()),"I");
+        }
+        ScenePlus scenePlus = scenePlusService.getByNum(num);
+        if(scenePlus!=null){
+            scenePlusService.removeById(scenePlus.getId());
+            scenePlusExtService.delByPlus(scenePlus.getId());
+            this.updateOssStatus(String.format(OssPath.v4_statusPath,scenePro.getNum()),"A");
+        }
+        if(num.contains("SS")){
+            laserService.delete(num);
+        }
+    }
+
+
+    private void updateOssStatus(String path,String recStatus) {
+        try {
+            if(!fYunFileServiceInterface.fileExist(path)){
+                return;
+            }
+            String data = fYunFileServiceInterface.getFileContent(path);
+            if(StringUtils.isBlank(data)){
+                return;
+            }
+            JSONObject jsonObject = JSONObject.parseObject(data);
+            jsonObject.put("recStatus",recStatus);
+            String json = JSONUtil.toJsonStr(jsonObject);
+            FileUtils.writeFile(OssPath.localStatusPath ,json);
+            log.info("updateOssStatus--localPath:{},ossPath:{}",OssPath.localStatusPath,path);
+            fYunFileServiceInterface.uploadFile(OssPath.localStatusPath,path);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            FileUtil.del(OssPath.localStatusPath);
+        }
+    }
 }

+ 8 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/SceneDeleteParam.java

@@ -0,0 +1,8 @@
+package com.fdkankan.manage_jp.vo.request;
+
+import lombok.Data;
+
+@Data
+public class SceneDeleteParam {
+    private String sceneNum;
+}