From 3f8f2d190607446525b74765e95f6facefe62317 Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 30 Oct 2023 13:00:51 +0800 Subject: [PATCH] //level --- .../controller/ProductController.java | 26 +++++++++++++++++++ .../com/iformall/domain/po/LevelPackage.java | 3 +++ .../java/com/iformall/domain/po/Product.java | 3 +++ .../mapper/ProjectPackageDetailMapper.java | 3 +++ .../com/iformall/service/ProductService.java | 4 +++ .../service/impl/ProductServiceImpl.java | 25 +++++++++++++++--- .../service/sm/LevelPackageService.java | 4 ++- .../sm/impl/LevelPackageServiceImpl.java | 22 ++++++++++++++++ .../mapper/ProjectPackageDetailMapper.xml | 8 ++++++ 9 files changed, 94 insertions(+), 4 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/ProductController.java b/suimangCApi/src/main/java/com/iformall/controller/ProductController.java index abe8dbd..f1df1e9 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/ProductController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/ProductController.java @@ -8,6 +8,8 @@ import com.iformall.domain.po.Product; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.sm.PersonPhoto; import com.iformall.enums.EnumMouldSendType; +import com.iformall.enums.EnumProductType; +import com.iformall.enums.EnumProject; import com.iformall.enums.EnumaMouldPatchStatus; import com.iformall.service.ProductService; import com.iformall.service.sm.MouldPatchSignService; @@ -25,6 +27,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.List; + @RestController @RequestMapping("/api/product") @@ -50,4 +54,26 @@ public class ProductController extends BaseController { } + @AuthIgnore + @ApiOperation("获取商品列表") + @GetMapping("list_v1") + @ApiImplicitParams({}) + public ResultData list_v1(@ModelAttribute Product record) { + logger.debug("[" + getIpAddr() + "] ProductController::list_v1"); + if(record.getType() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"type为空"); + } + Integer projectType = record.getProjectType(); + if(projectType == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"projectType为空"); + } + if(EnumProductType.product_2.getCode().equals(record.getType())){ + record.setProjectType(EnumProject.PROJECT_0.getCode()); + } + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + List listDetail = productService.findListDetail(record, projectType); + return new ResultData(listDetail); + } + + } diff --git a/suimangService/src/main/java/com/iformall/domain/po/LevelPackage.java b/suimangService/src/main/java/com/iformall/domain/po/LevelPackage.java index 0589913..a12abb6 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/LevelPackage.java +++ b/suimangService/src/main/java/com/iformall/domain/po/LevelPackage.java @@ -49,4 +49,7 @@ public class LevelPackage extends TenantEntity { @TableField(exist = false) private Date endDate; + @TableField(exist = false) + private ProjectPackageDetail projectPackageDetail; + } diff --git a/suimangService/src/main/java/com/iformall/domain/po/Product.java b/suimangService/src/main/java/com/iformall/domain/po/Product.java index 618a761..8bf6b73 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/Product.java +++ b/suimangService/src/main/java/com/iformall/domain/po/Product.java @@ -56,4 +56,7 @@ public class Product extends TenantEntity { @TableField(exist = false) private Date endDate; + @TableField(exist = false) + private LevelPackage levelPackage; + } diff --git a/suimangService/src/main/java/com/iformall/mapper/ProjectPackageDetailMapper.java b/suimangService/src/main/java/com/iformall/mapper/ProjectPackageDetailMapper.java index 9af411e..289625d 100644 --- a/suimangService/src/main/java/com/iformall/mapper/ProjectPackageDetailMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/ProjectPackageDetailMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.ProjectPackageDetail; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,4 +10,6 @@ public interface ProjectPackageDetailMapper extends CommonMapper findList(ProjectPackageDetail record); + ProjectPackageDetail selectByProject(@Param("packageId")Long packageId, @Param("projectType")Integer projectType); + } diff --git a/suimangService/src/main/java/com/iformall/service/ProductService.java b/suimangService/src/main/java/com/iformall/service/ProductService.java index 7aa7d63..25812f2 100644 --- a/suimangService/src/main/java/com/iformall/service/ProductService.java +++ b/suimangService/src/main/java/com/iformall/service/ProductService.java @@ -3,6 +3,8 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.Product; +import java.util.List; + public interface ProductService { /** @@ -17,4 +19,6 @@ public interface ProductService { Product getById(Long id); + List findListDetail(Product record, Integer projectType); + } diff --git a/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java index 129fc0e..a425d89 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/ProductServiceImpl.java @@ -2,9 +2,12 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.LevelPackage; import com.iformall.domain.po.Product; +import com.iformall.enums.EnumProductType; import com.iformall.mapper.ProductMapper; import com.iformall.service.ProductService; +import com.iformall.service.sm.LevelPackageService; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; @Service @Slf4j @@ -20,16 +24,31 @@ public class ProductServiceImpl implements ProductService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - ProductMapper productFromMapper; + ProductMapper productMapper; + + @Autowired + LevelPackageService levelPackageService; @Override public PageInfo listAsPage(Product record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> productFromMapper.findList(record)); + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> productMapper.findList(record)); } @Override public Product getById(Long id) { - return productFromMapper.selectById(id); + return productMapper.selectById(id); + } + + @Override + public List findListDetail(Product record, Integer projectType) { + List list = productMapper.findList(record); + for (Product prod: list) { + if(EnumProductType.product_2.getCode().equals(prod.getType())){ + LevelPackage levelPackage = levelPackageService.getDetailById(prod.getExtraId(),projectType); + prod.setLevelPackage(levelPackage); + } + } + return list; } } diff --git a/suimangService/src/main/java/com/iformall/service/sm/LevelPackageService.java b/suimangService/src/main/java/com/iformall/service/sm/LevelPackageService.java index 51210d7..29db44f 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/LevelPackageService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/LevelPackageService.java @@ -1,10 +1,12 @@ package com.iformall.service.sm; +import com.iformall.domain.po.LevelPackage; + import java.util.List; public interface LevelPackageService { - + LevelPackage getDetailById(Long id, Integer projectType); } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/LevelPackageServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/LevelPackageServiceImpl.java index 91afa7c..017f247 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/LevelPackageServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/LevelPackageServiceImpl.java @@ -1,10 +1,14 @@ package com.iformall.service.sm.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.iformall.domain.po.LevelPackage; +import com.iformall.domain.po.ProjectPackageDetail; import com.iformall.domain.po.sm.UserConsumptionPackage; import com.iformall.domain.po.sm.UserPackageDetail; import com.iformall.enums.EnumYesOrNo; import com.iformall.enums.sm.*; +import com.iformall.mapper.LevelPackageMapper; +import com.iformall.mapper.ProjectPackageDetailMapper; import com.iformall.mapper.UserConsumptionPackageMapper; import com.iformall.service.sm.LevelPackageService; import com.iformall.service.sm.UserConsumptionPackageService; @@ -22,4 +26,22 @@ import java.util.List; public class LevelPackageServiceImpl implements LevelPackageService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); + @Autowired + LevelPackageMapper levelPackageMapper; + + @Autowired + ProjectPackageDetailMapper projectPackageDetailMapper; + + @Override + public LevelPackage getDetailById(Long id, Integer projectType) { + if(id == null){ + return null; + } + LevelPackage levelPackage = levelPackageMapper.selectById(id); + if(levelPackage != null){ + ProjectPackageDetail projectPackageDetail = projectPackageDetailMapper.selectByProject(levelPackage.getId(),projectType); + levelPackage.setProjectPackageDetail(projectPackageDetail); + } + return levelPackage; + } } diff --git a/suimangService/src/main/resources/mapper/ProjectPackageDetailMapper.xml b/suimangService/src/main/resources/mapper/ProjectPackageDetailMapper.xml index efc78a7..3730e0c 100644 --- a/suimangService/src/main/resources/mapper/ProjectPackageDetailMapper.xml +++ b/suimangService/src/main/resources/mapper/ProjectPackageDetailMapper.xml @@ -72,4 +72,12 @@ + + +