feat:是被食堂,线上线下订单

This commit is contained in:
dzc committed 2025-01-11 18:08:59 +08:00
1 parent 792da4ce7b
commit 15509313fc
7 files changed
+63 -9

No files matched your search

@@ -8,6 +8,8 @@ import java.util.List;
@Data
public class HardManagerDto extends HardManagerEntity {
private List<Long> ids;
private List<Long> deptIds;
private List<Long> merchantIds;
@@ -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 <T extends BaseHardInterface> List<T> convertHardList(List<T> list, Map<Long, HardManagerEntity> map) {
return CollectionUtils.convertList(list, v -> convertHard(v, map.get(v.getHardId())));
}
public <T extends BaseHardInterface> 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;
}
}
@@ -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);
}
@@ -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 {
/**
* 用户相关
*/
@@ -92,10 +92,10 @@ public class HardOrderController {
@PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')")
public R<Page<List<HardOrderEntity>>> getHardwareOrderPage(@ParameterObject Page page, @RequestBody HardOrderPreferencesDto hpPreferencesDto) {
LambdaQueryWrapper<HardOrderEntity> 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));
}
@@ -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<HardManagerEntity> {
@@ -23,4 +26,11 @@ public interface HardManagerMapper extends PjcloudBaseMapper<HardManagerEntity>
.in(ObjectUtil.isNotEmpty(dto.getMerchantIds()), HardManagerEntity::getMerchantId, dto.getMerchantIds());
return selectJoinPage(page, HardManagerVo.class, wrapper);
}
default List<HardManagerEntity> list(HardManagerDto dto) {
LambdaQueryWrapper<HardManagerEntity> wrapper = new LambdaQueryWrapper<HardManagerEntity>()
.eq(ObjectUtil.isNotEmpty(dto.getId()), HardManagerEntity::getId, dto.getId())
.in(ObjectUtil.isNotEmpty(dto.getIds()), HardManagerEntity::getId, dto.getIds());
return selectList(wrapper);
}
}
@@ -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<HardOrderMapper, HardO
private final RemoteUserService userService;
private final RemoteDeptService deptService;
private final HardManagerMapper hardManagerMapper;
@Override
public Page<HardOrderVo> pageJoin(Page page, HardOrderDto dto) {
Page<HardOrderVo> list = baseMapper.scopePageList(page, dto);
@@ -114,6 +119,16 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId));
}
}
// 设备
List<Long> hardIds = list.getRecords().stream().map(HardOrderVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList();
if (ObjectUtil.isNotEmpty(mchIds)) {
HardManagerDto hardManagerDto = new HardManagerDto();
hardManagerDto.setIds(hardIds);
List<HardManagerEntity> 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()) {