diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index b44a8d788..50073dbd7 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -277,25 +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 '旷世审核状态描述', - 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 ='硬件商品'; @@ -308,6 +312,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-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-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..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,6 +11,10 @@ public class HardAppCreateOrderScancode { @NotNull(message = "商户id不能为空") private Long merchantId; + @Schema(description = "钱包id") + @NotNull(message = "钱包id不能为空") + private Long walletId; + @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..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 = "订单类型不能为空") @@ -42,4 +42,7 @@ public class HardAppCreateOrderDto { // 商户id private Long merchantId; + // 饭卡id + private Long walletId; + } 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/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..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,24 @@ public class HardSpuEntity extends Model { @Schema(description = "旷世审核状态描述") private String ksComments; + /** + * 设备id + */ + @Schema(description = "设备id") + private Long hardId; + + /** + * 商户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..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,14 +1,31 @@ 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 { - +public class HardSpuVo extends HardSpuEntity implements BaseMchInterface, BaseHardInterface { /** * 分类相关 */ private String categoryName; + /** + * 商户相关 + */ + private Long merchantId; + + private String merchantName; + + 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/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 5f06576de..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,10 +151,10 @@ 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) - .walletType(WalletTypeEnum.EAT) .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/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 26c97d19a..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 @@ -1,11 +1,28 @@ 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() + .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); + 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/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; 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..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 @@ -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.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) { // 退款 @@ -127,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)) { 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..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 @@ -4,18 +4,25 @@ 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.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; +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 +33,25 @@ import java.util.ArrayList; @Service public class HardSpuCategoryServiceImpl extends ServiceImpl implements HardSpuCategoryService { + private final HardManagerService hardManagerService; + + private final RemoteMchService remoteMchService; + /** * 分页查询 */ @Override public Page scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { - return null; + // 设备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; } /** @@ -72,6 +92,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 +101,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..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 @@ -4,18 +4,29 @@ 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.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; +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 +37,20 @@ import java.util.ArrayList; @Service public class HardSpuServiceImpl extends ServiceImpl implements HardSpuService { + private final HardManagerService hardManagerService; + + private final RemoteMchService remoteMchService; + + private final HardManagerMapper hardManagerMapper; + /** * 分页查询 */ @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 +61,18 @@ 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)); + } + } + // 设备 + List 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 74f2e8901..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 @@ -16,6 +16,8 @@ + + @@ -38,6 +40,9 @@ a.ks_status, a.ks_status_title, a.ks_comments, + a.hard_id, + a.mch_id, + a.mch_dept_id, a.create_by, a.create_time, a.update_by, @@ -48,7 +53,7 @@ a.del_flag = '0' - + and a.name like concat('%', #{dto.name}, '%') @@ -57,6 +62,9 @@ and a.spu_category_id = #{dto.spuCategoryId} + + and a.hard_id = #{dto.hardId} + and a.status = #{dto.status} 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());