From 6c41b4f00c7908eb28b6d75344506be6186007a1 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: Fri, 8 Mar 2024 16:10:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E6=94=B6=E7=AB=99=E7=B1=BB=E7=9B=AE?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91v1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/yunxi/common/domain/PageQuery.java | 1 + .../controller/RecycleStationController.java | 21 +++--- .../main/java/cc/yunxi/domain/po/Price.java | 58 ++++++++++++++++ .../java/cc/yunxi/domain/po/PriceProduct.java | 53 +++++++++++++++ .../main/java/cc/yunxi/domain/po/Product.java | 57 ++++++++++++++++ .../yunxi/domain/po/RecycleStationPrice.java | 46 +++++++++++++ .../vo/recyclestation/ProductRespVO.java | 67 +++++++++++++++++++ .../java/cc/yunxi/enums/GlobalStatusEnum.java | 22 ++++++ .../java/cc/yunxi/mapper/PriceMapper.java | 18 +++++ .../cc/yunxi/mapper/PriceProductMapper.java | 18 +++++ .../java/cc/yunxi/mapper/ProductMapper.java | 18 +++++ .../mapper/RecycleStationPriceMapper.java | 18 +++++ .../java/cc/yunxi/service/IPriceService.java | 16 +++++ .../yunxi/service/IRecycleStationService.java | 15 ++++- .../yunxi/service/impl/PriceServiceImpl.java | 20 ++++++ .../impl/RecycleStationServiceImpl.java | 66 ++++++++++++++++-- .../src/main/resources/mapper/PriceMapper.xml | 5 ++ .../resources/mapper/PriceProductMapper.xml | 5 ++ .../resources/mapper/PriceRecycleMapper.xml | 5 ++ .../main/resources/mapper/ProductMapper.xml | 5 ++ .../resources/mapper/RecycleStationMapper.xml | 2 +- 21 files changed, 521 insertions(+), 15 deletions(-) create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/po/Price.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/po/PriceProduct.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/po/Product.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleStationPrice.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/ProductRespVO.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/enums/GlobalStatusEnum.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/mapper/PriceMapper.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/mapper/PriceProductMapper.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/mapper/ProductMapper.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/mapper/RecycleStationPriceMapper.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/service/IPriceService.java create mode 100644 nxhs-service/src/main/java/cc/yunxi/service/impl/PriceServiceImpl.java create mode 100644 nxhs-service/src/main/resources/mapper/PriceMapper.xml create mode 100644 nxhs-service/src/main/resources/mapper/PriceProductMapper.xml create mode 100644 nxhs-service/src/main/resources/mapper/PriceRecycleMapper.xml create mode 100644 nxhs-service/src/main/resources/mapper/ProductMapper.xml diff --git a/nxhs-common/src/main/java/cc/yunxi/common/domain/PageQuery.java b/nxhs-common/src/main/java/cc/yunxi/common/domain/PageQuery.java index e64900f..b6ced1c 100644 --- a/nxhs-common/src/main/java/cc/yunxi/common/domain/PageQuery.java +++ b/nxhs-common/src/main/java/cc/yunxi/common/domain/PageQuery.java @@ -69,6 +69,7 @@ public class PageQuery { throw new RuntimeException(e); } orderItem.setAsc(isAsc); + orderItems.add(orderItem); return this; } diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleStationController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleStationController.java index a1799c5..df1dcbb 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleStationController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleStationController.java @@ -8,6 +8,7 @@ import cc.yunxi.common.utils.BeanUtils; import cc.yunxi.domain.dto.LocationDTO; import cc.yunxi.domain.po.RecycleStation; import cc.yunxi.domain.query.RecycleStationQuery; +import cc.yunxi.domain.vo.recyclestation.ProductRespVO; import cc.yunxi.domain.vo.recyclestation.RecycleStationRespVO; import cc.yunxi.service.IRecycleStationService; import cn.hutool.core.util.ObjectUtil; @@ -18,6 +19,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** *

@@ -52,16 +55,18 @@ public class RecycleStationController { @ApiOperation("回收站详情") @GetMapping("/info") - public CommonResult findOrder(@RequestBody RecycleStationQuery recycleStationQuery) { - RecycleStation station = recycleStationService.getStationById(recycleStationQuery.getStationId()); + public CommonResult stationInfo(@RequestParam("stationId") String stationId) { + RecycleStation station = recycleStationService.getStationById(stationId); RecycleStationRespVO recycleStationRespVO = BeanUtils.copyBean(station, RecycleStationRespVO.class); - // 站点距离计算 - LocationDTO locationDTO = recycleStationQuery.getLocation(); - log.info("client locationDTO: {}", locationDTO); - if (ObjectUtil.isEmpty(locationDTO)) { - throw new BizIllegalException("授权定位信息未授权"); - } return CommonResult.success(recycleStationRespVO); } + + @ApiOperation("回收站废品价格类目") + @GetMapping("/price-product") + public CommonResult> stationProduct(@RequestParam("stationId") String stationId) { + List stationProduct = recycleStationService.getStationProduct(stationId); + return CommonResult.success(stationProduct); + } + } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/Price.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/Price.java new file mode 100644 index 0000000..03537cc --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/Price.java @@ -0,0 +1,58 @@ +package cc.yunxi.domain.po; + +import cc.yunxi.enums.GlobalStatusEnum; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.time.LocalDateTime; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 价目表 + *

+ * + * @author ccongli + * @since 2024-03-08 01:37:49 + */ +@Data +@TableName("nx_price") +@ApiModel(value = "Price", description = "价格表") +public class Price { + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + + @ApiModelProperty("价格编号") + @TableField("price_code") + private String priceCode; + +// @ApiModelProperty("报价方id(登录人所在商户id)") +// @TableField("buiness_id") +// private String buinessId; + +// @ApiModelProperty("价格类型(1:回收价)") +// @TableField("price_type") +// private String priceType; + + @ApiModelProperty("状态:1生效,2失效") + @TableField("status") + private GlobalStatusEnum status; + + @ApiModelProperty("备注") + @TableField("remak") + private String remak; + + @ApiModelProperty("创建时间") + @TableField("f_creator_time") + private LocalDateTime fCreatorTime; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/PriceProduct.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/PriceProduct.java new file mode 100644 index 0000000..acc45d4 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/PriceProduct.java @@ -0,0 +1,53 @@ +package cc.yunxi.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 价格废品关联表 + *

+ * + * @author ccongli + * @since 2024-03-08 01:47:39 + */ +@Data +@TableName("nx_price_product") +@ApiModel(value = "PriceProduct", description = "价格废品关联信息") +public class PriceProduct { + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + + @ApiModelProperty("价格id") + @TableField("price_id") + private String priceId; + + @ApiModelProperty("废品id") + @TableField("product_id") + private String productId; + + @ApiModelProperty("回收价") + @TableField("recovery_price") + private BigDecimal recoveryPrice; + + @ApiModelProperty("赠送积分") + @TableField("reward_points") + private String rewardPoints; + + @ApiModelProperty("创建时间") + @TableField("f_creator_time") + private LocalDateTime fCreatorTime; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/Product.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/Product.java new file mode 100644 index 0000000..e8cab3b --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/Product.java @@ -0,0 +1,57 @@ +package cc.yunxi.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.time.LocalDateTime; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 废品表 + *

+ * + * @author ccongli + * @since 2024-03-08 01:52:54 + */ +@Data +@TableName("nx_product") +@ApiModel(value = "Product对象", description = "商品回收类目") +public class Product { + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + + @ApiModelProperty("编码") + @TableField("code") + private String code; + + @ApiModelProperty("名称") + @TableField("name") + private String name; + + @ApiModelProperty("规格") + @TableField("spec") + private String spec; + + @ApiModelProperty("库存单位") + @TableField("unit") + private String unit; + + @ApiModelProperty("备注") + @TableField("remak") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("f_creator_time") + private LocalDateTime fCreatorTime; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleStationPrice.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleStationPrice.java new file mode 100644 index 0000000..95a01a6 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleStationPrice.java @@ -0,0 +1,46 @@ +package cc.yunxi.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 回收站价目表 + *

+ * + * @author ccongli + * @since 2024-03-08 01:41:56 + */ +@Getter +@Setter +@TableName("nx_price_recycle") +@ApiModel(value = "RecycleStationPrice", description = "回收站价目表") +public class RecycleStationPrice { + + @ApiModelProperty("主键Id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + + @ApiModelProperty("价目id") + @TableField("price_id") + private String priceId; + + @ApiModelProperty("回收站id") + @TableField("recycle_id") + private String recycleStationId; + + @ApiModelProperty("创建时间") + @TableField("f_creator_time") + private LocalDateTime fCreatorTime; + + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/ProductRespVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/ProductRespVO.java new file mode 100644 index 0000000..7eefca7 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/recyclestation/ProductRespVO.java @@ -0,0 +1,67 @@ +package cc.yunxi.domain.vo.recyclestation; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 废品价目 VO + *

+ * + * @author ccongli + * @since 2024-03-01 11:15:39 + */ +@ApiModel(description = "回收站 Response VO") +@Data +@Accessors(chain = true) +public class ProductRespVO { + + @ApiModelProperty("价格id") + @TableField("price_id") + private String priceId; + + @ApiModelProperty("废品id") + @TableField("product_id") + private String productId; + + @ApiModelProperty("回收价") + @TableField("recovery_price") + private BigDecimal recoveryPrice; + + @ApiModelProperty("赠送积分") + @TableField("reward_points") + private String rewardPoints; + + @ApiModelProperty("废品编码") + @TableField("code") + private String code; + + @ApiModelProperty("废品名称") + @TableField("name") + private String name; + + @ApiModelProperty("废品规格") + @TableField("spec") + private String spec; + + @ApiModelProperty("废品单位") + @TableField("unit") + private String unit; + + @ApiModelProperty("备注") + @TableField("remak") + private String remark; + + @ApiModelProperty("废品定价时间") + @TableField("f_creator_time") + private LocalDateTime fCreatorTime; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/enums/GlobalStatusEnum.java b/nxhs-service/src/main/java/cc/yunxi/enums/GlobalStatusEnum.java new file mode 100644 index 0000000..1ad1556 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/enums/GlobalStatusEnum.java @@ -0,0 +1,22 @@ +package cc.yunxi.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 全局状态枚举 + */ +@Getter +@AllArgsConstructor +public enum GlobalStatusEnum { + + VALID("1", "启用"), + + INVALID("2", "禁用"); + + @EnumValue + private final String code; + + private final String desc; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/PriceMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/PriceMapper.java new file mode 100644 index 0000000..170358b --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/PriceMapper.java @@ -0,0 +1,18 @@ +package cc.yunxi.mapper; + +import cc.yunxi.domain.po.Price; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 价目表 Mapper 接口 + *

+ * + * @author ccongli + * @since 2024-03-08 01:37:49 + */ +@Mapper +public interface PriceMapper extends BaseMapper { + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/PriceProductMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/PriceProductMapper.java new file mode 100644 index 0000000..88b37d2 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/PriceProductMapper.java @@ -0,0 +1,18 @@ +package cc.yunxi.mapper; + +import cc.yunxi.domain.po.PriceProduct; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 价目废品关联 Mapper 接口 + *

+ * + * @author ccongli + * @since 2024-03-08 01:47:39 + */ +@Mapper +public interface PriceProductMapper extends BaseMapper { + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/ProductMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/ProductMapper.java new file mode 100644 index 0000000..c331a94 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/ProductMapper.java @@ -0,0 +1,18 @@ +package cc.yunxi.mapper; + +import cc.yunxi.domain.po.Product; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 废品 Mapper 接口 + *

+ * + * @author ccongli + * @since 2024-03-08 01:52:54 + */ +@Mapper +public interface ProductMapper extends BaseMapper { + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleStationPriceMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleStationPriceMapper.java new file mode 100644 index 0000000..06cef6c --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleStationPriceMapper.java @@ -0,0 +1,18 @@ +package cc.yunxi.mapper; + +import cc.yunxi.domain.po.RecycleStationPrice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 回收站价目关联 Mapper 接口 + *

+ * + * @author ccongli + * @since 2024-03-08 01:41:56 + */ +@Mapper +public interface RecycleStationPriceMapper extends BaseMapper { + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IPriceService.java b/nxhs-service/src/main/java/cc/yunxi/service/IPriceService.java new file mode 100644 index 0000000..734652a --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/service/IPriceService.java @@ -0,0 +1,16 @@ +package cc.yunxi.service; + +import cc.yunxi.domain.po.Price; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 价目表 服务类 + *

+ * + * @author ccongli + * @since 2024-03-08 01:37:49 + */ +public interface IPriceService extends IService { + +} 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 4608a9e..b6ac010 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleStationService.java @@ -3,12 +3,15 @@ package cc.yunxi.service; import cc.yunxi.domain.po.RecycleOrder; import cc.yunxi.domain.po.RecycleStation; import cc.yunxi.domain.query.RecycleStationQuery; +import cc.yunxi.domain.vo.recyclestation.ProductRespVO; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

- * 企业-回收站信息 服务类 + * 回收站信息 服务类 *

* * @author ccongli @@ -26,10 +29,18 @@ public interface IRecycleStationService extends IService { /** - * 订单详情 + * 站点详情 * @param id * @return RecycleOrder */ RecycleStation getStationById(String id); + + /** + * 站点废品价目信息 + * @param stationId + * @return RecycleOrder + */ + List getStationProduct(String stationId); + } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/PriceServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/PriceServiceImpl.java new file mode 100644 index 0000000..3e0b288 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/PriceServiceImpl.java @@ -0,0 +1,20 @@ +package cc.yunxi.service.impl; + +import cc.yunxi.domain.po.Price; +import cc.yunxi.mapper.PriceMapper; +import cc.yunxi.service.IPriceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 价目表 服务实现类 + *

+ * + * @author ccongli + * @since 2024-03-08 01:37:49 + */ +@Service +public class PriceServiceImpl extends ServiceImpl implements IPriceService { + +} 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 604dbd5..08cd091 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 @@ -2,22 +2,32 @@ package cc.yunxi.service.impl; import cc.yunxi.common.domain.LambdaQueryWrapperX; import cc.yunxi.common.exception.BizIllegalException; -import cc.yunxi.domain.po.Client; -import cc.yunxi.domain.po.RecycleOrder; -import cc.yunxi.domain.po.RecycleStation; +import cc.yunxi.common.utils.BeanUtils; +import cc.yunxi.domain.po.*; import cc.yunxi.domain.query.RecycleOrderQuery; import cc.yunxi.domain.query.RecycleStationQuery; -import cc.yunxi.mapper.RecycleStationMapper; +import cc.yunxi.domain.vo.recyclestation.ProductRespVO; +import cc.yunxi.enums.GlobalStatusEnum; +import cc.yunxi.mapper.*; import cc.yunxi.service.IRecycleStationService; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** *

@@ -34,7 +44,17 @@ public class RecycleStationServiceImpl extends ServiceImpl queryStationByPage(RecycleStationQuery recycleStationQuery) { LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX<>(); wrapperX.eqIfPresent(RecycleStation::getStationName, recycleStationQuery.getStationName()); @@ -43,6 +63,7 @@ public class RecycleStationServiceImpl extends ServiceImpl getStationProduct(String stationId) { + RecycleStationPrice recycleStationPrice = new LambdaQueryChainWrapper<>(recycleStationPriceMapper) + .eq(RecycleStationPrice::getRecycleStationId, stationId).one(); + if (ObjectUtil.isEmpty(recycleStationPrice)) { + throw new BizIllegalException("回收站点价目信息未配置"); + } + Price price = new LambdaQueryChainWrapper<>(priceMapper).eq(Price::getId, recycleStationPrice.getPriceId()).one(); + if (ObjectUtil.isEmpty(price) || GlobalStatusEnum.INVALID.equals(price.getStatus())) { + throw new BizIllegalException("价目配置不存在或被禁用"); + } + List productRespVOList = new ArrayList<>(20); + List priceProductList = new LambdaQueryChainWrapper<>(priceProductMapper) + .eq(PriceProduct::getPriceId, price.getId()).list(); + if (CollectionUtil.isNotEmpty(priceProductList)) { + // 获取废品价格信息 + Map priceProductMap = priceProductList.stream() + .collect(Collectors.toMap(PriceProduct::getProductId, p -> p, (k1, k2) -> k1)); + if (CollectionUtil.isNotEmpty(priceProductMap)) { + List productList = new LambdaQueryChainWrapper<>(productMapper) + .in(Product::getId, priceProductMap.keySet()).list(); + for (Product product : productList) { + PriceProduct priceProduct = priceProductMap.get(product.getId()); + ProductRespVO productRespVO = BeanUtils.copyBean(priceProduct, ProductRespVO.class); + productRespVO.setCode(product.getCode()) + .setName(product.getName()) + .setSpec(product.getSpec()) + .setUnit(product.getUnit()) + .setRemark(product.getRemark()); + productRespVOList.add(productRespVO); + } + } + } + return productRespVOList; + } + } diff --git a/nxhs-service/src/main/resources/mapper/PriceMapper.xml b/nxhs-service/src/main/resources/mapper/PriceMapper.xml new file mode 100644 index 0000000..2bcb59e --- /dev/null +++ b/nxhs-service/src/main/resources/mapper/PriceMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nxhs-service/src/main/resources/mapper/PriceProductMapper.xml b/nxhs-service/src/main/resources/mapper/PriceProductMapper.xml new file mode 100644 index 0000000..725c176 --- /dev/null +++ b/nxhs-service/src/main/resources/mapper/PriceProductMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nxhs-service/src/main/resources/mapper/PriceRecycleMapper.xml b/nxhs-service/src/main/resources/mapper/PriceRecycleMapper.xml new file mode 100644 index 0000000..56a2f5f --- /dev/null +++ b/nxhs-service/src/main/resources/mapper/PriceRecycleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nxhs-service/src/main/resources/mapper/ProductMapper.xml b/nxhs-service/src/main/resources/mapper/ProductMapper.xml new file mode 100644 index 0000000..d8e17fd --- /dev/null +++ b/nxhs-service/src/main/resources/mapper/ProductMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nxhs-service/src/main/resources/mapper/RecycleStationMapper.xml b/nxhs-service/src/main/resources/mapper/RecycleStationMapper.xml index e339a0a..e6ff06d 100644 --- a/nxhs-service/src/main/resources/mapper/RecycleStationMapper.xml +++ b/nxhs-service/src/main/resources/mapper/RecycleStationMapper.xml @@ -17,7 +17,7 @@ HAVING distance <= a.accept_range ORDER BY - distance ASC; + distance ASC