From 7fedecc3bda77dfb9a1ee430bb4a04e192e5fbad Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 9 Apr 2025 17:30:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=97=B7=E4=B8=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 1 + .../entity/manager/HardDoorManagerEntity.java | 6 + .../manager/HardDoorManagerController.java | 1 + .../manager/HardDoorManagerServiceImpl.java | 52 ++++- .../mapper/manager/HardDoorManagerMapper.xml | 5 + .../mapper/order/HardOrderMapper.xml | 2 +- .../thirdparty/dto/ks/KsBarcodeByIdsDto.java | 13 ++ .../thirdparty/dto/ks/KsBarcodeLikeDto.java | 33 ++++ .../thirdparty/dto/ks/KsBarcodeSkuDto.java | 13 ++ .../thirdparty/dto/ks/KsRecognitionDto.java | 70 +++++++ .../dto/ks/KsRecognitionResultDto.java | 13 ++ .../thirdparty/dto/ks/KsSkuDeleteDto.java | 13 ++ .../thirdparty/dto/ks/KsSkuEditDto.java | 37 ++++ .../thirdparty/dto/ks/KsSkuResultDto.java | 13 ++ .../dto/ks/KsSkuSubmitCollectionDto.java | 43 ++++ .../thirdparty/dto/ks/KsSkuSubmitDto.java | 37 ++++ .../thirdparty/vo/door/DoorBaseInnerVo.java | 15 ++ .../thirdparty/vo/door/DoorBindVo.java | 2 +- .../thirdparty/vo/door/DoorOpenVo.java | 2 +- .../thirdparty/vo/door/DoorRegisterVo.java | 2 +- .../thirdparty/vo/door/DoorRestartVo.java | 2 +- .../thirdparty/vo/door/DoorStatusVo.java | 2 +- .../thirdparty/vo/door/DoorVideoVo.java | 2 +- .../thirdparty/vo/door/DoorVolumeVo.java | 2 +- .../thirdparty/vo/ks/KsBarcodeByIdsVo.java | 61 ++++++ .../thirdparty/vo/ks/KsBarcodeLikeVo.java | 7 + .../thirdparty/vo/ks/KsBarcodeSkuVo.java | 61 ++++++ .../vo/ks/KsRecognitionResultVo.java | 60 ++++++ .../thirdparty/vo/ks/KsRecognitionVo.java | 13 ++ .../thirdparty/vo/ks/KsSkuDeleteVo.java | 13 ++ .../pjcloud/thirdparty/vo/ks/KsSkuEditVo.java | 13 ++ .../thirdparty/vo/ks/KsSkuResultVo.java | 26 +++ .../vo/ks/KsSkuSubmitCollectionVo.java | 13 ++ .../thirdparty/vo/ks/KsSkuSubmitVo.java | 10 + .../pjcloud/thirdparty/config/DoorConfig.java | 2 + .../thirdparty/config/KsDiscernConfig.java | 16 ++ .../door/ThirdDoorApiController.java | 4 +- .../controller/ks/ThirdKsApiController.java | 38 ++++ .../thirdparty/service/ThirdKsApiService.java | 5 + .../impl/door/ThirdDoorApiServiceImpl.java | 183 +++++++++++++++++- .../impl/ks/ThirdKsApiServiceImpl.java | 15 ++ .../thirdparty/utils/door/api/DoorApi.java | 12 +- .../thirdparty/utils/ks/api/KsApi.java | 95 +++++++++ .../src/main/resources/application.yml | 10 +- 44 files changed, 1013 insertions(+), 25 deletions(-) create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsBarcodeByIdsDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsBarcodeLikeDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsBarcodeSkuDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsRecognitionDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsRecognitionResultDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsSkuDeleteDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsSkuEditDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsSkuResultDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsSkuSubmitCollectionDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/ks/KsSkuSubmitDto.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/door/DoorBaseInnerVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsBarcodeByIdsVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsBarcodeLikeVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsBarcodeSkuVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsRecognitionResultVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsRecognitionVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsSkuDeleteVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsSkuEditVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsSkuResultVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsSkuSubmitCollectionVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/ks/KsSkuSubmitVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/config/KsDiscernConfig.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ks/ThirdKsApiController.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/ThirdKsApiService.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/ks/ThirdKsApiServiceImpl.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/utils/ks/api/KsApi.java diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index daa56123..8e9aac8b 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -44,6 +44,7 @@ CREATE TABLE hard_door_manager id bigint NOT NULL COMMENT '编号', hard_id bigint NOT NULL COMMENT '设备编号', imei varchar(32) NOT NULL COMMENT '设备 IMEI 号(15 位)', + device_code int DEFAULT NULL COMMENT '设备编号', cabinet_num int DEFAULT NULL COMMENT '货柜数量', cabinet_camera_num int DEFAULT NULL COMMENT '每个货柜中摄像头数量', cabinet_weight_unit_num int DEFAULT NULL COMMENT '每个货柜中称重单元数量', diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorManagerEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorManagerEntity.java index ffe7283e..91f6f2c6 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorManagerEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorManagerEntity.java @@ -38,6 +38,12 @@ public class HardDoorManagerEntity extends Model { @Schema(description = "设备编号") private Long hardId; + /** + * 内置设备编号 + */ + @Schema(description = "内置设备编号") + private String deviceCode; + /** * 设备 IMEI 号(15 位) */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java index 4dda3afe..ee178d2e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java @@ -42,6 +42,7 @@ public class HardDoorManagerController { @PreAuthorize("@pms.hasPermission('hard_hardDoorManager_add')") public R bind(@RequestBody HardDoorManagerEntity dto) { if (ObjectUtil.isEmpty(dto.getImei())) throw new RuntimeException("设备IMEI卡号不能为空"); + if (ObjectUtil.isEmpty(dto.getDeviceCode())) throw new RuntimeException("设备内置设备编号不能为空"); hardDoorManagerService.bind(dto); return R.ok(); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java index f4bfdeed..46ea99c0 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.hard.service.impl.manager; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.common.data.datascope.DataScope; @@ -8,14 +9,27 @@ import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; import com.bsd.pjcloud.hard.mapper.manager.HardDoorManagerMapper; import com.bsd.pjcloud.hard.service.HardDoorManagerService; +import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdDoorApiService; +import com.bsd.pjcloud.thirdparty.dto.door.DoorBindDto; +import com.bsd.pjcloud.thirdparty.dto.door.DoorRegisterDto; +import com.bsd.pjcloud.thirdparty.vo.door.DoorBindVo; +import com.bsd.pjcloud.thirdparty.vo.door.DoorRegisterVo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; /** * 智能柜设置 */ +@Validated +@Slf4j +@RequiredArgsConstructor @Service public class HardDoorManagerServiceImpl extends ServiceImpl implements HardDoorManagerService { + private final RemoterThirdDoorApiService thirdDoorApiService; + @Override public Page scopePageJoin(Page page, HardDoorManagerDto dto, DataScope dataScope) { return baseMapper.scopePageJoin(page, dto, dataScope); @@ -34,10 +48,38 @@ public class HardDoorManagerServiceImpl extends ServiceImpl + @@ -29,6 +30,7 @@ select a.id, a.hard_id, a.imei, + a.device_code, a.cabinet_num, a.cabinet_camera_num, a.cabinet_weight_unit_num, @@ -56,6 +58,9 @@ and a.imei like concat('%', #{dto.imei}, '%') + + and a.device_code like concat('%', #{dto.deviceCode}, '%') + and a.power_status = #{dto.powerStatus} diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml index 34afa65f..a5404841 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/order/HardOrderMapper.xml @@ -251,7 +251,7 @@ - group by DATE_FORMAT(a.create_time, '%Y-%d-%m') + group by DATE_FORMAT(a.create_time, '%Y-%m-%d')