From 1327fac21e58875ca751f6d33e0c718a390999b6 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 13 Jan 2025 19:24:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=AE=BE=E5=A4=87=E5=85=A8=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HardInvoiceController.java | 2 +- .../controller/HardManagerController.java | 2 +- .../order/HardAfterSaleController.java | 2 +- .../controller/order/HardOrderController.java | 4 +- .../hard/mapper/HardInvoiceMapper.java | 15 +++++ .../hard/mapper/HardManagerMapper.java | 15 +++++ .../mapper/order/HardAfterSaleMapper.java | 19 +----- .../hard/service/HardAfterSaleService.java | 2 + .../hard/service/HardInvoiceService.java | 2 + .../hard/service/HardManagerService.java | 2 + .../hard/service/HardOrderService.java | 5 +- .../service/impl/HardInvoiceServiceImpl.java | 6 ++ .../service/impl/HardManagerServiceImpl.java | 40 +++++++++++-- .../impl/order/HardAfterSaleServiceImpl.java | 35 ++++++++++- ...iceImpl.java => HardOrderServiceImpl.java} | 58 +++++++++++++++++-- .../mapper/order/HardAfterSaleMapper.xml | 53 ++++++++++++++++- 16 files changed, 223 insertions(+), 39 deletions(-) rename pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/{HardwareOrderServiceImpl.java => HardOrderServiceImpl.java} (89%) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java index 4a6c11979..f0d658633 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java @@ -49,7 +49,7 @@ public class HardInvoiceController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardInvoice_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardInvoiceDto dto) { - return R.ok(hardInvoiceService.pageJoin(page, dto)); + return R.ok(hardInvoiceService.scopePageList(page, dto)); } @Operation(summary = "通过id查询", description = "通过id查询") 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 87e71ecee..38ea3b087 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 @@ -50,7 +50,7 @@ public class HardManagerController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardInvoice_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardManagerDto dto) { - return R.ok(hardManagerService.pageJoin(page, dto)); + return R.ok(hardManagerService.scopePageList(page, dto)); } @Operation(summary = "通过id查询" , description = "通过id查询" ) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java index 71d0cb36d..a0b20ba61 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java @@ -119,7 +119,7 @@ public class HardAfterSaleController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardAfterSale_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardAfterSaleDto dto) { - return R.ok(hardAfterSaleService.pageJoin(page, dto)); + return R.ok(hardAfterSaleService.scopePageList(page, dto)); } @Operation(summary = "通过id查询", description = "通过id查询") 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 efdd04d31..95a533a96 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 @@ -68,7 +68,7 @@ public class HardOrderController { PjcloudUser user = SecurityUtils.getUser(); dto.setUserId(user.getId()); dto.setIsFindCarList(true); - return R.ok(hardwareOrderService.pageJoin(page, dto)); + return R.ok(hardwareOrderService.pagejoin(page, dto)); } @Operation(summary = "app查询订单详情", description = "app查询订单详情") @@ -103,7 +103,7 @@ public class HardOrderController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { - return R.ok(hardwareOrderService.pageJoin(page, dto)); + return R.ok(hardwareOrderService.scopePageList(page, dto)); } @Operation(summary = "通过id查询", description = "通过id查询") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java index dd8255875..31f908c97 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java @@ -1,6 +1,10 @@ package com.bsd.pjcloud.hard.mapper; +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.HardInvoiceDto; import com.bsd.pjcloud.hard.api.entity.HardInvoiceEntity; @@ -10,6 +14,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface HardInvoiceMapper extends PjcloudBaseMapper { + default Page pageJoin(Page page, HardInvoiceDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() .selectAll(HardInvoiceEntity.class) @@ -17,4 +22,14 @@ public interface HardInvoiceMapper extends PjcloudBaseMapper .eqIfExists(HardInvoiceEntity::getHardOrderId, dto.getHardOrderId()); return selectJoinPage(page, HardInvoiceVo.class, wrapper); } + + default Page scopePageList(Page page, HardInvoiceDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getHardId()), HardInvoiceEntity::getHardId, dto.getHardId()) + .eq(ObjectUtil.isNotEmpty(dto.getHardOrderId()), HardInvoiceEntity::getHardOrderId, dto.getHardOrderId()); + Page list = selectPageByScope(page, wrapper, DataScope.of()); + list.setRecords(BeanUtils.toBean(list.getRecords(), HardInvoiceVo.class)); + return list; + } + } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardManagerMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardManagerMapper.java index ae68f3bd2..95c88ee67 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardManagerMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardManagerMapper.java @@ -3,6 +3,8 @@ package com.bsd.pjcloud.hard.mapper; 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.HardManagerDto; import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; @@ -33,4 +35,17 @@ public interface HardManagerMapper extends PjcloudBaseMapper .in(ObjectUtil.isNotEmpty(dto.getIds()), HardManagerEntity::getId, dto.getIds()); return selectList(wrapper); } + + default Page scopePageList(Page page, HardManagerDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .like(ObjectUtil.isNotEmpty(dto.getName()), HardManagerEntity::getName, dto.getName()) + .eq(ObjectUtil.isNotEmpty(dto.getDeptId()), HardManagerEntity::getDeptId, dto.getDeptId()) + .eq(ObjectUtil.isNotEmpty(dto.getType()), HardManagerEntity::getType, dto.getType()) + .eq(ObjectUtil.isNotEmpty(dto.getType()), HardManagerEntity::getMerchantId, dto.getMerchantId()) + .in(ObjectUtil.isNotEmpty(dto.getDeptIds()), HardManagerEntity::getDeptId, dto.getDeptIds()) + .in(ObjectUtil.isNotEmpty(dto.getMerchantIds()), HardManagerEntity::getMerchantId, dto.getMerchantIds()); + Page list = selectPageByScope(page, wrapper, DataScope.of()); + list.setRecords(BeanUtils.toBean(list.getRecords(), HardManagerVo.class)); + return list; + } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java index 78fc3e428..88bcbe999 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java @@ -1,9 +1,6 @@ package com.bsd.pjcloud.hard.mapper.order; -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.order.HardAfterSaleDto; @@ -11,6 +8,7 @@ import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity; import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface HardAfterSaleMapper extends PjcloudBaseMapper { @@ -21,20 +19,7 @@ public interface HardAfterSaleMapper extends PjcloudBaseMapper scopePageList(Page page, HardAfterSaleDto dto) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper() - .eq(ObjectUtil.isNotEmpty(dto.getStatus()), HardAfterSaleEntity::getStatus, dto.getStatus()) - .in(ObjectUtil.isNotEmpty(dto.getUserIds()), HardAfterSaleEntity::getUserId, dto.getUserIds()) - .between( - ObjectUtil.isNotEmpty(dto.getCreateTimeList()), - HardAfterSaleEntity::getCreateTime, - ObjectUtil.isNotEmpty(dto.getCreateTimeList()) ? dto.getCreateTimeList()[0] : null, - ObjectUtil.isNotEmpty(dto.getCreateTimeList()) ? dto.getCreateTimeList()[1] : null - ); - Page list = selectPageByScope(page, wrapper, DataScope.of()); - list.setRecords(BeanUtils.toBean(list.getRecords(), HardAfterSaleVo.class)); - return list; - } + Page scopePageJoinList(Page page, @Param("dto") HardAfterSaleDto dto, DataScope dataScope); default HardAfterSaleVo join(HardAfterSaleDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java index 513303c13..6ff3615e4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java @@ -14,6 +14,8 @@ public interface HardAfterSaleService extends IService { Page pageJoin(Page page, HardAfterSaleDto dto); + Page scopePageList(Page page, HardAfterSaleDto dto); + HardAfterSaleVo join(HardAfterSaleDto dto); /** diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java index 62e93697e..8d417bc77 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java @@ -15,6 +15,8 @@ public interface HardInvoiceService extends IService { Page pageJoin(Page page, HardInvoiceDto dto); + Page scopePageList(Page page, HardInvoiceDto dto); + /** * 生成发票 * @param order diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java index 1830ca1e3..7b8a130a6 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java @@ -11,6 +11,8 @@ public interface HardManagerService extends IService { Page pageJoin(Page page, HardManagerDto dto); + Page scopePageList(Page page, HardManagerDto dto); + Long create(HardManagerDto dto); void edit(HardManagerDto dto); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index 32fe0995b..fc528b075 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -2,7 +2,6 @@ package com.bsd.pjcloud.hard.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto; import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; @@ -13,7 +12,9 @@ import jakarta.validation.Valid; public interface HardOrderService extends IService { - Page pageJoin(Page page, HardOrderDto dto); + Page pagejoin(Page page, HardOrderDto dto); + + Page scopePageList(Page page, HardOrderDto dto); HardOrderVo join(Long id); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java index 6f6155088..b415af705 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java @@ -72,6 +72,12 @@ public class HardInvoiceServiceImpl extends ServiceImpl scopePageList(Page page, HardInvoiceDto dto) { + Page list = baseMapper.scopePageList(page, dto); + return list; + } + @Override public String generateInvoice(HardOrderEntity order) { return generateInvoice(order, null); 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 d5019e0be..1245da780 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 @@ -55,15 +55,43 @@ public class HardManagerServiceImpl extends ServiceImpl deptIds = list.getRecords().stream().map(HardManagerVo::getDeptId).distinct().toList(); - R> deptList = deptService.getDeptByDeptIds(deptIds); - if (ObjectUtil.isNotEmpty(deptList.getData())) { - DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + if (ObjectUtil.isNotEmpty(deptIds)) { + R> deptList = deptService.getDeptByDeptIds(deptIds); + if (ObjectUtil.isNotEmpty(deptList.getData())) { + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + } } // 商户 List mchIds = list.getRecords().stream().map(HardManagerVo::getMerchantId).distinct().toList(); - R> mchList = mchService.getByIds(mchIds); - if (ObjectUtil.isNotEmpty(mchList.getData())) { - WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); + if (ObjectUtil.isNotEmpty(mchIds)) { + R> mchList = mchService.getByIds(mchIds); + if (ObjectUtil.isNotEmpty(mchList.getData())) { + WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); + } + } + } + return list; + } + + @Override + public Page scopePageList(Page page, HardManagerDto dto) { + Page list = baseMapper.scopePageList(page, dto); + if (ObjectUtil.isNotEmpty(list.getRecords())) { + // 部门 + List deptIds = list.getRecords().stream().map(HardManagerVo::getDeptId).distinct().toList(); + if (ObjectUtil.isNotEmpty(deptIds)) { + R> deptList = deptService.getDeptByDeptIds(deptIds); + if (ObjectUtil.isNotEmpty(deptList.getData())) { + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + } + } + // 商户 + List mchIds = list.getRecords().stream().map(HardManagerVo::getMerchantId).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + R> mchList = mchService.getByIds(mchIds); + if (ObjectUtil.isNotEmpty(mchList.getData())) { + WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); + } } } return list; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 6e3d6c38f..dea05474f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -15,6 +15,7 @@ import com.bsd.pjcloud.admin.api.utils.DataUtil; 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.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.constant.refund.HardAfterSaleOperateTypeEnum; @@ -75,7 +76,39 @@ public class HardAfterSaleServiceImpl extends ServiceImpl pageJoin(Page page, HardAfterSaleDto dto) { - Page list = baseMapper.scopePageList(page, dto); + Page list = baseMapper.pageJoin(page, dto); + if (ObjectUtil.isNotEmpty(list.getRecords())) { + // 用户 + List userIds = list.getRecords().stream().map(HardAfterSaleVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(userIds)) { + R> userList = userService.getUserById(new ArrayList<>(userIds)); + if (ObjectUtil.isNotEmpty(userList.getData())) { + DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); + } + } + // 部门 + List deptIds = list.getRecords().stream().map(HardAfterSaleVo::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(deptIds)) { + R> deptList = deptService.getDeptByDeptIds(deptIds); + if (ObjectUtil.isNotEmpty(deptList.getData())) { + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + } + } + // 订单 + List orderIds = list.getRecords().stream().map(HardAfterSaleVo::getOrderId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(orderIds)) { + HardOrderDto hardOrderDto = new HardOrderDto(); + hardOrderDto.setOrderIds(orderIds); + List orderList = hardOrderMapper.list(hardOrderDto); + HardUtil.convertOrderList(list.getRecords(), CollectionUtils.convertMap(orderList, HardOrderEntity::getId)); + } + } + return list; + } + + @Override + public Page scopePageList(Page page, HardAfterSaleDto dto) { + Page list = baseMapper.scopePageJoinList(page, dto, new DataScope()); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 List userIds = list.getRecords().stream().map(HardAfterSaleVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java similarity index 89% rename from pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java rename to pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index c29b57d41..c7405f020 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -10,7 +10,6 @@ import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; -import com.bsd.pjcloud.canteen.api.feign.RemoteCanteenSpuService; import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService; import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; @@ -40,7 +39,6 @@ import com.bsd.pjcloud.hard.service.HardCarService; import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardOrderService; import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketSpuService; -import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketUnitSkuService; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum; import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum; @@ -79,7 +77,7 @@ import java.util.Optional; @Slf4j @RequiredArgsConstructor @Service -public class HardwareOrderServiceImpl extends ServiceImpl implements HardOrderService { +public class HardOrderServiceImpl extends ServiceImpl implements HardOrderService { static private final String TAG = "订单"; @@ -101,7 +99,57 @@ public class HardwareOrderServiceImpl extends ServiceImpl pageJoin(Page page, HardOrderDto dto) { + public Page pagejoin(Page page, HardOrderDto dto) { + Page list = baseMapper.pageJoin(page, dto); + if (ObjectUtil.isNotEmpty(list.getRecords())) { + // 用户 + List userIds = list.getRecords().stream().map(HardOrderVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(userIds)) { + R> userList = userService.getUserById(new ArrayList<>(userIds)); + if (ObjectUtil.isNotEmpty(userList.getData())) { + DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); + } + } + // 部门 + List deptIds = list.getRecords().stream().map(HardOrderVo::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(deptIds)) { + R> deptList = deptService.getDeptByDeptIds(deptIds); + if (ObjectUtil.isNotEmpty(deptList.getData())) { + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + } + } + // 商户 + List mchIds = list.getRecords().stream().map(HardOrderVo::getMerchantId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + R> mchList = remoteMchService.getByIds(mchIds); + if (ObjectUtil.isNotEmpty(mchList.getData())) { + WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); + } + } + // 设备 + List hardIds = list.getRecords().stream().map(HardOrderVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + HardManagerDto hardManagerDto = new HardManagerDto(); + hardManagerDto.setIds(hardIds); + List hardList = hardManagerMapper.list(hardManagerDto); + if (ObjectUtil.isNotEmpty(hardList)) { + HardUtil.convertHardList(list.getRecords(), CollectionUtils.convertMap(hardList, HardManagerEntity::getId)); + } + } + // 购物车 + if (dto.getIsFindCarList()) { + for (HardOrderVo v : list.getRecords()) { + List carList = hardCarService.getByParentCarId(v.getParentCarId()); + List carVoList = BeanUtils.toBean(carList, HardCarVo.class); + v.setCarList(carVoList); + } + } + } + return list; + } + + @Override + public Page scopePageList(Page page, HardOrderDto dto) { Page list = baseMapper.scopePageList(page, dto); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 @@ -503,7 +551,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl - - + @@ -28,5 +27,53 @@ - + + + + select a.id, + a.no, + a.type, + a.status, + a.way, + a.user_id, + a.apply_reason, + a.apply_description, + a.apply_pic_urls, + a.order_id, + a.order_no, + a.audit_time, + a.audit_user_id, + a.audit_reason, + a.refund_price, + a.pay_refund_id, + a.refund_time, + a.delivery_time, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id + + + + a.del_flag = '0' + + and a.id = #{dto.id} + + + and a.order_id = #{dto.orderId} + + + and a.create_time between #{dto.createTimeList[0]} and #{pa.createTimeList[1]} + + + + \ No newline at end of file