Browse Source

Merge remote-tracking branch 'origin/dev' into dev

small 2 years ago
parent
commit
b127caa1d0
62 changed files with 1192 additions and 375 deletions
  1. 5 0
      pom.xml
  2. 5 0
      sckw-common/sckw-common-core/pom.xml
  3. 36 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/config/MybatisPlusConfig.java
  4. 3 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/TableStatisticRes.java
  5. 2 1
      sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  6. 3 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoProject.java
  7. 8 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrder.java
  8. 5 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderContract.java
  9. 0 7
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderGoods.java
  10. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwpTransportDemand.java
  11. 4 4
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwpWantBuy.java
  12. 6 11
      sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java
  13. 43 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java
  14. 2 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/GoodsListExport.java
  15. 1 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java
  16. 25 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/ExportGoodsListParam.java
  17. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsImages.java
  18. 3 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsListParam.java
  19. 3 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectGoodsListParam.java
  20. 108 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/GoodsList.java
  21. 36 3
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsAddressService.java
  22. 16 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsAttributeService.java
  23. 16 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsImageService.java
  24. 32 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsPriceRangeService.java
  25. 308 63
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  26. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsSkuService.java
  27. 53 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/LogisticsOrderEnum.java
  28. 41 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java
  29. 11 11
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderAddressMapper.java
  30. 11 11
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderGoodsMapper.java
  31. 0 12
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwoTradeOrderAddressRepository.java
  32. 0 14
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwoTradeOrderRepository.java
  33. 0 13
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderAddressRepository.java
  34. 0 12
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderContractRepository.java
  35. 0 13
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderGoodsRepository.java
  36. 0 12
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderRepository.java
  37. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoProjectOrder.java
  38. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderAddress.java
  39. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderContract.java
  40. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderGoods.java
  41. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderTrack.java
  42. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderUnit.java
  43. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwpTransportDemand.java
  44. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwpWantBuy.java
  45. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderContract.java
  46. 32 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderGoods.java
  47. 1 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderSubcontract.java
  48. 5 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderTrack.java
  49. 6 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java
  50. 44 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java
  51. 10 7
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  52. 110 25
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  53. 0 17
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/OutboundHeadServiceImpl.java
  54. 2 2
      sckw-modules/sckw-transport/src/main/resources/logback-spring.xml
  55. 0 93
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsDAO.xml
  56. 177 0
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsMapper.xml
  57. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml
  58. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderSubcontractMapper.xml
  59. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderTrackMapper.xml
  60. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml
  61. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTicketMapper.xml
  62. 1 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTrackMapper.xml

+ 5 - 0
pom.xml

@@ -244,6 +244,11 @@
                 <artifactId>mybatis-plus-annotation</artifactId>
                 <version>${mybatis-plus.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-extension</artifactId>
+                <version>${mybatis-plus.version}</version>
+            </dependency>
             <!--多数据源-->
             <dependency>
                 <groupId>com.baomidou</groupId>

+ 5 - 0
sckw-common/sckw-common-core/pom.xml

@@ -165,5 +165,10 @@
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-annotation</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+        </dependency>
+
     </dependencies>
 </project>

+ 36 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/config/MybatisPlusConfig.java

@@ -0,0 +1,36 @@
+package com.sckw.core.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Collections;
+
+/**
+ * @desc: MybatisPlus配置
+ * @author: yzc
+ * @date: 2023-07-07 8:46
+ */
+@Configuration
+public class MybatisPlusConfig {
+    @Bean
+    public PaginationInnerInterceptor paginationInnerInterceptor() {
+        PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor();
+        // 设置最大单页限制数量,默认 500 条,-1 不受限制
+        paginationInterceptor.setMaxLimit(-1L);
+        paginationInterceptor.setDbType(DbType.MYSQL);
+        // 开启 count 的 join 优化,只针对部分 left join
+        paginationInterceptor.setOptimizeJoin(true);
+        return paginationInterceptor;
+    }
+
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
+        mybatisPlusInterceptor.setInterceptors(Collections.singletonList(paginationInnerInterceptor()));
+        return mybatisPlusInterceptor;
+    }
+}
+

+ 3 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/TableStatisticRes.java

@@ -5,6 +5,8 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.util.List;
+
 /**
  * @desc: 表格统计对象
  * @author: yzc
@@ -19,7 +21,7 @@ public class TableStatisticRes {
     /**
      * 表格顶部对象
      */
-    private TableTop tableTop;
+    private List<TableTop> tableTops;
 
     /**
      * 表格底部对象

+ 2 - 1
sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -3,4 +3,5 @@ com.sckw.core.exception.GlobalSystemExceptionHandler
 com.sckw.core.web.config.CustomConfig
 com.sckw.core.filter.LoginFilter
 com.sckw.core.web.config.WebMvcConfig
-#com.sckw.core.filter.ExceptionFilterConfig
+com.sckw.core.filter.ExceptionFilterConfig
+com.sckw.core.config.MybatisPlusConfig

+ 3 - 3
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoProject.java

@@ -7,7 +7,7 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
-import java.time.LocalDateTime;
+import java.time.LocalDate;
 
 /**
  * @desc: 项目管理
@@ -34,11 +34,11 @@ public class KwoProject extends BaseModel {
     /**
      * 开始日期
      */
-    private LocalDateTime startTime;
+    private LocalDate startTime;
 
     /**
      * 结束日期
      */
-    private LocalDateTime entTime;
+    private LocalDate entTime;
 
 }

+ 8 - 3
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrder.java

@@ -8,7 +8,7 @@ import lombok.ToString;
 import lombok.experimental.Accessors;
 
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
+import java.time.LocalDate;
 
 /**
  * @desc: 交易订单(采购订单/销售订单)
@@ -52,15 +52,20 @@ public class KwoTradeOrder extends BaseModel {
      */
     private Long pickupType;
 
+    /**
+     * 交付类型(签发交付、签收交付)
+     */
+    private Long deliveryType;
+
     /**
      * 开始日期
      */
-    private LocalDateTime startTime;
+    private LocalDate startTime;
 
     /**
      * 结束日期
      */
-    private LocalDateTime endTime;
+    private LocalDate endTime;
 
     /**
      * 已委托量

+ 5 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderContract.java

@@ -24,6 +24,11 @@ public class KwoTradeOrderContract extends BaseModel {
      */
     private Long contractId;
 
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
     /**
      * 订单id(销售订单/采购订单)
      */

+ 0 - 7
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderGoods.java

@@ -7,8 +7,6 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
-import java.math.BigDecimal;
-
 /**
  * @desc: 交易订单商品信息
  * @author: yzc
@@ -41,11 +39,6 @@ public class KwoTradeOrderGoods extends BaseModel {
      */
     private Long skuId;
 
-    /**
-     * 数量
-     */
-    private BigDecimal amount;
-
     /**
      * 单位(吨、方、件、箱、其他)
      */

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwpTransportDemand.java

@@ -47,9 +47,9 @@ public class KwpTransportDemand extends BaseModel {
     private String unit;
 
     /**
-     * 采购方式(线下支付、电子钱包、银联转账、第三方支付
+     * 交易方式(预付款、货到付款、线下付款
      */
-    private Integer paymentChannel;
+    private Long trading;
 
     /**
      * 运需单价(元)

+ 4 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwpWantBuy.java

@@ -47,17 +47,17 @@ public class KwpWantBuy extends BaseModel {
     private String unit;
 
     /**
-     * 采购方式(线下支付、电子钱包、银联转账、第三方支付
+     * 交易方式(预付款、货到付款、线下付款
      */
-    private Integer paymentChannel;
+    private Integer trading;
 
     /**
-     * 运需单价(元)
+     * 求购单价(元)
      */
     private BigDecimal price;
 
     /**
-     * 运输总量
+     * 求购总量
      */
     private BigDecimal totalNum;
 }

+ 6 - 11
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java

@@ -1,15 +1,13 @@
 package com.sckw.product.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
-import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.product.model.vo.req.*;
 import com.sckw.product.model.vo.res.BuildingMaterialsMarketList;
-import com.sckw.product.model.vo.res.GoodsDetail;
-import com.sckw.product.model.vo.res.GoodsDropList;
 import com.sckw.product.model.vo.res.GoodsList;
 import com.sckw.product.service.KwpGoodsService;
 import lombok.RequiredArgsConstructor;
@@ -66,8 +64,7 @@ public class KwpGoodsController {
      */
     @GetMapping("/detail")
     public HttpResult detail(@RequestParam Long id) {
-        GoodsDetail goodsDetail = kwpGoodsService.detail(id);
-        return HttpResult.ok(goodsDetail);
+        return HttpResult.ok(kwpGoodsService.detail(id));
     }
 
     /**
@@ -94,7 +91,7 @@ public class KwpGoodsController {
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult select(@RequestBody SelectGoodsListParam params) {
         PageHelper.startPage(params.getPage(), params.getPageSize());
-        List<GoodsList> list = kwpGoodsService.select(params);
+        List<GoodsList> list = kwpGoodsService.select(BeanUtil.copyProperties(params, ExportGoodsListParam.class));
         PageResult result = PageHelperUtil.getPageResult(new PageInfo<>(list));
         return HttpResult.ok(result);
     }
@@ -108,8 +105,7 @@ public class KwpGoodsController {
      */
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult statistic(@RequestBody GoodsListParam params) {
-        TableStatisticRes tableStatisticRes = kwpGoodsService.statistic(params);
-        return HttpResult.ok(tableStatisticRes);
+        return HttpResult.ok(kwpGoodsService.statistic(params));
     }
 
     /**
@@ -120,7 +116,7 @@ public class KwpGoodsController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void export(@RequestBody GoodsListParam params) {
+    public void export(@RequestBody ExportGoodsListParam params) {
         kwpGoodsService.export(params);
     }
 
@@ -188,8 +184,7 @@ public class KwpGoodsController {
      */
     @PostMapping(value = "/dropList", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult dropList(@RequestBody GoodsDropListReq params) {
-        List<GoodsDropList> list = kwpGoodsService.dropList(params);
-        return HttpResult.ok(list);
+        return HttpResult.ok(kwpGoodsService.dropList(params));
     }
 
 

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

@@ -0,0 +1,43 @@
+package com.sckw.product.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.*;
+
+/**
+ * @desc: 产品状态枚举
+ * @author: yzc
+ * @date: 2023-07-06 13:53
+ */
+@AllArgsConstructor
+@Getter
+public enum GoodsStatusEnum {
+
+    /**
+     * 产品状态枚举
+     */
+    SAVED(0, "已保存"),
+    PUT_ON_SHELVES(1, "上架中"),
+    TAKE_OFF_SHELVES(2, "已下架");
+
+    private Integer code;
+    private String msg;
+
+
+    public static String getNameByCode(Integer code) {
+        GoodsStatusEnum[] enums = GoodsStatusEnum.values();
+        for (GoodsStatusEnum instance : enums) {
+            if (Objects.equals(instance.getCode(), code)) {
+                return instance.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<GoodsStatusEnum> getSortList() {
+        GoodsStatusEnum[] enums = GoodsStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(GoodsStatusEnum::getCode)).toList();
+    }
+
+}

+ 2 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/GoodsListExport.java

@@ -2,6 +2,7 @@ package com.sckw.product.model;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 /**
  * @desc: 商品列表导出对象
@@ -9,6 +10,7 @@ import lombok.Data;
  * @date: 2023-07-06 9:15
  */
 @Data
+@Accessors(chain = true)
 public class GoodsListExport {
 
     @ExcelProperty(value = "上架状态", index = 0)

+ 1 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java

@@ -111,6 +111,7 @@ public class AddGoodsParam {
     /**
      * 商品缩略图
      */
+    @NotBlank(message = "商品缩略图不能为空")
     private String thumb;
 
     /**

+ 25 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/ExportGoodsListParam.java

@@ -0,0 +1,25 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+/**
+ * @desc: 导出商品列表请求参数
+ * @author: yzc
+ * @date: 2023-07-05 11:52
+ */
+@Getter
+@Setter
+@ToString
+public class ExportGoodsListParam extends GoodsListParam {
+
+    /**
+     * 商品ids
+     */
+    private List<Long> ids;
+
+
+}

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsImages.java

@@ -17,7 +17,7 @@ public class GoodsImages {
     /**
      * 图片地址
      */
-    private String url;
+    private String image;
 
     /**
      * 图片排序

+ 3 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsListParam.java

@@ -1,5 +1,6 @@
 package com.sckw.product.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -25,11 +26,13 @@ public class GoodsListParam {
     /**
      * 创建时间开始(yyyy-MM-dd)
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束(yyyy-MM-dd)
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 3 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectGoodsListParam.java

@@ -1,5 +1,6 @@
 package com.sckw.product.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.page.PageRequest;
 import lombok.Getter;
 import lombok.Setter;
@@ -26,11 +27,13 @@ public class SelectGoodsListParam extends PageRequest {
     /**
      * 创建时间开始(yyyy-MM-dd)
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束(yyyy-MM-dd)
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 108 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/GoodsList.java

@@ -1,10 +1,14 @@
 package com.sckw.product.model.vo.res;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * @desc: 商品列表
  * @author: yzc
@@ -15,4 +19,108 @@ import lombok.experimental.Accessors;
 @ToString
 @Accessors(chain = true)
 public class GoodsList {
+
+    /**
+     * 商品id
+     */
+    private Long id;
+
+    /**
+     * 状态:0草稿/1上架/2下架
+     */
+    private Integer status;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品类型id
+     */
+    private Long typeId;
+
+    /**
+     * 商品类型
+     */
+    private String type;
+
+    /**
+     * 计量单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率(%)
+     */
+    private BigDecimal taxRate;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 交易方式(合同采购、直接采购、预付款、货到付款、到款发货)
+     */
+    private String trading;
+
+    /**
+     * 最高单价
+     */
+    private BigDecimal highestPrice;
+
+    /**
+     * 最低单价
+     */
+    private BigDecimal lowestPrice;
+
+    /**
+     * 仓储地址
+     */
+    private String address;
+
+    /**
+     * 客户经理
+     */
+    private String manageName;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 上架时间
+     */
+    @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 supplyEnt;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
 }

+ 36 - 3
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsAddressService.java

@@ -1,13 +1,17 @@
 package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.product.dao.KwpGoodsAddressMapper;
 import com.sckw.product.model.KwpGoodsAddress;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @desc: 商品地址信息service
  * @author: yzc
@@ -18,7 +22,7 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 public class KwpGoodsAddressService {
 
-    private KwpGoodsAddressMapper kwpGoodsAddressMapper;
+    private final KwpGoodsAddressMapper kwpGoodsAddressMapper;
 
     /**
      * @desc: 添加商品地址信息
@@ -31,16 +35,45 @@ public class KwpGoodsAddressService {
         kwpGoodsAddressMapper.insert(address);
     }
 
+
     /**
      * @desc: 通过商品id获取
      * @author: yzc
-     * @date: 2023-07-05 14:45
+     * @date: 2023-07-06 15:53
      * @Param goodsId:
-     * @return: java.util.List<com.sckw.product.model.KwpGoodsAddress>
+     * @return: com.sckw.product.model.KwpGoodsAddress
      */
     public KwpGoodsAddress getByGoodsId(Long goodsId) {
         LambdaQueryWrapper<KwpGoodsAddress> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwpGoodsAddress::getGoodsId, goodsId).eq(KwpGoodsAddress::getDelFlag, Global.NO).last("LIMIT 1");
         return kwpGoodsAddressMapper.selectOne(wrapper);
     }
+
+    /**
+     * @desc: 根据商品id删除
+     * @author: yzc
+     * @date: 2023-07-06 15:04
+     * @Param goodsId:
+     * @return: void
+     */
+    public void delByGoodsId(Long goodsId) {
+        LambdaUpdateWrapper<KwpGoodsAddress> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(KwpGoodsAddress::getGoodsId, goodsId).eq(KwpGoodsAddress::getDelFlag, Global.NO)
+                .set(KwpGoodsAddress::getDelFlag, Global.YES);
+        kwpGoodsAddressMapper.update(null, wrapper);
+    }
+
+    /**
+     * @desc: 通过商品ids获取
+     * @author: yzc
+     * @date: 2023-07-05 14:45
+     * @Param goodsId:
+     * @return: java.util.List<com.sckw.product.model.KwpGoodsAddress>
+     */
+    public List<KwpGoodsAddress> getByGoodsIds(List<Long> goodsIds) {
+        LambdaQueryWrapper<KwpGoodsAddress> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwpGoodsAddress::getGoodsId, goodsIds).eq(KwpGoodsAddress::getDelFlag, Global.NO);
+        List<KwpGoodsAddress> list = kwpGoodsAddressMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.model.constant.Global;
 import com.sckw.product.dao.KwpGoodsAttributeMapper;
 import com.sckw.product.model.KwpGoodsAttribute;
@@ -20,7 +21,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public class KwpGoodsAttributeService {
 
-    private KwpGoodsAttributeMapper kwpGoodsAttributeMapper;
+    private final KwpGoodsAttributeMapper kwpGoodsAttributeMapper;
 
     /**
      * @desc: 批量插入
@@ -45,4 +46,18 @@ public class KwpGoodsAttributeService {
         wrapper.eq(KwpGoodsAttribute::getGoodsId, goodsId).eq(KwpGoodsAttribute::getDelFlag, Global.NO);
         return kwpGoodsAttributeMapper.selectList(wrapper);
     }
+
+    /**
+     * @desc: 删除商品相关属性
+     * @author: yzc
+     * @date: 2023-07-06 15:00
+     * @Param goodsId:
+     * @return: void
+     */
+    public void delByGoodsId(Long goodsId) {
+        LambdaUpdateWrapper<KwpGoodsAttribute> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(KwpGoodsAttribute::getGoodsId, goodsId).eq(KwpGoodsAttribute::getDelFlag, Global.NO)
+                .set(KwpGoodsAttribute::getDelFlag, Global.YES);
+        kwpGoodsAttributeMapper.update(null, wrapper);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.model.constant.Global;
 import com.sckw.product.dao.KwpGoodsImageMapper;
 import com.sckw.product.model.KwpGoodsImage;
@@ -20,7 +21,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public class KwpGoodsImageService {
 
-    private KwpGoodsImageMapper kwpGoodsImageMapper;
+    private final KwpGoodsImageMapper kwpGoodsImageMapper;
 
     /**
      * @desc: 批量插入
@@ -46,4 +47,18 @@ public class KwpGoodsImageService {
                 .orderByAsc(KwpGoodsImage::getSort);
         return kwpGoodsImageMapper.selectList(wrapper);
     }
+
+    /**
+     * @desc: 根据商品id删除
+     * @author: yzc
+     * @date: 2023-07-06 15:04
+     * @Param goodsId:
+     * @return: void
+     */
+    public void delByGoodsId(Long goodsId) {
+        LambdaUpdateWrapper<KwpGoodsImage> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(KwpGoodsImage::getGoodsId, goodsId).eq(KwpGoodsImage::getDelFlag, Global.NO)
+                .set(KwpGoodsImage::getDelFlag, Global.YES);
+        kwpGoodsImageMapper.update(null, wrapper);
+    }
 }

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

@@ -1,7 +1,9 @@
 package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.product.dao.KwpGoodsPriceRangeMapper;
 import com.sckw.product.model.KwpGoodsPriceRange;
 import lombok.RequiredArgsConstructor;
@@ -20,7 +22,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public class KwpGoodsPriceRangeService {
 
-    private KwpGoodsPriceRangeMapper kwpGoodsPriceRangeMapper;
+    private final KwpGoodsPriceRangeMapper kwpGoodsPriceRangeMapper;
 
     /**
      * @desc: 批量插入
@@ -46,4 +48,33 @@ public class KwpGoodsPriceRangeService {
                 .orderByAsc(KwpGoodsPriceRange::getSort);
         return kwpGoodsPriceRangeMapper.selectList(wrapper);
     }
+
+    /**
+     * @desc: 根据商品id删除
+     * @author: yzc
+     * @date: 2023-07-06 15:04
+     * @Param goodsId:
+     * @return: void
+     */
+    public void delByGoodsId(Long goodsId) {
+        LambdaUpdateWrapper<KwpGoodsPriceRange> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(KwpGoodsPriceRange::getGoodsId, goodsId).eq(KwpGoodsPriceRange::getDelFlag, Global.NO)
+                .set(KwpGoodsPriceRange::getDelFlag, Global.YES);
+        kwpGoodsPriceRangeMapper.update(null, wrapper);
+    }
+
+    /**
+     * @desc: 通过商品ids获取
+     * @author: yzc
+     * @date: 2023-07-06 15:59
+     * @Param goodsIds:
+     * @return: java.util.List<com.sckw.product.model.KwpGoodsPriceRange>
+     */
+    public List<KwpGoodsPriceRange> getByGoodsIds(List<Long> goodsIds) {
+        LambdaQueryWrapper<KwpGoodsPriceRange> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwpGoodsPriceRange::getGoodsId, goodsIds).eq(KwpGoodsPriceRange::getDelFlag, Global.NO)
+                .orderByAsc(KwpGoodsPriceRange::getPrice);
+        List<KwpGoodsPriceRange> list = kwpGoodsPriceRangeMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
+    }
 }

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

@@ -1,14 +1,20 @@
 package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
+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.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.excel.utils.DateUtil;
 import com.sckw.excel.utils.EasyExcelUtil;
 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.vo.res.BuildingMaterialsMarketList;
@@ -21,13 +27,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
- * @desc: 商品service
+ * @desc: 商品service TODO
  * @author: yzc
  * @date: 2023-06-25 14:47
  */
@@ -54,7 +58,7 @@ public class KwpGoodsService {
         Long entId = LoginUserHolder.getEntId();
         //添加商品信息
         KwpGoods goods = BeanUtils.copyProperties(addGoodsParam, KwpGoods.class);
-        goods.setEntId(entId).setStatus(0);
+        goods.setEntId(entId).setStatus(GoodsStatusEnum.TAKE_OFF_SHELVES.getCode());
         kwpGoodsMapper.insert(goods);
         addGoodsOtherInfo(goods.getId(), addGoodsParam);
     }
@@ -71,7 +75,7 @@ public class KwpGoodsService {
         Long entId = LoginUserHolder.getEntId();
         //添加商品信息
         KwpGoods goods = BeanUtils.copyProperties(addGoodsParam, KwpGoods.class);
-        goods.setEntId(entId).setShelfTime(new Date()).setStatus(1);
+        goods.setEntId(entId).setShelfTime(new Date()).setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
         kwpGoodsMapper.insert(goods);
         addGoodsOtherInfo(goods.getId(), addGoodsParam);
     }
@@ -132,25 +136,21 @@ public class KwpGoodsService {
      * @return: com.sckw.product.model.vo.res.GoodsDetail
      */
     public GoodsDetail detail(Long id) {
-        Long entId = LoginUserHolder.getEntId();
-        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getId, id);
-        KwpGoods goods = getGoods(wrapper);
+        KwpGoods goods = getGoodsById(id);
         if (Objects.isNull(goods)) {
             throw new BusinessException("当前商品信息为空!");
         }
         GoodsDetail detail = BeanUtils.copyProperties(goods, GoodsDetail.class);
-
-
+        //商品图片信息
         List<KwpGoodsImage> goodsImages = kwpGoodsImageService.getByGoodsId(id);
         List<GoodsImages> images = BeanUtils.copyToList(goodsImages, GoodsImages.class);
-
+        //商品价格段信息
         List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
         List<GoodsPriceRanges> ranges = BeanUtils.copyToList(priceRanges, GoodsPriceRanges.class);
-
+        //商品属性信息
         List<KwpGoodsAttribute> attributesList = kwpGoodsAttributeService.getByGoodsId(id);
         List<GoodsAttributes> attributes = BeanUtils.copyToList(attributesList, GoodsAttributes.class);
-
+        //商品地址信息
         KwpGoodsAddress goodsAddress = kwpGoodsAddressService.getByGoodsId(id);
         AddressInfo addressInfo = BeanUtils.copyProperties(goodsAddress, AddressInfo.class);
 
@@ -159,61 +159,244 @@ public class KwpGoodsService {
         return detail;
     }
 
+
     /**
-     * @desc: 分页查询商品信息
+     * @desc: 更新商品信息
      * @author: yzc
-     * @date: 2023-07-05 11:58
-     * @Param params:
-     * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
+     * @date: 2023-07-06 8:50
+     * @Param param:
+     * @return: void
      */
-    public List<GoodsList> select(SelectGoodsListParam params) {
-        return null;
+    @Transactional(rollbackFor = Exception.class)
+    public void update(UpdateGoodsParam param) {
+        if (Objects.equals(param.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
+            judgeParameters(param);
+        }
+        KwpGoods kwpGoods = getGoodsById(param.getId());
+        if (Objects.isNull(kwpGoods)) {
+            throw new BusinessException("当前商品不存在!");
+        }
+        if (Objects.equals(kwpGoods.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
+            throw new BusinessException("当前商品为上架状态,不可修改!");
+        }
+        KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
+        if (Objects.equals(param.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
+            goods.setShelfTime(new Date());
+        }
+        kwpGoodsMapper.updateById(goods);
+        updateGoodsOtherInfo(param);
     }
 
     /**
-     * @desc: 统计查询
+     * @desc: 更新商品其他信息
      * @author: yzc
-     * @date: 2023-07-05 17:55
+     * @date: 2023-07-06 14:53
+     * @Param param:
+     * @return: void
+     */
+    private void updateGoodsOtherInfo(UpdateGoodsParam param) {
+        Long goodsId = param.getId();
+        //更新商品地址信息
+        kwpGoodsAddressService.delByGoodsId(goodsId);
+        KwpGoodsAddress address = BeanUtils.copyProperties(param.getAddressInfo(), KwpGoodsAddress.class);
+        address.setGoodsId(goodsId);
+        kwpGoodsAddressService.insert(address);
+
+        //更新商品属性信息
+        kwpGoodsAttributeService.delByGoodsId(goodsId);
+        if (CollectionUtils.isNotEmpty(param.getAttributes())) {
+            List<KwpGoodsAttribute> list = new ArrayList<>(param.getAttributes().size());
+            param.getAttributes().forEach(e -> {
+                KwpGoodsAttribute attribute = BeanUtils.copyProperties(e, KwpGoodsAttribute.class);
+                attribute.setGoodsId(goodsId);
+                list.add(attribute);
+            });
+            kwpGoodsAttributeService.insertBatch(list);
+        }
+
+        //更新商品图片信息
+        kwpGoodsImageService.delByGoodsId(goodsId);
+        if (CollectionUtils.isNotEmpty(param.getImages())) {
+            List<KwpGoodsImage> list = new ArrayList<>(param.getImages().size());
+            param.getImages().forEach(e -> {
+                KwpGoodsImage image = BeanUtils.copyProperties(e, KwpGoodsImage.class);
+                image.setGoodsId(goodsId);
+                list.add(image);
+            });
+            kwpGoodsImageService.insertBatch(list);
+        }
+
+        //更新商品价格梯度信息
+        kwpGoodsPriceRangeService.delByGoodsId(goodsId);
+        if (CollectionUtils.isNotEmpty(param.getPriceRanges())) {
+            List<KwpGoodsPriceRange> list = new ArrayList<>(param.getPriceRanges().size());
+            param.getPriceRanges().forEach(e -> {
+                KwpGoodsPriceRange priceRange = BeanUtils.copyProperties(e, KwpGoodsPriceRange.class);
+                priceRange.setGoodsId(goodsId);
+                list.add(priceRange);
+            });
+            kwpGoodsPriceRangeService.insertBatch(list);
+        }
+    }
+
+    /**
+     * @desc: 参数校验
+     * @author: yzc
+     * @date: 2023-07-06 14:33
+     * @Param param:
+     * @return: void
+     */
+    private void judgeParameters(UpdateGoodsParam param) {
+        if (StringUtils.isBlank(param.getName())) {
+            throw new BusinessException("商品名称不能为空!");
+        }
+        if (Objects.isNull(param.getTypeId())) {
+            throw new BusinessException("商品类型不能为空!");
+        }
+        if (StringUtils.isBlank(param.getUnit())) {
+            throw new BusinessException("计量单位不能为空!");
+        }
+        if (StringUtils.isBlank(param.getSpec())) {
+            throw new BusinessException("规格尺寸不能为空!");
+        }
+        if (Objects.isNull(param.getAmount())) {
+            throw new BusinessException("库存数量不能为空!");
+        }
+        if (Objects.isNull(param.getTaxRate())) {
+            throw new BusinessException("发票税率不能为空!");
+        }
+        if (Objects.isNull(param.getTrading())) {
+            throw new BusinessException("交易方式不能为空!");
+        }
+        if (CollectionUtils.isEmpty(param.getPriceRanges())) {
+            throw new BusinessException("价格梯度不能为空!");
+        }
+        if (Objects.isNull(param.getSupplyEntId())) {
+            throw new BusinessException("供应企业不能为空!");
+        }
+        if (Objects.isNull(param.getAddressInfo())) {
+            throw new BusinessException("地址信息不能为空!");
+        }
+        if (Objects.isNull(param.getManager())) {
+            throw new BusinessException("客户经理不能为空!");
+        }
+        if (StringUtils.isBlank(param.getAmount())) {
+            throw new BusinessException("商品缩略图不能为空!");
+        }
+
+    }
+
+    /**
+     * @desc: 分页查询商品信息
+     * @author: yzc
+     * @date: 2023-07-05 11:58
      * @Param params:
-     * @return: com.sckw.core.model.vo.TableRes
+     * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
      */
-    public TableStatisticRes statistic(GoodsListParam params) {
-        return null;
+    public List<GoodsList> select(ExportGoodsListParam params) {
+        List<Long> ids = params.getIds();
+        List<KwpGoods> goodsLists;
+        if (CollectionUtils.isEmpty(ids)) {
+            goodsLists = getGoodsLists(params);
+        } else {
+            LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
+            goodsLists = kwpGoodsMapper.selectList(wrapper);
+        }
+        if (CollectionUtils.isEmpty(goodsLists)) {
+            return Collections.emptyList();
+        }
+        List<GoodsList> result = new ArrayList<>(goodsLists.size());
+        List<Long> goodsIds = goodsLists.stream().map(KwpGoods::getId).toList();
+        //地址信息
+        Map<Long, KwpGoodsAddress> addressMap = kwpGoodsAddressService.getByGoodsIds(goodsIds)
+                .stream().collect(Collectors.toMap(KwpGoodsAddress::getGoodsId, e -> e, (k1, k2) -> k1));
+        //价格梯度信息
+        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds)
+                .stream().collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
+
+        goodsLists.forEach(e -> {
+            Long id = e.getId();
+            GoodsList goodsList = BeanUtils.copyProperties(e, GoodsList.class);
+            goodsList.setAddress(Objects.isNull(addressMap.get(id)) ? null : addressMap.get(id).getDetailAddress());
+            List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(id);
+            goodsList.setHighestPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(priceRanges.size() - 1).getPrice());
+            goodsList.setLowestPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice());
+            result.add(goodsList);
+        });
+        return result;
     }
 
     /**
-     * @desc: 条件获取商品信息
+     * @desc: 商品表格列表查询
      * @author: yzc
-     * @date: 2023-07-05 14:25
-     * @Param wrapper:
-     * @return: com.sckw.product.model.KwpGoods
+     * @date: 2023-07-07 9:09
+     * @Param params:
+     * @return: java.util.List<com.sckw.product.model.KwpGoods>
      */
-    public KwpGoods getGoods(LambdaQueryWrapper<KwpGoods> wrapper) {
-        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId())
-                .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
-        return kwpGoodsMapper.selectOne(last);
+    private List<KwpGoods> getGoodsLists(GoodsListParam params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
+                .ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
+                .le(Objects.nonNull(params.getEndCreateTime()), KwpGoods::getCreateTime, params.getEndCreateTime())
+                .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
+                .in(CollectionUtils.isNotEmpty(params.getTypeIds()), KwpGoods::getTypeId, params.getTypeIds())
+                .in(CollectionUtils.isNotEmpty(params.getStatus()), KwpGoods::getStatus, params.getStatus())
+                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
     }
 
+
     /**
-     * @desc: 商品下拉列表
+     * @desc: 统计查询
      * @author: yzc
-     * @date: 2023-07-06 8:45
+     * @date: 2023-07-05 17:55
      * @Param params:
-     * @return: java.util.List<com.sckw.product.model.vo.res.GoodsDropList>
+     * @return: com.sckw.core.model.vo.TableRes
      */
-    public List<GoodsDropList> dropList(GoodsDropListReq params) {
-        return null;
+    public TableStatisticRes statistic(GoodsListParam params) {
+        TableStatisticRes res = new TableStatisticRes();
+        List<KwpGoods> goodsList = getGoodsLists(params);
+        Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
+        List<TableTop> tableTops = new ArrayList<>();
+        GoodsStatusEnum.getSortList().forEach(e -> {
+            List<KwpGoods> list = map.get(e.getCode());
+            int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
+            TableTop tableTop = new TableTop();
+            tableTop.setName(e.getMsg()).setValue(e.getCode()).setTotal(total);
+            tableTops.add(tableTop);
+        });
+        TableBottom tableBottom = new TableBottom();
+        tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
+        res.setTableTops(tableTops).setTableBottom(tableBottom);
+        return res;
     }
 
     /**
-     * @desc: 更新商品信息
+     * @desc: 导出
      * @author: yzc
-     * @date: 2023-07-06 8:50
-     * @Param updateGoodsParam:
+     * @date: 2023-07-06 9:07
+     * @Param params:
      * @return: void
      */
-    public void update(UpdateGoodsParam updateGoodsParam) {
-
+    public void export(ExportGoodsListParam params) {
+        List<GoodsList> goodsLists = select(params);
+        List<GoodsListExport> list = new ArrayList<>();
+        goodsLists.forEach(e -> {
+            GoodsListExport export = BeanUtils.copyProperties(e, GoodsListExport.class);
+            export.setStatus(GoodsStatusEnum.getNameByCode(e.getStatus()))
+                    .setType("砂石").setTaxRate(String.valueOf(e.getTaxRate())).setAmount(String.valueOf(e.getAmount()))
+                    .setTrading("线下付款").setHighestPrice(String.valueOf(e.getHighestPrice()))
+                    .setLowestPrice(String.valueOf(e.getLowestPrice())).setAddedTime(DateUtil.getDateTime(e.getAddedTime()))
+                    .setShelfTime(DateUtil.getDateTime(e.getShelfTime()));
+            list.add(export);
+        });
+        try {
+            EasyExcelUtil.writeSingleExcel("商品列表信息", "sheet1", list, GoodsListExport.class);
+        } catch (IOException e) {
+            throw new BusinessException("导出商品列表异常", e.getMessage());
+        }
     }
 
     /**
@@ -224,7 +407,17 @@ public class KwpGoodsService {
      * @return: void
      */
     public void batchPutOnShelves(List<Long> ids) {
-
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwpGoods::getId, ids).in(KwpGoods::getStatus, 0, 2)
+                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        if (!Objects.equals(ids.size(), list.size())) {
+            throw new BusinessException("上架操作仅针对“已下架”“草稿”状态的单据");
+        }
+        LambdaUpdateWrapper<KwpGoods> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).set(KwpGoods::getAddedTime, new Date())
+                .in(KwpGoods::getId, ids);
+        kwpGoodsMapper.update(null, updateWrapper);
     }
 
     /**
@@ -235,7 +428,17 @@ public class KwpGoodsService {
      * @return: void
      */
     public void batchTakeOffShelves(List<Long> ids) {
-
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
+                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        if (!Objects.equals(ids.size(), list.size())) {
+            throw new BusinessException("下架操作仅针对“已上架”状态的单据");
+        }
+        LambdaUpdateWrapper<KwpGoods> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(KwpGoods::getStatus, GoodsStatusEnum.TAKE_OFF_SHELVES.getCode()).set(KwpGoods::getShelfTime, new Date())
+                .in(KwpGoods::getId, ids);
+        kwpGoodsMapper.update(null, updateWrapper);
     }
 
     /**
@@ -246,34 +449,76 @@ public class KwpGoodsService {
      * @return: void
      */
     public void batchDelete(List<Long> ids) {
-
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwpGoods::getId, ids).in(KwpGoods::getStatus, 0, 2)
+                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        if (!Objects.equals(ids.size(), list.size())) {
+            throw new BusinessException("删除操作仅针对“已下架”“草稿”状态的单据");
+        }
+        LambdaUpdateWrapper<KwpGoods> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(KwpGoods::getDelFlag, Global.YES).in(KwpGoods::getId, ids);
+        kwpGoodsMapper.update(null, updateWrapper);
     }
 
+
     /**
-     * @desc: 导出
+     * @desc: 建材市场分页查询
      * @author: yzc
-     * @date: 2023-07-06 9:07
+     * @date: 2023-07-06 9:38
      * @Param params:
-     * @return: void
+     * @return: java.util.List<com.sckw.product.model.vo.res.BuildingMaterialsMarketList>
      */
-    public void export(GoodsListParam params) {
+    public List<BuildingMaterialsMarketList> buildingMaterialsMarketList(BuildingMaterialsMarketListParam params) {
+        List<Long> typeIds = params.getCategoryIds();
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
+                .in(CollectionUtils.isNotEmpty(typeIds), KwpGoods::getTypeId, typeIds)
+                .in(CollectionUtils.isNotEmpty(params.getIndustryIds()), KwpGoods::getIndustryId, params.getIndustryIds())
+                .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTypeId, params.getTradings())
+                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        List<BuildingMaterialsMarketList> result = BeanUtils.copyToList(list, BuildingMaterialsMarketList.class);
+        return result;
+    }
 
-        List<GoodsListExport> list = new ArrayList<>();
-        try {
-            EasyExcelUtil.writeSingleExcel("商品列表信息", "sheet1", list, GoodsListExport.class);
-        } catch (IOException e) {
-            throw new BusinessException("导出商品列表异常", e.getMessage());
+
+    /**
+     * @desc: 商品下拉列表
+     * @author: yzc
+     * @date: 2023-07-06 8:45
+     * @Param params:
+     * @return: java.util.List<com.sckw.product.model.vo.res.GoodsDropList>
+     */
+    public List<GoodsDropList> dropList(GoodsDropListReq params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(params.getName()), KwpGoods::getName, params.getName())
+                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
+                .eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getAddedTime);
+        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+        if (CollectionUtils.isEmpty(list)) {
+            return Collections.emptyList();
         }
+        List<GoodsDropList> result = new ArrayList<>();
+        list.forEach(e -> {
+            GoodsDropList goodsDropList = BeanUtils.copyProperties(e, GoodsDropList.class);
+            goodsDropList.setSupplyEnt("供应企业");
+            result.add(goodsDropList);
+        });
+        return result;
     }
 
     /**
-     * @desc: 建材市场分页查询
+     * @desc: 根据商品id获取商品信息
      * @author: yzc
-     * @date: 2023-07-06 9:38
-     * @Param params:
-     * @return: java.util.List<com.sckw.product.model.vo.res.BuildingMaterialsMarketList>
+     * @date: 2023-07-05 14:25
+     * @Param id:
+     * @return: com.sckw.product.model.KwpGoods
      */
-    public List<BuildingMaterialsMarketList> buildingMaterialsMarketList(BuildingMaterialsMarketListParam params) {
-        return null;
+    public KwpGoods getGoodsById(Long id) {
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getEntId, LoginUserHolder.getEntId())
+                .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
+        return kwpGoodsMapper.selectOne(last);
     }
 }

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

@@ -15,6 +15,6 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 public class KwpGoodsSkuService {
 
-    private KwpGoodsSkuMapper kwpGoodsSkuMapper;
+    private final KwpGoodsSkuMapper kwpGoodsSkuMapper;
 
 }

+ 53 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/LogisticsOrderEnum.java

@@ -0,0 +1,53 @@
+package com.sckw.transport.common.enums;
+
+/**
+ * @author lfdc
+ * @description 物流订单-单据状态
+ * @date 2023-07-07 14:07:23
+ */
+public enum LogisticsOrderEnum {
+    TO_BE_PLANNED(0, "toBePlanned", "0", "待计划"),
+    PENDING_ORDER(1, "pendingOrder", "1", "待接单"),
+    WAIT_DELIVERY(2, "waitDelivery", "2", "待派车"),
+    IN_TRANSIT(3, "inTransit", "3", "运输中"),
+    WAIT_LOADING(4, "waitLoading", "4", "待装货"),
+    WAIT_UNLOADING(5, "waitUnLoading", "5", "待卸货"),
+    END_LOADING(6, "endLoading", "6", "装货完成"),
+    END_UNLOADING(7, "endUnloading", "7", "卸货完成");
+    private final Integer code;
+    private final String value;
+    private final String status;
+    private final String destination;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public String getDestination() {
+        return destination;
+    }
+
+    LogisticsOrderEnum(Integer code, String value, String status, String destination) {
+        this.code = code;
+        this.value = value;
+        this.status = status;
+        this.destination = destination;
+    }
+
+    public static String getLogisticsOrderValue(Integer code) {
+        for (LogisticsOrderEnum logisticsOrderEnum : LogisticsOrderEnum.values()) {
+            if (logisticsOrderEnum.getCode().equals(code)) {
+                return logisticsOrderEnum.getValue();
+            }
+        }
+        return null;
+    }
+}

+ 41 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java

@@ -2,8 +2,12 @@ package com.sckw.transport.controller;
 
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.excel.easyexcel.RequestHolder;
+import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.transport.model.param.ConsignOrderQuery;
+import com.sckw.transport.model.vo.ConsignOrderVo;
 import com.sckw.transport.service.ConsignOrderService;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @author lfdc
  * @description 托运订单controller
@@ -27,6 +33,7 @@ public class ConsignOrderController {
 
     /**
      * 托运订单首页条件查询
+     *
      * @param query 查询参数
      * @return
      */
@@ -35,9 +42,42 @@ public class ConsignOrderController {
         try {
             return consignOrderService.list(query);
         } catch (Exception e) {
-            log.error("运订单查询失败:{}", e.getMessage(), e);
+            log.error("运订单查询失败:{}", e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
 
+    /**
+     * 托运订单top统计
+     *
+     * @param query
+     * @return
+     */
+    @RequestMapping(value = "/statistics", method = RequestMethod.GET)
+    public HttpResult statistics(ConsignOrderQuery query) {
+        try {
+            return consignOrderService.statistics(query);
+        } catch (Exception e) {
+            log.error("托运订单top统计失败:{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
+    /**
+     * 托运订单导出
+     *
+     * @param query 查询参数
+     * @return
+     */
+    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    public HttpResult export(ConsignOrderQuery query) {
+        HttpServletResponse response = RequestHolder.getResponse();
+        List<ConsignOrderVo> list = consignOrderService.export(query);
+        if (!org.springframework.util.CollectionUtils.isEmpty(list)) {
+            ExcelUtil.download(response, ConsignOrderVo.class, list);
+            return null;
+        }
+        return HttpResult.error("没有可导出的数据");
+    }
+
 }

+ 11 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderAddressMapper.java

@@ -6,15 +6,15 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface KwtLogisticsOrderAddressMapper extends BaseMapper<KwtLogisticsOrderAddress> {
-    int deleteByPrimaryKey(Long id);
-
-    int insert(KwtLogisticsOrderAddress record);
-
-    int insertSelective(KwtLogisticsOrderAddress record);
-
-    KwtLogisticsOrderAddress selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(KwtLogisticsOrderAddress record);
-
-    int updateByPrimaryKey(KwtLogisticsOrderAddress record);
+//    int deleteByPrimaryKey(Long id);
+//
+//    int insert(KwtLogisticsOrderAddress record);
+//
+//    int insertSelective(KwtLogisticsOrderAddress record);
+//
+//    KwtLogisticsOrderAddress selectByPrimaryKey(Long id);
+//
+//    int updateByPrimaryKeySelective(KwtLogisticsOrderAddress record);
+//
+//    int updateByPrimaryKey(KwtLogisticsOrderAddress record);
 }

+ 11 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderGoodsMapper.java

@@ -6,15 +6,15 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface KwtLogisticsOrderGoodsMapper extends BaseMapper<KwtLogisticsOrderGoods> {
-    int deleteByPrimaryKey(Long id);
-
-    int insert(KwtLogisticsOrderGoods record);
-
-    int insertSelective(KwtLogisticsOrderGoods record);
-
-    KwtLogisticsOrderGoods selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(KwtLogisticsOrderGoods record);
-
-    int updateByPrimaryKey(KwtLogisticsOrderGoods record);
+//    int deleteByPrimaryKey(Long id);
+//
+//    int insert(KwtLogisticsOrderGoods record);
+//
+//    int insertSelective(KwtLogisticsOrderGoods record);
+//
+//    KwtLogisticsOrderGoods selectByPrimaryKey(Long id);
+//
+//    int updateByPrimaryKeySelective(KwtLogisticsOrderGoods record);
+//
+//    int updateByPrimaryKey(KwtLogisticsOrderGoods record);
 }

+ 0 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwoTradeOrderAddressRepository.java

@@ -1,12 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwoTradeOrderAddress;
-
-/**
- * @author lfdc
- * @description 贸易订单repository
- * @date 2023-07-04 08:07:39
- */
-public interface KwoTradeOrderAddressRepository extends IService<KwoTradeOrderAddress> {
-}

+ 0 - 14
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwoTradeOrderRepository.java

@@ -1,14 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwoTradeOrder;
-
-
-/**
- * @author lfdc
- * @description 订单实体repository
- * @date 2023-07-06 08:07:39
- */
-//@Mapper
-public interface KwoTradeOrderRepository extends IService<KwoTradeOrder> {
-}

+ 0 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderAddressRepository.java

@@ -1,13 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwtLogisticsOrderAddress;
-
-/**
- * @author lfdc
- * @description 地址管理repository
- * @date 2023-07-04 08:07:39
- */
-public interface KwtLogisticsOrderAddressRepository extends IService<KwtLogisticsOrderAddress> {
-
-}

+ 0 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderContractRepository.java

@@ -1,12 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwtLogisticsOrderContract;
-
-/**
- * @author lfdc
- * @description 合同repository
- * @date 2023-07-06 08:07:39
- */
-public interface KwtLogisticsOrderContractRepository extends IService<KwtLogisticsOrderContract> {
-}

+ 0 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderGoodsRepository.java

@@ -1,13 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwtLogisticsOrderGoods;
-
-/**
- * @author lfdc
- * @description 物流商品信息管理repository
- * @date 2023-07-04 08:07:39
- */
-public interface KwtLogisticsOrderGoodsRepository extends IService<KwtLogisticsOrderGoods> {
-}

+ 0 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderRepository.java

@@ -1,12 +0,0 @@
-package com.sckw.transport.dao.repository;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.sckw.transport.model.KwtLogisticsOrder;
-
-/**
- * @author lfdc
- * @description 物流订单repository
- * @date 2023-07-04 08:07:39
- */
-public interface KwtLogisticsOrderRepository extends IService<KwtLogisticsOrder> {
-}

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoProjectOrder.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_project_order")
+@TableName("sckw-order.kwo_project_order")
 public class KwoProjectOrder extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderAddress.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_trade_order_address")
+@TableName("sckw-order.kwo_trade_order_address")
 public class KwoTradeOrderAddress extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderContract.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_trade_order_contract")
+@TableName("sckw-order.kwo_trade_order_contract")
 public class KwoTradeOrderContract extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderGoods.java

@@ -18,7 +18,7 @@ import java.math.BigDecimal;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_trade_order_goods")
+@TableName("sckw-order.kwo_trade_order_goods")
 public class KwoTradeOrderGoods extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderTrack.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_trade_order_track")
+@TableName("sckw-order.kwo_trade_order_track")
 public class KwoTradeOrderTrack extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrderUnit.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwo_trade_order_unit")
+@TableName("sckw-order.kwo_trade_order_unit")
 public class KwoTradeOrderUnit extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwpTransportDemand.java

@@ -18,7 +18,7 @@ import java.math.BigDecimal;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwp_transport_demand")
+@TableName("sckw-order.kwp_transport_demand")
 public class KwpTransportDemand extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwpWantBuy.java

@@ -18,7 +18,7 @@ import java.math.BigDecimal;
 @Setter
 @ToString
 @Accessors(chain = true)
-@TableName("sckw.kwp_want_buy")
+@TableName("sckw-order.kwp_want_buy")
 public class KwpWantBuy extends BaseModel {
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderContract.java

@@ -13,7 +13,7 @@ import java.util.Date;
  * @date 2023-07-06 16:06:12
  */
 @Data
-@TableName("kwt_logistics_order_contract")
+@TableName("sckw_transport.kwt_logistics_order_contract")
 public class KwtLogisticsOrderContract implements Serializable {
     /**
      * 主键

+ 32 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderGoods.java

@@ -1,9 +1,11 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 
 /**
@@ -12,7 +14,7 @@ import java.io.Serializable;
  * @date 2023-06-26 16:06:12
  */
 @Data
-@TableName("sckw_transport.kwt_logistics_order_address")
+@TableName("sckw_transport.kwt_logistics_order_goods")
 public class KwtLogisticsOrderGoods implements Serializable {
     /**
      * 主键
@@ -22,12 +24,12 @@ public class KwtLogisticsOrderGoods implements Serializable {
     /**
      * 物流订单id
      */
-    private Long orderId;
+    private Long lOrderId;
 
     /**
      * 物流订单编号
      */
-    private String orderNo;
+    private String lOrderNo;
 
     /**
      * 商品id
@@ -39,5 +41,32 @@ public class KwtLogisticsOrderGoods implements Serializable {
      */
     private Long skuId;
 
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status = 0;
+
+    private Long createBy;
+
+    private Date createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    @TableLogic("0")
+    private Integer delFlag = 0;
+
     private static final long serialVersionUID = 1L;
 }

+ 1 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderSubcontract.java

@@ -1,6 +1,5 @@
 package com.sckw.transport.model;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -13,7 +12,7 @@ import java.util.Date;
  * @date 2023-06-26 16:06:12
  */
 @Data
-@TableName("sckw_transport.kwt_logistics_order_address")
+//@TableName("sckw_transport.kwt_logistics_order_address")
 public class KwtLogisticsOrderSubcontract implements Serializable {
     /**
      * 主键

+ 5 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderTrack.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
@@ -13,7 +14,7 @@ import java.util.Date;
  * @date 2023-06-26 16:06:12
  */
 @Data
-@TableName("sckw_transport.kwt_logistics_order_address")
+@TableName("sckw_transport.kwt_logistics_order_track")
 public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 主键
@@ -33,7 +34,7 @@ public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 用户状态(待受理、待运输、运输中、已完成、已取消)
      */
-    private Integer status;
+    private Integer status = 0;
 
     private Long createBy;
 
@@ -49,7 +50,8 @@ public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 是否删除(0未删除,1删除)
      */
-    private Integer delFlag;
+    @TableLogic("0")
+    private Integer delFlag = 0;
 
     private static final long serialVersionUID = 1L;
 }

+ 6 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java

@@ -1,7 +1,9 @@
 package com.sckw.transport.model;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -13,6 +15,7 @@ import java.util.Date;
  * @date 2023-06-26 16:06:12
  */
 @Data
+@Accessors(chain = true)
 @TableName("sckw_transport.kwt_logistics_order_unit")
 public class KwtLogisticsOrderUnit implements Serializable {
     /**
@@ -58,7 +61,7 @@ public class KwtLogisticsOrderUnit implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status;
+    private Integer status = 0;
 
     private Long createBy;
 
@@ -74,7 +77,8 @@ public class KwtLogisticsOrderUnit implements Serializable {
     /**
      * 是否删除(0未删除,1删除)
      */
-    private Integer delFlag;
+    @TableLogic("0")
+    private Integer delFlag = 0;
 
     private static final long serialVersionUID = 1L;
 }

+ 44 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.model.param;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
@@ -18,6 +19,25 @@ public class LogisticsConsignmentParam {
      * 分配承运量
      */
     private Long carryingCapacity;
+
+    /**
+     * 托运单位
+     */
+    private String checkCompany;
+    /**
+     * 托运单位id
+     */
+    private String checkCompanyId;
+
+    /**
+     * 联系电话
+     */
+    private String checkContactPhone;
+    /**
+     * 联系人
+     */
+    private String checkContacts;
+
     /**
      * 合理损耗
      */
@@ -42,17 +62,24 @@ public class LogisticsConsignmentParam {
     private String consignCompany;
 
     /**
-     * 结算周期(周结、月结、季结)
+     * 承运单位ID
      */
-    private Long settlementCycle;
+    @NotBlank(message = "承运单位ID不能为空")
+    private String consignCompanyId;
+
     /**
      * 联系电话
      */
-    private String contactPhone;
+    private String consignContactPhone;
     /**
      * 联系人
      */
-    private String contacts;
+    private String consignContacts;
+
+    /**
+     * 结算周期(周结、月结、季结)
+     */
+    private Long settlementCycle;
     /**
      * 合同
      */
@@ -69,17 +96,30 @@ public class LogisticsConsignmentParam {
      * 货物名称
      */
     private String goodsName;
+
+    /**
+     * 货物id
+     */
+    private String goodsId;
+
+    /**
+     * skuId
+     */
+    private String skuId;
     /**
      * 是否全量
      */
+    @NotNull(message = "是否全量不能为空")
     private Boolean isFullDose;
     /**
      * 订单id
      */
+    @JsonProperty("lOrderId")
     private String lOrderId;
     /**
      * 订单编号
      */
+    @JsonProperty("lOrderNo")
     private String lOrderNo;
     /**
      * 运价

+ 10 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -7,8 +7,6 @@ import com.sckw.core.web.response.HttpResult;
 import com.sckw.transport.dao.KwtLogisticsOrderAddressMapper;
 import com.sckw.transport.dao.KwtLogisticsOrderMapper;
 import com.sckw.transport.dao.KwtLogisticsOrderUnitMapper;
-import com.sckw.transport.dao.repository.KwtLogisticsOrderAddressRepository;
-import com.sckw.transport.dao.repository.KwtLogisticsOrderRepository;
 import com.sckw.transport.model.KwtLogisticsOrder;
 import com.sckw.transport.model.KwtLogisticsOrderUnit;
 import com.sckw.transport.model.param.ConsignOrderQuery;
@@ -17,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -29,13 +28,9 @@ import java.util.stream.Collectors;
 @Service
 public class ConsignOrderService {
 
-    @Autowired
-    public KwtLogisticsOrderRepository kwtLogisticsOrderRepository;
 
     @Autowired
     public KwtLogisticsOrderMapper kwtLogisticsOrderMapper;
-    @Autowired
-    public KwtLogisticsOrderAddressRepository kwtLogisticsOrderAddressRepository;
 
     @Autowired
     public KwtLogisticsOrderAddressMapper kwtLogisticsOrderAddressMapper;
@@ -49,9 +44,17 @@ public class ConsignOrderService {
 //        kwtLogisticsOrderRepository.page(new Page<>(query.getPage(), query.getPageSize()),
 //                wrapper.like(StringUtils.isNotBlank(query.getKeywords()),KwtLogisticsOrder::getLOrderNo,query.getKeywords())
 //                        .like(StringUtils.isNotBlank(query.getKeywords()),KwtLogisticsOrder::getc))
-        List<KwtLogisticsOrder> kwtLogisticsOrders = kwtLogisticsOrderRepository.list(new LambdaQueryWrapper<KwtLogisticsOrder>().like(StringUtils.isNotBlank(query.getKeywords()), KwtLogisticsOrder::getLOrderNo, query.getKeywords()));
+        List<KwtLogisticsOrder> kwtLogisticsOrders = kwtLogisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>().like(StringUtils.isNotBlank(query.getKeywords()), KwtLogisticsOrder::getLOrderNo, query.getKeywords()));
         List<Long> ids = kwtLogisticsOrders.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toList());
         List<KwtLogisticsOrderUnit> list = kwtLogisticsOrderUnitMapper.selectCompanyBylOrderId(ids, NumberConstant.ONE);
         return null;
     }
+
+    public HttpResult statistics(ConsignOrderQuery query) {
+        return null;
+    }
+
+    public List<ConsignOrderVo> export(ConsignOrderQuery query) {
+        return new ArrayList<ConsignOrderVo>();
+    }
 }

+ 110 - 25
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -8,8 +8,8 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.utils.DateUtil;
-import com.sckw.transport.dao.KwoTradeOrderMapper;
-import com.sckw.transport.dao.repository.*;
+import com.sckw.transport.common.enums.LogisticsOrderEnum;
+import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
 import lombok.extern.slf4j.Slf4j;
@@ -28,27 +28,30 @@ import java.util.Date;
 @Slf4j
 @Service
 public class LogisticsConsignmentService {
+    @Autowired
+    public KwoTradeOrderMapper kwoTradeOrderMapper;
 
     @Autowired
-    public KwtLogisticsOrderRepository kwtLogisticsOrderRepository;
+    public KwtLogisticsOrderGoodsMapper kwtLogisticsOrderGoodsMapper;
 
     @Autowired
-    public KwtLogisticsOrderAddressRepository kwtLogisticsOrderAddressRepository;
+    public KwtLogisticsOrderContractMapper kwtLogisticsOrderContractMapper;
 
     @Autowired
-    public KwoTradeOrderRepository kwoTradeOrderRepository;
+    public KwtLogisticsOrderMapper kwtLogisticsOrderMapper;
 
     @Autowired
-    public KwoTradeOrderMapper kwoTradeOrderMapper;
+    public KwoTradeOrderAddressMapper kwoTradeOrderAddressMapper;
 
     @Autowired
-    public KwtLogisticsOrderContractRepository kwtLogisticsOrderContractRepository;
+    public KwtLogisticsOrderAddressMapper kwtLogisticsOrderAddressMapper;
 
     @Autowired
-    public KwoTradeOrderAddressRepository kwoTradeOrderAddressRepository;
+    public KwtLogisticsOrderTrackMapper kwtLogisticsOrderTrackMapper;
 
     @Autowired
-    public KwtLogisticsOrderGoodsRepository kwtLogisticsOrderGoodsRepository;
+    public KwtLogisticsOrderUnitMapper kwtLogisticsOrderUnitMapper;
+
 
     @Transactional(rollbackFor = Exception.class)
     public HttpResult purchaseLogisticsConsignment(LogisticsConsignmentParam bo) {
@@ -63,8 +66,7 @@ public class LogisticsConsignmentService {
     }
 
     void logisticsConsignmentInsert(LogisticsConsignmentParam bo) {
-//        KwoTradeOrder tradeOrder=  kwoTradeOrderDao.selectOne(new LambdaQueryWrapper<KwoTradeOrder>().eq(StringUtils.isNotBlank(bo.getLOrderId()), KwoTradeOrder::getId, bo.getLOrderId()));
-        KwoTradeOrder tradeOrder = kwoTradeOrderRepository.getOne(new LambdaQueryWrapper<KwoTradeOrder>().eq(StringUtils.isNotBlank(bo.getLOrderId()), KwoTradeOrder::getId, bo.getLOrderId()));
+        KwoTradeOrder tradeOrder = kwoTradeOrderMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrder>().eq(StringUtils.isNotBlank(bo.getLOrderId()), KwoTradeOrder::getId, bo.getLOrderId()));
         if (tradeOrder == null) {
             log.error("订单id查找失败:{}", bo.getLOrderId());
             throw new RuntimeException("单据错误,数据不存在");
@@ -80,21 +82,95 @@ public class LogisticsConsignmentService {
             order.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
         }
         String waybillNo = "";
-        insertLogisticsGoods(bo,waybillNo);
-        insertLogisticsOrder(bo,waybillNo,order,tradeOrder);
+        insertLogisticsGoods(bo, waybillNo);
+        insertLogisticsOrder(bo, waybillNo, order, tradeOrder);
         insertLogisticsOrderContract(bo);
-        insertOrderAddress(bo, waybillNo);
+        insertLogisticsOrderUnit(bo,waybillNo);
+        insertLogisticsOrderAddress(bo, waybillNo);
+        insertLogisticsOrderTrack(bo, waybillNo);
+    }
+
+    /**
+     * 物流订单-企业信息
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderUnit(LogisticsConsignmentParam bo, String waybillNo) {
+        KwtLogisticsOrderUnit checkUnit = new KwtLogisticsOrderUnit()
+                .setOrderId(Long.parseLong(waybillNo))
+                .setId(new IdWorker(NumberConstant.ONE).nextId())
+                .setUnitType(NumberConstant.ONE)
+                .setFirmName(bo.getCheckCompany())
+                .setRemark(bo.getRemark())
+                .setEntId(Long.parseLong(bo.getCheckCompanyId()))
+                .setContacts(bo.getCheckContacts())
+                .setPhone(bo.getCheckContactPhone())
+                .setCreateBy(LoginUserHolder.getUserId())
+                .setCreateTime(new Date())
+                .setUpdateBy(LoginUserHolder.getUserId())
+                .setUpdateTime(new Date());
+        kwtLogisticsOrderUnitMapper.insert(checkUnit);
+
+        KwtLogisticsOrderUnit consignUnit = new KwtLogisticsOrderUnit()
+                .setOrderId(Long.parseLong(waybillNo))
+                .setId(new IdWorker(NumberConstant.ONE).nextId())
+                .setUnitType(NumberConstant.TWO)
+                .setFirmName(bo.getConsignCompany())
+                .setRemark(bo.getRemark())
+                .setEntId(Long.parseLong(bo.getConsignCompanyId()))
+                .setContacts(bo.getConsignContacts())
+                .setPhone(bo.getConsignContactPhone())
+                .setCreateBy(LoginUserHolder.getUserId())
+                .setCreateTime(new Date())
+                .setUpdateBy(LoginUserHolder.getUserId())
+                .setUpdateTime(new Date());
+        kwtLogisticsOrderUnitMapper.insert(consignUnit);
+    }
+
+    /**
+     * 物流订单-状态
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo, String waybillNo) {
+        KwtLogisticsOrderTrack entity = new KwtLogisticsOrderTrack();
+        entity.setId(new IdWorker(NumberConstant.ONE).nextId());
+        entity.setOrderId(Long.parseLong(waybillNo));
+        entity.setStatus(LogisticsOrderEnum.PENDING_ORDER.getCode());
+        entity.setCreateTime(new Date());
+        entity.setUpdateTime(new Date());
+        entity.setCreateBy(LoginUserHolder.getUserId());
+        entity.setUpdateBy(LoginUserHolder.getUserId());
+        entity.setRemark(bo.getRemark());
+        kwtLogisticsOrderTrackMapper.insert(entity);
     }
 
+    /**
+     * 物流订单-商品信息
+     * @param bo
+     * @param waybillNo
+     */
     private void insertLogisticsGoods(LogisticsConsignmentParam bo, String waybillNo) {
         KwtLogisticsOrderGoods kwtLogisticsOrderGoods = new KwtLogisticsOrderGoods();
         kwtLogisticsOrderGoods.setId(new IdWorker(NumberConstant.ONE).nextId());
-        kwtLogisticsOrderGoods.setGoodsId(45646565L);
-        kwtLogisticsOrderGoods.setOrderId(Long.parseLong(bo.getLOrderId()));
-        kwtLogisticsOrderGoods.setOrderNo(bo.getLOrderNo());
-        kwtLogisticsOrderGoodsRepository.save(kwtLogisticsOrderGoods);
+        kwtLogisticsOrderGoods.setGoodsId(Long.parseLong(bo.getGoodsId()));
+        kwtLogisticsOrderGoods.setSkuId(Long.parseLong(bo.getSkuId()));
+        kwtLogisticsOrderGoods.setLOrderId(Long.parseLong(bo.getLOrderId()));
+        kwtLogisticsOrderGoods.setLOrderNo(waybillNo);
+        kwtLogisticsOrderGoods.setUpdateBy(LoginUserHolder.getUserId());
+        kwtLogisticsOrderGoods.setUpdateTime(new Date());
+        kwtLogisticsOrderGoods.setCreateBy(LoginUserHolder.getUserId());
+        kwtLogisticsOrderGoods.setCreateTime(new Date());
+        kwtLogisticsOrderGoodsMapper.insert(kwtLogisticsOrderGoods);
     }
 
+    /**
+     * 物流订单-主体
+     * @param bo
+     * @param waybillNo
+     * @param order
+     * @param tradeOrder
+     */
     private void insertLogisticsOrder(LogisticsConsignmentParam bo, String waybillNo, KwtLogisticsOrder order, KwoTradeOrder tradeOrder) {
         order.setId(new IdWorker(NumberConstant.ONE).nextId());
         order.setEntId(LoginUserHolder.getEntId());
@@ -120,9 +196,13 @@ public class LogisticsConsignmentService {
         order.setCreateTime(new Date());
         order.setUpdateBy(LoginUserHolder.getUserId());
         order.setUpdateTime(new Date());
-        kwtLogisticsOrderRepository.save(order);
+        kwtLogisticsOrderMapper.insert(order);
     }
 
+    /**
+     * 物流订单-合同
+     * @param bo
+     */
     private void insertLogisticsOrderContract(LogisticsConsignmentParam bo) {
         KwtLogisticsOrderContract kwtLogisticsOrderContract = new KwtLogisticsOrderContract();
         kwtLogisticsOrderContract.setId(new IdWorker(NumberConstant.ONE).nextId());
@@ -133,13 +213,18 @@ public class LogisticsConsignmentService {
         kwtLogisticsOrderContract.setUpdateBy(LoginUserHolder.getUserId());
         kwtLogisticsOrderContract.setCreateTime(new Date());
         kwtLogisticsOrderContract.setUpdateTime(new Date());
-        kwtLogisticsOrderContractRepository.save(kwtLogisticsOrderContract);
+        kwtLogisticsOrderContractMapper.insert(kwtLogisticsOrderContract);
     }
 
-    private void insertOrderAddress(LogisticsConsignmentParam bo, String waybillNo) {
+    /**
+     * 物流订单-装修货地址
+     * @param bo
+     * @param waybillNo
+     */
+    private void insertLogisticsOrderAddress(LogisticsConsignmentParam bo, String waybillNo) {
         KwtLogisticsOrderAddress loadOrderAddress = new KwtLogisticsOrderAddress();
         KwtLogisticsOrderAddress unloadOrderAddress = new KwtLogisticsOrderAddress();
-        KwoTradeOrderAddress loadkwoTradeOrderAddress = kwoTradeOrderAddressRepository.getOne(new LambdaQueryWrapper<KwoTradeOrderAddress>()
+        KwoTradeOrderAddress loadkwoTradeOrderAddress = kwoTradeOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderAddress>()
                 .eq(StringUtils.isNotBlank(bo.getLOrderId()), KwoTradeOrderAddress::getTOrderId, bo.getLOrderId())
                 .eq(KwoTradeOrderAddress::getAddressType, NumberConstant.ONE));
         loadOrderAddress.setId(new IdWorker(NumberConstant.ONE).nextId());
@@ -155,9 +240,9 @@ public class LogisticsConsignmentService {
         loadOrderAddress.setCreateBy(LoginUserHolder.getUserId());
         loadOrderAddress.setUpdateBy(LoginUserHolder.getUserId());
         loadOrderAddress.setUpdateTime(new Date());
-        kwtLogisticsOrderAddressRepository.save(loadOrderAddress);
+        kwtLogisticsOrderAddressMapper.insert(loadOrderAddress);
 
-        KwoTradeOrderAddress unloadkwoTradeOrderAddress = kwoTradeOrderAddressRepository.getOne(new LambdaQueryWrapper<KwoTradeOrderAddress>()
+        KwoTradeOrderAddress unloadkwoTradeOrderAddress = kwoTradeOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderAddress>()
                 .eq(StringUtils.isNotBlank(bo.getLOrderId()), KwoTradeOrderAddress::getTOrderId, bo.getLOrderId())
                 .eq(KwoTradeOrderAddress::getAddressType, NumberConstant.TWO));
         unloadOrderAddress.setId(new IdWorker(NumberConstant.ONE).nextId());
@@ -174,6 +259,6 @@ public class LogisticsConsignmentService {
         unloadOrderAddress.setCreateBy(LoginUserHolder.getUserId());
         unloadOrderAddress.setUpdateBy(LoginUserHolder.getUserId());
         unloadOrderAddress.setUpdateTime(new Date());
-        kwtLogisticsOrderAddressRepository.save(unloadOrderAddress);
+        kwtLogisticsOrderAddressMapper.insert(unloadOrderAddress);
     }
 }

+ 0 - 17
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/OutboundHeadServiceImpl.java

@@ -1,17 +0,0 @@
-package com.sckw.transport.service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.sckw.transport.dao.KwoTradeOrderMapper;
-import com.sckw.transport.dao.repository.KwoTradeOrderRepository;
-import com.sckw.transport.model.KwoTradeOrder;
-import org.springframework.stereotype.Service;
-
-/**
- * @author lfdc
- * @description
- * @date 2023-07-06 17:07:40
- */
-@Service
-public class OutboundHeadServiceImpl extends ServiceImpl<KwoTradeOrderMapper, KwoTradeOrder> implements KwoTradeOrderRepository {
-
-}

+ 2 - 2
sckw-modules/sckw-transport/src/main/resources/logback-spring.xml

@@ -152,7 +152,7 @@
         <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
     -->
     <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
+    <logger name="com.sckw.transport" level="debug" />
     <!-- Spring framework logger -->
     <logger name="org.springframework" level="debug" additivity="false"></logger>
 
@@ -174,7 +174,7 @@
     <!-- 4. 最终的策略 -->
     <!-- 4.1 开发环境:打印控制台-->
     <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
+        <logger name="com.sckw.transport" level="debug"/>
     </springProfile>
 
     <root level="info">

+ 0 - 93
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsDAO.xml

@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderGoodsDao">
-  <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrderGoods">
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="order_id" jdbcType="BIGINT" property="orderId" />
-    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
-    <result column="goods_id" jdbcType="BIGINT" property="goodsId" />
-    <result column="sku_id" jdbcType="BIGINT" property="skuId" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, order_id, order_no, goods_id, sku_id
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from kwt_logistics_order_goods
-    where id = #{id,jdbcType=BIGINT}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-    delete from kwt_logistics_order_goods
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
-  <insert id="insert" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
-    insert into kwt_logistics_order_goods (id, order_id, order_no, 
-      goods_id, sku_id)
-    values (#{id,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{orderNo,jdbcType=VARCHAR}, 
-      #{goodsId,jdbcType=BIGINT}, #{skuId,jdbcType=BIGINT})
-  </insert>
-  <insert id="insertSelective" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
-    insert into kwt_logistics_order_goods
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        id,
-      </if>
-      <if test="orderId != null">
-        order_id,
-      </if>
-      <if test="orderNo != null">
-        order_no,
-      </if>
-      <if test="goodsId != null">
-        goods_id,
-      </if>
-      <if test="skuId != null">
-        sku_id,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=BIGINT},
-      </if>
-      <if test="orderId != null">
-        #{orderId,jdbcType=BIGINT},
-      </if>
-      <if test="orderNo != null">
-        #{orderNo,jdbcType=VARCHAR},
-      </if>
-      <if test="goodsId != null">
-        #{goodsId,jdbcType=BIGINT},
-      </if>
-      <if test="skuId != null">
-        #{skuId,jdbcType=BIGINT},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
-    update kwt_logistics_order_goods
-    <set>
-      <if test="orderId != null">
-        order_id = #{orderId,jdbcType=BIGINT},
-      </if>
-      <if test="orderNo != null">
-        order_no = #{orderNo,jdbcType=VARCHAR},
-      </if>
-      <if test="goodsId != null">
-        goods_id = #{goodsId,jdbcType=BIGINT},
-      </if>
-      <if test="skuId != null">
-        sku_id = #{skuId,jdbcType=BIGINT},
-      </if>
-    </set>
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
-    update kwt_logistics_order_goods
-    set order_id = #{orderId,jdbcType=BIGINT},
-      order_no = #{orderNo,jdbcType=VARCHAR},
-      goods_id = #{goodsId,jdbcType=BIGINT},
-      sku_id = #{skuId,jdbcType=BIGINT}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-</mapper>

+ 177 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsMapper.xml

@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderGoodsMapper">
+    <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrderGoods">
+        <id column="id" jdbcType="BIGINT" property="id" />
+        <result column="l_order_id" jdbcType="BIGINT" property="lOrderId" />
+        <result column="order_no" jdbcType="VARCHAR" property="lOrderNo" />
+        <result column="goods_id" jdbcType="BIGINT" property="goodsId" />
+        <result column="sku_id" jdbcType="BIGINT" property="skuId" />
+        <result column="remark" jdbcType="VARCHAR" property="remark" />
+        <result column="status" jdbcType="INTEGER" property="status" />
+        <result column="create_by" jdbcType="BIGINT" property="createBy" />
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+        <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    </resultMap>
+    <sql id="Base_Column_List">
+        id, l_order_id, l_order_no, goods_id, sku_id, remark, `status`, create_by, create_time,
+    update_by, update_time, del_flag
+    </sql>
+    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from kwt_logistics_order_goods
+        where id = #{id,jdbcType=BIGINT}
+    </select>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+        delete from kwt_logistics_order_goods
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+<!--    <insert id="insert" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">-->
+<!--        insert into kwt_logistics_order_goods (id, l_order_id, l_order_no,-->
+<!--                                               goods_id, sku_id, remark,-->
+<!--                                               `status`, create_by, create_time,-->
+<!--                                               update_by, update_time, del_flag-->
+<!--        )-->
+<!--        values (#{id,jdbcType=BIGINT}, #{lOrderId,jdbcType=BIGINT}, #{lOrderNo,jdbcType=VARCHAR},-->
+<!--                #{goodsId,jdbcType=BIGINT}, #{skuId,jdbcType=BIGINT}, #{remark,jdbcType=VARCHAR},-->
+<!--                #{status,jdbcType=INTEGER}, #{createBy,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP},-->
+<!--                #{updateBy,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=INTEGER}-->
+<!--               )-->
+<!--    </insert>-->
+    <insert id="insertSelective" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
+        insert into kwt_logistics_order_goods
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                id,
+            </if>
+            <if test="lOrderId != null">
+                l_order_id,
+            </if>
+            <if test="lOrderNo != null">
+                l_order_no,
+            </if>
+            <if test="goodsId != null">
+                goods_id,
+            </if>
+            <if test="skuId != null">
+                sku_id,
+            </if>
+            <if test="remark != null">
+                remark,
+            </if>
+            <if test="status != null">
+                `status`,
+            </if>
+            <if test="createBy != null">
+                create_by,
+            </if>
+            <if test="createTime != null">
+                create_time,
+            </if>
+            <if test="updateBy != null">
+                update_by,
+            </if>
+            <if test="updateTime != null">
+                update_time,
+            </if>
+            <if test="delFlag != null">
+                del_flag,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=BIGINT},
+            </if>
+            <if test="lOrderId != null">
+                #{lOrderId,jdbcType=BIGINT},
+            </if>
+            <if test="lOrderNo != null">
+                #{lOrderNo,jdbcType=VARCHAR},
+            </if>
+            <if test="goodsId != null">
+                #{goodsId,jdbcType=BIGINT},
+            </if>
+            <if test="skuId != null">
+                #{skuId,jdbcType=BIGINT},
+            </if>
+            <if test="remark != null">
+                #{remark,jdbcType=VARCHAR},
+            </if>
+            <if test="status != null">
+                #{status,jdbcType=INTEGER},
+            </if>
+            <if test="createBy != null">
+                #{createBy,jdbcType=BIGINT},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateBy != null">
+                #{updateBy,jdbcType=BIGINT},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="delFlag != null">
+                #{delFlag,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
+        update kwt_logistics_order_goods
+        <set>
+            <if test="lOrderId != null">
+                l_order_id = #{lOrderId,jdbcType=BIGINT},
+            </if>
+            <if test="lOrderNo != null">
+                l_order_no = #{lOrderNo,jdbcType=VARCHAR},
+            </if>
+            <if test="goodsId != null">
+                goods_id = #{goodsId,jdbcType=BIGINT},
+            </if>
+            <if test="skuId != null">
+                sku_id = #{skuId,jdbcType=BIGINT},
+            </if>
+            <if test="remark != null">
+                remark = #{remark,jdbcType=VARCHAR},
+            </if>
+            <if test="status != null">
+                `status` = #{status,jdbcType=INTEGER},
+            </if>
+            <if test="createBy != null">
+                create_by = #{createBy,jdbcType=BIGINT},
+            </if>
+            <if test="createTime != null">
+                create_time = #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateBy != null">
+                update_by = #{updateBy,jdbcType=BIGINT},
+            </if>
+            <if test="updateTime != null">
+                update_time = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="delFlag != null">
+                del_flag = #{delFlag,jdbcType=INTEGER},
+            </if>
+        </set>
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+    <update id="updateByPrimaryKey" parameterType="com.sckw.transport.model.KwtLogisticsOrderGoods">
+        update kwt_logistics_order_goods
+        set l_order_id = #{lOrderId,jdbcType=BIGINT},
+            l_order_no = #{lOrderNo,jdbcType=VARCHAR},
+            goods_id = #{goodsId,jdbcType=BIGINT},
+            sku_id = #{skuId,jdbcType=BIGINT},
+            remark = #{remark,jdbcType=VARCHAR},
+            `status` = #{status,jdbcType=INTEGER},
+            create_by = #{createBy,jdbcType=BIGINT},
+            create_time = #{createTime,jdbcType=TIMESTAMP},
+            update_by = #{updateBy,jdbcType=BIGINT},
+            update_time = #{updateTime,jdbcType=TIMESTAMP},
+            del_flag = #{delFlag,jdbcType=INTEGER}
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+</mapper>

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderDao">
+<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrder">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="ent_id" jdbcType="BIGINT" property="entId" />

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderSubcontractMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderSubcontractDao">
+<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderSubcontractMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrderSubcontract">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="ent_id" jdbcType="BIGINT" property="entId" />

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderTrackMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderTrackDao">
+<mapper namespace="com.sckw.transport.dao.KwtLogisticsOrderTrackMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrderTrack">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="order_id" jdbcType="BIGINT" property="orderId" />

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderDao">
+<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtWaybillOrder">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="ent_id" jdbcType="BIGINT" property="entId" />

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTicketMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderTicketDao">
+<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderTicketMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtWaybillOrderTicket">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="order_id" jdbcType="BIGINT" property="orderId" />

+ 1 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTrackMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderTrackDao">
+<mapper namespace="com.sckw.transport.dao.KwtWaybillOrderTrackMapper">
   <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtWaybillOrderTrack">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="order_id" jdbcType="BIGINT" property="orderId" />