From 30e61bac2fb0b16dff18547bc545371cfd4d1c1f Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 18 Apr 2025 14:35:03 +0800 Subject: [PATCH 01/22] =?UTF-8?q?feat:=E6=AF=8F=E4=B8=AA=E8=B4=A7=E6=9F=9C?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 5 ++ .../api/dto/manager/HardDoorCabinetDto.java | 8 ++ .../hard/api/dto/spu/HardSpuRepertoryDto.java | 2 + .../api/entity/spu/HardSpuJoinEntity.java | 19 +++++ .../entity/spu/HardSpuRepertoryEntity.java | 13 +++ .../api/vo/manager/HardDoorCabinetVo.java | 23 ++++++ .../hard/api/vo/spu/HardSpuRepertoryVo.java | 13 ++- .../manager/HardDoorManagerController.java | 9 +++ .../controller/spu/HardSpuController.java | 3 + .../spu/HardSpuRepertoryController.java | 11 ++- .../mapper/manager/HardDoorCabinetMapper.java | 6 ++ .../hard/service/HardDoorCabinetService.java | 6 ++ .../hard/service/HardDoorManagerService.java | 7 ++ .../hard/service/HardSpuRepertoryService.java | 2 +- .../pjcloud/hard/service/HardSpuService.java | 3 +- .../manager/HardDoorCabinetServiceImpl.java | 9 +++ .../manager/HardDoorManagerServiceImpl.java | 11 +++ .../impl/order/HardOrderServiceImpl.java | 11 ++- .../impl/spu/HardSpuRepertoryServiceImpl.java | 81 +++++++++++++------ .../service/impl/spu/HardSpuServiceImpl.java | 31 +++++-- .../mapper/manager/HardDoorCabinetMapper.xml | 47 ++++++++++- .../mapper/spu/HardSpuRepertoryMapper.xml | 12 ++- 22 files changed, 293 insertions(+), 39 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/manager/HardDoorCabinetDto.java create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/manager/HardDoorCabinetVo.java diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index e050e7d03..1b4921528 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -444,6 +444,9 @@ CREATE TABLE hard_spu_join cabinet_no varchar(32) DEFAULT NULL COMMENT '货柜编号', spu_id bigint DEFAULT NULL COMMENT '商品id', hard_door_number int DEFAULT NULL COMMENT '商品放置层数', + version bigint DEFAULT 0 COMMENT '乐观锁', + sales_count bigint DEFAULT 0 COMMENT '销量', + repertory_count bigint NOT NULL DEFAULT 0 COMMENT '库存', create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', @@ -481,6 +484,8 @@ CREATE TABLE hard_spu_repertory ( id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', user_id bigint NOT NULL COMMENT '用户id', + hard_door_id bigint NOT NULL COMMENT '智能柜编号', + cabinet_no int NOT NULL COMMENT '货柜编号(1,2)', spu_id bigint NOT NULL COMMENT '商品id', before_count int NOT NULL COMMENT '更新前的库存数量', count int DEFAULT 0 COMMENT '更新库存数量', diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/manager/HardDoorCabinetDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/manager/HardDoorCabinetDto.java new file mode 100644 index 000000000..ce6dc3a63 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/manager/HardDoorCabinetDto.java @@ -0,0 +1,8 @@ +package com.bsd.pjcloud.hard.api.dto.manager; + +import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; +import lombok.Data; + +@Data +public class HardDoorCabinetDto extends HardDoorCabinetEntity { +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuRepertoryDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuRepertoryDto.java index 20a9290e5..94e3622fc 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuRepertoryDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuRepertoryDto.java @@ -13,4 +13,6 @@ public class HardSpuRepertoryDto extends HardSpuRepertoryEntity { private List userIds; + private Long cabinetId; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java index efc49d8d2..98c411968 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java @@ -51,6 +51,25 @@ public class HardSpuJoinEntity extends Model { @Schema(description = "放置层数") private Integer hardDoorNumber; + /** + * 乐观锁 + */ + @Version + private Integer version; + + /** + * 销量 + */ + @Schema(description = "销量") + private Integer salesCount; + + /** + * 库存 + */ + @Schema(description = "库存") + private Integer repertoryCount; + + /** * 创建人 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java index ce612b977..3f4b199e1 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java @@ -36,6 +36,19 @@ public class HardSpuRepertoryEntity extends Model { @Schema(description = "用户id") private Long userId; + /** + * 硬件柜子id + */ + @Schema(description = "硬件柜子id") + private Long hardDoorId; + + /** + * 柜门编号 + */ + @Schema(description = "柜门编号") + private Integer cabinetNo; + + /** * 商品id */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/manager/HardDoorCabinetVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/manager/HardDoorCabinetVo.java new file mode 100644 index 000000000..e19d15035 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/manager/HardDoorCabinetVo.java @@ -0,0 +1,23 @@ +package com.bsd.pjcloud.hard.api.vo.manager; + +import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; +import lombok.Data; + +import java.util.List; + +@Data +public class HardDoorCabinetVo extends HardDoorCabinetEntity implements BaseHardInterface { + + /** + * 设备相关 + */ + private Long hardId; + + private String hardName; + + private String hardType; + + private String deviceCode; + +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java index 15826858f..cfbe2fcb9 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java @@ -2,11 +2,12 @@ package com.bsd.pjcloud.hard.api.vo.spu; import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuRepertoryEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardSpuRepertoryVo extends HardSpuRepertoryEntity implements BaseMchInterface, BaseUserInterface { +public class HardSpuRepertoryVo extends HardSpuRepertoryEntity implements BaseMchInterface, BaseUserInterface, BaseHardInterface { /** * 商品相关 @@ -42,5 +43,15 @@ public class HardSpuRepertoryVo extends HardSpuRepertoryEntity implements BaseMc private String userAvatar; + /** + * 设备相关 + */ + private Long hardId; + + private String hardName; + + private String hardType; + + private String deviceCode; } 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 d82c03d22..ae93bea06 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 @@ -9,9 +9,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.log.annotation.SysLog; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.dto.manager.HardDoorManagerDto; import com.bsd.pjcloud.hard.api.dto.spu.HardChangeVolume; +import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; import com.bsd.pjcloud.hard.service.HardDoorCabinetService; import com.bsd.pjcloud.hard.service.HardDoorManagerService; @@ -79,6 +82,12 @@ public class HardDoorManagerController { return R.ok(); } + @Operation(summary = "柜门下拉查询", description = "柜门下拉查询") + @GetMapping("/select-cabinet") + public R> selectCabinet(@ParameterObject Page page, @ParameterObject HardDoorCabinetDto dto) { + return R.ok(hardDoorManagerService.selectCabinet(page, dto)); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('hard_hardDoorManager_view')") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java index e05999487..fae63dd00 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.hard.api.dto.spu.HardPutawayDto; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; @@ -45,6 +46,7 @@ public class HardSpuController { @Operation(summary = "app上架", description = "上架") @PostMapping("/app/putaway") + @Idempotent(expireTime = 5, info = "正在上架中,请勿重复操作") public R appPutaway(@Valid @RequestBody HardPutawayDto dto) { hardSpuService.putaway(dto); return R.ok(); @@ -52,6 +54,7 @@ public class HardSpuController { @Operation(summary = "app下架", description = "下架") @PostMapping("/app/un-putaway") + @Idempotent(expireTime = 5, info = "正在下架中,请勿重复操作") public R appUnPutaway(@Valid @RequestBody HardPutawayDto dto) { hardSpuService.unPutaway(dto); return R.ok(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuRepertoryController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuRepertoryController.java index e8d4b5ba6..c8cd6846b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuRepertoryController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuRepertoryController.java @@ -2,11 +2,13 @@ package com.bsd.pjcloud.hard.controller.spu; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; @@ -44,6 +46,7 @@ public class HardSpuRepertoryController { @Operation(summary = "app上架完成", description = "app上架完成") @PostMapping("/app/repertory-done") + @Idempotent(expireTime = 5, info = "正在操作中,请勿重复操作") public R appRepertoryDone(@Valid @RequestBody DeductionSpuRepertoryDto body) { PjcloudUser user = SecurityUtils.getUser(); return R.ok(hardSpuRepertoryService.appRepertoryDone(body, user.getId())); @@ -78,9 +81,13 @@ public class HardSpuRepertoryController { @SysLog("新增硬件商品库存更新记录") @PostMapping @PreAuthorize("@pms.hasPermission('hard_hardSpuRepertory_add')") - public R save(@Validated @RequestBody HardSpuRepertoryEntity hardSpuRepertory) { + @Idempotent(expireTime = 5, info = "正在上架中,请勿重复操作") + public R save(@Validated @RequestBody HardSpuRepertoryDto dto) { + if (ObjectUtil.isEmpty(dto.getCabinetId())) { + return R.failed("请选择所属柜门"); + } PjcloudUser user = SecurityUtils.getUser(); - return R.ok(hardSpuRepertoryService.create(hardSpuRepertory, user)); + return R.ok(hardSpuRepertoryService.create(dto, user)); } @Operation(summary = "修改硬件商品库存更新记录", description = "修改硬件商品库存更新记录") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorCabinetMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorCabinetMapper.java index 2ec2df75d..1ff0f4db9 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorCabinetMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorCabinetMapper.java @@ -1,11 +1,17 @@ package com.bsd.pjcloud.hard.mapper.manager; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface HardDoorCabinetMapper extends PjcloudBaseMapper { + Page scopePageJoin(Page page, @Param("dto") HardDoorCabinetDto dto, DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorCabinetService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorCabinetService.java index aea015e21..f4aabea87 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorCabinetService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorCabinetService.java @@ -1,13 +1,19 @@ package com.bsd.pjcloud.hard.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import com.bsd.pjcloud.thirdparty.vo.door.DoorStatusVo; import java.util.List; public interface HardDoorCabinetService extends IService { + Page scopePageJoin(Page page, HardDoorCabinetDto dto, DataScope dataScope); + void saveOrUpdate(Long hardDoorId, List list); List getListByHardDoorId(Long hardDoorId); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java index 7dcc203e8..4f53d5289 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java @@ -3,15 +3,22 @@ package com.bsd.pjcloud.hard.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.dto.manager.HardDoorManagerDto; import com.bsd.pjcloud.hard.api.dto.spu.HardChangeVolume; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; public interface HardDoorManagerService extends IService { Page scopePageJoin(Page page, HardDoorManagerDto dto, DataScope dataScope); + /** + * 柜门下拉查询 + */ + Page selectCabinet(Page page, HardDoorCabinetDto dto); + /** * 根据硬件id查询详情 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuRepertoryService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuRepertoryService.java index 305023251..5e5e18865 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuRepertoryService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuRepertoryService.java @@ -19,7 +19,7 @@ public interface HardSpuRepertoryService extends IService { /** * 扣减库存 */ - Boolean deductionSpuStock(List list); + Boolean deductionSpuStock(HardDoorFlowEntity hardDoorFlow, List list); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorCabinetServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorCabinetServiceImpl.java index eb45e6eec..01974dd53 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorCabinetServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorCabinetServiceImpl.java @@ -4,12 +4,16 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.feign.RemoteFileService; import com.bsd.pjcloud.common.core.util.QRCodeImageGenerator; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetCodeVo; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import com.bsd.pjcloud.hard.mapper.manager.HardDoorCabinetMapper; import com.bsd.pjcloud.hard.service.HardDoorCabinetService; import com.bsd.pjcloud.thirdparty.vo.door.DoorStatusVo; @@ -36,6 +40,11 @@ public class HardDoorCabinetServiceImpl extends ServiceImpl scopePageJoin(Page page, HardDoorCabinetDto dto, DataScope dataScope) { + return baseMapper.scopePageJoin(page, dto, dataScope); + } + @Override public void saveOrUpdate(Long hardDoorId, List list) { List cabinetList = baseMapper.selectList(new LambdaQueryWrapper() 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 b4df51f42..76e0b83d6 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 @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.hard.api.dto.manager.HardDoorCabinetDto; import com.bsd.pjcloud.hard.api.dto.manager.HardDoorManagerDto; import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto; import com.bsd.pjcloud.hard.api.dto.spu.HardChangeVolume; @@ -14,6 +15,7 @@ import com.bsd.pjcloud.hard.api.entity.manager.HardDoorCabinetEntity; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity; import com.bsd.pjcloud.hard.api.utils.HardUtil; +import com.bsd.pjcloud.hard.api.vo.manager.HardDoorCabinetVo; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; import com.bsd.pjcloud.hard.mapper.manager.HardDoorManagerMapper; import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper; @@ -55,6 +57,15 @@ public class HardDoorManagerServiceImpl extends ServiceImpl selectCabinet(Page page, HardDoorCabinetDto dto) { + DataScope dataScope = new DataScope(); + return hardDoorCabinetService.scopePageJoin(page, dto, dataScope); + } + /** * 根据硬件id查询详情 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 815986eb0..ad4940338 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -38,6 +38,7 @@ import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; import com.bsd.pjcloud.hard.api.utils.HardUtil; +import com.bsd.pjcloud.hard.api.vo.HardDoorFlowVo; import com.bsd.pjcloud.hard.api.vo.manager.HardManagerVo; import com.bsd.pjcloud.hard.api.vo.order.HardCarVo; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; @@ -93,6 +94,8 @@ public class HardOrderServiceImpl extends ServiceImpl() + .eq(HardSpuJoinEntity::getHardDoorId, dto.getHardDoorId()) + .eq(HardSpuJoinEntity::getCabinetNo, dto.getCabinetNo()) + .eq(HardSpuJoinEntity::getSpuId, dto.getSpuId()) + ); + if (ObjectUtil.isEmpty(cabinetSpu)) { + throw new RuntimeException("货柜中没有这个商品"); + } Integer beforeCount = 0; if (ObjectUtil.isNotEmpty(spuDetail.getRepertoryCount())) { beforeCount = spuDetail.getRepertoryCount(); } - entity.setBeforeCount(beforeCount); - entity.setUserId(user.getId()); - entity.setBizType(HardSpuRepertoryTypeEnum.HANDLER.getType()); - baseMapper.insert(entity); - // 更新商品库存 + dto.setBeforeCount(beforeCount); + dto.setUserId(user.getId()); + dto.setBizType(HardSpuRepertoryTypeEnum.HANDLER.getType()); + baseMapper.insert(dto); + // 更新商品总库存 HardSpuEntity spu = new HardSpuEntity(); spu.setId(spuDetail.getId()); - spu.setRepertoryCount(entity.getCount() + beforeCount); + spu.setRepertoryCount(dto.getCount() + beforeCount); + spu.setVersion(spuDetail.getVersion()); hardSpuService.updateById(spu); - return entity.getId(); + // 更新柜门商品库存 + HardSpuJoinEntity cabinetSpuJoin = new HardSpuJoinEntity(); + cabinetSpuJoin.setId(cabinetSpu.getId()); + cabinetSpuJoin.setVersion(cabinetSpu.getVersion()); + cabinetSpuJoin.setRepertoryCount(dto.getCount() + cabinetSpu.getRepertoryCount()); + hardSpuJoinService.updateById(cabinetSpuJoin); + return dto.getId(); } /** @@ -169,9 +193,13 @@ public class HardSpuRepertoryServiceImpl extends ServiceImpl spuIds = list.stream().map(DeductionSpuRepertoryDto.Item::getHardSpuId).toList(); List spuList = hardSpuService.listByIds(spuIds); + // 查询货柜商品列表 + List spuJoinList = hardSpuJoinService.list(new LambdaQueryWrapper() + .in(HardSpuJoinEntity::getSpuId, spuIds) + .eq(HardSpuJoinEntity::getHardDoorId, hardDoorFlow.getHardDoorId()) + .eq(HardSpuJoinEntity::getCabinetNo, hardDoorFlow.getCabinetNo()) + ); // 更新上架记录 - List spuRepertoryList = new ArrayList<>(); - List spuUpdateList = new ArrayList<>(); for (DeductionSpuRepertoryDto.Item i : list) { spuList.stream().filter(v -> v.getId().equals(i.getHardSpuId())).findFirst().ifPresent(spu -> { HardSpuRepertoryEntity entity = new HardSpuRepertoryEntity(); @@ -179,24 +207,31 @@ public class HardSpuRepertoryServiceImpl extends ServiceImpl ObjectUtil.equals(v.getSpuId(), spu.getId())).findFirst().ifPresent(spuJoin -> { + HardSpuJoinEntity spuJoinEntity = new HardSpuJoinEntity(); + spuJoinEntity.setId(spuJoin.getId()); + spuJoinEntity.setVersion(spuJoin.getVersion()); + spuJoinEntity.setRepertoryCount(entity.getCount() + spuJoin.getRepertoryCount()); + hardSpuJoinService.updateById(spuJoinEntity); + }); }); } - // 添加上架记录 - baseMapper.insert(spuRepertoryList); - // 更新商品库存 - hardSpuService.updateBatchById(spuUpdateList); return false; } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java index e82b5761b..2953bc7ea 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java @@ -15,6 +15,7 @@ import com.bsd.pjcloud.hard.api.dto.spu.DeductionSpuStockDto; import com.bsd.pjcloud.hard.api.dto.spu.HardPutawayDto; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuJoinDto; +import com.bsd.pjcloud.hard.api.entity.HardDoorFlowEntity; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; @@ -183,11 +184,8 @@ public class HardSpuServiceImpl extends ServiceImpl() - .eq(HardSpuJoinEntity::getHardDoorNumber, spuJoinDetail.getHardDoorNumber()) - .eq(HardSpuJoinEntity::getSpuId, spuDetail.getId()) - ); - if (doorCount > 0) throw new RuntimeException("该层已有相同商品"); + long doorCount = hardSpuJoinService.count(new LambdaUpdateWrapper().eq(HardSpuJoinEntity::getSpuId, spuDetail.getId())); + if (doorCount > 0) throw new RuntimeException("该货柜已有相同商品"); LambdaUpdateWrapper updateObj = new LambdaUpdateWrapper() .set(HardSpuJoinEntity::getSpuId, spuDetail.getId()) .eq(HardSpuJoinEntity::getId, dto.getId()); @@ -251,7 +249,11 @@ public class HardSpuServiceImpl extends ServiceImpl list) { + public Boolean deductionSpuStock(HardDoorFlowEntity hardDoorFlow, List list) { + if (ObjectUtil.isEmpty(hardDoorFlow)) { + log.error("|{}|扣减商品库存失败flow为空dto|{}|", TAG, JSONUtil.toJsonStr(list)); + return false; + } if (ObjectUtil.isEmpty(list)) { log.error("|{}|扣减商品库存失败list为空", TAG); return false; @@ -262,6 +264,12 @@ public class HardSpuServiceImpl extends ServiceImpl hardSpuJoinList = hardSpuJoinService.list(new LambdaQueryWrapper() + .in(HardSpuJoinEntity::getSpuId, hardSpuIdes) + .eq(HardSpuJoinEntity::getHardDoorId, hardDoorFlow.getHardDoorId()) + .eq(HardSpuJoinEntity::getCabinetNo, hardDoorFlow.getCabinetNo()) + ); for (HardSpuEntity i : hardSpuList) { list.stream().filter(j -> ObjectUtil.equals(i.getId(), j.getHardSpuId())).findFirst().ifPresent(hardSpu -> { if (ObjectUtil.isNotEmpty(hardSpu.getIncrCount())) { @@ -269,11 +277,22 @@ public class HardSpuServiceImpl extends ServiceImpl ObjectUtil.equals(v.getHardSpuId(), i.getSpuId())).findFirst().ifPresent(spu -> { + HardSpuJoinEntity spuJoinEntity = new HardSpuJoinEntity(); + spuJoinEntity.setId(i.getId()); + spuJoinEntity.setVersion(i.getVersion()); + spuJoinEntity.setRepertoryCount(i.getRepertoryCount() - spu.getIncrCount()); + hardSpuJoinService.updateById(spuJoinEntity); + }); + } return true; } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorCabinetMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorCabinetMapper.xml index 3f85f0c40..e5a3c1cc1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorCabinetMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorCabinetMapper.xml @@ -2,8 +2,7 @@ - - + @@ -18,5 +17,47 @@ - + + + + select a.id, + a.hard_door_id, + a.cabinet_no, + a.is_lock_online, + a.lock_status, + a.door_status, + a.sale_status, + a.qr_code, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + + + + a.del_flag = '0' + + and a.hard_door_id = #{dto.hardDoorId} + + + and a.cabinet_no like concat('%', #{dto.cabinetNo}, '%') + + + + \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml index 2d8b8f92f..1379000ca 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml @@ -5,6 +5,8 @@ + + @@ -19,6 +21,8 @@ select a.id, + a.hard_door_id, + a.cabinet_no, a.user_id, a.spu_id, a.before_count, @@ -55,10 +59,16 @@ s.name as spuName, s.spu_category_id, - c.name as spuCategoryName + c.name as spuCategoryName, + hardD.device_code, + m.id as hardId, + m.name as hardName, + m.type as hardType from hard_spu_repertory a left join hard_spu s on s.id = a.spu_id left join hard_spu_category c on c.id = s.spu_category_id + left join hard_door_manager hardD on hardD.id = a.hard_door_id + left join hard_manager m on m.id = hardD.hard_id From 85a2d734d821a69de52b4d8db84b8ac176b52418 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 18 Apr 2025 16:10:57 +0800 Subject: [PATCH 02/22] =?UTF-8?q?feat:app=E5=95=86=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/HardDoorManagerController.java | 2 +- .../controller/spu/HardSpuController.java | 7 + .../admin/controller/SysRoleController.java | 289 +++++++++--------- 3 files changed, 159 insertions(+), 139 deletions(-) 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 ae93bea06..957e62cd2 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 @@ -81,7 +81,7 @@ public class HardDoorManagerController { hardDoorManagerService.changeVolume(dto); return R.ok(); } - + @Operation(summary = "柜门下拉查询", description = "柜门下拉查询") @GetMapping("/select-cabinet") public R> selectCabinet(@ParameterObject Page page, @ParameterObject HardDoorCabinetDto dto) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java index fae63dd00..36fd5dda5 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java @@ -72,6 +72,13 @@ public class HardSpuController { return R.ok(hardSpuService.getByCabinetNo(hardId, cabinetNo)); } + @Operation(summary = "app商品类表", description = "app商品类表") + @GetMapping("/app/page") + public R appPage(@ParameterObject Page page, @ParameterObject HardSpuDto dto) { + DataScope dataScope = null; + return R.ok(hardSpuService.scopPageJoin(page, dto, dataScope)); + } + /* ************************************* end APP end ************************************* */ @Operation(summary = "拉取旷世商品", description = "拉取旷世商品") diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java index 04f09d27c..5adf2d541 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java @@ -24,15 +24,12 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.entity.SysRole; -import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.entity.SysUserRole; import com.bsd.pjcloud.admin.api.vo.RoleExcelVO; import com.bsd.pjcloud.admin.api.vo.RoleMenuVO; import com.bsd.pjcloud.admin.service.SysRoleService; import com.bsd.pjcloud.admin.service.SysUserRoleService; import com.bsd.pjcloud.common.core.constant.CacheConstants; -import com.bsd.pjcloud.common.core.exception.ErrorCodes; -import com.bsd.pjcloud.common.core.util.MsgUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.excel.annotation.RequestExcel; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -44,7 +41,6 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.AllArgsConstructor; -import org.apache.commons.lang3.StringUtils; import org.springdoc.core.annotations.ParameterObject; import org.springframework.cache.annotation.CacheEvict; import org.springframework.http.HttpHeaders; @@ -66,153 +62,170 @@ import java.util.stream.Collectors; @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class SysRoleController { - private final SysRoleService sysRoleService; + private final SysRoleService sysRoleService; - private final SysUserRoleService sysUserRoleService; + private final SysUserRoleService sysUserRoleService; - @Inner - @PostMapping("/by-codes") - public R> findRolesByCodes(@RequestBody List codes) { - return R.ok(sysRoleService.findRolesByCodes(codes)); - } + /* ************************************* start 数据同步 start ************************************* */ - /** - * 通过ID查询角色信息 - * @param id ID - * @return 角色信息 - */ - @GetMapping("/details/{id}") - public R getById(@PathVariable Long id) { - return R.ok(sysRoleService.getById(id)); - } - /** - * 查询角色信息 - * @param query 查询条件 - * @return 角色信息 - */ - @GetMapping("/details") - public R getDetails(@ParameterObject SysRole query) { - return R.ok(sysRoleService.getOne(Wrappers.query(query), false)); - } + /* ************************************* end 数据同步 end ************************************* */ - /** - * 添加角色 - * @param sysRole 角色信息 - * @return success、false - */ - @SysLog("添加角色") - @PostMapping - @HasPermission("sys_role_add") - @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) - public R save(@Valid @RequestBody SysRole sysRole) { - return R.ok(sysRoleService.save(sysRole)); - } + @Inner + @PostMapping("/by-codes") + public R> findRolesByCodes(@RequestBody List codes) { + return R.ok(sysRoleService.findRolesByCodes(codes)); + } - /** - * 修改角色 - * @param sysRole 角色信息 - * @return success/false - */ - @SysLog("修改角色") - @PutMapping - @HasPermission("sys_role_edit") - @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) - public R update(@Valid @RequestBody SysRole sysRole) { - return R.ok(sysRoleService.updateById(sysRole)); - } + /** + * 通过ID查询角色信息 + * + * @param id ID + * @return 角色信息 + */ + @GetMapping("/details/{id}") + public R getById(@PathVariable Long id) { + return R.ok(sysRoleService.getById(id)); + } - /** - * 删除角色 - * @param ids - * @return - */ - @SysLog("删除角色") - @DeleteMapping - @HasPermission("sys_role_del") - @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) - public R removeById(@RequestBody Long[] ids) { - return R.ok(sysRoleService.removeRoleByIds(ids)); - } + /** + * 查询角色信息 + * + * @param query 查询条件 + * @return 角色信息 + */ + @GetMapping("/details") + public R getDetails(@ParameterObject SysRole query) { + return R.ok(sysRoleService.getOne(Wrappers.query(query), false)); + } - /** - * 获取角色列表 - * @return 角色列表 - */ - @GetMapping("/list") - public R listRoles() { - return R.ok(sysRoleService.list(Wrappers.emptyWrapper())); - } + /** + * 添加角色 + * + * @param sysRole 角色信息 + * @return success、false + */ + @SysLog("添加角色") + @PostMapping + @HasPermission("sys_role_add") + @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) + public R save(@Valid @RequestBody SysRole sysRole) { + return R.ok(sysRoleService.save(sysRole)); + } - @GetMapping("/isMchUser") - public R isMchUser() { - Long id = SecurityUtils.getUser().getId(); - List sysUserRoles = sysUserRoleService.list(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, id)); - List roleIds = sysUserRoles.stream().map(sysUserRole -> sysUserRole.getRoleId()).collect(Collectors.toList()); - List list = sysRoleService.list(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, "MCH_USER")); - if (CollectionUtils.isEmpty(list) || CollUtil.isEmpty(roleIds) || !roleIds.contains(list.get(0).getRoleId())){ - return R.ok(false); - } + /** + * 修改角色 + * + * @param sysRole 角色信息 + * @return success/false + */ + @SysLog("修改角色") + @PutMapping + @HasPermission("sys_role_edit") + @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) + public R update(@Valid @RequestBody SysRole sysRole) { + return R.ok(sysRoleService.updateById(sysRole)); + } - return R.ok(true); - } - /** - * 分页查询角色信息 - * @param page 分页对象 - * @param role 查询条件 - * @return 分页对象 - */ - @GetMapping("/page") - public R getRolePage(Page page, SysRole role) { - return R.ok(sysRoleService.page(page, Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(role.getRoleName()), SysRole::getRoleName, role.getRoleName()))); - } + /** + * 删除角色 + * + * @param ids + * @return + */ + @SysLog("删除角色") + @DeleteMapping + @HasPermission("sys_role_del") + @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true) + public R removeById(@RequestBody Long[] ids) { + return R.ok(sysRoleService.removeRoleByIds(ids)); + } - /** - * 更新角色菜单 - * @param roleVo 角色对象 - * @return success、false - */ - @SysLog("更新角色菜单") - @PutMapping("/menu") - @HasPermission("sys_role_perm") - public R saveRoleMenus(@RequestBody RoleMenuVO roleVo) { - return R.ok(sysRoleService.updateRoleMenus(roleVo)); - } + /** + * 获取角色列表 + * + * @return 角色列表 + */ + @GetMapping("/list") + public R listRoles() { + return R.ok(sysRoleService.list(Wrappers.emptyWrapper())); + } - /** - * 通过角色ID 查询角色列表 - * @param roleIdList 角色ID - * @return - */ - @PostMapping("/getRoleList") - public R getRoleList(@RequestBody List roleIdList) { - return R.ok(sysRoleService.findRolesByRoleIds(roleIdList, CollUtil.join(roleIdList, StrUtil.UNDERLINE))); - } + @GetMapping("/isMchUser") + public R isMchUser() { + Long id = SecurityUtils.getUser().getId(); + List sysUserRoles = sysUserRoleService.list(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, id)); + List roleIds = sysUserRoles.stream().map(sysUserRole -> sysUserRole.getRoleId()).collect(Collectors.toList()); + List list = sysRoleService.list(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, "MCH_USER")); + if (CollectionUtils.isEmpty(list) || CollUtil.isEmpty(roleIds) || !roleIds.contains(list.get(0).getRoleId())) { + return R.ok(false); + } + return R.ok(true); + } - /** - * 导出excel 表格 - * @param sysRole 查询条件 - * @param ids 导出ids - * @return - */ - @ResponseExcel - @GetMapping("/export") - @HasPermission("sys_role_export") - public List export(SysRole sysRole, Long[] ids) { - return sysRoleService.listRole(sysRole, ids); - } - /** - * 导入角色 - * @param excelVOList 角色列表 - * @param bindingResult 错误信息列表 - * @return ok fail - */ - @PostMapping("/import") - @HasPermission("sys_role_export") - public R importRole(@RequestExcel List excelVOList, BindingResult bindingResult) { - return sysRoleService.importRole(excelVOList, bindingResult); - } + /** + * 分页查询角色信息 + * + * @param page 分页对象 + * @param role 查询条件 + * @return 分页对象 + */ + @GetMapping("/page") + public R getRolePage(Page page, SysRole role) { + return R.ok(sysRoleService.page(page, Wrappers.lambdaQuery() + .like(StrUtil.isNotBlank(role.getRoleName()), SysRole::getRoleName, role.getRoleName()))); + } + + /** + * 更新角色菜单 + * + * @param roleVo 角色对象 + * @return success、false + */ + @SysLog("更新角色菜单") + @PutMapping("/menu") + @HasPermission("sys_role_perm") + public R saveRoleMenus(@RequestBody RoleMenuVO roleVo) { + return R.ok(sysRoleService.updateRoleMenus(roleVo)); + } + + /** + * 通过角色ID 查询角色列表 + * + * @param roleIdList 角色ID + * @return + */ + @PostMapping("/getRoleList") + public R getRoleList(@RequestBody List roleIdList) { + return R.ok(sysRoleService.findRolesByRoleIds(roleIdList, CollUtil.join(roleIdList, StrUtil.UNDERLINE))); + } + + /** + * 导出excel 表格 + * + * @param sysRole 查询条件 + * @param ids 导出ids + * @return + */ + @ResponseExcel + @GetMapping("/export") + @HasPermission("sys_role_export") + public List export(SysRole sysRole, Long[] ids) { + return sysRoleService.listRole(sysRole, ids); + } + + /** + * 导入角色 + * + * @param excelVOList 角色列表 + * @param bindingResult 错误信息列表 + * @return ok fail + */ + @PostMapping("/import") + @HasPermission("sys_role_export") + public R importRole(@RequestExcel List excelVOList, BindingResult bindingResult) { + return sysRoleService.importRole(excelVOList, bindingResult); + } } From 76ee59386a518645848c6c8eda32785cef880e9a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 18 Apr 2025 16:52:00 +0800 Subject: [PATCH 03/22] =?UTF-8?q?fix:=E9=80=82=E9=85=8D=E5=8F=8C=E9=97=A8?= =?UTF-8?q?=E6=99=BA=E8=83=BD=E6=9F=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/HardDoorManagerController.java | 4 ++-- .../mapper/manager/HardDoorManagerMapper.java | 4 +++- .../hard/service/HardDoorManagerService.java | 9 +++++++-- .../pjcloud/hard/service/HardSpuService.java | 2 +- .../service/impl/HardAuthServiceImpl.java | 2 +- .../manager/HardDoorManagerServiceImpl.java | 19 +++++++++++++++++-- .../service/impl/spu/HardSpuServiceImpl.java | 10 +++++++--- .../mapper/manager/HardDoorManagerMapper.xml | 9 ++++++++- 8 files changed, 46 insertions(+), 13 deletions(-) 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 957e62cd2..9db6b6e2b 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 @@ -81,7 +81,7 @@ public class HardDoorManagerController { hardDoorManagerService.changeVolume(dto); return R.ok(); } - + @Operation(summary = "柜门下拉查询", description = "柜门下拉查询") @GetMapping("/select-cabinet") public R> selectCabinet(@ParameterObject Page page, @ParameterObject HardDoorCabinetDto dto) { @@ -115,7 +115,7 @@ public class HardDoorManagerController { @GetMapping("/get-by-hard-id") @PreAuthorize("@pms.hasPermission('hard_hardDoorManager_view')") public R getByHardId(@RequestParam Long hardId) { - return R.ok(hardDoorManagerService.getByHardDoorId(hardId)); + return R.ok(hardDoorManagerService.getByHardId(hardId)); } @Operation(summary = "通过id删除智能柜设置", description = "通过id删除智能柜设置") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorManagerMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorManagerMapper.java index 7623514eb..391543951 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorManagerMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/manager/HardDoorManagerMapper.java @@ -14,5 +14,7 @@ public interface HardDoorManagerMapper extends PjcloudBaseMapper scopePageJoin(Page page, @Param("dto") HardDoorManagerDto dto, DataScope dataScope); - HardDoorManagerVo pageJoin(@Param("hardId") Long hardId); + HardDoorManagerVo pageJoinByHardDoorId(@Param("hardDoorId") Long hardDoorId); + + HardDoorManagerVo pageJoinByHardId(@Param("hardId") Long hardId); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java index 4f53d5289..19292fb6f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java @@ -14,15 +14,20 @@ public interface HardDoorManagerService extends IService Page scopePageJoin(Page page, HardDoorManagerDto dto, DataScope dataScope); - /** + /** * 柜门下拉查询 */ Page selectCabinet(Page page, HardDoorCabinetDto dto); + /** + * 根据智能硬件id查询详情 + */ + HardDoorManagerVo getByHardDoorId(Long hardDoorId); + /** * 根据硬件id查询详情 */ - HardDoorManagerVo getByHardDoorId(Long hardId); + HardDoorManagerVo getByHardId(Long hardId); /** * 根据硬件设备编号查询详情 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java index b5877dadf..e4d8cfc9c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java @@ -44,7 +44,7 @@ public interface HardSpuService extends IService { /** * 根据 hardwareId 和 cabinetNo 查询商品 */ - List>> getByCabinetNo(Long hardId, String cabinetNo); + List>> getByCabinetNo(Long Long, String cabinetNo); /** * 查询货柜补货商品列表 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java index 08e273725..24a5601d3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java @@ -98,7 +98,7 @@ public class HardAuthServiceImpl extends ServiceImpl cabinetList = hardDoorCabinetService.getListByHardDoorId(hardDoor.getId()); + if (ObjectUtil.isNotEmpty(cabinetList)) { + hardDoor.setCabinetList(cabinetList); + } + } + return hardDoor; + } + + /** + * 根据硬件id查询详情 + */ + @Override + public HardDoorManagerVo getByHardId(Long hardId) { + HardDoorManagerVo hardDoor = baseMapper.pageJoinByHardId(hardId); if (ObjectUtil.isNotEmpty(hardDoor)) { List cabinetList = hardDoorCabinetService.getListByHardDoorId(hardDoor.getId()); if (ObjectUtil.isNotEmpty(cabinetList)) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java index 2953bc7ea..681e27272 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java @@ -122,9 +122,9 @@ public class HardSpuServiceImpl extends ServiceImpl>> getByCabinetNo(Long hardId, String cabinetNo) { List>> result = new LinkedList<>(); // 查询设备 - HardDoorManagerVo doorManagerVo = hardDoorManagerService.getByHardDoorId(hardId); + HardDoorManagerVo doorManagerVo = hardDoorManagerService.getByHardId(hardId); if (ObjectUtil.isEmpty(doorManagerVo)) return result; - int doorCount = 6; + int doorCount = 5; int storeySpuMaxCount = 10; if (ObjectUtil.isNotEmpty(doorCount)) { doorCount = doorManagerVo.getDoorCount().intValue(); @@ -184,7 +184,11 @@ public class HardSpuServiceImpl extends ServiceImpl().eq(HardSpuJoinEntity::getSpuId, spuDetail.getId())); + long doorCount = hardSpuJoinService.count(new LambdaUpdateWrapper() + .eq(HardSpuJoinEntity::getHardDoorId, spuJoinDetail.getHardDoorId()) + .eq(HardSpuJoinEntity::getCabinetNo, spuJoinDetail.getCabinetNo()) + .eq(HardSpuJoinEntity::getSpuId, spuDetail.getId()) + ); if (doorCount > 0) throw new RuntimeException("该货柜已有相同商品"); LambdaUpdateWrapper updateObj = new LambdaUpdateWrapper() .set(HardSpuJoinEntity::getSpuId, spuDetail.getId()) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorManagerMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorManagerMapper.xml index 45745f450..a54e99383 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorManagerMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/manager/HardDoorManagerMapper.xml @@ -94,7 +94,14 @@ order by a.create_time desc , a.id desc - + + + a.id = #{hardDoorId} + + + + + + + \ No newline at end of file From 7a463016ecaf0768c775c872d295781dc56e2115 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 21 Apr 2025 16:48:33 +0800 Subject: [PATCH 16/22] 111 --- .../door/ThirdDoorApiController.java | 9 ++- .../controller/ks/ThirdKsApiController.java | 6 +- .../impl/door/ThirdDoorApiServiceImpl.java | 2 +- .../admin/api/dto/SysUserTransactionDto.java | 9 +++ .../admin/api/vo/SysUserTransactionVo.java | 12 +++- .../mapper/SysUserTransactionMapper.xml | 66 ++++++++++++++++++- 6 files changed, 95 insertions(+), 9 deletions(-) diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/door/ThirdDoorApiController.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/door/ThirdDoorApiController.java index f53b01539..afc238b82 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/door/ThirdDoorApiController.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/door/ThirdDoorApiController.java @@ -85,25 +85,28 @@ public class ThirdDoorApiController { @Inner(value = false) @Operation(summary = "门锁开关通知回调") @PostMapping("/callback/open") - public void callbackOpen(HttpEntity httpEntity, @RequestHeader Map headers) { + public R callbackOpen(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); thirdDoorApiService.callbackOpen(body, headers); + return R.ok(); } @Inner(value = false) @Operation(summary = "视频地址通知回调") @PostMapping("/callback/video") - public void callbackVideo(HttpEntity httpEntity, @RequestHeader Map headers) { + public R callbackVideo(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); thirdDoorApiService.callbackVideo(body, headers); + return R.ok(); } @Inner(value = false) @Operation(summary = "设备状态通知回调") @PostMapping("/callback/status") - public void callbackStatus(HttpEntity httpEntity, @RequestHeader Map headers) { + public R callbackStatus(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); thirdDoorApiService.callbackStatus(body, headers); + return R.ok(); } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ks/ThirdKsApiController.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ks/ThirdKsApiController.java index c3ddc02ef..031156c6f 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ks/ThirdKsApiController.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ks/ThirdKsApiController.java @@ -105,17 +105,19 @@ public class ThirdKsApiController { @Inner(value = false) @Operation(summary = "sku审核回调") @PostMapping("/callback/sku") - public void callbackSKu(HttpEntity httpEntity, @RequestHeader Map headers) { + public R callbackSKu(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); thirdKsApiService.callbackSKu(body, headers); + return R.ok(); } @Inner(value = false) @Operation(summary = "识别回调") @PostMapping("/callback/recognition") - public void callbackRecognition(HttpEntity httpEntity, @RequestHeader Map headers) { + public R callbackRecognition(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); thirdKsApiService.callbackRecognition(body, headers); + return R.ok(); } /* ************************************* end 回调 end ************************************* */ diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java index 96456cba1..fd7617d0e 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java @@ -213,10 +213,10 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService { DoorBaseVo doorBaseVo = new DoorBaseVo(); DoorApi.Api api = DoorApi.OPEN.setBaseUrl(doorConfig.getBaseUrl()); ThirdDoorLogEntity logEntity = api.getInitLogEntity(); - logEntity.setReq(JSONUtil.toJsonStr(dto)); try { dto.setLockNotifyUrl(doorConfig.getCallbackBaseUrl() + doorConfig.getCallbackLockUrl()); dto.setVideoNotifyUrl(doorConfig.getCallbackBaseUrl() + doorConfig.getCallbackVideoUrl()); + logEntity.setReq(JSONUtil.toJsonStr(dto)); String body = JSONUtil.toJsonStr(dto); String res = api.getHttpRequest().header(apiCountersign(body)).body(body).execute().body(); if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空"); diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserTransactionDto.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserTransactionDto.java index 13abcc964..b1b8937ad 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserTransactionDto.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserTransactionDto.java @@ -3,6 +3,15 @@ package com.bsd.pjcloud.admin.api.dto; import com.bsd.pjcloud.admin.api.entity.SysUserTransactionEntity; import lombok.Data; +import java.time.LocalDateTime; + @Data public class SysUserTransactionDto extends SysUserTransactionEntity { + + private LocalDateTime[] createTimeList; + + private LocalDateTime[] walletTransactionTimeList; + + private LocalDateTime[] processTimeList; + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserTransactionVo.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserTransactionVo.java index f04148792..ae8c9385e 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserTransactionVo.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserTransactionVo.java @@ -1,10 +1,11 @@ package com.bsd.pjcloud.admin.api.vo; import com.bsd.pjcloud.admin.api.entity.SysUserTransactionEntity; +import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; import lombok.Data; @Data -public class SysUserTransactionVo extends SysUserTransactionEntity { +public class SysUserTransactionVo extends SysUserTransactionEntity implements BaseUserInterface { /** * 源部门名称 @@ -16,4 +17,13 @@ public class SysUserTransactionVo extends SysUserTransactionEntity { */ private String targetDeptName; + /** + * 用户相关 + */ + private String username; + + private String userMobile; + + private String userAvatar; + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserTransactionMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserTransactionMapper.xml index d65c73b00..82d53427f 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserTransactionMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserTransactionMapper.xml @@ -23,13 +23,75 @@ - + select a.id, + a.user_id, + a.biz_id, + a.biz_type, + a.source_dept_id, + a.target_dept_id, + a.is_wallet_transaction, + a.wallet_transaction_time, + a.process_id, + a.process_status, + a.process_time, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, - + a.del_flag = '0' + + AND a.user_id = #{dto.userId} + + + AND a.biz_id = #{dto.bizId} + + + AND a.biz_id = #{dto.bizId} + + + AND a.biz_type = #{dto.bizType} + + + AND a.source_dept_id = #{dto.sourceDeptId} + + + AND a.target_dept_id = #{dto.targetDeptId} + + + AND a.is_wallet_transaction = #{dto.isWalletTransaction} + + + AND a.process_status = #{dto.processStatus} + + + and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} + + + and a.wallet_transaction_time between #{dto.walletTransactionTimeList[0]} and #{dto.walletTransactionTimeList[1]} + + + and a.create_time between #{dto.processTimeList[0]} and #{dto.processTimeList[1]} + \ No newline at end of file From f478ad10ea617f9ca6078398d9d7138ac9ff6d8d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 21 Apr 2025 20:04:45 +0800 Subject: [PATCH 17/22] =?UTF-8?q?fix:=E5=AE=8C=E5=96=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java | 1 + .../pjcloud/hard/service/impl/HardDoorFlowServiceImpl.java | 1 + .../service/impl/door/ThirdDoorApiServiceImpl.java | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java index d51fba8ad..c53ad4724 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java @@ -92,6 +92,7 @@ public class HardAuthServiceImpl extends ServiceImpl Date: Mon, 21 Apr 2025 20:19:40 +0800 Subject: [PATCH 18/22] 11 --- .../service/impl/door/ThirdDoorApiServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java index f69a22d07..067607181 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/door/ThirdDoorApiServiceImpl.java @@ -388,9 +388,10 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService { return false; } String appid = headers.get("appId"); - String noncestr = headers.get("Noncestr"); - String timestamp = headers.get("Timestamp"); + String noncestr = headers.get("noncestr"); + String timestamp = headers.get("timestamp"); String sign = headers.get("sign"); + if (ObjectUtil.notEqual(doorConfig.getAppId(), appid)) { log.error("|{}|apiParseSign 接口解签错误appId错误dto|{}|headers|{}|appid|{}|noncestr|{}|timestamp|{}|sign|{}|", TAG, json, JSONUtil.toJsonStr(headers), appid, noncestr, timestamp, sign); return false; @@ -404,7 +405,7 @@ public class ThirdDoorApiServiceImpl implements ThirdDoorApiService { successSign += json; String successSignMd5 = DigestUtils.md5Hex(successSign); if (ObjectUtil.notEqual(successSignMd5.toLowerCase(), sign.toLowerCase())) { - log.error("|{}|apiParseSign 接口解签错误sign错误dto|{}|headers|{}|", TAG, json, JSONUtil.toJsonStr(headers)); + log.error("|{}|apiParseSign 接口解签错误sign错误dto|{}|headers|{}|appid|{}|noncestr|{}|timestamp|{}|sign|{}|", TAG, json, JSONUtil.toJsonStr(headers), appid, noncestr, timestamp, sign); return false; } return true; From ea6d52eb2304a10058e2ee5117e1f77ecc229673 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 21 Apr 2025 20:28:17 +0800 Subject: [PATCH 19/22] =?UTF-8?q?feat:=E6=94=AF=E4=BB=98=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/order/HardOrderMapper.xml | 7 ------- 1 file changed, 7 deletions(-) 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 386bb1ea2..16788db46 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 @@ -283,13 +283,6 @@ group by a.pay_type - CASE a.merchant_type - WHEN 10 THEN 1 - WHEN 30 THEN 2 - WHEN 0 THEN 3 - WHEN 20 THEN 4 - ELSE 5 - END;