From badada9b65ae72595c91600fed5c40a03b412859 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 2 Jan 2025 13:14:06 +0800 Subject: [PATCH] =?UTF-8?q?create:=E5=95=86=E6=88=B7=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wallet/api/feign/RemoteMchService.java | 9 ++++--- .../pjcloud/wallet/api/utils/MchDataUtil.java | 27 +++++++++++++++++++ .../wallet/api/vo/base/BaseMchInterface.java | 19 +++++++++++++ .../controller/MchManageController.java | 20 +++++++------- .../wallet/mapper/MchManageMapper.java | 14 +++++++++- .../wallet/service/MchManageService.java | 6 +++-- .../service/impl/MchManageServiceImpl.java | 19 ++++++++----- 7 files changed, 90 insertions(+), 24 deletions(-) create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/utils/MchDataUtil.java create mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java index 0d3e8fdf0..f80179f27 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteMchService.java @@ -5,6 +5,7 @@ import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; +import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -16,18 +17,18 @@ public interface RemoteMchService { @NoToken @GetMapping("/get-by-id") - R getById(@RequestParam Long id); + R getById(@RequestParam Long id); @NoToken @GetMapping("/get-by-ids") - R> getByIds(@RequestParam List ids); + R> getByIds(@RequestParam List ids); @NoToken @GetMapping("/get-by-dept-id") - R getByDeptId(@RequestParam Long deptId); + R getByDeptId(@RequestParam Long deptId); @NoToken @GetMapping("/get-first-mch") - R getFirstMch(@RequestParam List deptIds); + R getFirstMch(@RequestParam List deptIds); } diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/utils/MchDataUtil.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/utils/MchDataUtil.java new file mode 100644 index 000000000..279c2ed01 --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/utils/MchDataUtil.java @@ -0,0 +1,27 @@ +package com.bsd.pjcloud.wallet.api.utils; + +import cn.hutool.core.util.ObjectUtil; +import com.bsd.pjcloud.admin.api.entity.SysUser; +import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; +import com.bsd.pjcloud.common.core.util.CollectionUtils; +import com.bsd.pjcloud.wallet.api.vo.MchManageVo; +import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; +import lombok.experimental.UtilityClass; + +import java.util.List; +import java.util.Map; + +@UtilityClass +public class MchDataUtil { + + public List convertMchList(List list, Map map) { + return CollectionUtils.convertList(list, v -> convertMch(v, map.get(v.getMchId()))); + } + + public T convertMch(T v, MchManageVo vo) { + if (ObjectUtil.isEmpty(vo)) return v; + v.setMchName(vo.getName()); + return v; + } + +} diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java new file mode 100644 index 000000000..a4ba9c7b2 --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java @@ -0,0 +1,19 @@ +package com.bsd.pjcloud.wallet.api.vo.base; + +public interface BaseMchInterface { + + /** + * 商户id + */ + Long getMchId(); + + void setMchId(Long dchId); + + /** + * 商户名 + */ + String getMchName(); + + void setMchName(String dchName); + +} 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 b5dec56c7..a9234a074 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 @@ -47,32 +47,32 @@ public class MchManageController { @Inner @GetMapping("/get-by-id") - public R getById(@RequestParam Long id) { + public R getById(@RequestParam Long id) { MchManageEntity mchManage = mchManageService.getById(id); if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在"); - return R.ok(BeanUtils.toBean(mchManage, MchManageDto.class)); + return R.ok(BeanUtils.toBean(mchManage, MchManageVo.class)); } @Inner @GetMapping("/get-by-ids") - public R> getByIds(@RequestParam List ids) { - Page page = mchManageService.pageJoin(new Page<>(), MchManageDto.builder().deptIds(ids).build()); - if (ObjectUtil.isAllNotEmpty(page, page.getRecords())) return R.failed("商户不存在"); - return R.ok(BeanUtils.toBean(page.getRecords(), MchManageDto.class)); + public R> getByIds(@RequestParam List ids) { + List list = mchManageService.list(MchManageDto.builder().deptIds(ids).build()); + if (ObjectUtil.isAllNotEmpty(list)) return R.failed("商户不存在"); + return R.ok(list); } @Inner @GetMapping("/get-by-dept-id") - public R getByDeptId(@RequestParam Long deptId) { - MchManageDto mchManage = mchManageService.getByDeptId(deptId); + public R getByDeptId(@RequestParam Long deptId) { + MchManageVo mchManage = mchManageService.getByDeptId(deptId); if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在"); return R.ok(mchManage); } @Inner @GetMapping("/get-first-mch") - public R getFirstMch(@RequestParam List deptIds) { - MchManageDto mchManage = mchManageService.getFirstMch(deptIds); + public R getFirstMch(@RequestParam List deptIds) { + MchManageVo mchManage = mchManageService.getFirstMch(deptIds); if (ObjectUtil.isEmpty(mchManage)) return R.failed("商户不存在"); return R.ok(mchManage); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java index 04b3bde97..3edc018a8 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/MchManageMapper.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.wallet.mapper; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; @@ -8,6 +9,8 @@ import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.github.yulichang.query.MPJLambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface MchManageMapper extends PjcloudBaseMapper { @@ -15,7 +18,16 @@ public interface MchManageMapper extends PjcloudBaseMapper { default Page pageJoin(Page page, MchManageDto dto) { MPJLambdaQueryWrapper wrapper = new MPJLambdaQueryWrapper() .selectAll(MchManageEntity.class) - .likeIfExists(MchManageEntity::getName, dto.getName()); + .likeIfExists(MchManageEntity::getName, dto.getName()) + .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds()); return selectJoinPage(page, MchManageVo.class, wrapper); } + + default List list(MchManageDto dto) { + MPJLambdaQueryWrapper wrapper = new MPJLambdaQueryWrapper() + .selectAll(MchManageEntity.class) + .likeIfExists(MchManageEntity::getName, dto.getName()) + .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds()); + return selectJoinList(MchManageVo.class, wrapper); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java index 83e52d323..14ff55186 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/MchManageService.java @@ -19,7 +19,9 @@ public interface MchManageService extends IService { Page pageJoin(Page page, MchManageDto dto); - MchManageDto getByDeptId(Long deptId); + List list(MchManageDto dto); - MchManageDto getFirstMch(List deptIds); + MchManageVo getByDeptId(Long deptId); + + MchManageVo getFirstMch(List deptIds); } \ No newline at end of file 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 366ceaab0..43ee9fd8d 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 @@ -130,21 +130,26 @@ public class MchManageServiceImpl extends ServiceImpl() - .eq(MchManageEntity::getDeptId, deptId) - ); - return BeanUtils.toBean(mchManage, MchManageDto.class); + public List list(MchManageDto dto) { + return baseMapper.list(dto); } @Override - public MchManageDto getFirstMch(List deptIds) { + public MchManageVo getByDeptId(Long deptId) { + MchManageEntity mchManage = baseMapper.selectOne(new LambdaQueryWrapper() + .eq(MchManageEntity::getDeptId, deptId) + ); + return BeanUtils.toBean(mchManage, MchManageVo.class); + } + + @Override + public MchManageVo getFirstMch(List deptIds) { List merchantList = baseMapper.selectList(new LambdaQueryWrapper()); if (ObjectUtil.isEmpty(merchantList)) return null; for (Long id : deptIds) { for (MchManageEntity merchant : merchantList) { if (ObjectUtil.equals(merchant.getDeptId(), id)) { - return BeanUtils.toBean(merchant, MchManageDto.class); + return BeanUtils.toBean(merchant, MchManageVo.class); } } }