From 14eca5c7e076c007404b697dde444aab4059c877 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 15:05:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=99=BA=E8=83=BD=E6=9F=9C=E5=95=86?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 44 ++++++++++--------- .../hard/api/dto/spu/HardSpuCategoryDto.java | 5 +++ .../hard/api/entity/spu/HardSpuEntity.java | 6 +++ .../pjcloud/hard/api/vo/spu/HardSpuVo.java | 10 ++++- .../controller/HardManagerController.java | 6 +++ .../spu/HardSpuCategoryController.java | 7 +++ .../controller/spu/HardSpuController.java | 7 +++ .../mapper/spu/HardSpuCategoryMapper.java | 2 + .../impl/spu/HardSpuCategoryServiceImpl.java | 11 +++++ .../service/impl/spu/HardSpuServiceImpl.java | 36 ++++++++++++++- .../resources/mapper/spu/HardSpuMapper.xml | 4 ++ 11 files changed, 114 insertions(+), 24 deletions(-) diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index ae2532990..50073dbd7 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -277,27 +277,29 @@ CREATE TABLE hard_auth DROP TABLE IF EXISTS hard_spu; CREATE TABLE hard_spu ( - id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', - spu_category_id bigint NOT NULL COMMENT '商品分类id', - name varchar(64) NOT NULL COMMENT '商品名', - pic varchar(256) NOT NULL COMMENT '商品图片', - price int NOT NULL COMMENT '单价(分)', - sales_count int DEFAULT 0 NOT NULL COMMENT '销量', - repertory_count int DEFAULT 0 NOT NULL COMMENT '库存', - sort int DEFAULT 0 NOT NULL COMMENT '排序', - status char(1) DEFAULT '0' COMMENT '是否启用', - is_default char(1) DEFAULT '0' COMMENT '是否为标品', - ks_status char(1) DEFAULT '0' COMMENT '旷世审核状态', - ks_status_title varchar(64) NOT NULL COMMENT '旷世审核状态标题', - ks_comments varchar(512) DEFAULT NULL COMMENT '旷世审核状态描述', - mch_id bigint DEFAULT NULL COMMENT '商户id', - mch_dept_id bigint DEFAULT NULL COMMENT '商户部门id', - 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 '修改人', - update_time datetime DEFAULT NULL COMMENT '修改时间', - del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', - tenant_id bigint DEFAULT NULL COMMENT '租户ID', + id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + spu_category_id bigint NOT NULL COMMENT '商品分类id', + name varchar(64) NOT NULL COMMENT '商品名', + pic varchar(256) NOT NULL COMMENT '商品图片', + price int NOT NULL COMMENT '单价(分)', + sales_count int DEFAULT 0 NOT NULL COMMENT '销量', + repertory_count int DEFAULT 0 NOT NULL COMMENT '库存', + sort int DEFAULT 0 NOT NULL COMMENT '排序', + status char(1) DEFAULT '0' COMMENT '是否启用', + is_default char(1) DEFAULT '0' COMMENT '是否为标品', + ks_status char(1) DEFAULT NULL COMMENT '旷世审核状态', + ks_status_title varchar(64) DEFAULT NULL COMMENT '旷世审核状态标题', + ks_comments varchar(512) DEFAULT NULL COMMENT '旷世审核状态描述', + hard_id bigint NOT NULL COMMENT '硬件id', + hard_door_number int DEFAULT NULL COMMENT '硬件id', + mch_id bigint NOT NULL COMMENT '商户id', + mch_dept_id bigint NOT NULL COMMENT '商户部门id', + 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 '修改人', + update_time datetime DEFAULT NULL COMMENT '修改时间', + del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', + tenant_id bigint DEFAULT NULL COMMENT '租户ID', PRIMARY KEY (id) ) ENGINE = InnoDB COMMENT ='硬件商品'; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuCategoryDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuCategoryDto.java index 713558d19..5934a7525 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuCategoryDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuCategoryDto.java @@ -6,4 +6,9 @@ import lombok.Data; @Data public class HardSpuCategoryDto extends HardSpuCategoryEntity { + /** + * 设备id + */ + private Long hardId; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java index cf5ad4a85..0e27d8bca 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java @@ -99,6 +99,12 @@ public class HardSpuEntity extends Model { @Schema(description = "旷世审核状态描述") private String ksComments; + /** + * 设备id + */ + @Schema(description = "设备id") + private Long hardId; + /** * 商户id */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java index 9aaa20505..180a4cd61 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java @@ -1,11 +1,12 @@ package com.bsd.pjcloud.hard.api.vo.spu; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardSpuVo extends HardSpuEntity implements BaseMchInterface { +public class HardSpuVo extends HardSpuEntity implements BaseMchInterface, BaseHardInterface { /** * 分类相关 */ @@ -20,4 +21,11 @@ public class HardSpuVo extends HardSpuEntity implements BaseMchInterface { private String logoPic; + /** + * 设备相关 + */ + private String hardName; + + private String hardType; + } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardManagerController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardManagerController.java index d199c2790..a251fd86e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardManagerController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardManagerController.java @@ -40,6 +40,12 @@ public class HardManagerController { private final HardManagerService hardManagerService; + @Operation(summary = "下拉选择", description = "下拉选择") + @GetMapping("/select") + public R select(@ParameterObject Page page, @ParameterObject HardManagerDto dto) { + return R.ok(hardManagerService.scopePageList(page, dto)); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('hard_hardManager_view')") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuCategoryController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuCategoryController.java index eb41bddc4..734faad8e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuCategoryController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuCategoryController.java @@ -52,6 +52,13 @@ public class HardSpuCategoryController { return R.ok(hardSpuCategoryService.scopPageJoin(page, dto, dataScope)); } + @Operation(summary = "下拉", description = "下拉") + @GetMapping("/select") + public R select(@ParameterObject Page page, @ParameterObject HardSpuCategoryDto dto) { + DataScope dataScope = null; + return R.ok(hardSpuCategoryService.scopPageJoin(page, dto, dataScope)); + } + @Operation(summary = "通过id查询", description = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('hard_hardSpuCategory_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 e2379e9d9..ecc8f56e4 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 @@ -36,6 +36,13 @@ public class HardSpuController { private final HardSpuService hardSpuService; + @Operation(summary = "下拉查询", description = "下拉查询") + @GetMapping("/select") + public R select(@ParameterObject Page page, @ParameterObject HardSpuDto dto) { + DataScope dataScope = null; + return R.ok(hardSpuService.scopPageJoin(page, dto, dataScope)); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('hard_hardSpu_view')") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java index 9158bd8e4..8639d817a 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java @@ -16,6 +16,8 @@ public interface HardSpuCategoryMapper extends PjcloudBaseMapper scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getMchId()), HardSpuCategoryEntity::getMchId, dto.getMchId()) + .eq(ObjectUtil.isNotEmpty(dto.getMchDeptId()), HardSpuCategoryEntity::getMchDeptId, dto.getMchDeptId()) .like(ObjectUtil.isNotEmpty(dto.getName()), HardSpuCategoryEntity::getName, dto.getName()) .orderByDesc(HardSpuCategoryEntity::getSort) .orderByDesc(HardSpuCategoryEntity::getCreateTime); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java index 4f9758457..789748bcd 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java @@ -7,9 +7,11 @@ 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.spu.HardSpuCategoryDto; +import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuCategoryEntity; import com.bsd.pjcloud.hard.api.vo.spu.HardSpuCategoryVo; import com.bsd.pjcloud.hard.mapper.spu.HardSpuCategoryMapper; +import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardSpuCategoryService; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; @@ -31,6 +33,8 @@ import java.util.List; @Service public class HardSpuCategoryServiceImpl extends ServiceImpl implements HardSpuCategoryService { + private final HardManagerService hardManagerService; + private final RemoteMchService remoteMchService; /** @@ -38,6 +42,13 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { + // 设备id + if (ObjectUtil.isNotEmpty(dto.getHardId())) { + HardManagerEntity hardDetail = hardManagerService.getById(dto.getHardId()); + if (ObjectUtil.isNotEmpty(hardDetail)) { + dto.setMchId(hardDetail.getMerchantId()); + } + } Page pageList = baseMapper.scopPageJoin(page, dto, dataScope); disposeList(pageList.getRecords(), dto); return pageList; 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 f109d4dac..3fbe9a5a6 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 @@ -6,10 +6,16 @@ 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.HardManagerDto; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; +import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import com.bsd.pjcloud.hard.api.utils.HardUtil; +import com.bsd.pjcloud.hard.api.vo.HardManagerVo; import com.bsd.pjcloud.hard.api.vo.spu.HardSpuVo; +import com.bsd.pjcloud.hard.mapper.HardManagerMapper; import com.bsd.pjcloud.hard.mapper.spu.HardSpuMapper; +import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardSpuService; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; @@ -31,8 +37,12 @@ import java.util.List; @Service public class HardSpuServiceImpl extends ServiceImpl implements HardSpuService { + private final HardManagerService hardManagerService; + private final RemoteMchService remoteMchService; + private final HardManagerMapper hardManagerMapper; + /** * 分页查询 */ @@ -51,11 +61,17 @@ public class HardSpuServiceImpl extends ServiceImpl hardIds = list.stream().map(HardSpuVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(hardIds)) { + HardManagerDto hardManagerDto = new HardManagerDto(); + hardManagerDto.setIds(hardIds); + List hardList = hardManagerMapper.list(hardManagerDto); + if (ObjectUtil.isNotEmpty(hardList)) { + HardUtil.convertHardList(list, CollectionUtils.convertMap(hardList, HardManagerEntity::getId)); + } + } } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml index 639d8ea60..0bdb18a73 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml @@ -40,6 +40,7 @@ a.ks_status, a.ks_status_title, a.ks_comments, + a.hard_id, a.mch_id, a.mch_dept_id, a.create_by, @@ -61,6 +62,9 @@ and a.spu_category_id = #{dto.spuCategoryId} + + and a.hard_id = #{dto.hardId} + and a.status = #{dto.status}