From ac830c925ea2c987acde3e0f8cc7764cfe6d0f45 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 14 Jan 2025 17:26:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=A1=AC=E4=BB=B6=E5=88=86=E7=BB=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/800pjcloudx_hardware.sql | 2 +- .../bsd/pjcloud/hard/api/dto/HardGroupDto.java | 4 ++++ .../hard/api/entity/HardManagerEntity.java | 6 ++++++ .../bsd/pjcloud/hard/api/utils/HardUtil.java | 13 +++++++++++++ .../bsd/pjcloud/hard/api/vo/HardManagerVo.java | 10 +++++++++- .../api/vo/base/BaseHardGroupInterface.java | 13 +++++++++++++ .../pjcloud/hard/mapper/HardGroupMapper.java | 8 ++++++++ .../hard/service/impl/HardGroupServiceImpl.java | 4 ++-- .../service/impl/HardManagerServiceImpl.java | 17 +++++++++++++++++ .../wallet/controller/MchManageController.java | 2 +- .../service/impl/MchManageServiceImpl.java | 4 ++-- 11 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardGroupInterface.java diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index 551c41c7c..a098b21c0 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -9,7 +9,7 @@ CREATE TABLE hard_manager ( id bigint NOT NULL COMMENT '编号', merchant_id bigint COMMENT '商户id', - group_id bigint COMMENT '分组id', + hard_group_id bigint COMMENT '分组id', dept_id bigint COMMENT '商家部门id', name varchar(128) NOT NULL COMMENT '设备名', type char(10) NOT NULL COMMENT '设备类型', diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGroupDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGroupDto.java index bf3668075..17c5511ed 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGroupDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGroupDto.java @@ -3,7 +3,11 @@ package com.bsd.pjcloud.hard.api.dto; import com.bsd.pjcloud.hard.api.entity.HardGroupEntity; import lombok.Data; +import java.util.List; + @Data public class HardGroupDto extends HardGroupEntity { + private List ids; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardManagerEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardManagerEntity.java index d634cf570..75de4e03b 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardManagerEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardManagerEntity.java @@ -31,6 +31,12 @@ public class HardManagerEntity extends Model { @Schema(description="编号") private Long id; + /** + * 分组id + */ + @Schema(description="分组id") + private Long hardGroupId; + /** * 商户id */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/utils/HardUtil.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/utils/HardUtil.java index 22f077fd9..c2fd8585d 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/utils/HardUtil.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/utils/HardUtil.java @@ -5,8 +5,10 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.hard.api.dto.code.QRCodeDto; +import com.bsd.pjcloud.hard.api.entity.HardGroupEntity; import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardGroupInterface; import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; import com.bsd.pjcloud.hard.api.vo.base.BaseOrderInterface; import lombok.experimental.UtilityClass; @@ -79,4 +81,15 @@ public class HardUtil { return v; } + public List convertHardGroupList(List list, Map map) { + return CollectionUtils.convertList(list, v -> convertHardGroup(v, map.get(v.getHardGroupId()))); + } + + public T convertHardGroup(T v, HardGroupEntity entity) { + if (ObjectUtil.isEmpty(entity)) return v; + v.setHardGroupId(entity.getId()); + v.setHardGroupName(entity.getName()); + return v; + } + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java index ee3cba814..f941ba5ab 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java @@ -2,11 +2,12 @@ package com.bsd.pjcloud.hard.api.vo; import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface; import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardGroupInterface; import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardManagerVo extends HardManagerEntity implements BaseDeptInterface, BaseMchInterface { +public class HardManagerVo extends HardManagerEntity implements BaseDeptInterface, BaseMchInterface, BaseHardGroupInterface { /** * android重点使用 @@ -19,4 +20,11 @@ public class HardManagerVo extends HardManagerEntity implements BaseDeptInterfac private String logoPic; + /** + * 分类相关 + */ + private Long hardGroupId; + + private String hardGroupName; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardGroupInterface.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardGroupInterface.java new file mode 100644 index 000000000..32228e37b --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardGroupInterface.java @@ -0,0 +1,13 @@ +package com.bsd.pjcloud.hard.api.vo.base; + +public interface BaseHardGroupInterface { + + Long getHardGroupId(); + + void setHardGroupId(Long hardGroupId); + + String getHardGroupName(); + + void setHardGroupName(String hardGroupName); + +} diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardGroupMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardGroupMapper.java index 1764dbdc6..242442a53 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardGroupMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardGroupMapper.java @@ -12,6 +12,8 @@ import com.bsd.pjcloud.hard.api.vo.HardGroupVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface HardGroupMapper extends PjcloudBaseMapper { @@ -29,4 +31,10 @@ public interface HardGroupMapper extends PjcloudBaseMapper { return list; } + default List list(HardGroupDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .like(ObjectUtil.isNotEmpty(dto.getName()), HardGroupEntity::getName, dto.getName()) + .in(ObjectUtil.isNotEmpty(dto.getIds()), HardGroupEntity::getId, dto.getIds()); + return selectList(wrapper); + } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardGroupServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardGroupServiceImpl.java index 1c6d52f89..da3ce1197 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardGroupServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardGroupServiceImpl.java @@ -38,7 +38,7 @@ public class HardGroupServiceImpl extends ServiceImpl pageJoin(Page page, HardGroupDto dto) { Page list = baseMapper.pageJoin(page, dto); - if (ObjectUtil.isNotEmpty(list)) { + if (ObjectUtil.isNotEmpty(list.getRecords())) { // 部门 List deptIds = list.getRecords().stream().map(HardGroupVo::getDeptId).distinct().toList(); if (ObjectUtil.isNotEmpty(deptIds)) { @@ -54,7 +54,7 @@ public class HardGroupServiceImpl extends ServiceImpl scopePageList(Page page, HardGroupDto dto) { Page list = baseMapper.scopePageList(page, dto); - if (ObjectUtil.isNotEmpty(list)) { + if (ObjectUtil.isNotEmpty(list.getRecords())) { // 部门 List deptIds = list.getRecords().stream().map(HardGroupVo::getDeptId).distinct().toList(); if (ObjectUtil.isNotEmpty(deptIds)) { 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 0b4343fa2..bfc423c84 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 @@ -11,11 +11,16 @@ import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.security.service.PjcloudUser; +import com.bsd.pjcloud.hard.api.dto.HardGroupDto; import com.bsd.pjcloud.hard.api.dto.HardManagerDto; import com.bsd.pjcloud.hard.api.dto.hard.HardBindDto; +import com.bsd.pjcloud.hard.api.entity.HardGroupEntity; import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; +import com.bsd.pjcloud.hard.api.utils.HardUtil; import com.bsd.pjcloud.hard.api.vo.HardManagerVo; +import com.bsd.pjcloud.hard.mapper.HardGroupMapper; import com.bsd.pjcloud.hard.mapper.HardManagerMapper; +import com.bsd.pjcloud.hard.service.HardGroupService; import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.mqtt.config.MqttConfig; import com.bsd.pjcloud.hard.utils.MqTopicUtil; @@ -46,6 +51,8 @@ public class HardManagerServiceImpl extends ServiceImpl groupIds = list.getRecords().stream().map(HardManagerVo::getHardGroupId).distinct().toList(); + if (ObjectUtil.isNotEmpty(groupIds)) { + HardGroupDto groupDto = new HardGroupDto(); + groupDto.setIds(groupIds); + List groupList = hardGroupMapper.list(groupDto); + if (ObjectUtil.isNotEmpty(groupList)) { + HardUtil.convertHardGroupList(list.getRecords(), CollectionUtils.convertMap(groupList, HardGroupEntity::getId)); + } + } } return list; } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java index f14bcdeb4..91a146dd9 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/MchManageController.java @@ -115,7 +115,7 @@ public class MchManageController { @Operation(summary = "分页不要权限下拉", description = "分页不要权限下拉") @GetMapping("/select") public R getSelect(@ParameterObject Page page, @ParameterObject MchManageDto dto) { - return R.ok(mchManageService.pageJoin(page, dto)); + return R.ok(mchManageService.scopePageList(page, dto)); } @Operation(summary = "通过id查询", description = "通过id查询") diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java index 46f2f06cb..17118560d 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/MchManageServiceImpl.java @@ -126,7 +126,7 @@ public class MchManageServiceImpl extends ServiceImpl> deptList = remoteDeptService.getDeptByDeptIds(deptIds); if (ObjectUtil.isNotEmpty(deptList.getData())) { - DataUtil.convertDeptList(page.getRecords(), deptList.getData()); + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); } } } @@ -142,7 +142,7 @@ public class MchManageServiceImpl extends ServiceImpl> deptList = remoteDeptService.getDeptByDeptIds(deptIds); if (ObjectUtil.isNotEmpty(deptList.getData())) { - DataUtil.convertDeptList(page.getRecords(), deptList.getData()); + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); } } }