فهرست منبع

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

zk 2 سال پیش
والد
کامیت
28dcbda575
78فایلهای تغییر یافته به همراه1833 افزوده شده و 258 حذف شده
  1. 4 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java
  2. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java
  3. 4 4
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/AddressDefaultTypeEnum.java
  4. 6 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  5. 1 1
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/dubbo/PayCenterDubboService.java
  6. 11 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashDetail.java
  7. 15 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashDetailItem.java
  8. 24 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashItem.java
  9. 18 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Channel.java
  10. 26 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Detail.java
  11. 14 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Filter.java
  12. 17 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Freeze.java
  13. 24 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/LogItem.java
  14. 37 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/MemberCreate.java
  15. 20 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/MemberRes.java
  16. 20 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Money.java
  17. 59 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Operate.java
  18. 22 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/OperateDown.java
  19. 19 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Order.java
  20. 24 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PatchPay.java
  21. 23 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayIndex.java
  22. 39 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayRecord.java
  23. 18 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayRecordPage.java
  24. 31 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PrePayIndex.java
  25. 32 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Record.java
  26. 21 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/RrePayDetail.java
  27. 10 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Tips.java
  28. 44 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/WalletInfo.java
  29. 21 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/BusinessNo.java
  30. 23 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/Page.java
  31. 1 1
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/R.java
  32. 22 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/CashPage.java
  33. 20 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/PrePayIndexPage.java
  34. 20 0
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/RecordPage.java
  35. 6 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/res/QueryListResDto.java
  36. 10 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsBaseInfoResVo.java
  37. 21 4
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java
  38. 38 22
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  39. 8 4
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  40. 1 1
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  41. 12 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java
  42. 2 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  43. 1 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/entity/KwmAddress.java
  44. 1 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/AddressAddReqVo.java
  45. 26 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/FindEntCooperateReqVo.java
  46. 79 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressDetailResVo.java
  47. 6 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java
  48. 7 7
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java
  49. 57 4
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java
  50. 26 4
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  51. 8 4
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  52. 122 3
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTransportDemandController.java
  53. 59 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/dto/TransportDemandExport.java
  54. 3 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddTransportDemandDraftParam.java
  55. 3 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddTransportDemandParam.java
  56. 49 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java
  57. 63 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java
  58. 57 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java
  59. 20 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/TransportDemandSquaresParam.java
  60. 99 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateTransportDemandParam.java
  61. 148 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/TransportDemandDetailRes.java
  62. 1 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  63. 119 5
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java
  64. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  65. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java
  66. 3 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java
  67. 0 34
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/SysUserDao.java
  68. 2 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/KwsDept.java
  69. 2 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/AddEntSettleReqVo.java
  70. 2 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EditRoleReqVo.java
  71. 60 8
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  72. 12 8
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  73. 1 4
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml
  74. 2 0
      sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuRightsDao.xml
  75. 1 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsRoleDao.xml
  76. 2 0
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDeptDao.xml
  77. 1 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserLoginDao.xml
  78. 0 122
      sckw-modules/sckw-system/src/main/resources/mapper/SysUserDao.xml

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

@@ -72,7 +72,10 @@ public enum DictEnum {
     CHARGING_TYPE_2("charging_type", "2", "按卸货量") ,
     CHARGING_TYPE_3("charging_type", "3", "按车次"),
     SIGNING_WAY_1("signing_way", "1", "线上签约"),
-    SIGNING_WAY_2("signing_way", "2", "线下签约");
+    SIGNING_WAY_2("signing_way", "2", "线下签约"),
+    TRANSPORT_DEMAND_STATUS_0("transport_demand_status", "0","已保存"),
+    TRANSPORT_DEMAND_STATUS_1("transport_demand_status", "1","已上架"),
+    TRANSPORT_DEMAND_STATUS_2("transport_demand_status", "2","已下架");
 
     private final String type;
     private final String value;

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

@@ -39,6 +39,7 @@ public enum DictTypeEnum {
     USE_TYPE("use_type", "使用性质"),
     SIGNING_WAY("signing_way", "签约方式"),
     WEIGHT_CAR("weight_car", "以车的限重"),
+    TRANSPORT_DEMAND_STATUS("transport_demand_status", "运需状态"),
     ;
 
     private final String type;

+ 4 - 4
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/AddressDefaultTypeEnum.java

@@ -11,11 +11,11 @@ import lombok.Getter;
 public enum AddressDefaultTypeEnum {
 
     //装货地址
-    SHIPMENT(1, "装货地址"),
+    SHIPMENT(1, "装货"),
     //收货地址
-    TAKE(2, "收货地址"),
-    //已拒绝
-    BOTH(3, "装货/收货地址");
+    TAKE(2, "卸货"),
+    //装/卸
+    BOTH(3, "装/卸");
 
     private final int code;
 

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

@@ -75,6 +75,12 @@ public class HttpStatus {
     public static final int PARAMETERS_PATTERN_ERROR_CODE = 60800;
     /**参数格式不正确提示信息*/
     public static final String PARAMETERS_PATTERN_ERROR_MESSAGE = "参数格式不正确";
+    public static final String CONTACTS_ERROR = "联系人格式不正确";
+    public static final String CONTACTS_PHONE_ERROR = "联系人手机号格式不正确";
+    public static final String LEGAL_NAME_ERROR = "法人格式不正确";
+    public static final String LEGAL_PHONE_ERROR = "法人手机号格式不正确";
+    public static final String LEGAL_ID_CARD_ERROR = "法人身份证号格式不正确";
+    public static final String ENT_CODE_ERROR = "企业编号格式不正确";
 
     /**账号在别处登录状态码*/
     public static final int ACCOUNT_OTHER_LOGIN_CODE = 60900;

+ 1 - 1
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/dubbo/PayCenterDubboService.java

@@ -2,8 +2,8 @@ package com.sckw.payment.api.dubbo;
 
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.MemberDetail;
-import com.sckw.payment.api.model.dto.R;
 import com.sckw.payment.api.model.dto.WalletDto;
+import com.sckw.payment.api.model.dto.common.R;
 
 import java.util.List;
 

+ 11 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashDetail.java

@@ -0,0 +1,11 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CashDetail {
+    private List<CashDetailItem> timeline;
+    private List<List<CashDetailItem>> content;
+}

+ 15 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashDetailItem.java

@@ -0,0 +1,15 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class CashDetailItem implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 7233982475006805580L;
+    private String color;
+    private String title;
+    private String value;
+}

+ 24 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/CashItem.java

@@ -0,0 +1,24 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:19:14
+ */
+@NoArgsConstructor
+@Data
+public class CashItem implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 856945436214113979L;
+    private String orderNo;
+    private Integer status;
+    private Integer money;
+    private Integer balance;
+    private String remarks;
+    private String createTime;
+}

+ 18 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Channel.java

@@ -0,0 +1,18 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class Channel implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1366768042884725288L;
+    private String image;
+    private String code;
+    private String name;
+    private String logo;
+}

+ 26 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Detail.java

@@ -0,0 +1,26 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class Detail implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -261200729891413350L;
+    @JSONField(name = "order_no")
+    private String orderNo;
+
+    @JSONField(name = "create_time")
+    private String createTime;
+
+    @JSONField(name = "money")
+    private int money;
+
+    @JSONField(name = "status")
+    private String status;
+}

+ 14 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Filter.java

@@ -0,0 +1,14 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class Filter implements Serializable {
+	@Serial
+	private static final long serialVersionUID = 4605531733184843818L;
+	private String uid;
+	private String text;
+}

+ 17 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Freeze.java

@@ -0,0 +1,17 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class Freeze implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 5111111815474400770L;
+    private String filter;
+    private int money;
+    private int balance;
+    private String businessNo;
+    private String channel;
+}

+ 24 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/LogItem.java

@@ -0,0 +1,24 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class LogItem implements Serializable {
+	@Serial
+
+	private static final long serialVersionUID = 1822937785140299845L;
+	@JSONField(name="create_time")
+	private String createTime;
+
+	@JSONField(name="title")
+	private String title;
+
+	@JSONField(name="content")
+	private String content;
+}

+ 37 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/MemberCreate.java

@@ -0,0 +1,37 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:34:32
+ */
+@Data
+public class MemberCreate implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -6655826243958219906L;
+    @JSONField(name = "company_name")
+    private String companyName;
+    @JSONField(name = "license")
+    private String license;
+    @JSONField(name = "legalName")
+    private String legalName;
+    @JSONField(name = "legalPhone")
+    private String legalPhone;
+    @JSONField(name = "legalIds")
+    private String legalIds;
+    @JSONField(name = "accountNo")
+    private String accountNo;
+    @JSONField(name = "parentBankName")
+    private String parentBankName;
+    @JSONField(name = "unionBank")
+    private String unionBank;
+    @JSONField(name = "bankName")
+    private String bankName;
+    @JSONField(name = "channel")
+    private String channel;
+}

+ 20 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/MemberRes.java

@@ -0,0 +1,20 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:42:36
+ */
+@Getter
+@Setter
+public class MemberRes implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 5099179450696261534L;
+    private String uid;
+    private String url;
+}

+ 20 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Money.java

@@ -0,0 +1,20 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class Money implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 5979366827536068774L;
+    /**
+     * 可用余额
+     */
+    private int value;
+    /**
+     * 提示
+     */
+    private Tips tips;
+}

+ 59 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Operate.java

@@ -0,0 +1,59 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class Operate {
+    @JSONField(name = "create_time")
+    private String createTime;
+    @JSONField(name = "wd_money")
+    private Money wdMoney;
+    /**
+     * 类型对应文案
+     */
+    @JSONField(name = "type_text")
+    private String typeText;
+    /**
+     * 类型
+     */
+    private String type;
+    /**
+     * 预付金额
+     */
+    @JSONField(name = "ap_money")
+    private Money apMoney;
+    /**
+     * 对方
+     */
+    private Filter filter;
+    /**
+     * 自身uid
+     */
+    private String uid;
+    /**
+     * 下载文件
+     */
+    private List<String> file;
+    private Money money;
+    /**
+     * 操作金额
+     */
+    @JSONField(name = "operate_money")
+    private int operateMoney;
+    /**
+     * 总冻结金额
+     */
+    @JSONField(name = "freeze_money")
+    private Money freezeMoney;
+    /**
+     * 备注
+     */
+    private String remarks;
+    /**
+     * 当前状态:0:关闭,1:已完成,2:进行中
+     */
+    private int status;
+}

+ 22 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/OperateDown.java

@@ -0,0 +1,22 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:37:46
+ */
+@Getter
+@Setter
+public class OperateDown implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 2389472385575103413L;
+    private String url;
+    @JSONField(name = "expire_time")
+    private String expireTime;
+}

+ 19 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Order.java

@@ -0,0 +1,19 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:30:59
+ */
+@Getter
+@Setter
+public class Order implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -3148504181066374194L;
+    private String order_no;
+}

+ 24 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PatchPay.java

@@ -0,0 +1,24 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 17:09:42
+ */
+@Data
+public class PatchPay implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -719246443006291337L;
+
+    @JSONField(name = "uid")
+    private String uid;
+    @JSONField(name = "money")
+    private Integer money;
+    @JSONField(name = "remark")
+    private String remark;
+}

+ 23 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayIndex.java

@@ -0,0 +1,23 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class PayIndex implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -114261812502553262L;
+    @JSONField(name = "order_no")
+    private String orderNo;
+
+    @JSONField(name = "uid")
+    private String uid;
+
+    @JSONField(name = "pay_url")
+    private String payUrl;
+}

+ 39 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayRecord.java

@@ -0,0 +1,39 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class PayRecord implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2380188390683973411L;
+    @JSONField(name = "order_no")
+    private String orderNo;
+
+    @JSONField(name = "filter")
+    private String filter;
+
+    @JSONField(name = "uid")
+    private String uid;
+
+    @JSONField(name = "money")
+    private int money;
+
+    @JSONField(name = "create_time")
+    private String createTime;
+
+    @JSONField(name = "pay_url")
+    private String payUrl;
+
+    @JSONField(name = "pay_time")
+    private Object payTime;
+
+    @JSONField(name = "status")
+    private int status;
+}

+ 18 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PayRecordPage.java

@@ -0,0 +1,18 @@
+package com.sckw.payment.api.model.dto;
+
+import com.sckw.payment.api.model.dto.common.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:30:37
+ */
+@Getter
+@Setter
+public class PayRecordPage extends Page<PayRecord> {
+    @Serial
+    private static final long serialVersionUID = 3222385805745628754L;
+}

+ 31 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/PrePayIndex.java

@@ -0,0 +1,31 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class PrePayIndex implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 7340075510663637767L;
+
+    @JSONField(name = "order_no")
+    private String orderNo;
+
+    @JSONField(name = "money")
+    private int money;
+
+    @JSONField(name = "create_time")
+    private String createTime;
+
+    @JSONField(name = "status_text")
+    private String statusText;
+
+    @JSONField(name = "status")
+    private int status;
+
+}

+ 32 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Record.java

@@ -0,0 +1,32 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Getter
+@Setter
+public class Record implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 2168264969431548187L;
+    @JSONField(name = "money")
+    private int money;
+
+    @JSONField(name = "balance")
+    private int balance;
+
+    @JSONField(name = "create_time")
+    private String createTime;
+
+    @JSONField(name = "channel")
+    private String channel;
+
+    @JSONField(name = "type")
+    private int type;
+
+    @JSONField(name = "content")
+    private String content;
+}

+ 21 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/RrePayDetail.java

@@ -0,0 +1,21 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+@Getter
+@Setter
+public class RrePayDetail implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 159112379752575265L;
+    @JSONField(name = "log")
+    private List<LogItem> log;
+
+    @JSONField(name = "detail")
+    private Detail detail;
+}

+ 10 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/Tips.java

@@ -0,0 +1,10 @@
+package com.sckw.payment.api.model.dto;
+
+import lombok.Data;
+
+@Data
+public class Tips{
+	private String color;
+	private String title;
+	private int value;
+}

+ 44 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/WalletInfo.java

@@ -0,0 +1,44 @@
+package com.sckw.payment.api.model.dto;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 钱包清单
+ */
+@Data
+public class WalletInfo implements Serializable {
+    /**
+     * 企业名称
+     */
+    private String name;
+    /**
+     * 钱包名称
+     */
+    @JSONField(name = "wallet_name")
+    private String walletName;
+
+    /**
+     * 渠道
+     */
+    private String channel;
+
+    private Integer status;
+
+    /**
+     * 预付金额(分)
+     */
+    @JSONField(name = "ap_money")
+    private Long apMoney;
+    /**
+     * 提现余额
+     */
+    @JSONField(name = "wd_money")
+    private Long wdMoney;
+    /**
+     * 可用余额
+     */
+    private Long money;
+}

+ 21 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/BusinessNo.java

@@ -0,0 +1,21 @@
+package com.sckw.payment.api.model.dto.common;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:59:59
+ */
+@Getter
+@Setter
+public class BusinessNo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -8283758459410298302L;
+    @JSONField(name = "business_no")
+    private String businessNo;
+}

+ 23 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/Page.java

@@ -0,0 +1,23 @@
+package com.sckw.payment.api.model.dto.common;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:17:23
+ */
+@Getter
+@Setter
+public class Page<T> implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 8540276865834437578L;
+    private long total;
+    private long page;
+    private long pageSize;
+    private List<T> rows;
+}

+ 1 - 1
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/R.java → sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/common/R.java

@@ -1,4 +1,4 @@
-package com.sckw.payment.api.model.dto;
+package com.sckw.payment.api.model.dto.common;
 
 import lombok.*;
 import lombok.experimental.Accessors;

+ 22 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/CashPage.java

@@ -0,0 +1,22 @@
+package com.sckw.payment.api.model.dto.page;
+
+import com.sckw.payment.api.model.dto.CashItem;
+import com.sckw.payment.api.model.dto.common.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:21:05
+ */
+@Getter
+@Setter
+public class CashPage extends Page<CashItem> {
+    @Serial
+    private static final long serialVersionUID = 8737528173711734529L;
+
+    private long total_withdraw_money;
+    private long total_balance;
+}

+ 20 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/PrePayIndexPage.java

@@ -0,0 +1,20 @@
+package com.sckw.payment.api.model.dto.page;
+
+import com.sckw.payment.api.model.dto.PrePayIndex;
+import com.sckw.payment.api.model.dto.common.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:23:34
+ */
+@Getter
+@Setter
+public class PrePayIndexPage extends Page<PrePayIndex> {
+
+    @Serial
+    private static final long serialVersionUID = 1163213440816151568L;
+}

+ 20 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/dto/page/RecordPage.java

@@ -0,0 +1,20 @@
+package com.sckw.payment.api.model.dto.page;
+
+import com.sckw.payment.api.model.dto.Record;
+import com.sckw.payment.api.model.dto.common.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 15:21:05
+ */
+@Getter
+@Setter
+public class RecordPage extends Page<Record> {
+    @Serial
+    private static final long serialVersionUID = 8737528173711734529L;
+
+}

+ 6 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/res/QueryListResDto.java

@@ -31,7 +31,7 @@ public class QueryListResDto {
     /**
      * 合同名
      */
-    private String contactName;
+    private String contractName;
 
     /**
      * 合同号
@@ -113,4 +113,9 @@ public class QueryListResDto {
      */
     private String targetEntName;
 
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
 }

+ 10 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsBaseInfoResVo.java

@@ -22,6 +22,11 @@ public class LogisticsBaseInfoResVo implements Serializable {
      */
     private String carrierEntName;
 
+    /**
+     * 承运单位
+     */
+    private Long carrierEntId;
+
     /**
      * 承运单位联系电话
      */
@@ -37,6 +42,11 @@ public class LogisticsBaseInfoResVo implements Serializable {
      */
     private String checkedEntName;
 
+    /**
+     * 托运单位
+     */
+    private Long checkedEntId;
+
     /**
      * 托运单位联系电话
      */

+ 21 - 4
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java

@@ -7,6 +7,7 @@ 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.CollectionUtils;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
@@ -17,10 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author PC
@@ -99,6 +98,24 @@ public class KwcContractLogisticsGoodsService {
         return count;
     }
 
+    /**
+     * @param idList 合同id
+     * @return   Map<Long, BigDecimal>
+     * @desc: 根据合同id查总量
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    public Map<Long, BigDecimal> getAmountByIdList(List<Long> idList) {
+        LambdaQueryWrapper<KwcContractLogisticsGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwcContractLogisticsGoods::getContractId, idList);
+        wrapper.eq(KwcContractLogisticsGoods::getDelFlag, Global.NO);
+        List<KwcContractLogisticsGoods> kwcContractLogisticsGoods = kwcContractLogisticsGoodsMapper.selectList(wrapper);
+        if (CollectionUtils.isEmpty(kwcContractLogisticsGoods)) {
+            return new HashMap<>(1);
+        }
+       return kwcContractLogisticsGoods.stream().collect(Collectors.groupingBy(KwcContractLogisticsGoods::getContractId, Collectors.reducing(BigDecimal.ZERO, KwcContractLogisticsGoods::getAmount, BigDecimal::add)));
+    }
+
 }
 
 

+ 38 - 22
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -18,6 +18,7 @@ import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
 import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
 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.contract.model.vo.req.QueryListReqVo;
 import com.sckw.contract.model.vo.res.*;
 import com.sckw.core.common.enums.enums.DictEnum;
@@ -84,9 +85,9 @@ public class KwcContractLogisticsService {
     @Transactional(rollbackFor = {})
     public Long addCheckedContract(ContractLogisticsReqVo reqVo) {
         LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
-        
+
         //创建合同
-        KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getPId());
+        KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getGoodsInfo(), reqVo.getRemark(), reqVo.getPId());
         long contactId = new IdWorker(1L).nextId();
         kwcContractLogistics.setId(contactId);
         kwcContractLogistics.setStatus(ContractStatusEnum.SAVE.getCode());
@@ -104,7 +105,7 @@ public class KwcContractLogisticsService {
         return contactId;
     }
 
-    public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
+    public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, List<LogisticsGoodsInfoReqVo> goodsInfo, String remark, Long pid) {
         Date date = new Date();
         KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
         kwcContractLogistics.setEntId(LoginUserHolder.getEntId());
@@ -114,7 +115,6 @@ public class KwcContractLogisticsService {
         kwcContractLogistics.setCharging(baseInfo.getCharging());
         kwcContractLogistics.setStartTime(baseInfo.getStartTime());
         kwcContractLogistics.setEndTime(baseInfo.getEndTime());
-        kwcContractLogistics.setAmount(new BigDecimal("0"));
         kwcContractLogistics.setPerformedAmount(new BigDecimal("0"));
         kwcContractLogistics.setContractPid(pid);
         kwcContractLogistics.setRemark(remark);
@@ -123,6 +123,16 @@ public class KwcContractLogisticsService {
         kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
         kwcContractLogistics.setUpdateTime(date);
         kwcContractLogistics.setDelFlag(Global.NO);
+
+        BigDecimal amountTotal = new BigDecimal(Global.NUMERICAL_ZERO);
+        if (CollectionUtils.isNotEmpty(goodsInfo)) {
+            for (LogisticsGoodsInfoReqVo logisticsGoodsInfoReqVo : goodsInfo) {
+                if (Objects.nonNull(logisticsGoodsInfoReqVo.getAmount())) {
+                    amountTotal = amountTotal.add(logisticsGoodsInfoReqVo.getAmount());
+                }
+            }
+        }
+        kwcContractLogistics.setAmount(amountTotal);
         return kwcContractLogistics;
     }
 
@@ -170,11 +180,13 @@ public class KwcContractLogisticsService {
                 if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CONSIGN.getCode())) {
                     logisticsBaseInfoResVo.setCheckedEntName(kwcContractLogisticsUnit.getFirmName());
                     logisticsBaseInfoResVo.setCheckedPhone(kwcContractLogisticsUnit.getSignPhone());
+                    logisticsBaseInfoResVo.setCheckedEntId(kwcContractLogisticsUnit.getEntId());
                 }
 
                 if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CARRIAGE.getCode())) {
                     logisticsBaseInfoResVo.setCarrierEntName(kwcContractLogisticsUnit.getFirmName());
                     logisticsBaseInfoResVo.setCarrierPhone(kwcContractLogisticsUnit.getSignPhone());
+                    logisticsBaseInfoResVo.setCarrierEntId(kwcContractLogisticsUnit.getEntId());
                 }
             }
 
@@ -190,18 +202,15 @@ public class KwcContractLogisticsService {
         //标的信息
         List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(kwcContractLogistics.getId());
         if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
-            List<Long> goodsIdList = kwcContractLogisticsGoodsList.stream().map(KwcContractLogisticsGoods::getGoodsId).toList();
-//            Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodsIdList);
-
-            String keys = "";
-           for (KwcContractLogisticsGoods item :kwcContractLogisticsGoodsList){
-                keys += DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + item.getUnit() + Global.COMMA;
-                keys += DictTypeEnum.PRICE_TYPE.getType() + Global.POUND + item.getPriceUnit() + Global.COMMA;
-                keys += DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + item.getLossUnit() + Global.COMMA;
-                keys += DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + item.getDeficitUnit() + Global.COMMA;
-            };
+            StringBuilder keys = new StringBuilder();
+            for (KwcContractLogisticsGoods item : kwcContractLogisticsGoodsList) {
+                keys.append(DictTypeEnum.UNIT_TYPE.getType()).append(Global.POUND).append(item.getUnit()).append(Global.COMMA);
+                keys.append(DictTypeEnum.PRICE_TYPE.getType()).append(Global.POUND).append(item.getPriceUnit()).append(Global.COMMA);
+                keys.append(DictTypeEnum.WEIGHT_CAR.getType()).append(Global.POUND).append(item.getLossUnit()).append(Global.COMMA);
+                keys.append(DictTypeEnum.WEIGHT_CAR.getType()).append(Global.POUND).append(item.getDeficitUnit()).append(Global.COMMA);
+            }
 
-            Map<String, SysDictResDto> stringSysDictResDtoMap = remoteSystemService.queryDictMapByTypeValues(keys);
+            Map<String, SysDictResDto> stringSysDictResDtoMap = remoteSystemService.queryDictMapByTypeValues(keys.toString());
 
             List<LogisticsGoodsInfoResVo> goodsInfo = new ArrayList<>();
             for (KwcContractLogisticsGoods kwcContractLogisticsGoods : kwcContractLogisticsGoodsList) {
@@ -224,22 +233,22 @@ public class KwcContractLogisticsService {
 
                 SysDictResDto unitType = stringSysDictResDtoMap.get(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + kwcContractLogisticsGoods.getUnit());
                 if (Objects.nonNull(unitType)) {
-                    logisticsGoodsInfoResVo.setUnitName(unitType.getValue());
+                    logisticsGoodsInfoResVo.setUnitName(unitType.getLabel());
                 }
 
                 SysDictResDto priceType = stringSysDictResDtoMap.get(DictTypeEnum.PRICE_TYPE.getType() + Global.POUND + kwcContractLogisticsGoods.getPriceUnit());
                 if (Objects.nonNull(priceType)) {
-                    logisticsGoodsInfoResVo.setPriceUnitName(priceType.getValue());
+                    logisticsGoodsInfoResVo.setPriceUnitName(priceType.getLabel());
                 }
 
                 SysDictResDto weightCar1 = stringSysDictResDtoMap.get(DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + kwcContractLogisticsGoods.getLossUnit());
                 if (Objects.nonNull(weightCar1)) {
-                    logisticsGoodsInfoResVo.setLossUnitName(weightCar1.getValue());
+                    logisticsGoodsInfoResVo.setLossUnitName(weightCar1.getLabel());
                 }
 
                 SysDictResDto weightCar2 = stringSysDictResDtoMap.get(DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + kwcContractLogisticsGoods.getDeficitUnit());
                 if (Objects.nonNull(weightCar2)) {
-                    logisticsGoodsInfoResVo.setDeficitUnitName(weightCar2.getValue());
+                    logisticsGoodsInfoResVo.setDeficitUnitName(weightCar2.getLabel());
                 }
 
                 goodsInfo.add(logisticsGoodsInfoResVo);
@@ -324,7 +333,7 @@ public class KwcContractLogisticsService {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
         }
 
-        KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
+        KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getGoodsInfo(), reqVo.getRemark(), reqVo.getPId());
         param.setId(contractId);
         param.setSigningUrl(reqVo.getContractFile());
         param.setStatus(ContractStatusEnum.SAVE.getCode());
@@ -429,11 +438,13 @@ public class KwcContractLogisticsService {
     private List<QueryListResVo> getQueryListResVos(List<QueryListResDto> queryListResDtos) {
         Map<Long, UserCacheResDto> longUserCacheResDtoMap = new HashMap<>();
         List<Long> initiateByList = queryListResDtos.stream().map(QueryListResDto::getInitiateBy).toList();
+        List<Long> idList = queryListResDtos.stream().map(QueryListResDto::getId).toList();
         if (CollectionUtils.isNotEmpty(initiateByList)) {
             longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(initiateByList);
         }
 
         List<QueryListResVo> list = new ArrayList<>();
+//        Map<Long, BigDecimal> amountByIdList = kwcContractLogisticsGoodsService.getAmountByIdList(idList);
         for (QueryListResDto queryListResDto : queryListResDtos) {
             QueryListResVo queryListResVo = new QueryListResVo();
             BeanUtils.copyProperties(queryListResDto, queryListResVo);
@@ -447,8 +458,13 @@ public class KwcContractLogisticsService {
             }
             queryListResVo.setChargingName(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(), String.valueOf(queryListResDto.getCharging())));
             queryListResVo.setStatusName(ContractStatusEnum.getName(queryListResDto.getStatus()).getName());
-
-            queryListResVo.setPerformedAmount(new BigDecimal("0"));
+            queryListResVo.setSigningWayName(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(), String.valueOf(queryListResDto.getSigningWay())));
+            queryListResVo.setPerformedAmount(queryListResDto.getPerformedAmount());
+//            BigDecimal amount = amountByIdList.get(queryListResDto.getId());
+//            if (Objects.nonNull(amount)) {
+//                queryListResVo.setAmount(amount);
+//            }
+            queryListResVo.setAmount(queryListResDto.getAmount());
             list.add(queryListResVo);
         }
         return list;

+ 8 - 4
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml

@@ -43,7 +43,7 @@
     <select id="queryList" resultType="com.sckw.contract.model.dto.res.QueryListResDto">
          select a.amount,
                 a.charging,
-                a.name contactName,
+                a.name contractName,
                 a.contract_no,
                 c.create_by initiateBy,
                 c.create_time initiateTime,
@@ -59,12 +59,13 @@
                 b.ent_id,
                 b.firm_name entName,
                 e.ent_id targetEntId,
-                e.firm_name targetEntName
+                e.firm_name targetEntName,
+                a.performed_amount performedAmount
           from kwc_contract_logistics a
           left join kwc_contract_logistics_unit b on a.id = b.contract_id and b.unit_type = #{entType}
           left join kwc_contract_logistics_track c on a.id = c.contract_id and c.del_flag = 0 and c.type = 1
           left join kwc_contract_logistics_track d on a.id = d.contract_id and d.del_flag = 0 and d.type = 0
-          left join kwc_contract_logistics_unit e on a.id = b.contract_id and b.unit_type != #{entType}
+          left join kwc_contract_logistics_unit e on a.id = e.contract_id and e.unit_type != #{entType}
         where a.del_flag = 0
           and b.del_flag = 0
           and b.ent_id = #{entId}
@@ -78,7 +79,10 @@
               and a.status = #{status}
           </if>
           <if test="keywords != null and keywords != ''">
-              and (b.firm_name like concat('%', #{keywords}, '%') or b.contacts like concat('%', #{keywords}, '%') or b.phone like concat('%', #{keywords}, '%'))
+              and (b.firm_name like concat('%', #{keywords}, '%') or
+                   b.contacts like concat('%', #{keywords}, '%') or
+                   b.phone like concat('%', #{keywords}, '%') or
+                   b.sign_phone like concat('%', #{keywords}, '%'))
           </if>
           <if test="idList != null and idList.size() > 0">
               and a.id in

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

@@ -42,7 +42,7 @@
     <select id="queryList" resultType="com.sckw.contract.model.dto.res.QueryListResDto">
         select a.amount,
                a.trading,
-               a.name contactName,
+               a.name contractName,
                a.contract_no,
                c.create_by initiateBy,
                c.create_time initiateTime,

+ 12 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java

@@ -113,4 +113,16 @@ public class KwmAddressController {
         return HttpResult.ok(kwmAddressService.queryByEnt(reqVo));
     }
 
+    /**
+     * @param reqVo 主键
+     * @return HttpResult
+     * @desc: 查详情
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    @PostMapping("detail")
+    public HttpResult detail(@RequestBody IdsReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwmAddressService.detail(reqVo.getId()));
+    }
+
 }

+ 2 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -118,8 +118,8 @@ public class KwmCooperateManageController {
      * @date: 2023/7/22
      */
     @PostMapping("findEntCooperate")
-    public HttpResult findEntCooperate(@RequestBody IdsReqVo reqVo) throws SystemException {
-        return HttpResult.ok(kwmCooperateManageService.findEntCooperate(reqVo.getId()));
+    public HttpResult findEntCooperate(@RequestBody FindEntCooperateReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwmCooperateManageService.findEntCooperate(reqVo));
     }
 
 }

+ 1 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/entity/KwmAddress.java

@@ -33,7 +33,7 @@ public class KwmAddress implements Serializable {
     /**
      * 地址类型
      */
-    private Long type;
+    private Integer type;
 
     /**
      * 1 默认装货地址 2默认卸货地址  3都是

+ 1 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/AddressAddReqVo.java

@@ -69,6 +69,6 @@ public class AddressAddReqVo implements Serializable {
     /**
      * 地址类型
      */
-    private long type;
+    private Integer type;
 
 }

+ 26 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/FindEntCooperateReqVo.java

@@ -0,0 +1,26 @@
+package com.sckw.manage.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 查合作单位入参
+ * @date 2023/7/26
+ */
+@Data
+public class FindEntCooperateReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -7719099086650022866L;
+
+    @NotNull(message = "企业不能为空")
+    private Long id;
+
+    @NotNull(message = "合作单位类型不能为空")
+    private Integer cooperateType;
+
+}

+ 79 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressDetailResVo.java

@@ -0,0 +1,79 @@
+package com.sckw.manage.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 地址详情
+ * @date 2023/7/25
+ */
+@Data
+public class AddressDetailResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5142855459235073288L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 区域code
+     */
+    private Integer cityCode;
+
+    /**
+     * 区域名
+     */
+    private String cityName;
+
+    /**
+     * 联系人
+     */
+    private String contacts;
+
+    /**
+     * 详细地址
+     */
+    private String detailAddress;
+
+    /**
+     * 电子围栏
+     */
+    private String fence;
+
+    /**
+     * 纬度
+     */
+    private String lat;
+
+    /**
+     * 经度
+     */
+    private String lng;
+
+    /**
+     * 地址名称
+     */
+    private String name;
+
+    /**
+     * 联系人电话
+     */
+    private String phone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 地址类型
+     */
+    private Integer type;
+
+}

+ 6 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java

@@ -56,9 +56,9 @@ public class AddressQueryResVo implements Serializable {
     private String detailAddress;
 
     /**
-     * 电子围栏状态 0未设置 1已设置
+     * 电子围栏状态
      */
-    private Integer fenceStatus;
+    private String fenceStatus;
 
     /**
      * 电子围栏
@@ -100,4 +100,8 @@ public class AddressQueryResVo implements Serializable {
      */
     private Date updateTime;
 
+    /**
+     * 默认类型
+     */
+    private String defaultTypeName;
 }

+ 7 - 7
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java

@@ -51,19 +51,19 @@ public class CommonBusinessService {
      * @date: 2023/7/11
      */
     public boolean matchContacts(String keywords, CooperateManageQueryResDto resDto) {
-        if (resDto.getInviteeContacts().contains(keywords)) {
+        if (StringUtils.isNotBlank(resDto.getInviteeContacts()) && resDto.getInviteeContacts().contains(keywords)) {
             return true;
         }
 
-        if (resDto.getInviterContacts().contains(keywords)) {
+        if (StringUtils.isNotBlank(resDto.getInviterContacts()) && resDto.getInviterContacts().contains(keywords)) {
             return true;
         }
 
-        if (resDto.getInviterPhone().contains(keywords)) {
+        if (StringUtils.isNotBlank(resDto.getInviterPhone()) && resDto.getInviterPhone().contains(keywords)) {
             return true;
         }
 
-        if (resDto.getInviteePhone().contains(keywords)) {
+        if (StringUtils.isNotBlank(resDto.getInviteePhone()) && resDto.getInviteePhone().contains(keywords)) {
             return true;
         }
 
@@ -95,14 +95,14 @@ public class CommonBusinessService {
     }
 
     /**
-     * @param ids 主键id
+     * @param keys type#value,type#value
      * @return Map
      * @desc: 根据id查字典
      * @author: czh
      * @date: 2023/7/12
      */
-    public Map<Long, SysDictResDto> querySysDictByIds(List<Long> ids) {
-        return remoteUserService.querySysDictByIds(ids);
+    public Map<String, SysDictResDto> queryDictMapByTypeValues(String keys) {
+        return remoteSystemService.queryDictMapByTypeValues(keys);
     }
 
     /**

+ 57 - 4
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java

@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+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.AddressDefaultTypeEnum;
@@ -22,10 +23,12 @@ import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.manage.dao.KwmAddressMapper;
 import com.sckw.manage.model.entity.KwmAddress;
 import com.sckw.manage.model.vo.req.*;
+import com.sckw.manage.model.vo.res.AddressDetailResVo;
 import com.sckw.manage.model.vo.res.AddressQueryResVo;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -104,22 +107,37 @@ public class KwmAddressService {
     private List<AddressQueryResVo> getAddressQueryResVo(List<KwmAddress> kwmAddresses) {
         List<AddressQueryResVo> list = new ArrayList<>();
         List<Long> userIds = kwmAddresses.stream().map(KwmAddress::getCreateBy).distinct().toList();
-        List<Long> types = kwmAddresses.stream().map(KwmAddress::getType).distinct().toList();
+        List<Integer> types = kwmAddresses.stream().map(KwmAddress::getType).distinct().toList();
         Map<Long, UserCacheResDto> userCacheResDtoMap = commonBusinessService.queryUserCacheMapByIds(userIds);
-        Map<Long, SysDictResDto> sysDictResDtoMap = commonBusinessService.querySysDictByIds(types);
+
+        StringBuilder keys = new StringBuilder();
+        for (Integer type : types) {
+            keys.append(DictTypeEnum.ADDRESS_TYPE.getType()).append(Global.POUND).append(type).append(Global.COMMA);
+        }
+
+        Map<String, SysDictResDto> stringSysDictResDtoMap = commonBusinessService.queryDictMapByTypeValues(keys.toString());
 
         kwmAddresses.forEach(item -> {
             AddressQueryResVo addressQueryResVo = new AddressQueryResVo();
             BeanUtils.copyProperties(item, addressQueryResVo);
             UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
-            SysDictResDto sysDictResDto = sysDictResDtoMap.get(item.getType());
+            SysDictResDto sysDictResDto = stringSysDictResDtoMap.get(DictTypeEnum.ADDRESS_TYPE.getType() + Global.POUND + item.getType());
+            if (Objects.nonNull(sysDictResDto)) {
+                addressQueryResVo.setType(sysDictResDto.getLabel());
+            }
+
             if (Objects.nonNull(userCacheResDto)) {
                 addressQueryResVo.setCreateByName(userCacheResDto.getName());
             }
             if (Objects.nonNull(sysDictResDto)) {
                 addressQueryResVo.setType(sysDictResDto.getLabel());
             }
-            addressQueryResVo.setFenceStatus(StringUtils.isNotBlank(item.getFence()) ? Global.YES : Global.NO);
+
+            if (Objects.nonNull(item.getDefaultType())) {
+                addressQueryResVo.setDefaultTypeName(AddressDefaultTypeEnum.getName(item.getDefaultType()).getName());
+            }
+
+            addressQueryResVo.setFenceStatus(StringUtils.isNotBlank(item.getFence()) ? "已设置" : "未设置");
             list.add(addressQueryResVo);
         });
         return list;
@@ -159,7 +177,24 @@ public class KwmAddressService {
 
     }
 
+
+    /**
+     * @param reqVo 修改入参
+     * @desc: 修改地址信息
+     * @author: czh
+     * @date: 2023/7/12
+     */
     public void update(AddressUpdateReqVo reqVo) {
+        KwmAddress kwmAddress = kwmAddressMapper.selectById(reqVo.getId());
+        if (Objects.isNull(kwmAddress)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ADDRESS_NOT_EXISTS);
+        }
+
+        BeanUtils.copyProperties(reqVo, kwmAddress);
+        if (kwmAddressMapper.updateById(kwmAddress) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+
     }
 
 
@@ -258,4 +293,22 @@ public class KwmAddressService {
         }
         return getAddressQueryResVo(kwmAddresses);
     }
+
+    /**
+     * @param id 主键
+     * @return AddressDetailResVo
+     * @desc: 查详情
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    public AddressDetailResVo detail(Long id) {
+        KwmAddress kwmAddress = kwmAddressMapper.selectById(id);
+        if (Objects.isNull(kwmAddress) || kwmAddress.getDelFlag().equals(Global.YES)) {
+            return null;
+        }
+
+        AddressDetailResVo addressDetailResVo = new AddressDetailResVo();
+        BeanUtils.copyProperties(kwmAddress, addressDetailResVo);
+        return addressDetailResVo;
+    }
 }

+ 26 - 4
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -19,10 +19,13 @@ import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.manage.dao.KwmCooperateMapper;
+import com.sckw.manage.dao.KwmCooperateTypeMapper;
 import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
 import com.sckw.manage.model.entity.KwmCooperate;
+import com.sckw.manage.model.entity.KwmCooperateType;
 import com.sckw.manage.model.vo.req.BindManagerReqVo;
 import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
+import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
 import com.sckw.manage.model.vo.res.CooperateManageQueryResVo;
 import com.sckw.manage.model.vo.res.FindEntCooperateResVo;
 import com.sckw.manage.model.vo.res.FindListGroupResVo;
@@ -50,6 +53,9 @@ public class KwmCooperateManageService {
     @Autowired
     private KwmCooperateMapper kwmCooperateMapper;
 
+    @Autowired
+    private KwmCooperateTypeMapper kwmCooperateTypeMapper;
+
     @Autowired
     private CommonBusinessService commonBusinessService;
 
@@ -249,27 +255,43 @@ public class KwmCooperateManageService {
 
 
     /**
-     * @param id 企业id
+     * @param reqVo 企业id
      * @return FindEntCooperateResVo
      * @desc: 查询企业的合作单位
      * @author: czh
      * @date: 2023/7/22
      */
-    public List<FindEntCooperateResVo> findEntCooperate(Long id) {
+    public List<FindEntCooperateResVo> findEntCooperate(FindEntCooperateReqVo reqVo) {
+        Long id = reqVo.getId();
+        Integer cooperateType = reqVo.getCooperateType();
         LambdaQueryWrapper<KwmCooperate> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwmCooperate::getInviterEntId, id).or().
                 eq(KwmCooperate::getInviteeEntId, id).and(
                         wp -> wp.eq(KwmCooperate::getDelFlag, Global.NO).
-                                eq(KwmCooperate::getStatus, CooperateStatusEnum.OK.getCode())
+                                 eq(KwmCooperate::getStatus, CooperateStatusEnum.OK.getCode())
                 );
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(kwmCooperates)) {
             return Collections.emptyList();
         }
 
+        LambdaQueryWrapper<KwmCooperateType> kwmCooperateTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        kwmCooperateTypeLambdaQueryWrapper.in(KwmCooperateType::getCooperateId, kwmCooperates.stream().map(KwmCooperate::getId).toList());
+        kwmCooperateTypeLambdaQueryWrapper.eq(KwmCooperateType::getDelFlag, Global.NO);
+        kwmCooperateTypeLambdaQueryWrapper.eq(KwmCooperateType::getType, cooperateType);
+        List<KwmCooperateType> kwmCooperateTypes = kwmCooperateTypeMapper.selectList(kwmCooperateTypeLambdaQueryWrapper);
+        if (CollectionUtils.isEmpty(kwmCooperateTypes)) {
+            return Collections.emptyList();
+        }
+
         //装对方企业的id
+        List<Long> kwmCooperateIdList = kwmCooperateTypes.stream().map(KwmCooperateType::getCooperateId).toList();
         List<Long> targetEntIdList = new ArrayList<>();
-        kwmCooperates.forEach(item -> targetEntIdList.add(item.getInviterEntId().equals(id) ? item.getInviteeEntId() : item.getInviterEntId()));
+        kwmCooperates.forEach(item -> {
+            if (kwmCooperateIdList.contains(item.getId())) {
+                targetEntIdList.add(item.getInviterEntId().equals(id) ? item.getInviteeEntId() : item.getInviterEntId());
+            }
+        });
 
         List<EntCacheResDto> entCacheResDtos = remoteSystemService.queryEntCacheByIds(targetEntIdList);
         if (CollectionUtils.isEmpty(entCacheResDtos)) {

+ 8 - 4
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -67,10 +67,14 @@
                and a.ent_id != #{reqDto.currentEntId}
            </if>
            <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
-               and b.type in
-               <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
-                   #{item}
-               </foreach>
+               and exists (select 1
+                             from kwm_cooperate_type c
+                            where c.cooperate_id = a.id
+                              and c.type in
+                            <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
+                               #{item}
+                           </foreach>
+                          )
            </if>
          <if test="reqDto.status != null and reqDto.status.size() > 0">
              and a.status in

+ 122 - 3
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTransportDemandController.java

@@ -1,15 +1,20 @@
 package com.sckw.order.controller;
 
+import com.sckw.core.exception.BusinessException;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.order.model.vo.req.AddTransportDemandDraftParam;
-import com.sckw.order.model.vo.req.AddTransportDemandParam;
-import com.sckw.order.model.vo.req.UpdateTransportDemandParam;
+import com.sckw.excel.utils.ExcelUtil;
+import com.sckw.order.model.dto.TransportDemandExport;
+import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTransportDemandService;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @desc: 运需controller
  * @author: yzc
@@ -22,6 +27,13 @@ public class KwoTransportDemandController {
 
     private final KwoTransportDemandService kwoTransportDemandService;
 
+    /**
+     * @desc: 新增运需草稿
+     * @author: yzc
+     * @date: 2023-07-26 9:42
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
     @PostMapping(value = "/addDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addDraft(@RequestBody @Validated AddTransportDemandDraftParam param) {
         kwoTransportDemandService.addDraft(param);
@@ -29,6 +41,13 @@ public class KwoTransportDemandController {
     }
 
 
+    /**
+     * @desc: 新增运需上架
+     * @author: yzc
+     * @date: 2023-07-26 9:42
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
     @PostMapping(value = "/addShelves", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addShelves(@RequestBody @Validated AddTransportDemandParam param) {
         kwoTransportDemandService.addShelves(param);
@@ -36,15 +55,115 @@ public class KwoTransportDemandController {
     }
 
 
+    /**
+     * @desc: 运需详情
+     * @author: yzc
+     * @date: 2023-07-26 9:43
+     * @Param id:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
     @GetMapping("/detail")
     public HttpResult detail(@RequestParam Long id) {
         return HttpResult.ok(kwoTransportDemandService.detail(id));
     }
 
+    /**
+     * @desc: 运需修改
+     * @author: yzc
+     * @date: 2023-07-26 9:43
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult update(@RequestBody @Validated UpdateTransportDemandParam param) {
         kwoTransportDemandService.update(param);
         return HttpResult.ok("运需修改成功!");
     }
 
+    /**
+     * @desc: 运需分页查询
+     * @author: yzc
+     * @date: 2023-07-26 10:05
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult select(@RequestBody @Validated SelectTransportDemandParam param) {
+        return HttpResult.ok(kwoTransportDemandService.select(param));
+    }
+
+    /**
+     * @desc: 运需统计
+     * @author: yzc
+     * @date: 2023-07-26 10:09
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult statistic(@RequestBody StatisticTransportDemandParam param) {
+        return HttpResult.ok(kwoTransportDemandService.statistic(param));
+    }
+
+    /**
+     * @desc: 运需导出
+     * @author: yzc
+     * @date: 2023-07-26 10:09
+     * @Param params:
+     * @Param response:
+     * @return: void
+     */
+    @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void export(@RequestBody ExportTransportDemandParam param, HttpServletResponse response) {
+        List<TransportDemandExport> list = kwoTransportDemandService.export(param);
+        if (CollectionUtils.isEmpty(list)) {
+            throw new BusinessException("导出数据为空!");
+        }
+        ExcelUtil.downData(response, TransportDemandExport.class, list);
+    }
+
+    /**
+     * @desc: 运需上架
+     * @author: yzc
+     * @date: 2023-07-26 10:24
+     * @Param id:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/putOnShelves")
+    public HttpResult putOnShelves(@RequestParam Long id) {
+        kwoTransportDemandService.putOnShelves(id);
+        return HttpResult.ok("上架成功");
+    }
+
+    /**
+     * @desc: 运需批量下架
+     * @author: yzc
+     * @date: 2023-07-26 10:25
+     * @Param ids:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/batchTakeOffShelves")
+    public HttpResult batchTakeOffShelves(@RequestParam List<Long> ids) {
+        kwoTransportDemandService.batchTakeOffShelves(ids);
+        return HttpResult.ok("批量下架成功");
+    }
+
+    /**
+     * @desc: 运需批量删除
+     * @author: yzc
+     * @date: 2023-07-26 10:26
+     * @Param ids:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/batchDelete")
+    public HttpResult batchDelete(@RequestParam List<Long> ids) {
+        kwoTransportDemandService.batchDelete(ids);
+        return HttpResult.ok("批量删除成功");
+    }
+
+    @PostMapping(value = "/demandSquaresList", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult demandSquaresList(@RequestBody @Validated TransportDemandSquaresParam param) {
+        return HttpResult.ok(kwoTransportDemandService.demandSquaresList(param));
+    }
+
+
 }

+ 59 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/dto/TransportDemandExport.java

@@ -0,0 +1,59 @@
+package com.sckw.order.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: TODO
+ * @author: yzc
+ * @date: 2023-07-26 10:14
+ */
+@Data
+@Accessors(chain = true)
+@ExcelContext(fileName = "运需列表信息", sheetName = "运需列表信息")
+public class TransportDemandExport implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -7951209824419422786L;
+
+    @ExcelProperty(value = "状态", index = 0)
+    private String statusLabel;
+
+    @ExcelProperty(value = "商品名称", index = 1)
+    private String name;
+
+    @ExcelProperty(value = "分类", index = 2)
+    private String goodsTypeLabel;
+
+    @ExcelProperty(value = "规格", index = 3)
+    private String spec;
+
+    @ExcelProperty(value = "运需单价", index = 4)
+    private String price;
+
+    @ExcelProperty(value = "总计划量", index = 5)
+    private String amount;
+
+    @ExcelProperty(value = "装货地址", index = 6)
+    private String loadAddress;
+
+    @ExcelProperty(value = "卸货地址", index = 7)
+    private String unloadAddress;
+
+    @ExcelProperty(value = "截止时间", index = 8)
+    private String deadline;
+
+    @ExcelProperty(value = "创建时间", index = 9)
+    private String createTime;
+
+    @ExcelProperty(value = "更新时间", index = 10)
+    private String updateTime;
+
+    @ExcelProperty(value = "备注", index = 11)
+    private String remark;
+
+}

+ 3 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddTransportDemandDraftParam.java

@@ -1,5 +1,6 @@
 package com.sckw.order.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.validation.constraints.Pattern;
 import lombok.Getter;
 import lombok.Setter;
@@ -21,7 +22,7 @@ public class AddTransportDemandDraftParam {
     /**
      * 商品名称
      */
-    @Length(max = 50, message = "商品名称最多支持200字")
+    @Length(max = 50, message = "商品名称最多支持50字")
     private String name;
 
     /**
@@ -55,6 +56,7 @@ public class AddTransportDemandDraftParam {
     /**
      * 截止时间(yyyy-MM-dd)
      */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate deadline;
 
     /**

+ 3 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddTransportDemandParam.java

@@ -1,5 +1,6 @@
 package com.sckw.order.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Pattern;
@@ -22,7 +23,7 @@ public class AddTransportDemandParam {
     /**
      * 商品名称
      */
-    @Length(max = 50, message = "商品名称最多支持200字")
+    @Length(max = 50, message = "商品名称最多支持50字")
     @NotBlank(message = "商品名称不能为空")
     private String name;
 
@@ -59,6 +60,7 @@ public class AddTransportDemandParam {
     /**
      * 截止时间(yyyy-MM-dd)
      */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate deadline;
 
     /**

+ 49 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java

@@ -0,0 +1,49 @@
+package com.sckw.order.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+/**
+ * @desc: 运需导出请求参数
+ * @author: yzc
+ * @date: 2023-07-26 10:07
+ */
+@Getter
+@Setter
+@ToString
+public class ExportTransportDemandParam {
+
+    /**
+     * 关键词模糊匹配 商品名
+     */
+    private String keywords;
+
+    /**
+     * 商品类型集合
+     */
+    private List<String> goodsTypes;
+
+    /**
+     * 装货地区code
+     */
+    private Integer loadAreaCode;
+
+    /**
+     * 装货地区等级
+     */
+    private Integer loadAreaLevel;
+
+    /**
+     * 卸货地区code
+     */
+    private Integer unloadAreaCode;
+
+    /**
+     * 卸货地区等级
+     */
+    private Integer unloadAreaLevel;
+
+}

+ 63 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java

@@ -0,0 +1,63 @@
+package com.sckw.order.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * @desc: 运需分页查询请求参数
+ * @author: yzc
+ * @date: 2023-07-26 9:59
+ */
+@Getter
+@Setter
+@ToString
+public class SelectTransportDemandParam extends PageRequest {
+
+    /**
+     * 关键词模糊匹配 商品名
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 装货地区code
+     */
+    private Integer loadAreaCode;
+
+    /**
+     * 装货地区等级
+     */
+    private Integer loadAreaLevel;
+
+    /**
+     * 卸货地区code
+     */
+    private Integer unloadAreaCode;
+
+    /**
+     * 卸货地区等级
+     */
+    private Integer unloadAreaLevel;
+
+    /**
+     * 运需状态
+     */
+    private Integer status;
+
+}

+ 57 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java

@@ -0,0 +1,57 @@
+package com.sckw.order.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * @desc: 运需统计请求参数
+ * @author: yzc
+ * @date: 2023-07-26 10:07
+ */
+@Getter
+@Setter
+@ToString
+public class StatisticTransportDemandParam {
+
+    /**
+     * 关键词模糊匹配 商品名
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 装货地区code
+     */
+    private Integer loadAreaCode;
+
+    /**
+     * 装货地区等级
+     */
+    private Integer loadAreaLevel;
+
+    /**
+     * 卸货地区code
+     */
+    private Integer unloadAreaCode;
+
+    /**
+     * 卸货地区等级
+     */
+    private Integer unloadAreaLevel;
+
+}

+ 20 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/TransportDemandSquaresParam.java

@@ -0,0 +1,20 @@
+package com.sckw.order.model.vo.req;
+
+import com.sckw.core.model.page.PageRequest;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: TODO
+ * @author: yzc
+ * @date: 2023-07-26 10:27
+ */
+@Getter
+@Setter
+@ToString
+public class TransportDemandSquaresParam extends PageRequest {
+
+
+
+}

+ 99 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateTransportDemandParam.java

@@ -1,8 +1,14 @@
 package com.sckw.order.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
+
+import java.time.LocalDate;
 
 /**
  * @desc: 更新运需请求参数
@@ -13,4 +19,97 @@ import lombok.ToString;
 @Setter
 @ToString
 public class UpdateTransportDemandParam {
+
+    @NotNull(message = "运需id不能为空")
+    private Long id;
+
+    /**
+     * 商品名称
+     */
+    @Length(max = 50, message = "商品名称最多支持50字")
+    private String name;
+
+    /**
+     * 商品分类
+     */
+    private String goodsType;
+
+    /**
+     * 商品规格
+     */
+    @Length(max = 20, message = "商品规格最多支持20字")
+    private String spec;
+
+    /**
+     * 交易方式(预付款、货到付款、线下付款)
+     */
+    private String trading;
+
+    /**
+     * 运需单价
+     */
+    @Length(max = 20, message = "运需单价最多支持20字")
+    private String price;
+
+    /**
+     * 运输总量
+     */
+    @Length(max = 20, message = "运输总量最多支持20字")
+    private String amount;
+
+    /**
+     * 截止时间(yyyy-MM-dd)
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate deadline;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    @Pattern(regexp = "^1[3456789]\\d{9}$", message = "非法手机号格式")
+    private String phone;
+
+    /**
+     * 装货区域code
+     */
+    private Integer loadAreaCode;
+
+    /**
+     * 装货区域名称
+     */
+    private String loadAreaName;
+
+    /**
+     * 装货详细地址
+     */
+    @Length(max = 255, message = "装货详细地址最多支持255字")
+    private String loadDetailAddress;
+
+    /**
+     * 卸货区域code
+     */
+    private Integer unloadAreaCode;
+
+    /**
+     * 卸货区域名称
+     */
+    private String unloadAreaName;
+
+    /**
+     * 卸货详细地址
+     */
+    @Length(max = 255, message = "卸货详细地址最多支持255字")
+    private String unloadDetailAddress;
+
+    /**
+     * 备注
+     */
+    @Length(max = 200, message = "备注最多支持200字")
+    private String remark;
+
 }

+ 148 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/TransportDemandDetailRes.java

@@ -0,0 +1,148 @@
+package com.sckw.order.model.vo.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * @desc: 运需详情响应
+ * @author: yzc
+ * @date: 2023-07-26 9:48
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class TransportDemandDetailRes {
+
+    private Long id;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品分类
+     */
+    private String goodsType;
+
+    /**
+     * 商品分类Label
+     */
+    private String goodsTypeLabel;
+
+    /**
+     * 商品规格
+     */
+    private String spec;
+
+    /**
+     * 交易方式(预付款、货到付款、线下付款)
+     */
+    private String trading;
+
+    /**
+     * 交易方式Label
+     */
+    private String tradingLabel;
+
+    /**
+     * 运需单价
+     */
+    private String price;
+
+    /**
+     * 运输总量
+     */
+    private String amount;
+
+    /**
+     * 截止时间(yyyy-MM-dd)
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate deadline;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 装货区域code
+     */
+    private Integer loadAreaCode;
+
+    /**
+     * 装货区域名称
+     */
+    private String loadAreaName;
+
+    /**
+     * 装货详细地址
+     */
+    private String loadDetailAddress;
+
+    /**
+     * 卸货区域code
+     */
+    private Integer unloadAreaCode;
+
+    /**
+     * 卸货区域名称
+     */
+    private String unloadAreaName;
+
+    /**
+     * 卸货详细地址
+     */
+    private String unloadDetailAddress;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 状态label
+     */
+    private String statusLabel;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+}

+ 1 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -27,8 +27,8 @@ import com.sckw.order.model.vo.res.OrderDetailRes;
 import com.sckw.order.model.vo.res.UnitInfoDetailRes;
 import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.payment.api.model.constant.ChannelEnum;
-import com.sckw.payment.api.model.dto.R;
 import com.sckw.payment.api.model.dto.WalletDto;
+import com.sckw.payment.api.model.dto.common.R;
 import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.product.api.model.KwpGoods;
 import com.sckw.stream.model.SckwBusSum;

+ 119 - 5
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java

@@ -1,13 +1,20 @@
 package com.sckw.order.serivce;
 
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.model.vo.TableStatisticRes;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.order.dao.KwoTransportDemandMapper;
-import com.sckw.order.model.vo.req.AddTransportDemandDraftParam;
-import com.sckw.order.model.vo.req.AddTransportDemandParam;
-import com.sckw.order.model.vo.req.UpdateTransportDemandParam;
+import com.sckw.order.model.KwoTransportDemand;
+import com.sckw.order.model.dto.TransportDemandExport;
+import com.sckw.order.model.vo.req.*;
+import com.sckw.order.model.vo.res.TransportDemandDetailRes;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @desc: 运需service
  * @author: yzc
@@ -21,19 +28,126 @@ public class KwoTransportDemandService {
     private final KwoTransportDemandMapper kwoTransportDemandMapper;
 
 
+    /**
+     * @desc: 添加草稿
+     * @author: yzc
+     * @date: 2023-07-26 10:32
+     * @Param param:
+     * @return: void
+     */
     public void addDraft(AddTransportDemandDraftParam param) {
-
+        KwoTransportDemand transportDemand = BeanUtils.copyProperties(param, KwoTransportDemand.class);
+        transportDemand.setEntId(LoginUserHolder.getEntId()).setStatus(0);
+        kwoTransportDemandMapper.insert(transportDemand);
     }
 
+    /**
+     * @desc: 添加上架
+     * @author: yzc
+     * @date: 2023-07-26 10:32
+     * @Param param:
+     * @return: void
+     */
     public void addShelves(AddTransportDemandParam param) {
 
     }
 
-    public String detail(Long id) {
+    /**
+     * @desc: 运需详情
+     * @author: yzc
+     * @date: 2023-07-26 10:32
+     * @Param id:
+     * @return: com.sckw.order.model.vo.res.TransportDemandDetailRes
+     */
+    public TransportDemandDetailRes detail(Long id) {
         return null;
     }
 
+    /**
+     * @desc: 运需修改
+     * @author: yzc
+     * @date: 2023-07-26 10:33
+     * @Param param:
+     * @return: void
+     */
     public void update(UpdateTransportDemandParam param) {
 
     }
+
+    /**
+     * @desc: 运需分页查询
+     * @author: yzc
+     * @date: 2023-07-26 10:33
+     * @Param param:
+     * @return: com.sckw.core.model.page.PageResult
+     */
+    public PageResult select(SelectTransportDemandParam param) {
+        return null;
+    }
+
+    /**
+     * @desc: 运需统计
+     * @author: yzc
+     * @date: 2023-07-26 10:33
+     * @Param param:
+     * @return: com.sckw.core.model.vo.TableStatisticRes
+     */
+    public TableStatisticRes statistic(StatisticTransportDemandParam param) {
+        return null;
+    }
+
+    /**
+     * @desc: 运需导出
+     * @author: yzc
+     * @date: 2023-07-26 10:33
+     * @Param param:
+     * @return: java.util.List<com.sckw.order.model.dto.TransportDemandExport>
+     */
+    public List<TransportDemandExport> export(ExportTransportDemandParam param) {
+        return null;
+    }
+
+    /**
+     * @desc: 运需上架
+     * @author: yzc
+     * @date: 2023-07-26 10:34
+     * @Param id:
+     * @return: void
+     */
+    public void putOnShelves(Long id) {
+
+    }
+
+    /**
+     * @desc: 运需批量下架
+     * @author: yzc
+     * @date: 2023-07-26 10:34
+     * @Param id:
+     * @return: void
+     */
+    public void batchTakeOffShelves(List<Long> ids) {
+
+    }
+
+    /**
+     * @desc: 运需批量删除
+     * @author: yzc
+     * @date: 2023-07-26 10:34
+     * @Param id:
+     * @return: void
+     */
+    public void batchDelete(List<Long> ids) {
+
+    }
+
+    /**
+     * @desc: 运需广场列表
+     * @author: yzc
+     * @date: 2023-07-26 10:34
+     * @Param param:
+     * @return: com.sckw.core.model.page.PageResult
+     */
+    public PageResult demandSquaresList(TransportDemandSquaresParam param) {
+        return null;
+    }
 }

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

@@ -293,7 +293,7 @@ public class KwpGoodsService {
      */
     private void judgeParameters(UpdateGoodsParam param) {
         if (StringUtils.isBlank(param.getName())) {
-            throw new BusinessException("商品名称不能为空!");
+            throw new BusinessException("商品名称不能为空!");
         }
         if (StringUtils.isBlank(param.getGoodsType())) {
             throw new BusinessException("商品类型不能为空!");

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java

@@ -67,7 +67,7 @@ public class KwsDeptController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@RequestBody KwsDept params) throws SystemException {
+    public HttpResult update(@Valid @RequestBody KwsDept params) throws SystemException {
         kwsDeptService.update(params);
         return HttpResult.ok(HttpStatus.MSG_005);
     }

+ 3 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java

@@ -13,6 +13,7 @@ import com.sckw.system.model.vo.req.EditRoleReqVo;
 import com.sckw.system.model.vo.req.UserBindRoleReqVo;
 import com.sckw.system.model.vo.res.RoleResVo;
 import com.sckw.system.service.KwsRoleService;
+import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import java.util.HashMap;
@@ -62,7 +63,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/add")
-    public HttpResult add(@RequestBody EditRoleReqVo reqVo) throws SystemException {
+    public HttpResult add(@Valid @RequestBody EditRoleReqVo reqVo) throws SystemException {
         kwsRoleService.add(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -75,7 +76,7 @@ public class KwsRoleController {
      * @date 2023/5/30
      **/
     @PostMapping("/update")
-    public HttpResult update(@RequestBody EditRoleReqVo reqVo) throws SystemException {
+    public HttpResult update(@Valid @RequestBody EditRoleReqVo reqVo) throws SystemException {
         kwsRoleService.update(reqVo);
         return HttpResult.ok(HttpStatus.MSG_005);
     }

+ 0 - 34
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/SysUserDao.java

@@ -1,34 +0,0 @@
-package com.sckw.system.dao;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.sckw.system.model.KwsEntType;
-import com.sckw.system.model.SysUser;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface SysUserDao {
-
-    /**
-     * 账号查询用户信息
-     * @param params {account:账号, systemType:系统类别}
-     * @return
-//     */
-    @DS("slave_1")
-    SysUser findByAccount(Map params);
-
-    @DS("master")
-    @Select("SELECT * FROM user limit 1")
-    List<SysUser> findUserByAccount(String account);
-
-    @DS("slave_1")
-    @Select("SELECT * FROM sys_user limit 10")
-    List<Map> findUserByAccount1(String account);
-
-    @DS("slave_1")
-    List<Map<String, Object>> findPage(Map<String, Object> params);
-
-    int cunstomtest(KwsEntType record);
-}

+ 2 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/KwsDept.java

@@ -3,6 +3,7 @@ package com.sckw.system.model;
 import com.sckw.core.model.base.BaseModel;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Data;
 
 /**
@@ -28,6 +29,7 @@ public class KwsDept extends BaseModel {
      * 机构名称
      */
     @NotBlank(message = "机构名称不能为空")
+    @Size(max = 50, message = "机构名称长度不能超过50")
     private String name;
 
     /**

+ 2 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/AddEntSettleReqVo.java

@@ -2,6 +2,7 @@ package com.sckw.system.model.vo.req;
 
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Data;
 
 import java.io.Serial;
@@ -28,6 +29,7 @@ public class AddEntSettleReqVo implements Serializable {
      * 企业名称
      */
     @NotNull(message = "企业名字不能为空")
+    @Size(max = 50, message = "企业名的长度不能超过50")
     private String firmName;
 
     /**

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EditRoleReqVo.java

@@ -1,6 +1,7 @@
 package com.sckw.system.model.vo.req;
 
 import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 import java.io.Serial;
@@ -27,12 +28,12 @@ public class EditRoleReqVo implements Serializable {
     /**
      * 当前机构
      */
-    @NotBlank(message = "当前组织机构不能为空")
     private Long currentUnitId;
 
     /**
      * 功能权限配置 菜单ID,多个用","隔开
      */
+    @NotBlank(message = "菜单必须分配")
     private String menuIds;
 
     /**

+ 60 - 8
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -7,10 +7,7 @@ import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.*;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.utils.StringUtils;
+import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
@@ -297,6 +294,8 @@ public class KwsEnterpriseService {
      */
     @Transactional(rollbackFor = Exception.class)
     public void register(EntRegisterReqVo reqVo) throws SystemException {
+        checkRegisterParam(reqVo);
+
         /*1、存企业信息表*/
         KwsEnterprise kwsEnterprise = kwsEnterpriseDao.selectByKey(reqVo.getEntId());
         if (Objects.isNull(kwsEnterprise)) {
@@ -386,6 +385,15 @@ public class KwsEnterpriseService {
 
     }
 
+    /**
+     * @param reqVo 注册入参
+     * @desc: 校验注册入参
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    private void checkRegisterParam(EntRegisterReqVo reqVo) {
+    }
+
     /**
      * 企业审批
      */
@@ -537,6 +545,9 @@ public class KwsEnterpriseService {
      */
     @Transactional(rollbackFor = {})
     public void addEntSettle(AddEntSettleReqVo reqVo) throws SystemException {
+
+        checkAddEntSettleParam(reqVo);
+
         /*1、存用户信息*/
         RegisterReqDto registerReqDto = new RegisterReqDto();
         registerReqDto.setEntName(reqVo.getFirmName());
@@ -563,6 +574,47 @@ public class KwsEnterpriseService {
 
     }
 
+    /**
+     * @param reqVo 入参
+     * @desc: 新增企业入驻入参校验
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    private void checkAddEntSettleParam(AddEntSettleReqVo reqVo) {
+
+        List<BusinessLicense> businessLicenseList = reqVo.getBusinessLicense();
+        for (BusinessLicense businessLicense : businessLicenseList) {
+            Integer type = businessLicense.getType();
+            if (type.equals(CertificateTypeEnum.BUSINESSLICENSE.getCode())) {
+                if (!RegularUtils.matchWithFix(RegularUtils.NUMBER_AND_UPPERCASE_LATTER, reqVo.getCode(), 18)) {
+                    throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.ENT_CODE_ERROR);
+                }
+            }
+
+            if (type.equals(CertificateTypeEnum.CORPORATION_IDCARD.getCode())) {
+                throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.LEGAL_ID_CARD_ERROR);
+
+            }
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getContacts()) && !RegularUtils.matchs(RegularUtils.NAME, reqVo.getContacts())) {
+            throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.CONTACTS_ERROR);
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getLegalName()) && !RegularUtils.matchs(RegularUtils.NAME, reqVo.getLegalName())) {
+            throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.LEGAL_NAME_ERROR);
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getPhone()) && !RegularUtils.matchs(RegularUtils.PHONE_REG, reqVo.getPhone())) {
+            throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.CONTACTS_PHONE_ERROR);
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getLegalPhone()) && !RegularUtils.matchs(RegularUtils.PHONE_REG, reqVo.getLegalPhone())) {
+            throw new SystemException(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, HttpStatus.LEGAL_PHONE_ERROR);
+        }
+    }
+
+
     public List<KwsEntCheckTrack> entCheck(Long entId) {
         return kwsEntCheckTrackDao.findList(entId);
     }
@@ -677,8 +729,8 @@ public class KwsEnterpriseService {
 
 
     /**
-     * @param  entId id
-     * @return  QueryCurrentOrganization
+     * @param entId id
+     * @return QueryCurrentOrganization
      * @desc: 查询企业的信息+主体机构信息
      * @author: czh
      * @date: 2023/7/22
@@ -729,8 +781,8 @@ public class KwsEnterpriseService {
 
 
     /**
-     * @param  entId id
-     * @return  QueryCurrentOrganization
+     * @param entId id
+     * @return QueryCurrentOrganization
      * @desc: 查询其他入驻企
      * @author: czh
      * @date: 2023/7/22

+ 12 - 8
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -114,6 +114,11 @@ public class KwsUserService {
         /*存用户表、企业表,暂时不处理角色关系,需要认证*/
         KwsUser kwsUser = new KwsUser();
         long userId = new IdWorker(1).nextId();
+        Long createBy = userId;
+        if (Objects.nonNull(LoginUserHolder.getUserId()) && LoginUserHolder.getUserId().compareTo(1L) != 0) {
+            createBy = LoginUserHolder.getUserId();
+        }
+
         kwsUser.setSystemType(reqDto.getSystemType());
         kwsUser.setAccount(reqDto.getPhone());
         kwsUser.setPassword(reqDto.getPassword());
@@ -121,10 +126,8 @@ public class KwsUserService {
         kwsUser.setPhone(reqDto.getPhone());
         kwsUser.setIsMain(reqDto.getIsMain());
         kwsUser.setId(userId);
-        if (Objects.isNull(LoginUserHolder.getUserId()) || LoginUserHolder.getUserId().compareTo(1L) == 0) {
-            kwsUser.setCreateBy(userId);
-            kwsUser.setUpdateBy(userId);
-        }
+        kwsUser.setCreateBy(createBy);
+        kwsUser.setUpdateBy(createBy);
         //填充密码、入库
         fillPassword(kwsUser);
         if (kwsUserDao.insert(kwsUser) <= 0) {
@@ -146,8 +149,9 @@ public class KwsUserService {
             kwsEnterprise.setApproval(ApprovalEnum.NO.getCode());
             kwsEnterprise.setContacts(reqDto.getName());
             kwsEnterprise.setPhone(reqDto.getPhone());
-            kwsEnterprise.setCreateBy(userId);
-            kwsEnterprise.setUpdateBy(userId);
+            kwsEnterprise.setCreateBy(createBy);
+            kwsEnterprise.setUpdateBy(createBy);
+
             registerResDto.setEntId(entId);
             if (kwsEnterpriseDao.insert(kwsEnterprise) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
@@ -160,8 +164,8 @@ public class KwsUserService {
             kwsDept.setName(reqDto.getEntName());
             kwsDept.setSystemType(systemType);
             kwsDept.setCompany(Global.NO);
-            kwsDept.setUpdateBy(userId);
-            kwsDept.setCreateBy(userId);
+            kwsDept.setUpdateBy(createBy);
+            kwsDept.setCreateBy(createBy);
             kwsDeptService.add(kwsDept);
 
             /*3、绑定用户机构关系*/

+ 1 - 4
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -115,7 +115,7 @@
       and a.approval_time >= #{dto.approvalStartTime}
     </if>
     <if test="dto.approvalEndTime != null">
-      and a.approval_time &lt;= #{dto.approvalEndTime}
+      and a.approval_time &lt; date_add(#{dto.approvalEndTime}, INTERVAL 1 DAY))
     </if>
     <if test="dto.status != null and dto.status != ''">
       and a.status = #{dto.status}
@@ -188,9 +188,6 @@
         #{item}
       </foreach>
     </if>
-
-
-
   </select>
 
   <select id="findUserByEntIds" resultType="com.sckw.system.model.pojo.FindEntUserPojo">

+ 2 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuRightsDao.xml

@@ -26,6 +26,7 @@
     from kws_menu_rights
     where id = #{id,jdbcType=BIGINT}
   </select>
+
     <select id="selectByRoleIds" resultType="com.sckw.system.model.KwsMenuRights">
       select
       <include refid="Base_Column_List" />
@@ -36,6 +37,7 @@
         #{item}
       </foreach>
     </select>
+
   <select id="selectByMenuIds" resultType="com.sckw.system.model.KwsMenuRights">
     select
     <include refid="Base_Column_List" />

+ 1 - 1
sckw-modules/sckw-system/src/main/resources/mapper/KwsRoleDao.xml

@@ -158,7 +158,7 @@
       and sr.create_time >= #{startTime,jdbcType=DATE}
     </if>
     <if test="endTime != null and endTime != ''" >
-      and sr.create_time &lt;= #{endTime,jdbcType=DATE}
+      and sr.create_time &lt; date_add(#{endTime}, INTERVAL 1 DAY))
     </if>
     ORDER BY sr.create_time desc
   </select>

+ 2 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDeptDao.xml

@@ -101,6 +101,7 @@
       </if>
     </trim>
   </insert>
+
     <insert id="saveBatch">
       insert into kws_user_dept
       <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -165,4 +166,5 @@
     </set>
     where id = #{id,jdbcType=BIGINT}
   </update>
+
 </mapper>

+ 1 - 1
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserLoginDao.xml

@@ -99,7 +99,7 @@
        and create_time >= #{startTime}
      </if>
      <if test="endTime != null">
-       and create_time &lt;= #{endTime}
+       and create_time &lt; date_add(#{endTime}, INTERVAL 1 DAY)
      </if>
      order by create_time desc
   </select>

+ 0 - 122
sckw-modules/sckw-system/src/main/resources/mapper/SysUserDao.xml

@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sckw.system.dao.SysUserDao">
-  <resultMap id="BaseResultMap" type="com.sckw.system.model.SysUser">
-    <result column="id" property="id" />
-    <result column="system_type" property="systemType" />
-    <result column="account" property="account" />
-    <result column="password" property="password" />
-    <result column="name" property="name" />
-    <result column="phone" property="phone" />
-    <result column="photo" property="photo" />
-    <result column="email" property="email" />
-    <result column="is_main" property="isMain" />
-    <result column="remark" property="remark" />
-    <result column="status" property="status" />
-    <result column="create_by" property="createBy" />
-    <result column="create_time" property="createTime" />
-    <result column="update_by" property="updateBy" />
-    <result column="update_time" property="updateTime" />
-    <result column="del_flag" property="delFlag" />
-  </resultMap>
-  <insert id="cunstomtest" parameterType="com.sckw.system.model.KwsEntType">
-    insert into kws_ent_type
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        id,
-      </if>
-      <if test="entId != null">
-        ent_id,
-      </if>
-      <if test="type != null">
-        type,
-      </if>
-      <if test="remark != null">
-        remark,
-      </if>
-      <if test="status != null">
-        status,
-      </if>
-      <if test="createBy != null">
-        create_by,
-      </if>
-      <if test="createTime != null">
-        create_time,
-      </if>
-      <if test="updateBy != null">
-        update_by,
-      </if>
-      <if test="updateTime != null">
-        update_time,
-      </if>
-      <if test="delFlag != null">
-        del_flag,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=BIGINT},
-      </if>
-      <if test="entId != null">
-        #{entId,jdbcType=BIGINT},
-      </if>
-      <if test="type != null">
-        #{type,jdbcType=INTEGER},
-      </if>
-      <if test="remark != null">
-        #{remark,jdbcType=VARCHAR},
-      </if>
-      <if test="status != null">
-        #{status,jdbcType=INTEGER},
-      </if>
-      <if test="createBy != null">
-        #{createBy,jdbcType=BIGINT},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="updateBy != null">
-        #{updateBy,jdbcType=BIGINT},
-      </if>
-      <if test="updateTime != null">
-        #{updateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="delFlag != null">
-        #{delFlag,jdbcType=INTEGER},
-      </if>
-    </trim>
-  </insert>
-
-  <select id="findByAccount" parameterType="java.util.Map" resultType="com.sckw.system.model.SysUser">
-    SELECT
-      id, system_type systemType, account, password, name, phone, photo, email, is_main isMain,
-      remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
-    FROM
-    sys_user
-    where del_flag = 0
-    <if test="systemType != null and systemType != ''">
-      and system_type = #{systemType, jdbcType=VARCHAR}
-    </if>
-    <if test="account != null and account != ''">
-      and account = #{account, jdbcType=VARCHAR}
-    </if>
-  </select>
-
-  <select id="findPage" resultType="java.util.Map" parameterType="java.util.Map" >
-    SELECT
-    id, system_type systemType, account, password, name, phone, photo, email, is_main isMain,
-    remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
-    FROM
-    sys_user u
-    where del_flag = 0
-    <if test="systemType != null and systemType != ''">
-      and d.system_type = #{systemType, jdbcType=VARCHAR}
-    </if>
-    <if test="account != null and account != ''">
-      and account = #{account, jdbcType=VARCHAR}
-    </if>
-    ORDER BY create_time desc
-  </select>
-
-
-</mapper>