From c94bf6d5641426987eae6d4c7847bf811ce21e6f Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 1 Apr 2025 17:38:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/constant/SocketMsgType.java | 2 ++ .../com/glxp/api/constant/SyncDelType.java | 1 + .../dev/DeviceAssetCertController.java | 23 +++++++++++++--- .../api/dao/dev/DeviceAssetCertMapper.java | 3 ++- .../api/entity/dev/DeviceAssetCertEntity.java | 5 ++-- .../glxp/api/http/sync/SpGetHttpClient.java | 7 +++++ .../glxp/api/req/basic/BasicDataRequest.java | 6 +++++ .../glxp/api/service/sync/HeartService.java | 10 +++++++ .../api/service/sync/SocketMsgService.java | 27 ++++++++++++++++++- 9 files changed, 76 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/constant/SocketMsgType.java b/src/main/java/com/glxp/api/constant/SocketMsgType.java index cfc539f9f..2fb0bf811 100644 --- a/src/main/java/com/glxp/api/constant/SocketMsgType.java +++ b/src/main/java/com/glxp/api/constant/SocketMsgType.java @@ -40,4 +40,6 @@ public interface SocketMsgType { String STAT_DATA_REQUEST = "STAT_DATA_REQUEST"; //汇总日报 String STAT_DATA = "STAT_DATA"; // + String DEVICE_CERT_TYPE_DELETE = "DEVICE_CERT_TYPE_DELETE"; //资质资料 + } diff --git a/src/main/java/com/glxp/api/constant/SyncDelType.java b/src/main/java/com/glxp/api/constant/SyncDelType.java index 80a20fc41..6bd96520d 100644 --- a/src/main/java/com/glxp/api/constant/SyncDelType.java +++ b/src/main/java/com/glxp/api/constant/SyncDelType.java @@ -19,5 +19,6 @@ public interface SyncDelType { String DEV_TASK = "DEV_TASK"; String DEVICE_INFO_DATA = "DEVICE_INFO_DATA"; + String DEVICE_CERT_TYPE = "DEVICE_CERT_TYPE"; } diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceAssetCertController.java b/src/main/java/com/glxp/api/controller/dev/DeviceAssetCertController.java index 1fd655188..83aa62d2a 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceAssetCertController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceAssetCertController.java @@ -1,5 +1,8 @@ package com.glxp.api.controller.dev; +import com.glxp.api.constant.SyncDelType; +import com.glxp.api.http.sync.SpGetHttpClient; +import com.glxp.api.req.basic.BasicDataRequest; import com.glxp.api.service.CustomService; import com.glxp.api.service.auth.CustomerService; import org.springframework.beans.BeanUtils; @@ -31,6 +34,7 @@ import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneOffset; +import java.util.Date; import java.util.List; /** @@ -64,7 +68,7 @@ public class DeviceAssetCertController extends BaseController { @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse insertDeviceCert(@RequestBody DeviceAssetCertEntity deviceAssetCertEntity) { String userId = customerService.getUserId()+ ""; - LocalDate now = LocalDate.now(); + Date now = new Date(); deviceAssetCertEntity.setCreateTime(now); deviceAssetCertEntity.setUpdateTime(now); deviceAssetCertEntity.setCreateUser(userId); @@ -75,16 +79,27 @@ public class DeviceAssetCertController extends BaseController { return ResultVOUtils.success("成功"); } + @Resource + SpGetHttpClient spGetHttpClient; + @AuthRuleAnnotation("") @PostMapping("/inv/info/deleteDeviceCert") public BaseResponse deleteDeviceCert(@RequestBody DeleteDeviceFileRequest deleteDeviceFileRequest) { - boolean b = deviceAssetCertService.deleteById(deleteDeviceFileRequest.getId()); + String URL = filePath + FileConstant.DEV_COMMON_FILE_PATH + deleteDeviceFileRequest.getFilePath(); File file = new File(URL); if (file.exists() && file.isFile()) { file.delete(); } - return ResultVOUtils.success("成功"); + + //调用同步删除方法 + BasicDataRequest basicDataRequest = new BasicDataRequest(); + basicDataRequest.setDeleteDeviceFileRequest(deleteDeviceFileRequest); + basicDataRequest.setKey(SyncDelType.DEVICE_CERT_TYPE); + Long userId = getUserId(); + spGetHttpClient.deleteBasicData(basicDataRequest, userId + ""); + + return deviceAssetCertService.deleteById(deleteDeviceFileRequest.getId()) ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙"); } @AuthRuleAnnotation("") @@ -106,7 +121,7 @@ public class DeviceAssetCertController extends BaseController { } } String userId = customerService.getUserId()+ ""; - LocalDate now = LocalDate.now(); + Date now = new Date(); deviceAssetCertEntity.setUpdateTime(now); deviceAssetCertEntity.setUpdateUser(userId); boolean b = deviceAssetCertService.updateDeviceCert(deviceAssetCertEntity); diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceAssetCertMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceAssetCertMapper.java index 4b54eb9f2..c5449f4a4 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceAssetCertMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceAssetCertMapper.java @@ -1,6 +1,7 @@ package com.glxp.api.dao.dev; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceAssetCertEntity; import com.glxp.api.req.inv.FilterInvCertRequest; import org.apache.ibatis.annotations.Mapper; @@ -8,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper -public interface DeviceAssetCertMapper extends BaseMapper { +public interface DeviceAssetCertMapper extends BaseMapperPlus { List filterCompanyCert(FilterInvCertRequest filterInvCertRequest); diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceAssetCertEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceAssetCertEntity.java index 8e624358c..b678efe0f 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceAssetCertEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceAssetCertEntity.java @@ -9,6 +9,7 @@ import lombok.Data; import java.io.Serializable; import java.time.LocalDate; +import java.util.Date; @Data @TableName(value = "device_asset_cert") @@ -86,7 +87,7 @@ public class DeviceAssetCertEntity implements Serializable { */ @TableField(value = "createTime") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate createTime; + private Date createTime; /** * 更新人 @@ -99,7 +100,7 @@ public class DeviceAssetCertEntity implements Serializable { */ @TableField(value = "updateTime") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate updateTime; + private Date updateTime; private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 042360e25..536e5a62d 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -198,6 +198,13 @@ public class SpGetHttpClient { basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); json = JSONUtil.toJsonStr(basicDataRequest); break; + case SyncDelType.DEVICE_CERT_TYPE: + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteDeviceFileRequest()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("设备资质材料数据删除"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + json = JSONUtil.toJsonStr(basicDataRequest); + break; default: break; diff --git a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java index 3e71b01f7..098ff8f70 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java @@ -3,6 +3,7 @@ package com.glxp.api.req.basic; import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.dev.DeviceInspectTaskEntity; import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.req.system.DeleteDeviceFileRequest; import com.glxp.api.req.system.DeleteRequest; import lombok.Data; @@ -32,4 +33,9 @@ public class BasicDataRequest { private String key; + /** + * 资质证书 + */ + private DeleteDeviceFileRequest deleteDeviceFileRequest; + } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index cc44b0196..6de274199 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -126,6 +126,8 @@ public class HeartService { private PurContractDetailMapper purContractDetailMapper; @Autowired private PurContractMapper purContractMapper; + @Autowired + private DeviceAssetCertMapper deviceAssetCertMapper; //上传最近更新扫码单据 public BaseResponse uploadAllOrder(String syncTime) { @@ -2137,6 +2139,7 @@ public class HeartService { List deviceRepairApplyEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairApplyEntity.class.getSimpleName()), DeviceRepairApplyEntity.class); List deviceRepairApplyDetailEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairApplyDetailEntity.class.getSimpleName()), DeviceRepairApplyDetailEntity.class); List deviceRepairEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairEntity.class.getSimpleName()), DeviceRepairEntity.class); + List deviceAssetCertEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceAssetCertEntity.class.getSimpleName()), DeviceAssetCertEntity.class); if (CollectionUtil.isNotEmpty(deviceRepairApplyEntities)) { @@ -2158,6 +2161,13 @@ public class HeartService { deviceRepairMapper.replaceBatchs(deviceRepairEntities); } + if (CollectionUtil.isNotEmpty(deviceAssetCertEntities)) { + for (DeviceAssetCertEntity deviceAssetCertEntity : deviceAssetCertEntities) { + deviceAssetCertEntity.setUpdateTime(null); + } + deviceAssetCertMapper.replaceBatchs(deviceAssetCertEntities); + } + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); // if (CollUtil.isNotEmpty(syncFiles)) { // fileService.download(syncFiles); diff --git a/src/main/java/com/glxp/api/service/sync/SocketMsgService.java b/src/main/java/com/glxp/api/service/sync/SocketMsgService.java index c85f1f193..642c23188 100644 --- a/src/main/java/com/glxp/api/service/sync/SocketMsgService.java +++ b/src/main/java/com/glxp/api/service/sync/SocketMsgService.java @@ -5,6 +5,7 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.FileConstant; import com.glxp.api.constant.SocketMsgType; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicCorpEntity; @@ -18,9 +19,11 @@ import com.glxp.api.req.basic.BasicDataRequest; import com.glxp.api.req.basic.DeleteBasicDataRequest; import com.glxp.api.req.inout.FilterStatDataRequest; import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.req.system.DeleteDeviceFileRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.inout.IoStatOrderResponse; import com.glxp.api.service.basic.*; +import com.glxp.api.service.dev.DeviceAssetCertService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoStatOrderService; import com.glxp.api.service.inout.impl.IoCodeService; @@ -30,6 +33,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.File; import java.util.Date; import java.util.List; import java.util.Map; @@ -88,7 +92,12 @@ public class SocketMsgService { insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse); insertType(basicDataRequest.getDeleteBasicDataRequest()); break; - + case SocketMsgType.DEVICE_CERT_TYPE_DELETE: + basicDataRequest = JSON.parseObject(String.valueOf(socketMsgEntity.getContent()), BasicDataRequest.class); + baseResponse = deleteDeviceFileType(basicDataRequest.getDeleteDeviceFileRequest()); + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse); + insertType(basicDataRequest.getDeleteBasicDataRequest()); + break; case SocketMsgType.DEV_TASK_DEL: // basicDataRequest = JSON.parseObject(String.valueOf(socketMsgEntity.getContent()), BasicDataRequest.class); @@ -134,6 +143,8 @@ public class SocketMsgService { BasicCorpService basicUnitMaintainService; @Resource private IBasicBussinessTypeService basicBussinessTypeService; + @Resource + private DeviceAssetCertService deviceAssetCertService; public BaseResponse deleteById(DeleteRequest deleteRequest) { @@ -185,6 +196,20 @@ public class SocketMsgService { return basicBussinessTypeService.deleteBussinessType(id) == true ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙"); } + @Value("${file_path}") + private String filePath; + + public BaseResponse deleteDeviceFileType(DeleteDeviceFileRequest deleteDeviceFileRequest) { + + String URL = filePath + FileConstant.DEV_COMMON_FILE_PATH + deleteDeviceFileRequest.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { + file.delete(); + } + + return deviceAssetCertService.deleteById(deleteDeviceFileRequest.getId()) ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙"); + } + @Resource SyncEditLogService syncEditLogService;