From 5e3c63e8a4485f665efd9518d62fed5c460f7fbf Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 10:58:01 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat:=E6=99=BA=E8=83=BD=E6=9F=9C=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 4 + .../api/entity/spu/HardSpuCategoryEntity.java | 95 +++++++++++-------- .../hard/api/entity/spu/HardSpuEntity.java | 12 +++ .../hard/api/vo/spu/HardSpuCategoryVo.java | 12 ++- .../pjcloud/hard/api/vo/spu/HardSpuVo.java | 13 ++- .../mapper/spu/HardSpuCategoryMapper.java | 17 +++- .../impl/spu/HardSpuCategoryServiceImpl.java | 25 ++++- .../service/impl/spu/HardSpuServiceImpl.java | 36 ++++++- .../resources/mapper/spu/HardSpuMapper.xml | 6 +- 9 files changed, 172 insertions(+), 48 deletions(-) diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index b44a8d788..ae2532990 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -290,6 +290,8 @@ CREATE TABLE hard_spu 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 '修改人', @@ -308,6 +310,8 @@ CREATE TABLE hard_spu_category id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', name varchar(64) NOT NULL COMMENT '分类名', sort int DEFAULT 0 NOT 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 '修改人', diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java index 0ccfd387b..38310d93f 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import com.bsd.pjcloud.common.core.util.TenantTable; + import java.time.LocalDateTime; /** @@ -19,64 +20,76 @@ import java.time.LocalDateTime; public class HardSpuCategoryEntity extends Model { - /** - * 编号 - */ + /** + * 编号 + */ @TableId(type = IdType.ASSIGN_ID) - @Schema(description="编号") + @Schema(description = "编号") private Long id; - /** - * 分类名 - */ - @Schema(description="分类名") + /** + * 分类名 + */ + @Schema(description = "分类名") private String name; - /** - * 排序 - */ - @Schema(description="排序") + /** + * 排序 + */ + @Schema(description = "排序") private Integer sort; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") + /** + * 商户id + */ + @Schema(description = "商户id") + private Long mchId; + + /** + * 商户部门id + */ + @Schema(description = "商户部门id") + private Long mchDeptId; + + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") private String createBy; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") private LocalDateTime createTime; - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") + /** + * 修改人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改人") private String updateBy; - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改时间") private LocalDateTime updateTime; - /** - * 删除标记 - */ + /** + * 删除标记 + */ @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除标记") private String delFlag; - /** - * 租户ID - */ - @Schema(description="租户ID") + /** + * 租户ID + */ + @Schema(description = "租户ID") private Long tenantId; } \ No newline at end of file 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 35080d105..cf5ad4a85 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,18 @@ public class HardSpuEntity extends Model { @Schema(description = "旷世审核状态描述") private String ksComments; + /** + * 商户id + */ + @Schema(description = "商户id") + private Long mchId; + + /** + * 商户部门id + */ + @Schema(description = "商户部门id") + private Long mchDeptId; + /** * 创建人 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuCategoryVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuCategoryVo.java index 7f0f7516c..00c953a46 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuCategoryVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuCategoryVo.java @@ -1,9 +1,19 @@ package com.bsd.pjcloud.hard.api.vo.spu; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuCategoryEntity; +import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardSpuCategoryVo extends HardSpuCategoryEntity { +public class HardSpuCategoryVo extends HardSpuCategoryEntity implements BaseMchInterface { + + /** + * 商户相关 + */ + private Long merchantId; + + private String merchantName; + + private String logoPic; } 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 2d7c1c939..9aaa20505 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,14 +1,23 @@ package com.bsd.pjcloud.hard.api.vo.spu; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardSpuVo extends HardSpuEntity { - +public class HardSpuVo extends HardSpuEntity implements BaseMchInterface { /** * 分类相关 */ private String categoryName; + /** + * 商户相关 + */ + private Long merchantId; + + private String merchantName; + + private String logoPic; + } 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 26c97d19a..9158bd8e4 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 @@ -1,11 +1,26 @@ package com.bsd.pjcloud.hard.mapper.spu; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.core.util.BeanUtils; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import com.bsd.pjcloud.hard.api.dto.spu.HardSpuCategoryDto; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuCategoryEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuCategoryVo; import org.apache.ibatis.annotations.Mapper; @Mapper public interface HardSpuCategoryMapper extends PjcloudBaseMapper { - + default Page scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .like(ObjectUtil.isNotEmpty(dto.getName()), HardSpuCategoryEntity::getName, dto.getName()) + .orderByDesc(HardSpuCategoryEntity::getSort) + .orderByDesc(HardSpuCategoryEntity::getCreateTime); + Page pageList = selectPageByScope(page, wrapper, dataScope); + pageList.setRecords(BeanUtils.toBean(pageList.getRecords(), HardSpuCategoryVo.class)); + return pageList; + } } \ No newline at end of file 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 2ae177c51..4f9758457 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 @@ -4,18 +4,23 @@ import cn.hutool.core.util.ObjectUtil; 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.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.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.HardSpuCategoryService; +import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; +import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; +import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.ArrayList; +import java.util.List; /** * 硬件商品分类 @@ -26,12 +31,16 @@ import java.util.ArrayList; @Service public class HardSpuCategoryServiceImpl extends ServiceImpl implements HardSpuCategoryService { + private final RemoteMchService remoteMchService; + /** * 分页查询 */ @Override public Page scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { - return null; + Page pageList = baseMapper.scopPageJoin(page, dto, dataScope); + disposeList(pageList.getRecords(), dto); + return pageList; } /** @@ -72,6 +81,7 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl() + .eq(ObjectUtil.isNotEmpty(dto.getMchId()), HardSpuCategoryEntity::getMchId, dto.getMchId()) .eq(ObjectUtil.isNotEmpty(dto.getName()), HardSpuCategoryEntity::getName, dto.getName()) .ne(ObjectUtil.isNotEmpty(dto.getId()), HardSpuCategoryEntity::getId, dto.getId()) ); @@ -80,4 +90,17 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl 0; } + + private void disposeList(List list, HardSpuCategoryDto dto) { + if (ObjectUtil.isEmpty(list)) return; + // 商户 + List mchIds = list.stream().map(HardSpuCategoryVo::getMchId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + list.forEach(v -> v.setMerchantId(v.getMchId())); + List mchList = remoteMchService.getByIds(mchIds).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + WalletDataUtil.convertMchList(list, CollectionUtils.convertMap(mchList, MchManageVo::getId)); + } + } + } } \ No newline at end of file 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 0ab6889e8..f109d4dac 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 @@ -4,18 +4,23 @@ import cn.hutool.core.util.ObjectUtil; 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.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; import com.bsd.pjcloud.hard.api.vo.spu.HardSpuVo; import com.bsd.pjcloud.hard.mapper.spu.HardSpuMapper; import com.bsd.pjcloud.hard.service.HardSpuService; +import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; +import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; +import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.ArrayList; +import java.util.List; /** * 硬件商品 @@ -26,12 +31,16 @@ import java.util.ArrayList; @Service public class HardSpuServiceImpl extends ServiceImpl implements HardSpuService { + private final RemoteMchService remoteMchService; + /** * 分页查询 */ @Override public Page scopPageJoin(Page page, HardSpuDto dto, DataScope dataScope) { - return baseMapper.scopPageJoin(page, dto, dataScope); + Page pageList = baseMapper.scopPageJoin(page, dto, dataScope); + disposeList(pageList.getRecords(), dto); + return pageList; } /** @@ -42,6 +51,12 @@ public class HardSpuServiceImpl extends ServiceImpl 0; } + private void disposeList(List list, HardSpuDto dto) { + if (ObjectUtil.isEmpty(list)) return; + // 商户 + List mchIds = list.stream().map(HardSpuVo::getMchId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + list.forEach(v -> v.setMerchantId(v.getMchId())); + List mchList = remoteMchService.getByIds(mchIds).getData(); + if (ObjectUtil.isNotEmpty(mchList)) { + WalletDataUtil.convertMchList(list, CollectionUtils.convertMap(mchList, MchManageVo::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 74f2e8901..639d8ea60 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 @@ -16,6 +16,8 @@ + + @@ -38,6 +40,8 @@ a.ks_status, a.ks_status_title, a.ks_comments, + a.mch_id, + a.mch_dept_id, a.create_by, a.create_time, a.update_by, @@ -48,7 +52,7 @@ a.del_flag = '0' - + and a.name like concat('%', #{dto.name}, '%') 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 2/7] =?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} From d94d5a2124cb69aefa467c705c549e393bb1f8ff Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 15:16:24 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix:=E6=89=AB=E4=B8=80=E6=89=AB=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=99=9A=E6=8B=9F=E9=92=B1=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsd/pjcloud/hard/controller/order/HardOrderController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 5f06576de..f3c8eed24 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -154,7 +154,7 @@ public class HardOrderController { .userId(user.getId()) .hardType(HardTypeEnum.MERCHANT_QR_CODE) .orderType(HardOrderTypeEnum.BELOW) - .walletType(WalletTypeEnum.EAT) + .walletType(WalletTypeEnum.PAY) .payType(HardPayTypeEnum.WALLET_QR_CODE_SCAN) .build(); return R.ok(hardwareOrderService.appCreateOrderScancode(dto)); From 10230486af73e5544e73516c56db8343253f460e Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 15:34:25 +0800 Subject: [PATCH 4/7] 11 --- .../pjcloud/common/core/constant/CommonRoleConstant.java | 6 ++++++ .../pjcloud/hard/service/impl/HardManagerServiceImpl.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java index 13c234d5d..31443ab46 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java @@ -11,6 +11,12 @@ public interface CommonRoleConstant { // 管理员 String ROLE_ADMIN = "ROLE_ADMIN"; + // 机关管理员 + String JG_ADMIN = "JG_ADMIN"; + + // 财务管理员 + String CANTEEN_FINANCE = "CANTEEN_FINANCE"; + // 部门管理员 String DEPT_ADMIN = "DEPT_ADMIN"; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java index 3ff254153..cee7939a3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardManagerServiceImpl.java @@ -218,7 +218,7 @@ public class HardManagerServiceImpl extends ServiceImpl roleList = Arrays.asList(roles); - if (roleList.contains(CommonRoleConstant.ROLE_ADMIN)) { + if (roleList.contains(CommonRoleConstant.ROLE_ADMIN) || roleList.contains(CommonRoleConstant.JG_ADMIN) || roleList.contains(CommonRoleConstant.CANTEEN_FINANCE)) { result.setCanteenView(true); result.setSupermarket(true); return result; From c2c5cfc971a8b9b1b57677bc5a2110713d3c8e8d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 17:12:41 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fix:=E8=BD=AC=E8=B4=A6bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/data/datascope/DataScopeInnerInterceptor.java | 2 ++ .../common/data/datascope/PjcloudDefaultDataScopeHandle.java | 2 ++ .../pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java | 4 ++++ .../pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java | 3 +++ .../pjcloud/hard/controller/order/HardOrderController.java | 1 - .../pjcloud/hard/service/impl/order/HardOrderServiceImpl.java | 4 +++- .../hard/service/impl/order/HardOrderTotalServiceImpl.java | 4 +++- .../service/impl/rule/WalletRuleTransactionServiceImpl.java | 3 ++- 8 files changed, 19 insertions(+), 4 deletions(-) diff --git a/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/DataScopeInnerInterceptor.java b/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/DataScopeInnerInterceptor.java index 2dd333abe..5ea74c438 100644 --- a/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/DataScopeInnerInterceptor.java +++ b/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/DataScopeInnerInterceptor.java @@ -3,6 +3,8 @@ package com.bsd.pjcloud.common.data.datascope; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import lombok.Setter; import org.apache.ibatis.executor.Executor; diff --git a/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/PjcloudDefaultDataScopeHandle.java b/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/PjcloudDefaultDataScopeHandle.java index dd3845d2c..0ce807cd6 100644 --- a/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/PjcloudDefaultDataScopeHandle.java +++ b/pjcloud-common/pjcloud-common-data/src/main/java/com/bsd/pjcloud/common/data/datascope/PjcloudDefaultDataScopeHandle.java @@ -18,7 +18,9 @@ package com.bsd.pjcloud.common.data.datascope; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.entity.SysRole; import com.bsd.pjcloud.admin.api.feign.RemoteDataScopeService; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java index 07065b793..bc1ef7273 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java @@ -11,6 +11,10 @@ public class HardAppCreateOrderScancode { @NotNull(message = "商户id不能为空") private Long merchantId; + @Schema(description = "钱包类型id") + @NotNull(message = "钱包类型id不能为空") + private Long walletTypeId; + @Schema(description = "用户输入的价格") @NotNull(message = "自定义金额不能为空") private Integer customPrice; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java index 4cdcd3a0f..31433005a 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java @@ -42,4 +42,7 @@ public class HardAppCreateOrderDto { // 商户id private Long merchantId; + // 饭卡id + private Long walletId; + } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index f3c8eed24..3d9aec411 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -154,7 +154,6 @@ public class HardOrderController { .userId(user.getId()) .hardType(HardTypeEnum.MERCHANT_QR_CODE) .orderType(HardOrderTypeEnum.BELOW) - .walletType(WalletTypeEnum.PAY) .payType(HardPayTypeEnum.WALLET_QR_CODE_SCAN) .build(); return R.ok(hardwareOrderService.appCreateOrderScancode(dto)); 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 1c1ba91a9..8d6ee4141 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 @@ -51,10 +51,12 @@ import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto; import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; +import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; import com.bsd.pjcloud.wallet.api.feign.*; import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletSettingVo; +import com.bsd.pjcloud.wallet.service.WalletTypeService; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -364,7 +366,7 @@ public class HardOrderServiceImpl extends ServiceImpl listSb(HardOrderDto dto) { - DataScope dataScope = DataScope.of(); + DataScope dataScope = DataScope.of().func(DataScopeFuncEnum.ALL); dataScope.setScopeDeptName("merchant_dept_id"); + PjcloudUser user = SecurityUtils.getUser(); CurrentUserHardTypeInfoDto hardTypeInfo = hardManagerService.getCurrentUserHardTypeInfo(user); dto.setMchTypeCodes(hardTypeInfo.getHardTypeList()); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleTransactionServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleTransactionServiceImpl.java index 703a3ddf0..7295429c1 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleTransactionServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/rule/WalletRuleTransactionServiceImpl.java @@ -78,7 +78,8 @@ public class WalletRuleTransactionServiceImpl extends ServiceImpl userConfig.getMaxTransferBalance()) { + long cuurentTotalTransferBalance = userConfig.getTotalTransferBalance() + body.getBalance(); + if (cuurentTotalTransferBalance > userConfig.getMaxTransferBalance()) { throw new RuntimeException("已经超过最大转账金额限制"); } entity.setSourceWalletId(userConfig.getSourceWalletId()); From b07d43a339543cba8173306eef587615d29005ba Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 17:31:43 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=E5=95=86=E6=88=B7=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E3=80=81=E8=AE=BE=E5=A4=87=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/order/HardOrderTotalServiceImpl.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index 6dbe62058..31690e018 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -66,24 +66,27 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { */ @Override public List listSb(HardOrderDto dto) { - DataScope dataScope = DataScope.of().func(DataScopeFuncEnum.ALL); - dataScope.setScopeDeptName("merchant_dept_id"); - PjcloudUser user = SecurityUtils.getUser(); CurrentUserHardTypeInfoDto hardTypeInfo = hardManagerService.getCurrentUserHardTypeInfo(user); dto.setMchTypeCodes(hardTypeInfo.getHardTypeList()); // 查询总流水 HardOrderDto totalDto = BeanUtil.toBean(dto, HardOrderDto.class); totalDto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); - List totalList = hardOrderMapper.listSb(totalDto, dataScope); + DataScope totalDataScope = DataScope.of().func(DataScopeFuncEnum.ALL); + totalDataScope.setScopeDeptName("merchant_dept_id"); + List totalList = hardOrderMapper.listSb(totalDto, totalDataScope); // 扣款总流水 HardOrderDto refundDto = BeanUtil.toBean(dto, HardOrderDto.class); refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); - List refundList = hardOrderMapper.listSb(refundDto, dataScope); + DataScope refundDataScope = DataScope.of().func(DataScopeFuncEnum.ALL); + refundDataScope.setScopeDeptName("merchant_dept_id"); + List refundList = hardOrderMapper.listSb(refundDto, refundDataScope); // 盈利 HardOrderDto profitDto = BeanUtil.toBean(dto, HardOrderDto.class); profitDto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); - List profitList = hardOrderMapper.listSb(profitDto, dataScope); + DataScope profitDataScope = DataScope.of().func(DataScopeFuncEnum.ALL); + profitDataScope.setScopeDeptName("merchant_dept_id"); + List profitList = hardOrderMapper.listSb(profitDto, profitDataScope); // 聚合一下数据 for (HardOrderSbVo v : totalList) { // 退款 @@ -129,23 +132,27 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { */ @Override public List listCs(HardOrderDto dto) { - DataScope dataScope = DataScope.of(); - dataScope.setScopeDeptName("merchant_dept_id"); PjcloudUser user = SecurityUtils.getUser(); CurrentUserHardTypeInfoDto hardTypeInfo = hardManagerService.getCurrentUserHardTypeInfo(user); dto.setMchTypeCodes(hardTypeInfo.getHardTypeList()); // 查询总流水 HardOrderDto totalDto = BeanUtil.toBean(dto, HardOrderDto.class); totalDto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice()); - List totalList = hardOrderMapper.listCs(totalDto, dataScope); + DataScope totalDataScope = DataScope.of(); + totalDataScope.setScopeDeptName("merchant_dept_id"); + List totalList = hardOrderMapper.listCs(totalDto, totalDataScope); // 扣款总流水 HardOrderDto refundDto = BeanUtil.toBean(dto, HardOrderDto.class); refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); - List refundList = hardOrderMapper.listCs(refundDto, dataScope); + DataScope refundDataScope = DataScope.of(); + refundDataScope.setScopeDeptName("merchant_dept_id"); + List refundList = hardOrderMapper.listCs(refundDto, refundDataScope); // 盈利 HardOrderDto profitDto = BeanUtil.toBean(dto, HardOrderDto.class); profitDto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); - List profitList = hardOrderMapper.listCs(profitDto, dataScope); + DataScope profitDataScope = DataScope.of(); + profitDataScope.setScopeDeptName("merchant_dept_id"); + List profitList = hardOrderMapper.listCs(profitDto, profitDataScope); for (HardOrderCsVo v : totalList) { // 退款 if (ObjectUtil.isNotEmpty(refundList)) { From b5cdcaf2d3be7593c7385be976b74b177dc6f92e Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 3 Apr 2025 17:51:06 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=E6=89=AB=E4=B8=80=E6=89=AB=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E9=92=B1=E5=8C=85=E8=BF=9B=E8=A1=8C=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/dto/app/HardAppCreateOrderScancode.java | 6 +++--- .../hard/api/dto/order/app/HardAppCreateOrderDto.java | 2 +- .../pjcloud/hard/controller/order/HardOrderController.java | 1 + .../hard/service/impl/order/HardOrderServiceImpl.java | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java index bc1ef7273..2b6e594ce 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/app/HardAppCreateOrderScancode.java @@ -11,9 +11,9 @@ public class HardAppCreateOrderScancode { @NotNull(message = "商户id不能为空") private Long merchantId; - @Schema(description = "钱包类型id") - @NotNull(message = "钱包类型id不能为空") - private Long walletTypeId; + @Schema(description = "钱包id") + @NotNull(message = "钱包id不能为空") + private Long walletId; @Schema(description = "用户输入的价格") @NotNull(message = "自定义金额不能为空") diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java index 31433005a..dbfaf821a 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java @@ -22,7 +22,7 @@ public class HardAppCreateOrderDto { @NotNull(message = "用户id不能为空") private Long userId; - @NotNull(message = "钱包类型不能为空") + // @NotNull(message = "钱包类型不能为空") private WalletTypeEnum walletType; @NotNull(message = "订单类型不能为空") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 3d9aec411..551027a4d 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -151,6 +151,7 @@ public class HardOrderController { HardAppCreateOrderDto dto = HardAppCreateOrderDto.builder() .customPrice(body.getCustomPrice()) .merchantId(body.getMerchantId()) + .walletId(body.getWalletId()) .userId(user.getId()) .hardType(HardTypeEnum.MERCHANT_QR_CODE) .orderType(HardOrderTypeEnum.BELOW) 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 8d6ee4141..bbcff44ac 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 @@ -366,7 +366,7 @@ public class HardOrderServiceImpl extends ServiceImpl