Prechádzať zdrojové kódy

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

17358629955 2 rokov pred
rodič
commit
f45b72c11a
100 zmenil súbory, kde vykonal 3089 pridanie a 70 odobranie
  1. 18 0
      pom.xml
  2. 13 7
      sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java
  3. 1 1
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/BusinessLicenseReqVo.java
  4. 0 1
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/ForgetPasswordReqVo.java
  5. 0 1
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/RegisterReqVo.java
  6. 2 3
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/UpdatePasswordReqVo.java
  7. 2 2
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/aspect/DaoAspect.java
  8. 8 6
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java
  9. 4 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java
  10. 8 5
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/ExceptionFilterConfig.java
  11. 37 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ChargingTypeEnum.java
  12. 38 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractTrackEnum.java
  13. 35 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SigningWayEnum.java
  14. 86 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageRes.java
  15. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/OrderGenerateUtils.java
  16. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PasswordUtils.java
  17. 2 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  18. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/EntCertificateInfo.java
  19. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginUserInfo.java
  20. 1 1
      sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  21. 4 0
      sckw-common/sckw-common-mongo/pom.xml
  22. 1 1
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java
  23. 22 5
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java
  24. 5 0
      sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java
  25. 14 1
      sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/utils/RedissonUtils.java
  26. 2 0
      sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java
  27. 2 0
      sckw-modules-api/pom.xml
  28. 33 0
      sckw-modules-api/sckw-order-api/pom.xml
  29. 32 0
      sckw-modules-api/sckw-product-api/pom.xml
  30. 42 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/dubbo/GoodsInfoService.java
  31. 75 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/AddressInfoDetail.java
  32. 28 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsAttributesDetail.java
  33. 176 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java
  34. 29 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsImagesDetail.java
  35. 40 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsPriceRangesDetail.java
  36. 113 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/KwpGoods.java
  37. 1 1
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/BusinessLicenseReqDto.java
  38. 5 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/UpdatePasswordReqDto.java
  39. 1 1
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/EntCertificateResDto.java
  40. 46 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java
  41. 14 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractTradeController.java
  42. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsGoodsMapper.java
  43. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsMapper.java
  44. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsTrackMapper.java
  45. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsUnitMapper.java
  46. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTemplateMapper.java
  47. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeGoodsMapper.java
  48. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeMapper.java
  49. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeOrderMapper.java
  50. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeTrackMapper.java
  51. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeUnitMapper.java
  52. 129 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogistics.java
  53. 117 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java
  54. 71 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsTrack.java
  55. 96 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsUnit.java
  56. 81 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTemplate.java
  57. 127 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java
  58. 97 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeGoods.java
  59. 76 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeOrder.java
  60. 66 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeTrack.java
  61. 96 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeUnit.java
  62. 49 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractLogisticsReqVo.java
  63. 80 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java
  64. 62 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java
  65. 69 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java
  66. 130 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  67. 54 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java
  68. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java
  69. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTemplateService.java
  70. 18 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeGoodsService.java
  71. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeOrderService.java
  72. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  73. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java
  74. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeUnitService.java
  75. 38 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsGoodsMapper.xml
  76. 42 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  77. 26 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsTrackMapper.xml
  78. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsUnitMapper.xml
  79. 28 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTemplateMapper.xml
  80. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeGoodsMapper.xml
  81. 40 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  82. 27 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeOrderMapper.xml
  83. 24 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeTrackMapper.xml
  84. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeUnitMapper.xml
  85. 12 3
      sckw-modules/sckw-example/src/main/java/com/sckw/example/controller/ExcelExportController.java
  86. 3 2
      sckw-modules/sckw-example/src/main/java/com/sckw/example/dao/KwsDeptDao.java
  87. 1 1
      sckw-modules/sckw-example/src/main/resources/mapper/KwsDeptDao.xml
  88. 6 6
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckDto.java
  89. 1 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryDetailCertificateResDto.java
  90. 16 0
      sckw-modules/sckw-order/pom.xml
  91. 6 12
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java
  92. 10 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderAddressMapper.java
  93. 14 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderContractMapper.java
  94. 10 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderUnitMapper.java
  95. 3 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrder.java
  96. 7 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderGoods.java
  97. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderUnit.java
  98. 4 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AcceptanceOrderParam.java
  99. 3 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ContractInfo.java
  100. 6 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/GoodsInfo.java

+ 18 - 0
pom.xml

@@ -330,4 +330,22 @@
         </dependencies>
     </dependencyManagement>
 
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-maven-plugin</artifactId>
+                    <version>3.1.0</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+    </build>
 </project>

+ 13 - 7
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -41,28 +41,32 @@ public class AuthController {
     }
 
     /**
-     * @param reqDto 注册
+     * @param reqVo 注册
      * @return HttpResult
      * @desc: 用户注册
      * @author: czh
      * @date: 2023/6/16
      */
     @PostMapping("/register")
-    public HttpResult register(@Valid @RequestBody RegisterReqVo reqDto) throws SystemException {
-        authService.register(reqDto);
+    public HttpResult register(@Valid @RequestBody RegisterReqVo reqVo,
+                               @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
+        reqVo.setSystemType(systemType);
+        authService.register(reqVo);
         return HttpResult.ok(HttpStatus.MSG_007);
     }
 
     /**
-     * @param reqDto 忘记密码入参
+     * @param reqVo 忘记密码入参
      * @return HttpResult
      * @desc: 忘记密码
      * @author: czh
      * @date: 2023/6/19
      */
     @PostMapping("/forgetPassword")
-    public HttpResult forgetPassword(@Valid @RequestBody ForgetPasswordReqVo reqDto) throws SystemException {
-        authService.forgetPassword(reqDto);
+    public HttpResult forgetPassword(@Valid @RequestBody ForgetPasswordReqVo reqVo,
+                                     @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
+        reqVo.setSystemType(systemType);
+        authService.forgetPassword(reqVo);
         return HttpResult.ok(HttpStatus.MSG_002);
     }
 
@@ -73,7 +77,9 @@ public class AuthController {
      * @date 2023/06/02
      **/
     @PostMapping("/updatePassword")
-    public HttpResult updatePassword(@Valid @RequestBody UpdatePasswordReqVo reqVo) {
+    public HttpResult updatePassword(@Valid @RequestBody UpdatePasswordReqVo reqVo,
+                                     @RequestHeader(name = "System-Type", required = true) int systemType) {
+        reqVo.setSystemType(systemType);
         authService.updatePassword(reqVo);
         return HttpResult.ok(HttpStatus.MSG_002);
     }

+ 1 - 1
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/BusinessLicenseReqVo.java

@@ -35,7 +35,7 @@ public class BusinessLicenseReqVo implements Serializable {
     /**
      * 证书正面
      */
-    private String certificateMian;
+    private String certificateMain;
 
     /**
      * 证书反面

+ 0 - 1
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/ForgetPasswordReqVo.java

@@ -39,7 +39,6 @@ public class ForgetPasswordReqVo implements Serializable {
     /**
      * 系统类型(1运营端、2企业开户)
      */
-    @NotNull(message = "系统类型不能为空")
     private int systemType;
 
 }

+ 0 - 1
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/RegisterReqVo.java

@@ -39,7 +39,6 @@ public class RegisterReqVo implements Serializable {
     /**
      * 系统类型(1运营端、2企业开户)
      */
-    @NotNull(message = "系统类型不能为空")
     private Integer systemType;
 
     /**

+ 2 - 3
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/UpdatePasswordReqVo.java

@@ -21,8 +21,8 @@ public class UpdatePasswordReqVo implements Serializable {
     /**
      * 账号
      */
-    @NotBlank(message = "账号不能为空")
-    private String account;
+    @NotNull(message = "id不能为空")
+    private Long id;
 
     /**
      * 旧密码
@@ -39,7 +39,6 @@ public class UpdatePasswordReqVo implements Serializable {
     /**
      * 系统类型(1运营端、2企业开户)
      */
-    @NotNull(message = "系统类型不能为空")
     private int systemType;
 
 }

+ 2 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/aspect/DaoAspect.java

@@ -60,10 +60,10 @@ public class DaoAspect {
                 }
                 Long userId = LoginUserHolder.getUserId();
                 objs.forEach(obj -> {
-                    if (isProperty(obj, UPDATE_BY) && Objects.isNull(BeanUtils.getProperty(obj, UPDATE_BY)) && userId != null) {
+                    if (isProperty(obj, UPDATE_BY) && userId != null) {
                         BeanUtils.setProperty(obj, UPDATE_BY, userId);
                     }
-                    if (isProperty(obj, UPDATE_TIME) && Objects.isNull(BeanUtils.getProperty(obj, UPDATE_TIME))) {
+                    if (isProperty(obj, UPDATE_TIME)) {
                         BeanUtils.setProperty(obj, UPDATE_TIME, new Date());
                     }
                 });

+ 8 - 6
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java

@@ -24,8 +24,8 @@ public enum DictEnum {
     PICKUP_TYPE_1("pickup_type", "1", "采方自提"),
     DELIVERY_TYPE_0("delivery_type", "0", "签发交付"),
     DELIVERY_TYPE_1("delivery_type", "1", "签收交付"),
-    TORDER_SOURCE_0("tOrder_source", "0", "采购下单"),
-    TORDER_SOURCE_1("tOrder_source", "1", "销售代客下单"),
+    TORDER_SOURCE_1("tOrder_source", "1", "采购下单"),
+    TORDER_SOURCE_2("tOrder_source", "2", "销售代客下单"),
     TORDER_STATUS_0("tOrder_status", "0", "已保存"),
     TORDER_STATUS_1("tOrder_status", "1", "待受理"),
     TORDER_STATUS_2("tOrder_status", "2", "已退回"),
@@ -34,10 +34,12 @@ public enum DictEnum {
     TORDER_STATUS_5("tOrder_status", "5", "已完结"),
     TORDER_STATUS_6("tOrder_status", "6", "已对账"),
     TORDER_STATUS_7("tOrder_status", "7", "已结算"),
-    TORDER_ADDRESS_TYPE_0("tOrder_address_type", "0", "装货地址"),
-    TORDER_ADDRESS_TYPE_1("tOrder_address_type", "1", "卸货地址"),
-    TORDER_UNIT_TYPE_1("tOrder_unit_type", "1", "销售单位"),
-    TORDER_UNIT_TYPE_2("tOrder_unit_type", "2", "采购单位"),
+    CONTRACT_STATUS_0("contract_status", "0", "待签约"),
+    CONTRACT_STATUS_1("contract_status", "1", "已签约"),
+    TORDER_ADDRESS_TYPE_1("tOrder_address_type", "1", "装货地址"),
+    TORDER_ADDRESS_TYPE_2("tOrder_address_type", "2", "卸货地址"),
+    TORDER_UNIT_TYPE_1("tOrder_unit_type", "1", "采购单位"),
+    TORDER_UNIT_TYPE_2("tOrder_unit_type", "2", "销售单位"),
     ADDRESS_TYPE_0("address_type", "0", "矿山"),
     INDUSTRY_TYPE_0("industry_type", "0", "砂石"),
     CLASSIFICATION_TYPE_0("classification_type", "0", "石料"),

+ 4 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java

@@ -18,6 +18,7 @@ public enum DictTypeEnum {
     DELIVERY_TYPE("delivery_type", "交付类型"),
     TORDER_SOURCE("tOrder_source", "交易订单来源"),
     TORDER_STATUS("tOrder_status", "交易订单状态"),
+    CONTRACT_STATUS("contract_status", "合同状态"),
     TORDER_ADDRESS_TYPE("tOrder_address_type", "交易订单地址类型"),
     TORDER_UNIT_TYPE("tOrder_unit_type", "交易订单单位类型"),
     ADDRESS_TYPE("address_type", "地址类型"),
@@ -25,7 +26,9 @@ public enum DictTypeEnum {
     CLASSIFICATION_TYPE("classification_type", "分类类型"),
     CATEGORY_TYPE("category_type", "类别类型"),
     PRODUCT_NAME_TYPE("product_name_type", "品名类型"),
-    GOODS_STATUS("goods_status", "商品状态");
+    GOODS_STATUS("goods_status", "商品状态"),
+    CHARGING_TYPE("charging_type", "计费方式");
+
     private final String type;
     private final String name;
 

+ 8 - 5
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/ExceptionFilterConfig.java

@@ -2,6 +2,7 @@ package com.sckw.core.filter;
 
 import com.sckw.core.exception.SystemException;
 import jakarta.servlet.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
@@ -12,6 +13,7 @@ import java.io.IOException;
  * @date 2023/6/14
  */
 @Component
+@Slf4j
 public class ExceptionFilterConfig implements Filter {
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
@@ -19,11 +21,12 @@ public class ExceptionFilterConfig implements Filter {
             filterChain.doFilter(servletRequest, servletResponse);
         } catch (SystemException e) {
             // 传递异常信息
-            servletRequest.setAttribute("code", e.getCode());
-            servletRequest.setAttribute("message", e.getMessage());
-            // 指定处理该请求的处理器
-            RequestDispatcher requestDispatcher = servletRequest.getRequestDispatcher("/error/throwError");
-            requestDispatcher.forward(servletRequest, servletResponse);
+//            servletRequest.setAttribute("code", e.getCode());
+//            servletRequest.setAttribute("message", e.getMessage());
+//            // 指定处理该请求的处理器
+//            RequestDispatcher requestDispatcher = servletRequest.getRequestDispatcher("/error/throwError");
+//            requestDispatcher.forward(servletRequest, servletResponse);
+            log.error("请求异常:", e);
         }
     }
 }

+ 37 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ChargingTypeEnum.java

@@ -0,0 +1,37 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 计费方式枚举
+ * @date 2023/7/14
+ */
+@Getter
+public enum ChargingTypeEnum {
+
+    //装货量
+    ON(1, "装货量"),
+    //卸货量
+    OFF(2, "卸货量"),
+    //车次
+    CAR(3, "车次");
+
+    private final int code;
+
+    private final String name;
+
+    ChargingTypeEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static ChargingTypeEnum getName(int code){
+        for (ChargingTypeEnum chargingTypeEnum : values()) {
+            if (chargingTypeEnum.getCode() == code) {
+                return chargingTypeEnum;
+            }
+        }
+        return null;
+    }
+}

+ 38 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractTrackEnum.java

@@ -0,0 +1,38 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 合同审批状态
+ * @date 2023/7/14
+ */
+@Getter
+public enum ContractTrackEnum {
+
+    //审批中
+    APPROVAL(1, "审批中"),
+    //签约中
+    SIGNING(2, "签约中"),
+    //履约中
+    PERFORMANCE(3, "履约中");
+
+    private final int code;
+
+    private final String name;
+
+    ContractTrackEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static ContractTrackEnum getName(int code){
+        for (ContractTrackEnum contractTrackEnum : values()) {
+            if (contractTrackEnum.getCode() == code) {
+                return contractTrackEnum;
+            }
+        }
+        return null;
+    }
+
+}

+ 35 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SigningWayEnum.java

@@ -0,0 +1,35 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 签约方式
+ * @date 2023/7/14
+ */
+@Getter
+public enum SigningWayEnum {
+
+    //线上签约
+    ONLINE(1, "线上签约"),
+    //线下签约
+    OFFLINE(2, "线下签约");
+
+    private final int code;
+
+    private final String name;
+
+    SigningWayEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static SigningWayEnum getName(int code){
+        for (SigningWayEnum signingWayEnum : values()) {
+            if (signingWayEnum.getCode() == code) {
+                return signingWayEnum;
+            }
+        }
+        return null;
+    }
+}

+ 86 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageRes.java

@@ -0,0 +1,86 @@
+package com.sckw.core.model.page;
+
+import com.github.pagehelper.PageInfo;
+
+import java.util.List;
+
+/**
+ * 分页结果泛型类
+ *
+ * @author xucaiqin
+ * @date 2023-07-12 08:42:26
+ */
+public class PageRes<T> {
+
+    /**
+     * 当前页数
+     */
+    protected int page;
+    /**
+     * 每页显示条数
+     */
+    protected int pageSize;
+    /**
+     * 总条数
+     */
+    protected long size;
+    /**
+     * 总页数
+     */
+    protected int pages;
+    /**
+     * 数据
+     */
+    protected List<T> list;
+
+    public PageRes() {
+    }
+
+    public PageRes(PageInfo<T> pageInfo) {
+        this.page = pageInfo.getPageNum();
+        this.pageSize = pageInfo.getPageSize();
+        this.size = pageInfo.getTotal();
+        this.pages = pageInfo.getPages();
+        this.list = pageInfo.getList();
+    }
+
+    public void setPage(int page) {
+        this.page = page;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public void setSize(long size) {
+        this.size = size;
+    }
+
+    public void setPages(int pages) {
+        this.pages = pages;
+    }
+
+    public void setList(List<T> list) {
+        this.list = list;
+    }
+
+    public int getPage() {
+        return page;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public long getSize() {
+        return size;
+    }
+
+    public int getPages() {
+        return pages;
+    }
+
+    public List<T> getList() {
+        return list;
+    }
+}

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/OrderGenerateUtils.java

@@ -23,7 +23,7 @@ public class OrderGenerateUtils {
     /**
      * redisson生成订单号 name
      */
-    private static final String ORDER_NO_GENERATOR = "order_no_generator";
+    private static final String ORDER_NO_GENERATOR = "order_no_generator:";
 
 
     /**

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PasswordUtils.java

@@ -123,7 +123,7 @@ public class PasswordUtils {
     public static void main(String[] args) {
 
         String password = PasswordUtils.entryptPassword(PasswordUtils.md5("17358629958"));
-        String md5 = PasswordUtils.md5("17358629958");
+        String md5 = PasswordUtils.md5("123456");
         System.out.println(password);
         System.out.println(md5);
         System.out.println(validatePassword(md5, password));

+ 2 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -30,6 +30,8 @@ public class HttpStatus {
     public static final int PARAMETERS_MISSING_CODE = 60600;
     public static final String ID_MISSING = "id不能为空!";
     public static final String ACCOUNT_MISSING = "用户账号必填!";
+    public static final String ACCOUNT_FREEZE = "用户账号不能重复冻结!";
+    public static final String ACCOUNT_UNFREEZE = "用户账号不能重复解冻!";
     public static final String ACCOUNT_EXISTS = "用户账号已存在!";
     public static final String PWD_MISSING = "密码不能为空!";
     public static final String TOKEN_MISSING = "token不能为空!";

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/EntCertificateInfo.java

@@ -30,7 +30,7 @@ public class EntCertificateInfo implements Serializable {
     /**
      * 证书正面
      */
-    private String certificateMian;
+    private String certificateMain;
 
     /**
      * 证书反面

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginUserInfo.java

@@ -36,7 +36,7 @@ public class LoginUserInfo {
     /**
      *用户账号状态(0正常/1锁定)
      */
-    private int status;
+    private Integer status;
     /**
      * 用户所属企业id
      */

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

@@ -2,5 +2,5 @@ com.sckw.core.aspect.DaoAspect
 com.sckw.core.exception.GlobalSystemExceptionHandler
 com.sckw.core.web.config.CustomConfig
 com.sckw.core.filter.LoginFilter
-com.sckw.core.filter.ExceptionFilterConfig
+#com.sckw.core.filter.ExceptionFilterConfig
 com.sckw.core.config.MybatisPlusConfig

+ 4 - 0
sckw-common/sckw-common-mongo/pom.xml

@@ -30,5 +30,9 @@
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-annotation</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java

@@ -192,7 +192,7 @@ public class SckwLogisticsOrder {
     /**
      * 商品类型
      */
-    private Long goodsType;
+    private String goodsType;
 
     /**
      * 商品行业

+ 22 - 5
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java

@@ -1,12 +1,15 @@
 package com.sckw.mongo.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
+
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
 
 /**
@@ -19,7 +22,7 @@ import java.util.Date;
 @NoArgsConstructor
 @Accessors(chain = true)
 @Document(collection = "sckw_trade_order")
-public class SckwTradeOrder{
+public class SckwTradeOrder {
 
     /**
      * 主键
@@ -75,12 +78,14 @@ public class SckwTradeOrder{
     /**
      * 订单开始日期
      */
-    private Date startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startTime;
 
     /**
      * 订单结束日期
      */
-    private Date endTime;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endTime;
 
     /**
      * 订单已委托量
@@ -93,7 +98,7 @@ public class SckwTradeOrder{
     private BigDecimal actualAmount;
 
     /**
-     * 订单创建来源类型(采购下单/销售代客下单)
+     * 订单创建来源类型(1采购下单/2销售代客下单)
      */
     private String source;
 
@@ -120,7 +125,7 @@ public class SckwTradeOrder{
     /**
      * 商品主键
      */
-    private Integer goodsId;
+    private Long goodsId;
 
     /**
      * 商品编号
@@ -178,6 +183,11 @@ public class SckwTradeOrder{
      */
     private Long procureEntId;
 
+    /**
+     * 采购企业一级企业主键ID
+     */
+    private Long procureTopEntId;
+
     /**
      * 采购企业名称
      */
@@ -198,6 +208,11 @@ public class SckwTradeOrder{
      */
     private Long supplyEntId;
 
+    /**
+     * 供应企业一级企业id
+     */
+    private Long supplyTopEntId;
+
     /**
      * 供应企业名称
      */
@@ -316,6 +331,7 @@ public class SckwTradeOrder{
     /**
      * 创建时间
      */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -331,6 +347,7 @@ public class SckwTradeOrder{
     /**
      * 更新时间
      */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
     /**

+ 5 - 0
sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java

@@ -25,6 +25,11 @@ public class RedisConstant {
      */
     public static final String MESSAGE_CONSUMER_REQUEST_KEY = "sckw:message:consumer:request:%s";
 
+    /**
+     * 商品更新库存锁key
+     */
+    public static final String GOODS_UPDATE_AMOUNT_KEY = "sckw:product:goods:update:amount:%s";
+
     /**
      * 消费请求有效时间(秒)
      */

+ 14 - 1
sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/utils/RedissonUtils.java

@@ -269,10 +269,23 @@ public class RedissonUtils {
         }
     }
 
+    /**
+     * @desc: 释放锁
+     * @author: yzc
+     * @date: 2023-07-13 15:16
+     * @Param lockKey:
+     * @return: void
+     */
+    public static void unlock(String lockKey) {
+        RLock lock = redissonUtils.redissonClient.getLock(lockKey);
+        lock.unlock();
+    }
+
     public static Long getAtomicLong(String name,Long expired) {
         RAtomicLong atomicLong = redissonUtils.redissonClient.getAtomicLong(name);
+        long number = atomicLong.incrementAndGet();
         atomicLong.expire(expired <= 0 ? Duration.ofSeconds(DEFAULT_EXPIRED) : Duration.ofSeconds(expired));
-        return atomicLong.incrementAndGet();
+        return number;
     }
 
     public static void main(String[] args) {

+ 2 - 0
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java

@@ -3,6 +3,7 @@ package com.sckw.stream.model;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
 
 /**
  * @author zk
@@ -12,6 +13,7 @@ import lombok.NoArgsConstructor;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
+@Accessors(chain = true)
 public class SckwBusSum {
 
     /**

+ 2 - 0
sckw-modules-api/pom.xml

@@ -17,6 +17,8 @@
         <module>sckw-message-api</module>
         <module>sckw-modules-bom</module>
         <module>sckw-transport-api</module>
+        <module>sckw-product-api</module>
+        <module>sckw-order-api</module>
     </modules>
 
     <properties>

+ 33 - 0
sckw-modules-api/sckw-order-api/pom.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>sckw-modules-api</artifactId>
+        <groupId>com.sckw</groupId>
+        <version>1.0.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>sckw-order-api</artifactId>
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-core</artifactId>
+        </dependency>
+
+    </dependencies>
+</project>

+ 32 - 0
sckw-modules-api/sckw-product-api/pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>sckw-modules-api</artifactId>
+        <groupId>com.sckw</groupId>
+        <version>1.0.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>sckw-product-api</artifactId>
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-core</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 42 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/dubbo/GoodsInfoService.java

@@ -0,0 +1,42 @@
+package com.sckw.product.api.dubbo;
+
+import com.sckw.product.api.model.GoodsDetail;
+import com.sckw.product.api.model.KwpGoods;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 商品相关dubbo
+ * @author: yzc
+ * @date: 2023-07-13 14:09
+ */
+public interface GoodsInfoService {
+
+    /**
+     * @desc: 根据商品id获取商品详情
+     * @author: yzc
+     * @date: 2023-07-13 14:15
+     * @Param id:
+     * @return: com.sckw.product.api.model.GoodsDetail
+     */
+    GoodsDetail getDetailById(Long id);
+
+    /**
+     * @desc: 获取商品基本信息
+     * @author: yzc
+     * @date: 2023-07-13 14:35
+     * @Param id:
+     * @return: com.sckw.product.api.model.KwpGoods
+     */
+    KwpGoods getGoodsById(Long id);
+
+    /**
+     * @desc: 更新库存
+     * @author: yzc
+     * @date: 2023-07-13 14:33
+     * @Param id:
+     * @Param amount:
+     * @return: java.lang.Boolean
+     */
+    void updateGoodsAmount(Long id, BigDecimal amount);
+}

+ 75 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/AddressInfoDetail.java

@@ -0,0 +1,75 @@
+package com.sckw.product.api.model;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 地址详情响应
+ * @author: yzc
+ * @date: 2023-07-10 14:46
+ */
+@Getter
+@Setter
+@ToString
+public class AddressInfoDetail {
+
+    private Long id;
+
+    /**
+     * 地址名称
+     */
+    private String name;
+
+    /**
+     * 地址类型
+     */
+    private String type;
+
+    /**
+     * 地址类型名称
+     */
+    private String typeName;
+
+    /**
+     * 联系人
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 所在地区
+     */
+    private Integer cityCode;
+
+    /**
+     * 所属区域名称
+     */
+    private String cityName;
+
+    /**
+     * 详细地址
+     */
+    private String detailAddress;
+
+    /**
+     * 纬度
+     */
+    private String lat;
+
+    /**
+     * 经度
+     */
+    private String lng;
+
+    /**
+     * 电子围栏
+     */
+    private String fence;
+
+
+}

+ 28 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsAttributesDetail.java

@@ -0,0 +1,28 @@
+package com.sckw.product.api.model;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 添加商品属性
+ * @author: yzc
+ * @date: 2023-07-03 8:39
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsAttributesDetail {
+
+    private Long id;
+
+    /**
+     * 参数名称
+     */
+    private String name;
+
+    /**
+     * 参数值
+     */
+    private String val;
+}

+ 176 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java

@@ -0,0 +1,176 @@
+package com.sckw.product.api.model;
+
+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;
+import java.util.List;
+
+/**
+ * @desc: 商品详情响应
+ * @author: yzc
+ * @date: 2023-07-05 11:49
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class GoodsDetail {
+
+    /**
+     * 商品id
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String ent;
+
+    /**
+     * 供应单位id
+     */
+    private Long supplyEntId;
+
+    /**
+     * 供应单位名称
+     */
+    private String supplyEnt;
+
+    /**
+     * 商品编号
+     */
+    private String code;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型lab
+     */
+    private String goodsTypeLabel;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率(%)
+     */
+    private BigDecimal taxRate;
+
+    /**
+     * 交易方式(value)(合同采购、直接采购、预付款、货到付款、到款发货)
+     */
+    private String trading;
+
+    /**
+     * 交易方式名称(lab)(合同采购、直接采购、预付款、货到付款、到款发货)
+     */
+    private String tradingLabel;
+
+    /**
+     * 预付款最低限额
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 专属客户经理id
+     */
+    private Long manager;
+
+    /**
+     * 专属客户经理姓名
+     */
+    private String managerName;
+
+    /**
+     * 专属客户经理电话
+     */
+    private String managerPhone;
+
+    /**
+     * 成交量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 缩略图
+     */
+    private String thumb;
+
+    /**
+     * 上架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addedTime;
+
+    /**
+     * 下架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date shelfTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态:0草稿/1上架/2下架
+     */
+    private Integer status;
+
+    /**
+     * 状态label
+     */
+    private String statusLabel;
+
+    /**
+     * 商品详情图片
+     */
+    private List<GoodsImagesDetail> images;
+
+    /**
+     * 地址信息
+     */
+    private AddressInfoDetail addressInfo;
+
+    /**
+     * 价格梯度
+     */
+    private List<GoodsPriceRangesDetail> priceRanges;
+
+    /**
+     * 参数目录
+     */
+    private List<GoodsAttributesDetail> attributes;
+
+}

+ 29 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsImagesDetail.java

@@ -0,0 +1,29 @@
+package com.sckw.product.api.model;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 商品图片
+ * @author: yzc
+ * @date: 2023-07-03 8:39
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsImagesDetail {
+
+
+    private Long id;
+
+    /**
+     * 图片地址
+     */
+    private String image;
+
+    /**
+     * 图片排序
+     */
+    private Integer sort;
+}

+ 40 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsPriceRangesDetail.java

@@ -0,0 +1,40 @@
+package com.sckw.product.api.model;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 价格梯度详情响应
+ * @author: yzc
+ * @date: 2023-07-10 14:47
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsPriceRangesDetail {
+
+    private Long id;
+
+    /**
+     * 起售量
+     */
+    private BigDecimal startAmount;
+
+    /**
+     * 上限售量
+     */
+    private BigDecimal endAmount;
+
+    /**
+     * 含税价
+     */
+    private BigDecimal price;
+
+    /**
+     * 序号
+     */
+    private Integer sort;
+}

+ 113 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/KwpGoods.java

@@ -0,0 +1,113 @@
+package com.sckw.product.api.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.base.BaseModel;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @desc: 商品表
+ * @author: yzc
+ * @date: 2023-06-25 9:04
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+@TableName("kwp_goods")
+public class KwpGoods extends BaseModel {
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 供应单位
+     */
+    private Long supplyEntId;
+
+    /**
+     * 商品编号
+     */
+    private String code;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 省份code
+     */
+    private Integer provinceCode;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率(%)
+     */
+    private BigDecimal taxRate;
+
+    /**
+     * 交易方式(合同采购、直接采购、预付款、货到付款、到款发货)
+     */
+    private String trading;
+
+    /**
+     * 预付款最低限额
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 专属客户经理(用户ID)
+     */
+    private Long manager;
+
+    /**
+     * 成交量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 缩略图
+     */
+    private String thumb;
+
+    /**
+     * 上架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addedTime;
+
+    /**
+     * 下架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date shelfTime;
+
+}

+ 1 - 1
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/BusinessLicenseReqDto.java

@@ -35,7 +35,7 @@ public class BusinessLicenseReqDto implements Serializable {
     /**
      * 证书正面
      */
-    private String certificateMian;
+    private String certificateMain;
 
     /**
      * 证书反面

+ 5 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/UpdatePasswordReqDto.java

@@ -16,6 +16,11 @@ public class UpdatePasswordReqDto implements Serializable {
     @Serial
     private static final long serialVersionUID = 610262871898122771L;
 
+    /**
+     * 主键
+     */
+    private Long id;
+
     /**
      * 账号
      */

+ 1 - 1
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/EntCertificateResDto.java

@@ -77,7 +77,7 @@ public class EntCertificateResDto implements Serializable {
     /**
      * 证书正面URL地址
      */
-    private String certificateMian;
+    private String certificateMain;
 
     /**
      * 证书反面URL地址

+ 46 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java

@@ -0,0 +1,46 @@
+package com.sckw.contract.controller;
+
+import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
+import com.sckw.contract.service.KwcContractLogisticsService;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author czh
+ * @desc 托运合同
+ * @date 2023/7/13
+ */
+@RestController
+@RequestMapping("kwcChecked")
+public class KwcCheckedController {
+
+    @Autowired
+    private KwcContractLogisticsService kwcContractLogisticsService;
+
+    /**
+     * @param reqVo 新增入参
+     * @return HttpResult
+     * @desc: 新增托运合同
+     * @author: czh
+     * @date: 2023/7/13
+     */
+    @RequestMapping("add")
+    public HttpResult addCheckedContract(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.addCheckedContract(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+
+
+    @PostMapping("supplement")
+    public HttpResult supplement(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.supplement(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+}

+ 14 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractTradeController.java

@@ -0,0 +1,14 @@
+package com.sckw.contract.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author czh
+ * @desc 销售合同
+ * @date 2023/7/13
+ */
+@RestController
+@RequestMapping("contractTrade")
+public class KwcContractTradeController {
+}

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsGoodsMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_goods(物流合同商品信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsGoods
+*/
+@Mapper
+public interface KwcContractLogisticsGoodsMapper extends BaseMapper<KwcContractLogisticsGoods> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogistics
+*/
+@Mapper
+public interface KwcContractLogisticsMapper extends BaseMapper<KwcContractLogistics> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsTrackMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsTrack;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_track(物流合同(承运合同/托运合同)-物流订单)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsTrack
+*/
+@Mapper
+public interface KwcContractLogisticsTrackMapper extends BaseMapper<KwcContractLogisticsTrack> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsUnitMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_unit(物流合同采购/销售企业信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsUnit
+*/
+@Mapper
+public interface KwcContractLogisticsUnitMapper extends BaseMapper<KwcContractLogisticsUnit> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTemplateMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTemplate;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_template(合同模版)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTemplate
+*/
+@Mapper
+public interface KwcContractTemplateMapper extends BaseMapper<KwcContractTemplate> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeGoodsMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeGoods;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_goods(交易合同商品信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeGoods
+*/
+@Mapper
+public interface KwcContractTradeGoodsMapper extends BaseMapper<KwcContractTradeGoods> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTrade;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade(交易合同(采购合同/销售合同))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTrade
+*/
+@Mapper
+public interface KwcContractTradeMapper extends BaseMapper<KwcContractTrade> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeOrderMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_order(交易合同(采购合同/销售合同)-状态记录)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeOrder
+*/
+@Mapper
+public interface KwcContractTradeOrderMapper extends BaseMapper<KwcContractTradeOrder> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeTrackMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeTrack;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_track(交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeTrack
+*/
+@Mapper
+public interface KwcContractTradeTrackMapper extends BaseMapper<KwcContractTradeTrack> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeUnitMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeUnit;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_unit(交易合同采购/销售企业信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeUnit
+*/
+@Mapper
+public interface KwcContractTradeUnitMapper extends BaseMapper<KwcContractTradeUnit> {
+
+}
+
+
+
+

+ 129 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogistics.java

@@ -0,0 +1,129 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同(承运合同/托运合同)
+ * @TableName kwc_contract_logistics
+ */
+@TableName(value ="kwc_contract_logistics")
+@Data
+public class KwcContractLogistics implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 签约方式
+     */
+    private String signingWay;
+
+    /**
+     * 计费方式(1按装货量、2按卸货量、3按车次)
+     */
+    private Long charging;
+
+    /**
+     * 交易方式(1预付款、2货到付款)
+     */
+    private Long trading;
+
+    /**
+     * 开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    private Date endTime;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 签署文件
+     */
+    private String signingUrl;
+
+    /**
+     * 已签署文件
+     */
+    private String signedUrl;
+
+    /**
+     * 签约编号
+     */
+    private String signingNo;
+
+    /**
+     * 合同关联id
+     */
+    private Long contractPid;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 117 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java

@@ -0,0 +1,117 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同商品信息
+ * @TableName kwc_contract_logistics_goods
+ */
+@TableName(value ="kwc_contract_logistics_goods")
+@Data
+public class KwcContractLogisticsGoods implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id(kwc_contract_logistics)
+     */
+    private Long contractId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * sku
+     */
+    private Long skuId;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    /**
+     * 
+     */
+    private BigDecimal price;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 亏吨扣款
+     */
+    private BigDecimal deficitPrice;
+
+    /**
+     * 亏吨扣款单位
+     */
+    private String deficitUnit;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 71 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsTrack.java

@@ -0,0 +1,71 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同(承运合同/托运合同)-物流订单
+ * @TableName kwc_contract_logistics_track
+ */
+@TableName(value ="kwc_contract_logistics_track")
+@Data
+public class KwcContractLogisticsTrack implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 状态类型(1审批状态、2签约状态、3履约状态)
+     */
+    private Integer type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0通过、1不通过)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 96 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsUnit.java

@@ -0,0 +1,96 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同采购/销售企业信息
+ * @TableName kwc_contract_logistics_unit
+ */
+@TableName(value ="kwc_contract_logistics_unit")
+@Data
+public class KwcContractLogisticsUnit implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 物流合同id
+     */
+    private Long contractId;
+
+    /**
+     * 单位类型(1托运单位、2承运单位)
+     */
+    private Integer unitType;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 签约电话
+     */
+    private String signPhone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 81 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTemplate.java

@@ -0,0 +1,81 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 合同模版
+ * @TableName kwc_contract_template
+ */
+@TableName(value ="kwc_contract_template")
+@Data
+public class KwcContractTemplate implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String code;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 合同地址
+     */
+    private String url;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 127 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java

@@ -0,0 +1,127 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)
+ * @TableName kwc_contract_trade
+ */
+@TableName(value ="kwc_contract_trade")
+@Data
+public class KwcContractTrade implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 签约方式(1线上签约、2线下签约)
+     */
+    private Long signingWay;
+
+    /**
+     * 交易方式(1预付款、2货到付款)
+     */
+    private Long trading;
+
+    /**
+     * 开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    private Date endTime;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 签署文件
+     */
+    private String signingUrl;
+
+    /**
+     * 已签署文件
+     */
+    private String signedUrl;
+
+    /**
+     * 签约编号
+     */
+    private String signingNo;
+
+    /**
+     * 合同关联id
+     */
+    private Long contractPid;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 签约状态(签约中、已签约、已完结(结算时间已完成)、已解约、签约失败)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 97 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeGoods.java

@@ -0,0 +1,97 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同商品信息
+ * @TableName kwc_contract_trade_goods
+ */
+@TableName(value ="kwc_contract_trade_goods")
+@Data
+public class KwcContractTradeGoods implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id(kwc_contract_trade)
+     */
+    private Long contractId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 商品skuid
+     */
+    private Long skuId;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    /**
+     * 
+     */
+    private BigDecimal price;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 76 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeOrder.java

@@ -0,0 +1,76 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)-状态记录
+ * @TableName kwc_contract_trade_order
+ */
+@TableName(value ="kwc_contract_trade_order")
+@Data
+public class KwcContractTradeOrder implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 订单id(销售订单/采购订单)
+     */
+    private Long orderId;
+
+    /**
+     * 订单编号(销售订单/采购订单)
+     */
+    private String orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 66 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeTrack.java

@@ -0,0 +1,66 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单)
+ * @TableName kwc_contract_trade_track
+ */
+@TableName(value ="kwc_contract_trade_track")
+@Data
+public class KwcContractTradeTrack implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0通过、1不通过)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 96 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeUnit.java

@@ -0,0 +1,96 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同采购/销售企业信息
+ * @TableName kwc_contract_trade_unit
+ */
+@TableName(value ="kwc_contract_trade_unit")
+@Data
+public class KwcContractTradeUnit implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 交易合同id
+     */
+    private Long contractId;
+
+    /**
+     * 单位类型(1销售单位、2采购单位)
+     */
+    private Integer unitType;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 签约电话
+     */
+    private String signHone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 49 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractLogisticsReqVo.java

@@ -0,0 +1,49 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 物流合同新增入参
+ * @date 2023/7/13
+ */
+@Data
+public class ContractLogisticsReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -3606037883613411620L;
+
+    /**
+     * 合同ID 补充合同必传
+     */
+    private Long id;
+
+    /**
+     * 基础信息
+     */
+    @NotNull(message = "基础信息不能为空")
+    private LogisticsBaseInfoReqVo baseInfo;
+
+    /**
+     * 合同文件
+     */
+    @NotNull(message = "合同文件不能为空")
+    private List<String> contractFile;
+
+    /**
+     * 标的信息
+     */
+    @NotNull(message = "标的信息不能为空")
+    private List<LogisticsGoodsInfoReqVo> goodsInfo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 80 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java

@@ -0,0 +1,80 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 物流合同基础信息
+ * @date 2023/7/13
+ */
+@Data
+public class LogisticsBaseInfoReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1427836562492850217L;
+
+    /**
+     * 承运单位id
+     */
+    @NotNull(message = "承运单位不能为空")
+    private Long carrierEntId;
+
+    /**
+     * 承运单位联系电话
+     */
+    @NotBlank(message = "承运单位联系电话不能为空")
+    private String carrierPhone;
+
+    /**
+     * 计费方式(1按装货量、2按卸货量、3按车次)
+     */
+    @NotNull(message = "计费方式不能为空")
+    private String charging;
+
+    /**
+     * 托运单位id
+     */
+    @NotNull(message = "托运单位不能为空")
+    private Long checkedEntId;
+
+    /**
+     * 托运单位联系电话
+     */
+    @NotBlank(message = "托运单位联系电话不能为空")
+    private String checkedPhone;
+
+    /**
+     * 合同编号
+     */
+    @NotBlank(message = "合同编号不能为空")
+    private String contractCode;
+
+    /**
+     * 合同名称
+     */
+    @NotBlank(message = "合同名称不能为空")
+    private String contractName;
+
+    /**
+     * 终止时间
+     */
+    private Date endTime;
+
+    /**
+     * 签约方式(1线上签约、2线下签约)
+     */
+    @NotNull(message = "签约方式不能为空")
+    private Integer signingWay;
+
+    /**
+     * 生效时间
+     */
+    @NotNull(message = "生效时间不能为空")
+    private Date startTime;
+}

+ 62 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java

@@ -0,0 +1,62 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author czh
+ * @desc 物流合同标的信息
+ * @date 2023/7/13
+ */
+@Data
+public class LogisticsGoodsInfoReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -1110645263914068341L;
+
+    /**
+     * 商品id
+     */
+    @NotNull(message = "商品不能为空")
+    private Long goodsId;
+
+    /**
+     * 运量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 运量单位字典id
+     */
+    private String unit;
+
+    /**
+     * 运价
+     */
+    private BigDecimal price;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 扣亏货值
+     */
+    private BigDecimal deficit;
+
+    /**
+     * 字典id  扣亏货值
+     */
+    private String deficitUnit;
+
+}

+ 69 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java

@@ -0,0 +1,69 @@
+package com.sckw.contract.service;
+
+import com.sckw.contract.dao.KwcContractLogisticsGoodsMapper;
+import com.sckw.contract.dao.KwcContractTradeGoodsMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import com.sckw.contract.model.entity.KwcContractTradeGoods;
+import com.sckw.contract.model.vo.req.LogisticsGoodsInfoReqVo;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_goods(物流合同商品信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsGoodsService {
+
+
+    @Autowired
+    private KwcContractLogisticsGoodsMapper kwcContractLogisticsGoodsMapper;
+
+
+    /**
+     * @param contractId 合同id, goodsInfoList标的信息
+     * @desc: 保存交易合同商品信息
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void saveContractLogisticsGoods(Long contractId, List<LogisticsGoodsInfoReqVo> goodsInfoList) throws SystemException {
+        //todo 调dubbo接口返回商品详情 填充sku
+        List<Long> goodsIdList = goodsInfoList.stream().map(LogisticsGoodsInfoReqVo::getGoodsId).toList();
+
+        Long userId = LoginUserHolder.getUserId();
+        Date date = new Date();
+        for (LogisticsGoodsInfoReqVo logisticsGoodsInfoReqVo : goodsInfoList) {
+            KwcContractLogisticsGoods kwcContractLogisticsGoods = new KwcContractLogisticsGoods();
+            BeanUtils.copyProperties(logisticsGoodsInfoReqVo, kwcContractLogisticsGoods);
+            kwcContractLogisticsGoods.setId(new IdWorker(1L).nextId());
+            kwcContractLogisticsGoods.setContractId(contractId);
+            kwcContractLogisticsGoods.setSkuId(0L);
+            kwcContractLogisticsGoods.setPerformedAmount(new BigDecimal("0"));
+            kwcContractLogisticsGoods.setStatus(Global.NO);
+            kwcContractLogisticsGoods.setCreateBy(userId);
+            kwcContractLogisticsGoods.setCreateTime(date);
+            kwcContractLogisticsGoods.setUpdateBy(userId);
+            kwcContractLogisticsGoods.setUpdateTime(date);
+            kwcContractLogisticsGoods.setDelFlag(Global.NO);
+            if (kwcContractLogisticsGoodsMapper.insert(kwcContractLogisticsGoods) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
+        }
+    }
+
+}
+
+
+
+

+ 130 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -0,0 +1,130 @@
+package com.sckw.contract.service;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.sckw.contract.dao.KwcContractLogisticsMapper;
+import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
+import com.sckw.contract.model.vo.req.LogisticsBaseInfoReqVo;
+import com.sckw.contract.model.vo.req.LogisticsGoodsInfoReqVo;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ChargingTypeEnum;
+import com.sckw.core.model.enums.SigningWayEnum;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.bouncycastle.cms.PasswordRecipientId;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsService {
+
+    @Autowired
+    private KwcContractLogisticsMapper kwcContractLogisticsMapper;
+
+    @Autowired
+    private KwcContractLogisticsGoodsService kwcContractLogisticsGoodsService;
+
+    @Autowired
+    private KwcContractLogisticsTrackService kwcContractLogisticsTrackService;
+
+    @DubboReference(version = "2.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
+    /**
+     * @param reqVo 新增入参
+     * @desc: 新增托运合同
+     * @author: czh
+     * @date: 2023/7/13
+     */
+    @Transactional(rollbackFor = {})
+    public void addCheckedContract(ContractLogisticsReqVo reqVo) {
+        LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
+        List<String> contractFileList = reqVo.getContractFile();
+        List<LogisticsGoodsInfoReqVo> goodsInfoList = reqVo.getGoodsInfo();
+
+        //创建合同
+        KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getId());
+        if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+
+        //保存交易合同商品信息
+        kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), goodsInfoList);
+
+        //存审批记录
+        kwcContractLogisticsTrackService.saveContractLogisticsTrack(kwcContractLogistics.getId());
+    }
+
+    private KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
+
+        Date date = new Date();
+        KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
+        long contactId = new IdWorker(1L).nextId();
+        kwcContractLogistics.setId(contactId);
+        kwcContractLogistics.setEntId(LoginUserHolder.getEntId());
+        kwcContractLogistics.setContractNo(baseInfo.getContractCode());
+        kwcContractLogistics.setName(baseInfo.getContractName());
+        kwcContractLogistics.setSigningWay(SigningWayEnum.getName(baseInfo.getSigningWay()).getName());
+        SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.CHARGING_TYPE.getType(), baseInfo.getCharging());
+        if (Objects.isNull(sysDictResDto)) {
+        kwcContractLogistics.setCharging(sysDictResDto.getId());
+        }
+        kwcContractLogistics.setTrading(pid);
+        kwcContractLogistics.setStartTime(baseInfo.getStartTime());
+        kwcContractLogistics.setEndTime(baseInfo.getEndTime());
+        //单位不同怎么汇总?
+        kwcContractLogistics.setAmount(new BigDecimal("0"));
+        kwcContractLogistics.setPerformedAmount(new BigDecimal("0"));
+        kwcContractLogistics.setSigningUrl("");
+        kwcContractLogistics.setSignedUrl("");
+        kwcContractLogistics.setSigningNo("");
+        kwcContractLogistics.setContractPid(0L);
+        kwcContractLogistics.setRemark(remark);
+        kwcContractLogistics.setStatus(Global.NO);
+        kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setCreateTime(date);
+        kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setUpdateTime(date);
+        kwcContractLogistics.setDelFlag(Global.NO);
+        return kwcContractLogistics;
+    }
+
+
+    /**
+     * @param reqVo 补充入参
+     * @desc: 补充合同
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void supplement(ContractLogisticsReqVo reqVo) {
+        Long id = reqVo.getId();
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
+        if (Objects.isNull(kwcContractLogistics)) {
+
+        }
+
+        addCheckedContract(reqVo);
+    }
+}
+
+
+
+

+ 54 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java

@@ -0,0 +1,54 @@
+package com.sckw.contract.service;
+import java.util.Date;
+
+import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsTrack;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ContractTrackEnum;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_track(物流合同(承运合同/托运合同)-物流订单)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsTrackService {
+
+    @Autowired
+    private KwcContractLogisticsTrackMapper kwcContractLogisticsTrackMapper;
+
+    /**
+     * @param contractId 合同id
+     * @desc: 存审批记录
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void saveContractLogisticsTrack(Long contractId) {
+        KwcContractLogisticsTrack kwcContractLogisticsTrack = new KwcContractLogisticsTrack();
+        Date date = new Date();
+        kwcContractLogisticsTrack.setId(new IdWorker(1L).nextId());
+        kwcContractLogisticsTrack.setContractId(contractId);
+        kwcContractLogisticsTrack.setType(ContractTrackEnum.APPROVAL.getCode());
+        kwcContractLogisticsTrack.setRemark("");
+        kwcContractLogisticsTrack.setStatus(Global.NO);
+        kwcContractLogisticsTrack.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsTrack.setCreateTime(date);
+        kwcContractLogisticsTrack.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsTrack.setUpdateTime(date);
+        kwcContractLogisticsTrack.setDelFlag(Global.NO);
+        if (kwcContractLogisticsTrackMapper.insert(kwcContractLogisticsTrack) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+    }
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_unit(物流合同采购/销售企业信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsUnitService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTemplateService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_template(合同模版)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTemplateService {
+
+}
+
+
+
+

+ 18 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeGoodsService.java

@@ -0,0 +1,18 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_goods(交易合同商品信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeGoodsService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeOrderService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_order(交易合同(采购合同/销售合同)-状态记录)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeOrderService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade(交易合同(采购合同/销售合同))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_track(交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeTrackService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeUnitService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_unit(交易合同采购/销售企业信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeUnitService {
+
+}
+
+
+
+

+ 38 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsGoodsMapper.xml

@@ -0,0 +1,38 @@
+<?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.contract.dao.KwcContractLogisticsGoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsGoods">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="goods_id" column="goods_id" jdbcType="BIGINT"/>
+            <result property="sku_id" column="sku_id" jdbcType="BIGINT"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="unit" column="unit" jdbcType="VARCHAR"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="loss" column="loss" jdbcType="DECIMAL"/>
+            <result property="loss_unit" column="loss_unit" jdbcType="VARCHAR"/>
+            <result property="deficit_price" column="deficit_price" jdbcType="DECIMAL"/>
+            <result property="deficit_unit" column="deficit_unit" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,goods_id,
+        sku_id,amount,unit,
+        price,performed_amount,loss,
+        loss_unit,deficit_price,deficit_unit,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+</mapper>

+ 42 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml

@@ -0,0 +1,42 @@
+<?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.contract.dao.KwcContractLogisticsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogistics">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_no" column="contract_no" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="signing_way" column="signing_way" jdbcType="VARCHAR"/>
+            <result property="charging" column="charging" jdbcType="BIGINT"/>
+            <result property="trading" column="trading" jdbcType="BIGINT"/>
+            <result property="start_time" column="start_time" jdbcType="TIMESTAMP"/>
+            <result property="end_time" column="end_time" jdbcType="TIMESTAMP"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="signing_url" column="signing_url" jdbcType="VARCHAR"/>
+            <result property="signed_url" column="signed_url" jdbcType="VARCHAR"/>
+            <result property="signing_no" column="signing_no" jdbcType="VARCHAR"/>
+            <result property="contract_pid" column="contract_pid" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_no,
+        name,signing_way,charging,
+        trading,start_time,end_time,
+        amount,performed_amount,signing_url,
+        signed_url,signing_no,contract_pid,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+</mapper>

+ 26 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsTrackMapper.xml

@@ -0,0 +1,26 @@
+<?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.contract.dao.KwcContractLogisticsTrackMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsTrack">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="type" column="type" jdbcType="INTEGER"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,type,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsUnitMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractLogisticsUnitMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsUnit">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="unit_type" column="unit_type" jdbcType="INTEGER"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="firm_name" column="firm_name" jdbcType="VARCHAR"/>
+            <result property="contacts" column="contacts" jdbcType="VARCHAR"/>
+            <result property="phone" column="phone" jdbcType="VARCHAR"/>
+            <result property="sign_phone" column="sign_phone" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,unit_type,
+        ent_id,firm_name,contacts,
+        phone,sign_phone,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 28 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTemplateMapper.xml

@@ -0,0 +1,28 @@
+<?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.contract.dao.KwcContractTemplateMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTemplate">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="code" column="code" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="url" column="url" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,code,
+        name,url,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeGoodsMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractTradeGoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeGoods">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="goods_id" column="goods_id" jdbcType="BIGINT"/>
+            <result property="sku_id" column="sku_id" jdbcType="BIGINT"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="unit" column="unit" jdbcType="VARCHAR"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,goods_id,
+        sku_id,amount,unit,
+        price,performed_amount,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 40 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -0,0 +1,40 @@
+<?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.contract.dao.KwcContractTradeMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTrade">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_no" column="contract_no" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="signing_way" column="signing_way" jdbcType="BIGINT"/>
+            <result property="trading" column="trading" jdbcType="BIGINT"/>
+            <result property="start_time" column="start_time" jdbcType="TIMESTAMP"/>
+            <result property="end_time" column="end_time" jdbcType="TIMESTAMP"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="signing_url" column="signing_url" jdbcType="VARCHAR"/>
+            <result property="signed_url" column="signed_url" jdbcType="VARCHAR"/>
+            <result property="signing_no" column="signing_no" jdbcType="VARCHAR"/>
+            <result property="contract_pid" column="contract_pid" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_no,
+        name,signing_way,trading,
+        start_time,end_time,amount,
+        performed_amount,signing_url,signed_url,
+        signing_no,contract_pid,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 27 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeOrderMapper.xml

@@ -0,0 +1,27 @@
+<?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.contract.dao.KwcContractTradeOrderMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeOrder">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="order_id" column="order_id" jdbcType="BIGINT"/>
+            <result property="order_no" column="order_no" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,order_id,
+        order_no,remark,status,
+        create_by,create_time,update_by,
+        update_time,del_flag
+    </sql>
+</mapper>

+ 24 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeTrackMapper.xml

@@ -0,0 +1,24 @@
+<?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.contract.dao.KwcContractTradeTrackMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeTrack">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeUnitMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractTradeUnitMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeUnit">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="unit_type" column="unit_type" jdbcType="INTEGER"/>
+            <result property="firm_name" column="firm_name" jdbcType="VARCHAR"/>
+            <result property="contacts" column="contacts" jdbcType="VARCHAR"/>
+            <result property="phone" column="phone" jdbcType="VARCHAR"/>
+            <result property="sign_hone" column="sign_hone" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_id,
+        unit_type,firm_name,contacts,
+        phone,sign_hone,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 12 - 3
sckw-modules/sckw-example/src/main/java/com/sckw/example/controller/ExcelExportController.java

@@ -1,6 +1,7 @@
 package com.sckw.example.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.model.file.FileInfo;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
@@ -138,10 +139,11 @@ public class ExcelExportController {
     @RequestMapping(value = "globalTransactionalDemo", method = RequestMethod.GET)
     public HttpResult globalTransactionalDemo() {
         KwsDept dos = new KwsDept();
-        HttpResult result = null;
+        HttpResult result = new HttpResult();
         result.setMsg(HttpStatus.SUCCESS_MESSAGE);
         try {
-            dos.setId(new IdWorker(1).nextId());
+            long l = new IdWorker(1).nextId();
+            dos.setId(l);
             dos.setSystemType("1");
             dos.setAccount("张三");
             dos.setPassword("password");
@@ -155,9 +157,16 @@ public class ExcelExportController {
             dos.setUpdateBy(123L);
             dos.setCreateTime(new Date());
             dos.setUpdateTime(new Date());
-            kwsDeptDao.insert(dos);
+//            kwsDeptDao.insert(dos);
+//            KwsDept kwsDept = new KwsDept();
+            int insert = kwsDeptDao.insert(dos);
             String xid = RootContext.getXID();
+            System.out.println(xid);
+            System.out.println(l);
             result = fileApiDubboService.selectAll();
+            long nextId = new IdWorker(NumberConstant.ONE).nextId();
+            dos.setId(nextId);
+            int insert1 = kwsDeptDao.insert(dos);
             log.info(JSONObject.toJSONString(result));
         } catch (Exception e) {
             result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);

+ 3 - 2
sckw-modules/sckw-example/src/main/java/com/sckw/example/dao/KwsDeptDao.java

@@ -1,9 +1,10 @@
 package com.sckw.example.dao;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.example.model.KwsDept;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
-public interface KwsDeptDao {
-    int insert(KwsDept kwsDept);
+public interface KwsDeptDao extends BaseMapper<KwsDept> {
+//    int insert(KwsDept kwsDept);
 }

+ 1 - 1
sckw-modules/sckw-example/src/main/resources/mapper/KwsDeptDao.xml

@@ -40,7 +40,7 @@
         where id = #{id,jdbcType=BIGINT}
     </delete>
     <insert id="insert" parameterType="com.sckw.example.dao.KwsDeptDao">
-        insert into kws_user (id, system_type, account,
+        insert into sckw_system.kws_user (id, system_type, account,
                               `password`, `name`, phone,
                               photo, email, client_id,
                               is_main, remark, `status`,

+ 6 - 6
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckDto.java

@@ -112,10 +112,10 @@ public class KwfTruckDto {
         return isMatch;
     }
 
-    public static void main(String[] args) {
-        String regular = "^[0-9]+(.[0-9]{2})?$";
-        String str = "1.2";
-        boolean bool = matchs(regular, str);
-        System.out.println(bool);
-    }
+//    public static void main(String[] args) {
+//        String regular = "^[0-9]+(.[0-9]{2})?$";
+//        String str = "1.2";
+//        boolean bool = matchs(regular, str);
+//        System.out.println(bool);
+//    }
 }

+ 1 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryDetailCertificateResDto.java

@@ -29,7 +29,7 @@ public class QueryDetailCertificateResDto implements Serializable {
     /**
      * 正面
      */
-    private String certificateMian;
+    private String certificateMain;
 
     /**
      * 反面

+ 16 - 0
sckw-modules/sckw-order/pom.xml

@@ -61,6 +61,22 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-system-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-mongo</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-order-api</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-product-api</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
 

+ 6 - 12
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -3,6 +3,7 @@ package com.sckw.order.controller;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTradeOrderService;
+import io.seata.spring.annotation.GlobalTransactional;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
@@ -29,6 +30,7 @@ public class KwoTradeOrderController {
      * @Param purchaseOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderDraft(@RequestBody PurchaseOrderParam purchaseOrderParam) {
         kwoTradeOrderService.addPurchaseOrderDraft(purchaseOrderParam);
@@ -42,6 +44,7 @@ public class KwoTradeOrderController {
      * @Param purchaseOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
         kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
@@ -55,6 +58,7 @@ public class KwoTradeOrderController {
      * @Param valetOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderDraft(@RequestBody ValetOrderParam valetOrderParam) {
         kwoTradeOrderService.addValetOrderDraft(valetOrderParam);
@@ -69,24 +73,13 @@ public class KwoTradeOrderController {
      * @Param valetOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderSubmit(@RequestBody @Validated ValetOrderParam valetOrderParam) {
         kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
         return HttpResult.ok("代客下单提交成功");
     }
 
-    /**
-     * @desc: 订单详情
-     * @author: yzc
-     * @date: 2023-07-07 15:30
-     * @Param id:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @GetMapping("/detail")
-    public HttpResult detail(@RequestParam Long id) {
-        return HttpResult.ok(kwoTradeOrderService.detail(id));
-    }
-
     /**
      * @desc: 修改订单
      * @author: yzc
@@ -94,6 +87,7 @@ public class KwoTradeOrderController {
      * @Param updateOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
+    @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult update(@RequestBody @Validated UpdateOrderParam updateOrderParam) {
         kwoTradeOrderService.update(updateOrderParam);

+ 10 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderAddressMapper.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.order.model.KwoTradeOrderAddress;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * @desc: 交易订单装卸货地址信息mapper
  * @author: yzc
@@ -12,4 +14,12 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface KwoTradeOrderAddressMapper extends BaseMapper<KwoTradeOrderAddress> {
 
+    /**
+     * @desc: 批量插入
+     * @author: yzc
+     * @date: 2023-07-13 11:00
+     * @Param list:
+     * @return: void
+     */
+    void insertBatch(List<KwoTradeOrderAddress> list);
 }

+ 14 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderContractMapper.java

@@ -0,0 +1,14 @@
+package com.sckw.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.order.model.KwoTradeOrderContract;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @desc: TODO
+ * @author: yzc
+ * @date: 2023-07-13 9:49
+ */
+@Mapper
+public interface KwoTradeOrderContractMapper extends BaseMapper<KwoTradeOrderContract> {
+}

+ 10 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/dao/KwoTradeOrderUnitMapper.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.order.model.KwoTradeOrderUnit;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * @desc: 交易订单采购/销售企业信息mapper
  * @author: yzc
@@ -12,4 +14,12 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface KwoTradeOrderUnitMapper extends BaseMapper<KwoTradeOrderUnit> {
 
+    /**
+     * @desc: 批量插入
+     * @author: yzc
+     * @date: 2023-07-13 11:00
+     * @Param list:
+     * @return: void
+     */
+    void insertBatch(List<KwoTradeOrderUnit> list);
 }

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

@@ -22,6 +22,8 @@ import java.time.LocalDate;
 @TableName("kwo_trade_order")
 public class KwoTradeOrder extends BaseModel {
 
+    private Long entId;
+
     /**
      * 订单编号
      */
@@ -78,7 +80,7 @@ public class KwoTradeOrder extends BaseModel {
     private BigDecimal actualAmount;
 
     /**
-     * 订单创建来源类型(采购下单/销售代客下单)
+     * 订单创建来源类型(1采购下单/2销售代客下单)
      */
     private String source;
 

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

@@ -7,6 +7,8 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
+
 /**
  * @desc: 交易订单商品信息
  * @author: yzc
@@ -44,6 +46,11 @@ public class KwoTradeOrderGoods extends BaseModel {
      */
     private String unit;
 
+    /**
+     * 商品成交单价
+     */
+    private BigDecimal unitPrice;
+
     /**
      * kwp_goods_price_range表主键ID
      */

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

@@ -30,9 +30,9 @@ public class KwoTradeOrderUnit extends BaseModel {
     private String tOrderNo;
 
     /**
-     * 单位类型(1销售单位、2采购单位)
+     * 单位类型(1采购单位、2销售单位)
      */
-    private Integer unitType;
+    private String unitType;
 
     /**
      * 企业id

+ 4 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AcceptanceOrderParam.java

@@ -41,7 +41,10 @@ public class AcceptanceOrderParam {
     @NotNull(message = "结束时间不能为空")
     private LocalDate endTime;
 
-    @NotNull(message = "提货方式不能为空")
+    @NotBlank(message = "交易方式不能为空")
+    private String trading;
+
+    @NotBlank(message = "提货方式不能为空")
     private String pickupType;
 
     @NotBlank(message = "交付类型不能为空")

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ContractInfo.java

@@ -27,4 +27,7 @@ public class ContractInfo {
 
     @NotBlank(message = "合同签约方式不能为空")
     private String contractSigningWay;
+
+    @NotBlank(message = "合同状态不能为空")
+    private String contractStatus;
 }

+ 6 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/GoodsInfo.java

@@ -47,6 +47,12 @@ public class GoodsInfo {
     @NotNull(message = "商品发票税率不能为空")
     private BigDecimal goodsTaxRate;
 
+    /**
+     * 商品尺寸大小
+     */
+    @NotBlank(message = "商品尺寸大小不能为空")
+    private String goodsSpec;
+
     /**
      * 单位(吨、方、箱、件)
      */

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov