Просмотр исходного кода

运营端商品接口调整优化

yzc 2 лет назад
Родитель
Сommit
0c0a9a4d0c

+ 8 - 12
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/operation/GoodsManagerController.java

@@ -4,24 +4,21 @@ import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.product.model.GoodsListExport;
 import com.sckw.product.model.OperationGoodsListExport;
-import com.sckw.product.model.vo.req.ExportStatisticGoodsListParam;
-import com.sckw.product.model.vo.req.SelectGoodsListParam;
-import com.sckw.product.model.vo.req.SelectOperationGoodsListParam;
-import com.sckw.product.model.vo.req.StatisticGoodsListParam;
-import com.sckw.product.service.KwpGoodsService;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.service.operation.GoodsManagerService;
-import com.sckw.product.service.KwpGoodsService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 /**
- * @desc: TODO
+ * @desc: 运营端商品管理
  * @author: yzc
  * @date: 2023-09-14 9:13
  */
@@ -32,7 +29,6 @@ import java.util.List;
 public class GoodsManagerController {
 
     private final GoodsManagerService goodsManagerService;
-    private final KwpGoodsService kwpGoodsService;
 
     /**
      * @desc: 运营端分页查询商品
@@ -42,7 +38,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult select(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult select(@RequestBody @Validated OperatorGoodsListQueryVO params) {
         return HttpResult.ok(goodsManagerService.select(params));
     }
 
@@ -66,7 +62,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult statistic(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult statistic(@RequestBody OperatorGoodsStsQueryVO params) {
         return HttpResult.ok(goodsManagerService.statistic(params));
     }
 
@@ -78,7 +74,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void export(@RequestBody ExportStatisticGoodsListParam params, HttpServletResponse response) {
+    public void export(@RequestBody @Validated OperatorGoodsExportQueryVO params, HttpServletResponse response) {
         List<OperationGoodsListExport> list = goodsManagerService.export(params);
         if (CollectionUtils.isEmpty(list)) {
             throw new BusinessException("导出数据为空!");

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java

@@ -21,8 +21,8 @@ public enum GoodsStatusEnum {
     PUT_ON_SHELVES(1, "上架中"),
     TAKE_OFF_SHELVES(2, "已下架");
 
-    private Integer code;
-    private String msg;
+    private final Integer code;
+    private final String msg;
 
 
     public static String getNameByCode(Integer code) {

+ 1 - 8
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/OperationGoodsListExport.java

@@ -16,7 +16,7 @@ import java.io.Serializable;
 @Data
 @Accessors(chain = true)
 @ExcelContext(fileName = "商品列表信息", sheetName = "商品列表信息")
-public class OperationGoodsListExport{
+public class OperationGoodsListExport implements Serializable{
 
     @Serial
     private static final long serialVersionUID = 6833195135537265912L;
@@ -87,11 +87,4 @@ public class OperationGoodsListExport{
     @ExcelProperty(value = "备注")
     private String remark;
 
-
-
-
-
-
-
-
 }

+ 57 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/dto/OperatorGoodsListQueryDTO.java

@@ -0,0 +1,57 @@
+package com.sckw.product.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品列表统计查询条件dto
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryDTO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2258717936068928595L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+    private Integer status;
+
+    private String ids;
+
+}

+ 36 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsExportQueryVO.java

@@ -0,0 +1,36 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品导出查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsExportQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4178831851730806796L;
+
+    /**
+     * 订单状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+    /**
+     * 订单ids
+     */
+    private String ids;
+
+
+}

+ 40 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsListQueryVO.java

@@ -0,0 +1,40 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5355476498003837580L;
+
+    /**
+     * 当前页码
+     */
+    private int page = 1;
+    /**
+     * 每页数量
+     */
+    private int pageSize = 10;
+
+    /**
+     * 状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+
+}

+ 53 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsStsQueryVO.java

@@ -0,0 +1,53 @@
+package com.sckw.product.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6207372741308602907L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+}

+ 0 - 31
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectOperationGoodsListParam.java

@@ -1,31 +0,0 @@
-package com.sckw.product.model.vo.req;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-/**
- * @desc: 分页查询运营端商品列表请求参数
- * @author: lt
- * @date: 2023-09-14 14:01
- */
-@Getter
-@Setter
-@ToString
-public class SelectOperationGoodsListParam extends StatisticGoodsListParam {
-
-    /**
-     * 当前页码
-     */
-    private int page = 1;
-    /**
-     * 每页数量
-     */
-    private int pageSize = 10;
-
-    /**
-     * 状态
-     */
-    private Integer status;
-
-}

+ 183 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java

@@ -6,6 +6,8 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -19,6 +21,186 @@ import java.util.List;
 @Setter
 @ToString
 @Accessors(chain = true)
-public class OperationGoodsDetail extends GoodsDetail{
+public class OperationGoodsDetail implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4764298791581321673L;
+
+    /**
+     * 商品id
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String ent;
+
+    /**
+     * 企业头像
+     */
+    private String entHead;
+
+    /**
+     * 企业主营范围
+     */
+    private String entBusiness;
+
+    /**
+     * 企业地址
+     */
+    private String entAddress;
+
+    /**
+     * 供应单位id
+     */
+    private Long supplyEntId;
+
+    /**
+     * 供应单位名称
+     */
+    private String supplyEnt;
+
+    /**
+     * 商品编号
+     */
+    private String code;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型lab
+     */
+    private String goodsTypeLabel;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 单位lab
+     */
+    private String unitLabel;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率
+     */
+    private String taxRate;
+
+    /**
+     * 发票税率label
+     */
+    private String taxRateLabel;
+
+    /**
+     * 是否设置预付限额0否1是
+     */
+    private Integer prepaidLimit;
+
+    /**
+     * 是否设置预付限额label
+     */
+    private String prepaidLimitLabel;
+
+    /**
+     * 预付款最低限额
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 专属客户经理id
+     */
+    private Long manager;
+
+    /**
+     * 专属客户经理姓名
+     */
+    private String managerName;
+
+    /**
+     * 专属客户经理电话
+     */
+    private String managerPhone;
+
+    /**
+     * 成交量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 缩略图
+     */
+    private String thumb;
+
+    /**
+     * 上架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addedTime;
+
+    /**
+     * 下架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date shelfTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态:0草稿/1上架/2下架
+     */
+    private Integer status;
+
+    /**
+     * 状态label
+     */
+    private String statusLabel;
+
+    /**
+     * 商品详情图片
+     */
+    private List<GoodsImagesDetail> images;
+
+    /**
+     * 地址信息
+     */
+    private AddressInfoDetail addressInfo;
+
+    /**
+     * 价格梯度
+     */
+    private List<GoodsPriceRangesDetail> priceRanges;
+
+    /**
+     * 参数目录
+     */
+    private List<GoodsAttributesDetail> attributes;
 
 }

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -558,7 +558,7 @@ public class KwpGoodsService {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {

+ 37 - 44
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/operation/GoodsManagerService.java

@@ -11,15 +11,22 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
 import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
-import com.sckw.core.utils.*;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.excel.utils.DateUtil;
-import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.product.dao.KwpGoodsMapper;
 import com.sckw.product.enums.GoodsStatusEnum;
 import com.sckw.product.model.*;
-import com.sckw.product.model.vo.req.*;
+import com.sckw.product.model.dto.OperatorGoodsListQueryDTO;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.model.vo.res.*;
-import com.sckw.product.service.*;
+import com.sckw.product.service.KwpGoodsAddressService;
+import com.sckw.product.service.KwpGoodsAttributeService;
+import com.sckw.product.service.KwpGoodsImageService;
+import com.sckw.product.service.KwpGoodsPriceRangeService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
@@ -29,8 +36,6 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -54,22 +59,16 @@ public class GoodsManagerService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteUserService remoteUserService;
 
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private PayCenterDubboService payCenterDubboService;
 
     private final KwpGoodsMapper kwpGoodsMapper;
     private final KwpGoodsAddressService kwpGoodsAddressService;
     private final KwpGoodsAttributeService kwpGoodsAttributeService;
     private final KwpGoodsImageService kwpGoodsImageService;
     private final KwpGoodsPriceRangeService kwpGoodsPriceRangeService;
-    private final StreamBridge streamBridge;
-
-    @Value("${goods.url.list}")
-    private String goodsListUrl;
 
 
-    public PageResult select(SelectOperationGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+    public PageResult select(OperatorGoodsListQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
         IPage<KwpGoods> goodsIpage = kwpGoodsMapper.selectPage(page, wrapper);
         List<KwpGoods> list = goodsIpage.getRecords();
@@ -88,43 +87,44 @@ public class GoodsManagerService {
      * @Param list:
      * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
      */
-    private LambdaQueryWrapper<KwpGoods> buildWrapper(ExportStatisticGoodsListParam params) {
+    private LambdaQueryWrapper<KwpGoods> buildWrapper(OperatorGoodsListQueryDTO params) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
         if (StringUtils.isNotBlank(params.getIds())) {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {
                 wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
             }
             //运营端不需要显示草稿数据
-            wrapper.ne(KwpGoods::getStatus, 0);
-            wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
-                    .eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
-                    .eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
-            if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
-                List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
-                if (CollectionUtils.isNotEmpty(goodsTypeList)) {
-                    List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
-                    wrapper.in(KwpGoods::getGoodsType, goodsTypes);
-                }
+            if (Objects.isNull(params.getStatus())) {
+                wrapper.ne(KwpGoods::getStatus, 0);
+            } else {
+                wrapper.eq(KwpGoods::getStatus, params.getStatus());
             }
             String keywords = params.getKeywords();
             if (StringUtils.isNotBlank(keywords)) {
                 //模糊匹配商品名称、仓储地址、客户经理
                 List<KwsUserResDto> managers = remoteUserService.getUserByName(keywords);
-                if (CollectionUtils.isEmpty(managers)) {
-                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
-                } else {
+                if (CollectionUtils.isNotEmpty(managers)) {
                     List<Long> managerIds = managers.stream().map(KwsUserResDto::getId).toList();
                     wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords)
                             .or().in(KwpGoods::getManager, managerIds));
+                } else {
+                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
                 }
             }
         }
+        if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
+            List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
+            if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                wrapper.in(KwpGoods::getGoodsType, goodsTypes);
+            }
+        }
         wrapper.eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
         return wrapper;
     }
@@ -253,16 +253,18 @@ public class GoodsManagerService {
      * @Param params:
      * @return: com.sckw.core.model.vo.TableStatisticRes
      */
-    public TableStatisticRes statistic(SelectOperationGoodsListParam params) {
+    public TableStatisticRes statistic(OperatorGoodsStsQueryVO params) {
         TableStatisticRes res = new TableStatisticRes();
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> goodsList = kwpGoodsMapper.selectList(wrapper);
         Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
         List<TableTop> tableTops = new ArrayList<>();
         TableTop all = new TableTop();
         all.setName("全部").setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
         tableTops.add(all);
-        GoodsStatusEnum.getSortList().forEach(e -> {
+        List<GoodsStatusEnum> sortList = GoodsStatusEnum.getSortList();
+        sortList.remove(0);
+        sortList.forEach(e -> {
             List<KwpGoods> list = map.get(e.getCode());
             int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
             TableTop tableTop = new TableTop();
@@ -271,10 +273,7 @@ public class GoodsManagerService {
         });
         TableBottom tableBottom = new TableBottom();
         tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
-        List<TableTop> filteredTableTops = tableTops.stream()
-                .filter(tableTop -> !tableTop.getName().equals("已保存"))
-                .collect(Collectors.toList());
-        res.setTableTops(filteredTableTops).setTableBottom(tableBottom);
+        res.setTableTops(tableTops).setTableBottom(tableBottom);
         return res;
     }
 
@@ -285,8 +284,8 @@ public class GoodsManagerService {
      * @Param params:
      * @return: void
      */
-    public List<OperationGoodsListExport> export(ExportStatisticGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(params);
+    public List<OperationGoodsListExport> export(OperatorGoodsExportQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         List<OperationGoodsList> goodsLists = buildGoodLists(list);
         if (CollectionUtils.isEmpty(goodsLists)) {
@@ -309,10 +308,4 @@ public class GoodsManagerService {
     }
 
 
-
-
-
-
-
-
 }