diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardManagerDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardManagerDto.java index 1d844994b..42c6d3ce6 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardManagerDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardManagerDto.java @@ -8,6 +8,8 @@ import java.util.List; @Data public class HardManagerDto extends HardManagerEntity { + private List ids; + private List deptIds; private List merchantIds; 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 55a33e790..22f077fd9 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 @@ -1,20 +1,17 @@ package com.bsd.pjcloud.hard.api.utils; import cn.hutool.core.codec.Base64; -import cn.hutool.core.lang.Pair; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; -import com.bsd.pjcloud.admin.api.entity.SysDept; -import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.hard.api.dto.code.QRCodeDto; +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.BaseHardInterface; import com.bsd.pjcloud.hard.api.vo.base.BaseOrderInterface; -import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; import lombok.experimental.UtilityClass; import org.apache.commons.lang3.tuple.ImmutablePair; -import javax.xml.stream.events.StartDocument; import java.util.List; import java.util.Map; @@ -70,4 +67,16 @@ public class HardUtil { return v; } + public List convertHardList(List list, Map map) { + return CollectionUtils.convertList(list, v -> convertHard(v, map.get(v.getHardId()))); + } + + public T convertHard(T v, HardManagerEntity entity) { + if (ObjectUtil.isEmpty(entity)) return v; + v.setHardId(entity.getId()); + v.setHardName(entity.getName()); + v.setHardType(entity.getType()); + return v; + } + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardInterface.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardInterface.java new file mode 100644 index 000000000..be070ff19 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/base/BaseHardInterface.java @@ -0,0 +1,17 @@ +package com.bsd.pjcloud.hard.api.vo.base; + +public interface BaseHardInterface { + + Long getHardId(); + + void setHardId(Long hardId); + + String getHardName(); + + void setHardName(String hardName); + + String getHardType(); + + void setHardType(String hardType); + +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index 388b68601..f4f388602 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.hard.api.vo.order; import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface; import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; +import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity; import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @@ -10,7 +11,7 @@ import lombok.Data; import java.util.List; @Data -public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface, BaseMchInterface { +public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface, BaseMchInterface, BaseHardInterface { /** * 用户相关 */ 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 fc273655e..efdd04d31 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 @@ -92,10 +92,10 @@ public class HardOrderController { @PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')") public R>> getHardwareOrderPage(@ParameterObject Page page, @RequestBody HardOrderPreferencesDto hpPreferencesDto) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(hpPreferencesDto.getMerchantId()!=null, HardOrderEntity::getMerchantId, hpPreferencesDto.getMerchantId()); + wrapper.eq(hpPreferencesDto.getMerchantId() != null, HardOrderEntity::getMerchantId, hpPreferencesDto.getMerchantId()); wrapper.eq(HardOrderEntity::getOrderType, hpPreferencesDto.getOrderType()); - wrapper.eq(hpPreferencesDto.getOrderStatus()!=null, HardOrderEntity::getOrderStatus, hpPreferencesDto.getOrderStatus()); - wrapper.between(hpPreferencesDto.getTimes()!=null, HardOrderEntity::getCreateTime, hpPreferencesDto.getTimes()[0], hpPreferencesDto.getTimes()[1]); + wrapper.eq(hpPreferencesDto.getOrderStatus() != null, HardOrderEntity::getOrderStatus, hpPreferencesDto.getOrderStatus()); + wrapper.between(hpPreferencesDto.getTimes() != null, HardOrderEntity::getCreateTime, hpPreferencesDto.getTimes()[0], hpPreferencesDto.getTimes()[1]); return R.ok(hardwareOrderService.page(page, wrapper)); } 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 c659d19e9..ae68f3bd2 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 @@ -1,6 +1,7 @@ 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.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.hard.api.dto.HardManagerDto; @@ -9,6 +10,8 @@ import com.bsd.pjcloud.hard.api.vo.HardManagerVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface HardManagerMapper extends PjcloudBaseMapper { @@ -23,4 +26,11 @@ public interface HardManagerMapper extends PjcloudBaseMapper .in(ObjectUtil.isNotEmpty(dto.getMerchantIds()), HardManagerEntity::getMerchantId, dto.getMerchantIds()); return selectJoinPage(page, HardManagerVo.class, wrapper); } + + default List list(HardManagerDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dto.getId()), HardManagerEntity::getId, dto.getId()) + .in(ObjectUtil.isNotEmpty(dto.getIds()), HardManagerEntity::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/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index 1515ec1d5..5ade10c34 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/HardwareOrderServiceImpl.java @@ -18,6 +18,7 @@ import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; 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.order.HardPayTypeEnum; +import com.bsd.pjcloud.hard.api.dto.HardManagerDto; 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.HardCreateCarDto; @@ -27,8 +28,10 @@ import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; +import com.bsd.pjcloud.hard.api.utils.HardUtil; import com.bsd.pjcloud.hard.api.vo.order.HardCarVo; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; +import com.bsd.pjcloud.hard.mapper.HardManagerMapper; import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardCarService; import com.bsd.pjcloud.hard.service.HardManagerService; @@ -86,6 +89,8 @@ public class HardwareOrderServiceImpl extends ServiceImpl pageJoin(Page page, HardOrderDto dto) { Page list = baseMapper.scopePageList(page, dto); @@ -114,6 +119,16 @@ public class HardwareOrderServiceImpl extends ServiceImpl 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()) {