From ca3f649e184e6d52d8dcad558014b9a9921bc9b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com> Date: Tue, 2 Apr 2024 11:29:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=89=80=E5=B1=9E=E5=9B=9E=E6=94=B6=E7=AB=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RecycleOrderController.java | 28 ++++++++ .../dzorder/DZRecycleOrderRespVO.java | 4 ++ .../shorder/SHRecycleOrderRespVO.java | 4 ++ .../tmorder/TMRecycleOrderRespVO.java | 4 ++ .../RecycleStationSimpleVO.java | 65 +++++++++++++++++++ .../yunxi/service/IRecycleStationService.java | 8 +++ .../impl/RecycleStationServiceImpl.java | 13 ++++ 7 files changed, 126 insertions(+) create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/RecycleStationSimpleVO.java diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java index 3813683..19aea59 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java @@ -22,11 +22,14 @@ import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderCreateVO; import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; +import cc.yunxi.domain.vo.recyclestation.RecycleStationRespVO; +import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO; import cc.yunxi.enums.OrderTypeEnum; import cc.yunxi.enums.UserTypeEnum; import cc.yunxi.service.*; import cc.yunxi.utils.UserContext; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -56,6 +59,8 @@ public class RecycleOrderController { private final IRecyclerService recyclerService; + private final IRecycleStationService recycleStationService; + private final IRecycleOrderProductService recycleOrderProductService; private final IPriceProductService priceProductService; @@ -231,17 +236,20 @@ public class RecycleOrderController { this.assembleProductInfo(shOrderRespVOList); this.assembleClientAddressInfo(shOrderRespVOList); this.assembleRecyclerInfo(shOrderRespVOList); + this.assembleStationInfo(shOrderRespVOList); return shOrderRespVOList; case TM_RECOVERY: List tmOrderRespVOList = BeanUtils.copyList(recycleOrderList, TMRecycleOrderRespVO.class); this.assembleProductInfo(tmOrderRespVOList); this.assembleRecyclerInfo(tmOrderRespVOList); + this.assembleStationInfo(tmOrderRespVOList); this.assembleHousingEstateInfo(tmOrderRespVOList); return tmOrderRespVOList; case DZ_RECOVERY: List dzOrderRespVOList = BeanUtils.copyList(recycleOrderList, DZRecycleOrderRespVO.class); this.assembleProductInfo(dzOrderRespVOList); this.assembleRecyclerInfo(dzOrderRespVOList); + this.assembleStationInfo(dzOrderRespVOList); return dzOrderRespVOList; default: return BeanUtils.copyList(recycleOrderList, RecycleOrderRespVO.class); @@ -270,6 +278,26 @@ public class RecycleOrderController { } + /** + * 组装订单回收站信息 + * + * @param orderRespVOList + */ + private void assembleStationInfo(List orderRespVOList) { + Set stationIds = orderRespVOList.stream().map(RecycleOrderRespVO::getRecycleStationId) + .filter(StrUtil::isNotEmpty).collect(Collectors.toSet()); + List stationList = recycleStationService.getStationByIds(stationIds); + if (ObjectUtil.isNotEmpty(stationList)) { + List stationSimpleVOList = BeanUtils.copyList(stationList, RecycleStationSimpleVO.class); + Map stationMap = stationSimpleVOList.stream().collect(Collectors.toMap( + RecycleStationSimpleVO::getId, s -> s, (k1, k2) -> k1)); + orderRespVOList.forEach(v -> { + CommonUtil.assignField(v, "recycleStationInfo", stationMap.get(v.getRecycleStationId())); + }); + } + } + + /** * 组装订单废品信息 * diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java index 00fc1df..c3d9d46 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/dzorder/DZRecycleOrderRespVO.java @@ -4,6 +4,7 @@ package cc.yunxi.domain.vo.recycleorder.dzorder; import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; +import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,6 +18,9 @@ public class DZRecycleOrderRespVO extends RecycleOrderRespVO { @ApiModelProperty("回收员信息") private RecyclerSimpleVO recyclerInfo; + @ApiModelProperty("回收站信息") + private RecycleStationSimpleVO recycleStationInfo; + @ApiModelProperty("订单明细详情") private List orderDetails; diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java index 81857ad..fc60507 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/shorder/SHRecycleOrderRespVO.java @@ -6,6 +6,7 @@ import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; +import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO; import cc.yunxi.enums.OrderStatusEnum; import cc.yunxi.enums.OrderTypeEnum; import cc.yunxi.enums.ProductWeightEnum; @@ -65,6 +66,9 @@ public class SHRecycleOrderRespVO extends RecycleOrderRespVO { @ApiModelProperty("回收员信息") private RecyclerSimpleVO recyclerInfo; + @ApiModelProperty("回收站信息") + private RecycleStationSimpleVO recycleStationInfo; + @ApiModelProperty("订单明细详情") private List orderDetails; diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java index 95a86c2..95ff4b1 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recycleorder/tmorder/TMRecycleOrderRespVO.java @@ -6,6 +6,7 @@ import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO; import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO; +import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,6 +26,9 @@ public class TMRecycleOrderRespVO extends RecycleOrderRespVO { @ApiModelProperty("回收员信息") private RecyclerSimpleVO recyclerInfo; + @ApiModelProperty("回收站信息") + private RecycleStationSimpleVO recycleStationInfo; + @ApiModelProperty("订单明细详情") private List orderDetails; diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/RecycleStationSimpleVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/RecycleStationSimpleVO.java new file mode 100644 index 0000000..0826112 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/RecycleStationSimpleVO.java @@ -0,0 +1,65 @@ +package cc.yunxi.domain.vo.recyclestation; + +import cc.yunxi.domain.vo.priceproduct.ProductRespVO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 回收站VO + *

+ * + * @author ccongli + * @since 2024-03-01 11:15:39 + */ +@ApiModel(description = "回收站 Simple VO") +@Data +public class RecycleStationSimpleVO { + + @ApiModelProperty("主键id") + private String id; + + @ApiModelProperty("企业id") + private String enterpriseId; + + @ApiModelProperty("回收站编号") + private String stationCode; + + @ApiModelProperty("回收站名称") + private String stationName; + + @ApiModelProperty("回收站照片") + private String stationImg; + + @ApiModelProperty("联系人") + private String contactPerson; + + @ApiModelProperty("回收电话") + private String recycleTel; + + @ApiModelProperty("详细地址") + private String address; + + @ApiModelProperty("回收站介绍") + private String stationDescription; + + @ApiModelProperty("营业日") + private String businessDays; + + @ApiModelProperty("营业时刻起") + private String appointmentTimeStart; + + @ApiModelProperty("营业时刻止") + private String appointmentTimeEnd; + + @ApiModelProperty("范围限制(单位:m)") + private Integer acceptRange; + + +// @ApiModelProperty("站点类目信息") +// private List stationProducts; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java index 7610730..cadebd0 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java @@ -8,6 +8,7 @@ import cc.yunxi.domain.vo.recyclestation.RecycleStationRespVO; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; import java.util.List; /** @@ -43,6 +44,13 @@ public interface IRecycleStationService extends IService { */ RecycleStation getStationById(String id); + /** + * 通过id集获取站点列表 + * @param ids + * @return RecycleOrder + */ + List getStationByIds(Collection ids); + /** * 站点废品价目信息 diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleStationServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleStationServiceImpl.java index 35119ee..41edb64 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleStationServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleStationServiceImpl.java @@ -3,6 +3,7 @@ package cc.yunxi.service.impl; import cc.yunxi.common.domain.LambdaQueryWrapperX; import cc.yunxi.common.exception.BizIllegalException; import cc.yunxi.common.utils.BeanUtils; +import cc.yunxi.common.utils.CollUtils; import cc.yunxi.domain.dto.LocationDTO; import cc.yunxi.domain.po.*; import cc.yunxi.domain.query.RecycleStationQuery; @@ -23,6 +24,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -94,6 +96,17 @@ public class RecycleStationServiceImpl extends ServiceImpl getStationByIds(Collection stationIds) { + LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX<>(); + if (CollUtils.isEmpty(stationIds)) { + return CollUtils.emptyList(); + } + wrapperX.in(RecycleStation::getId, stationIds); + return list(wrapperX); + } + + @Override public List getStationProduct(String stationId) { QueryWrapper wrapper = new QueryWrapper().eq("a.status", GlobalStatusEnum.VALID);