Przeglądaj źródła

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

donglang 2 miesięcy temu
rodzic
commit
e1db7b4cf5
71 zmienionych plików z 2346 dodań i 2611 usunięć
  1. 1 1
      pom.xml
  2. 1 1
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  3. 1 1
      sckw-auth/src/main/resources/bootstrap-cxf.yml
  4. 2 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java
  5. 3 0
      sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java
  6. 4 4
      sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/feign/PaymentFeignService.java
  7. 4 4
      sckw-modules/sckw-contract/src/main/resources/bootstrap-cxf.yml
  8. 1 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java
  9. 3 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrder.java
  10. 3 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderTransport.java
  11. 1 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  12. 40 40
      sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml
  13. 62 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/NoticeController.java
  14. 51 444
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WalletController.java
  15. 1 56
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/operate/OperateWalletController.java
  16. 13 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletCashMapper.java
  17. 13 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletFreightMapper.java
  18. 3 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletMapper.java
  19. 13 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletPayMapper.java
  20. 3 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletPrepayMapper.java
  21. 13 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletSubMapper.java
  22. 70 25
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWallet.java
  23. 126 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletCash.java
  24. 133 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletFreight.java
  25. 123 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletPay.java
  26. 54 7
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletPrepay.java
  27. 133 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletSub.java
  28. 60 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayXwEnum.java
  29. 16 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/Res.java
  30. 15 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/WithdrawRes.java
  31. 39 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/xw/WithdrawDto.java
  32. 31 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/CashActionEnum.java
  33. 31 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/CashStatusEnum.java
  34. 31 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/PrepayActionEnum.java
  35. 31 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/PrepayStatusEnum.java
  36. 47 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/UserPara.java
  37. 83 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/CashVo.java
  38. 0 12
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/CashWalletReq.java
  39. 37 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/CashPage.java
  40. 23 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/ListPage.java
  41. 27 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/PayPage.java
  42. 5 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/PrePayPage.java
  43. 122 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/ListVo.java
  44. 108 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PayVo.java
  45. 117 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PrepayVo.java
  46. 13 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletCashService.java
  47. 12 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletFreightService.java
  48. 12 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletPayService.java
  49. 6 51
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletPrepayService.java
  50. 5 93
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletService.java
  51. 12 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletSubService.java
  52. 66 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/PayXwService.java
  53. 117 1626
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java
  54. 15 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletCashServiceImpl.java
  55. 17 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletFreightServiceImpl.java
  56. 17 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletPayServiceImpl.java
  57. 16 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletPrepayServiceImpl.java
  58. 15 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletServiceImpl.java
  59. 15 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletSubServiceImpl.java
  60. 40 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/MoneyUtil.java
  61. 28 0
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletCashMapper.xml
  62. 30 0
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletFreightMapper.xml
  63. 12 7
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletMapper.xml
  64. 28 0
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletPayMapper.xml
  65. 7 2
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletPrepayMapper.xml
  66. 30 0
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletSubMapper.xml
  67. 60 210
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  68. 11 4
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/server/KwsEnterpriseServerController.java
  69. 56 4
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  70. 4 4
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java
  71. 4 4
      sckw-modules/sckw-system/src/main/resources/bootstrap-cxf.yml

+ 1 - 1
pom.xml

@@ -376,7 +376,7 @@
             <id>cxf</id>
             <properties>
                 <profiles.active>cxf</profiles.active>
-                <nacos.server>10.10.10.224:8848</nacos.server>
+                <nacos.server>118.116.4.155:8848</nacos.server>
                 <nacos.namespace>sckw-ng-service-platform-cxf</nacos.namespace>
             </properties>
         </profile>

+ 1 - 1
sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java

@@ -1027,7 +1027,7 @@ public class AuthServiceImpl implements IAuthService {
                 "个人中心",
                 "/static/tabbar/my_select.png",
                 "/static/tabbar/my.png",
-                "/pages/forklift/my"
+                "/pages/purchaser/my"
         ));
         return items;
     }

+ 1 - 1
sckw-auth/src/main/resources/bootstrap-cxf.yml

@@ -18,7 +18,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         shared-configs:
-          - data-id: sckw-common.yml
+          - data-id: sckw-system-common.yml
             group: sckw-ng-common
             refresh: true
 

+ 2 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java

@@ -1,5 +1,6 @@
 package com.sckw.core.model.base;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.validation.constraints.Size;
@@ -23,6 +24,7 @@ public class BaseModel implements Serializable {
 	/**
 	 * 主键
 	 */
+	@TableId(value = "id", type = IdType.AUTO)
 	private Long id;
 
 	/**

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

@@ -150,4 +150,7 @@ public class RedisConstant {
     public static final String SIGN_TRADE_CONTRACT = "sign:trade:contract:%s";
     public static final String SIGN_LOGISTICS_CONTRACT = "sign:trade:contract:%s";
 
+    public static final String CASH_LOCK = "sckw:cash:%s";
+
+
 }

+ 4 - 4
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/feign/PaymentFeignService.java

@@ -21,25 +21,25 @@ public interface PaymentFeignService {
     /**
      * 初始化预付清单
      */
-    @PostMapping("/initPrepaidBalance")
+    @PostMapping("/walletPrepaid/initPrepaidBalance")
     BaseResult<Object> initPrepaidBalance(@RequestBody WalletPrepaidDto prepaidDto);
 
     /**
      * 预付清单冻结、解冻、消费接口
      */
-    @PostMapping("/updatePrepaidBalance")
+    @PostMapping("/walletPrepaid/updatePrepaidBalance")
     BaseResult<Object> updatePrepaidBalance(@RequestBody WalletPrepaidDto prepaidDto);
 
     /**
      * 初始化运费清单
      */
-    @PostMapping("/initPayable")
+    @PostMapping("/walletPayable/initPayable")
     BaseResult<Object> initPayable(@RequestBody WalletPayableDto payableAddDto);
 
     /**
      * 运费清单冻结、解冻、消费接口
      */
-    @PostMapping("/updatePayable")
+    @PostMapping("/walletPayable/updatePayable")
     BaseResult<Object> updatePayable(@RequestBody @Validated WalletPayableDto payableUpdateDto);
 
 

+ 4 - 4
sckw-modules/sckw-contract/src/main/resources/bootstrap-cxf.yml

@@ -3,16 +3,16 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: @nacos.server@
+        server-addr: 118.116.4.155:8848
         # 命名空间
-        namespace: @nacos.namespace@
+        namespace: sckw-ng-service-platform-xf
         # 共享配置
         group: sckw-ng-service-platform
       config:
         # 配置中心地址
-        server-addr: @nacos.server@
+        server-addr: 118.116.4.155:8848
         # 命名空间
-        namespace: @nacos.namespace@
+        namespace: sckw-ng-service-platform-xf
         # 共享配置
         group: sckw-ng-service-platform
         # 配置文件格式

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

@@ -110,7 +110,7 @@ public class KwoTradeOrderController {
     /**
      * 门户贸易订单下单
      */
-    @GlobalTransactional(name = "default_tx_group")
+//    @GlobalTransactional(name = "default_tx_group")
     @RepeatSubmit(interval = 1000, message = "前方拥堵,请稍后尝试")
     @PostMapping(value = "/addOrder", produces = MediaType.APPLICATION_JSON_VALUE)
     @Operation(summary = "门户贸易订单下单", description = "门户贸易订单下单")

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

@@ -1,6 +1,8 @@
 package com.sckw.order.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.sckw.core.model.base.BaseModel;
@@ -33,6 +35,7 @@ public class KwoTradeOrder extends BaseModel implements Serializable {
     /**
      * 订单id
      */
+    @TableId(value = "id", type = IdType.INPUT)
     private Long id;
 
     private Long entId;

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

@@ -1,5 +1,7 @@
 package com.sckw.order.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
@@ -23,6 +25,7 @@ public class KwoTradeOrderTransport {
     /**
     * 主键
     */
+    @TableId(value = "id", type = IdType.INPUT)
     private Long id;
 
     /**

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

@@ -2072,6 +2072,7 @@ public class KwoTradeOrderService {
      *
      * @param tradeOrderParam
      */
+    @Transactional(rollbackFor = Exception.class)
     public void addTradeOrder(TradeOrderParam tradeOrderParam) {
         KwoTradeOrder order = new KwoTradeOrder();
         order.setId(new IdWorker(1).nextId());

+ 40 - 40
sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml

@@ -128,26 +128,26 @@
             <if test="query.contractId != null">
                 and f.contract_id = #{query.contractId}
             </if>
-            <if test="query.dataPermissionForceEmpty != null and query.dataPermissionForceEmpty">
-                and 1 = 0
-            </if>
-            <if test="query.dataPermissionFilter != null and query.dataPermissionFilter">
-                and exists (
-                    select 1
-                    from kwc_contract_trade ct
-                    where ct.id = f.contract_id
-                      and ct.del_flag = 0
-                    <if test="query.dataPermissionAllVisible != null and !query.dataPermissionAllVisible">
-                        and ct.ent_id in
-                        <foreach collection="query.dataPermissionEntIds" item="entId" open="(" close=")" separator=",">
-                            #{entId}
-                        </foreach>
-                    </if>
-                    <if test="query.dataPermissionPersonal != null and query.dataPermissionPersonal">
-                        and ct.salesman_id = #{query.dataPermissionUserId}
-                    </if>
-                )
-            </if>
+<!--            <if test="query.dataPermissionForceEmpty != null and query.dataPermissionForceEmpty">-->
+<!--                and 1 = 0-->
+<!--            </if>-->
+<!--            <if test="query.dataPermissionFilter != null and query.dataPermissionFilter">-->
+<!--                and exists (-->
+<!--                    select 1-->
+<!--                    from kwc_contract_trade ct-->
+<!--                    where ct.id = f.contract_id-->
+<!--                      and ct.del_flag = 0-->
+<!--                    <if test="query.dataPermissionAllVisible != null and !query.dataPermissionAllVisible">-->
+<!--                        and ct.ent_id in-->
+<!--                        <foreach collection="query.dataPermissionEntIds" item="entId" open="(" close=")" separator=",">-->
+<!--                            #{entId}-->
+<!--                        </foreach>-->
+<!--                    </if>-->
+<!--                    <if test="query.dataPermissionPersonal != null and query.dataPermissionPersonal">-->
+<!--                        and ct.salesman_id = #{query.dataPermissionUserId}-->
+<!--                    </if>-->
+<!--                )-->
+<!--            </if>-->
             <if test="query.saleEntId != null">
                 and e.ent_id = #{query.saleEntId}
             </if>
@@ -522,26 +522,26 @@
             <if test="query.saleEntId != null">
                 and e.ent_id = #{query.saleEntId}
             </if>
-            <if test="query.dataPermissionForceEmpty != null and query.dataPermissionForceEmpty">
-                and 1 = 0
-            </if>
-            <if test="query.dataPermissionFilter != null and query.dataPermissionFilter">
-                and exists (
-                    select 1
-                    from kwc_contract_trade ct
-                    where ct.id = f.contract_id
-                      and ct.del_flag = 0
-                    <if test="query.dataPermissionAllVisible != null and !query.dataPermissionAllVisible">
-                        and ct.ent_id in
-                        <foreach collection="query.dataPermissionEntIds" item="entId" open="(" close=")" separator=",">
-                            #{entId}
-                        </foreach>
-                    </if>
-                    <if test="query.dataPermissionPersonal != null and query.dataPermissionPersonal">
-                        and ct.salesman_id = #{query.dataPermissionUserId}
-                    </if>
-                )
-            </if>
+<!--            <if test="query.dataPermissionForceEmpty != null and query.dataPermissionForceEmpty">-->
+<!--                and 1 = 0-->
+<!--            </if>-->
+<!--            <if test="query.dataPermissionFilter != null and query.dataPermissionFilter">-->
+<!--                and exists (-->
+<!--                    select 1-->
+<!--                    from kwc_contract_trade ct-->
+<!--                    where ct.id = f.contract_id-->
+<!--                      and ct.del_flag = 0-->
+<!--                    <if test="query.dataPermissionAllVisible != null and !query.dataPermissionAllVisible">-->
+<!--                        and ct.ent_id in-->
+<!--                        <foreach collection="query.dataPermissionEntIds" item="entId" open="(" close=")" separator=",">-->
+<!--                            #{entId}-->
+<!--                        </foreach>-->
+<!--                    </if>-->
+<!--                    <if test="query.dataPermissionPersonal != null and query.dataPermissionPersonal">-->
+<!--                        and ct.salesman_id = #{query.dataPermissionUserId}-->
+<!--                    </if>-->
+<!--                )-->
+<!--            </if>-->
             <if test="query.status != null">
                 and a.status = #{query.status}
             </if>

+ 62 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/NoticeController.java

@@ -0,0 +1,62 @@
+package com.sckw.payment.controller;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.payment.service.WalletService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 通知
+ *
+ * @author xucaiqin
+ * @date 2023-08-28 15:36:48
+ */
+@Tag(name = "通知", description = "通知")
+@Validated
+@RestController
+@RequestMapping("/notice")
+@Slf4j
+public class NoticeController {
+    @Resource
+    private WalletService walletService;
+
+    /**
+     * 【接口】用户开户回调
+     *
+     */
+    @Operation(summary = "用户开户回调", description = "用户开户回调")
+    @PostMapping("/user")
+    public HttpResult createUser(@RequestBody @Valid JSONObject jsonObject) {
+        return HttpResult.ok(walletService.userNotice(jsonObject));
+    }
+
+    /**
+     * 【接口】提现回调通知
+     *
+     */
+    @Operation(summary = "提现回调通知", description = "提现回调通知")
+    @PostMapping("/cash")
+    public Object cash(@RequestBody @Valid JSONObject jsonObject) {
+        return HttpResult.ok(walletService.cashNotice(jsonObject));
+    }
+
+    /**
+     * 【接口】清分回调通知
+     *
+     */
+    @Operation(summary = "清分回调通知", description = "清分回调通知")
+    @PostMapping("/split")
+    public Object split(@RequestBody @Valid JSONObject jsonObject) {
+        return HttpResult.ok(walletService.splitNotice(jsonObject));
+    }
+
+}

+ 51 - 444
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WalletController.java

@@ -1,18 +1,23 @@
 package com.sckw.payment.controller;
 
+import com.sckw.core.model.page.PageRes;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.payment.model.dto.Id;
-import com.sckw.payment.model.vo.req.*;
-import com.sckw.payment.model.vo.req.page.MoneyPage;
+import com.sckw.payment.api.model.dto.common.R;
+import com.sckw.payment.model.vo.req.CashVo;
+import com.sckw.payment.model.vo.req.CashWalletReq;
+import com.sckw.payment.model.vo.req.CreateUserReq;
+import com.sckw.payment.model.vo.req.page.CashPage;
+import com.sckw.payment.model.vo.req.page.ListPage;
+import com.sckw.payment.model.vo.req.page.PayPage;
 import com.sckw.payment.model.vo.req.page.PrePayPage;
-import com.sckw.payment.model.vo.req.page.RefundPage;
+import com.sckw.payment.model.vo.res.PrepayVo;
 import com.sckw.payment.service.WalletService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -33,10 +38,9 @@ public class WalletController {
     private WalletService walletService;
 
     /**
-     * 开户
+     * 【接口】开户
      *
      * @param createUserReq 开户请求参数
-     * @return 操作结果
      */
     @Operation(summary = "开户", description = "为用户开通钱包账户")
     @PostMapping("createUser")
@@ -45,478 +49,81 @@ public class WalletController {
     }
 
     /**
-     * 渠道用户开通信息
-     *
-     * @param uid     用户ID
-     * @param channel 渠道
-     * @return 用户开通信息
-     */
-    @Operation(summary = "查询渠道用户开通信息", description = "查询指定用户在指定渠道的开通信息")
-    @Parameter(name = "uid", description = "用户ID", required = true)
-    @Parameter(name = "channel", description = "渠道", required = true)
-    @GetMapping("userInfo")
-    public HttpResult userInfo(@NotBlank(message = "uid不能为空") @RequestParam("uid") String uid,
-                               @NotBlank(message = "channel不能为空") @RequestParam("channel") String channel) {
-        return HttpResult.ok(walletService.userInfo(uid, channel));
-    }
-
-    /**
-     * 钱包总览信息
-     *
-     * @param queryChannel 是否查询渠道信息
-     * @return 钱包总览信息
-     */
-    @Operation(summary = "钱包总览信息", description = "获取当前用户的钱包总览信息")
-    @Parameter(name = "queryChannel", description = "是否查询渠道信息")
-    @GetMapping("overview")
-    public HttpResult overview(boolean queryChannel) {
-        return HttpResult.ok(walletService.walletOverview(queryChannel));
-    }
-
-    /**
-     * 渠道开通情况
-     *
-     * @return 渠道开通情况列表
-     */
-    @Operation(summary = "渠道开通情况", description = "查询所有渠道的开通情况")
-    @GetMapping("channel")
-    public HttpResult channel() {
-        return HttpResult.ok(walletService.channel());
-    }
-
-    /**
-     * 查询资金明细
-     *
-     * @param walletDetailReq 查询参数
-     * @return 资金明细列表
-     */
-    @Operation(summary = "查询资金明细", description = "根据条件查询资金明细")
-    @GetMapping("detail")
-    public HttpResult detail(WalletDetailReq walletDetailReq) {
-        return HttpResult.ok(walletService.walletDetail(walletDetailReq));
-    }
-
-    /**
-     * 查询资金明细-按渠道统计数量
-     *
-     * @param entName 企业名称
-     * @return 统计结果
-     */
-    @Operation(summary = "资金明细按渠道统计", description = "按渠道统计资金明细数量")
-    @Parameter(name = "entName", description = "企业名称")
-    @GetMapping("detailCount")
-    public HttpResult count(String entName) {
-        return HttpResult.ok(walletService.walletCount(entName));
-    }
-
-    /**
-     * 新增账目
-     *
-     * @param addWalletReq 新增账目参数
-     * @return 操作结果
+     * 【接口】钱包信息
      */
-    @Operation(summary = "新增账目", description = "新增一笔账目")
-    @PostMapping("add")
-    public HttpResult add(@RequestBody @Valid AddWalletReq addWalletReq) {
-        return HttpResult.ok(walletService.addWallet(addWalletReq));
+    @Operation(summary = "查询用户钱包信息", description = "查询用户钱包信息")
+    @Parameter(name = "entId", description = "企业id", required = true)
+    @GetMapping("/info")
+    public R<Object> userInfo(@NotNull(message = "entId不能为空") @RequestParam("entId") Long entId) {
+        return walletService.userInfo(entId);
     }
 
     /**
-     * 账目充值
-     *
-     * @param addWalletReq 充值参数
-     * @return 操作结果
+     * 【接口】可提现余额分页查询
      */
-    @Operation(summary = "账目充值", description = "为账户充值")
-    @PostMapping("recharge")
-    public HttpResult recharge(@RequestBody @Valid WalletAppendReq addWalletReq) {
-        return HttpResult.ok(walletService.addWalletMoney(addWalletReq));
+    @Operation(summary = "可提现余额分页查询", description = "可提现余额分页查询")
+    @Parameter(name = "entId", description = "企业id", required = true)
+    @PostMapping("/cashPage")
+    public R<PageRes<CashVo>> cashPage(@RequestBody @Valid CashPage cashPage) {
+        return R.ok(walletService.cashPage(cashPage));
     }
 
     /**
-     * 提现
+     * 【接口】提现
      *
      * @param cashWalletReq 提现参数
      * @return 操作结果
      */
     @Operation(summary = "提现", description = "发起提现操作")
     @PostMapping("cashOUt")
-    public HttpResult cashOUt(@RequestBody @Valid CashWalletReq cashWalletReq) {
-        return HttpResult.ok(walletService.cashOUt(cashWalletReq));
-    }
-
-    /**
-     * 重新提现
-     *
-     * @param cashWalletReq 提现参数
-     * @return 操作结果
-     */
-    @Operation(summary = "重新提现", description = "重新发起提现操作")
-    @PostMapping("reCashOUt")
-    public HttpResult reCashOUt(@RequestBody @Valid CashWalletReq cashWalletReq) {
-        return HttpResult.ok(walletService.reCashOUt(cashWalletReq));
-    }
-
-    /**
-     * 转账
-     *
-     * @param transferReq 转账参数
-     * @return 操作结果
-     */
-    @Operation(summary = "转账", description = "发起转账操作")
-    @PostMapping("transfer")
-    public HttpResult transfer(@RequestBody @Valid TransferReq transferReq) {
-        return HttpResult.ok(walletService.transfer(transferReq));
-    }
-
-    /**
-     * 提现记录
-     *
-     * @param cashPageReq 查询参数
-     * @return 提现记录列表
-     */
-    @Operation(summary = "提现记录", description = "查询提现记录")
-    @GetMapping("cashList")
-    public HttpResult cashList(CashPageReq cashPageReq) {
-        return HttpResult.ok(walletService.cashList(cashPageReq));
-    }
-
-    /**
-     * 提现记录 分类统计
-     *
-     * @param cashPageReq 查询参数
-     * @return 统计结果
-     */
-    @Operation(summary = "提现记录分类统计", description = "对提现记录进行分类统计")
-    @GetMapping("cashCount")
-    public HttpResult cashCount(CashPageReq cashPageReq) {
-        return HttpResult.ok(walletService.cashCount(cashPageReq));
-    }
-
-    /**
-     * 预付列表
-     *
-     * @param prePayPage 查询参数
-     * @return 预付列表
-     */
-    @Operation(summary = "预付列表", description = "查询预付列表")
-    @GetMapping("prePayList")
-    public HttpResult prePayList(PrePayPage prePayPage) {
-        return HttpResult.ok(walletService.prePayList(prePayPage));
-    }
-
-
-    /**
-     * 预付列表-按渠道统计数量
-     *
-     * @param entName 企业名称
-     * @return 统计结果
-     */
-    @Operation(summary = "预付列表按渠道统计", description = "预付列表-按渠道统计数量")
-    @Parameter(name = "entName", description = "企业名称")
-    @GetMapping("prePayCount")
-    public HttpResult prePayCount(String entName) {
-        return HttpResult.ok(walletService.prePayCount(entName));
-    }
-
-    /**
-     * 预收列表
-     *
-     * @param prePayPage 查询参数
-     * @return 预收列表
-     */
-    @Operation(summary = "预收列表", description = "查询预收列表")
-    @GetMapping("preReceiveList")
-    public HttpResult preReceiveList(PrePayPage prePayPage) {
-        return HttpResult.ok(walletService.preReceiveList(prePayPage));
-    }
-
-    /**
-     * 预收列表-按渠道统计数量
-     *
-     * @param entName 企业名称
-     * @return 统计结果
-     */
-    @Operation(summary = "预收列表按渠道统计", description = "预收列表-按渠道统计数量")
-    @Parameter(name = "entName", description = "企业名称")
-    @GetMapping("preReceiveCount")
-    public HttpResult preReceiveCount(String entName) {
-        return HttpResult.ok(walletService.preReceiveCount(entName));
-    }
-
-    /**
-     * 预付校验
-     *
-     * @param prePayCheck 校验参数
-     * @return 校验结果
-     */
-    @Operation(summary = "预付校验", description = "预付操作前的校验")
-    @PostMapping("prePayCheck")
-    public HttpResult prePayCheck(@RequestBody @Valid PrePayCheck prePayCheck) {
-        return HttpResult.ok(walletService.prePayCheck(prePayCheck));
-    }
-
-    /**
-     * 新增预付
-     *
-     * @param prePay 预付参数
-     * @return 操作结果
-     */
-    @Operation(summary = "新增预付", description = "新增一笔预付")
-    @PostMapping("addPrePay")
-    public HttpResult addPrePay(@RequestBody @Valid PrePay prePay) {
-        return HttpResult.ok(walletService.addPrePay(prePay));
-    }
-
-    /**
-     * 处理查询
-     *
-     * @param operateReq 查询参数
-     * @return 查询结果
-     */
-    @Operation(summary = "处理查询", description = "查询处理信息")
-    @PostMapping("dealQuery")
-    public HttpResult dealQuery(@RequestBody @Valid OperateReq operateReq) {
-        return HttpResult.ok(walletService.dealQuery(operateReq));
-    }
-
-    /**
-     * 提现确认
-     * @param cashCheck 提现确认参数
-     * @return 操作结果
-     */
-    @Operation(summary = "提现确认", description = "确认提现操作")
-    @PostMapping("cashCheck")
-    public HttpResult cashCheck(@RequestBody @Valid CashCheck cashCheck) {
-        return HttpResult.ok(walletService.cashCheck(cashCheck));
-    }
-
-    /**
-     * 预付追加校验
-     *
-     * @param appendPayCheck 校验参数
-     * @return 校验结果
-     */
-    @Operation(summary = "预付追加校验", description = "预付追加操作前的校验")
-    @PostMapping("appendCheck")
-    public HttpResult prePayAppendCheck(@RequestBody @Valid AppendPayCheck appendPayCheck) {
-        return HttpResult.ok(walletService.appendCheck(appendPayCheck));
-    }
-
-    /**
-     * 预付追加
-     *
-     * @param prePay 追加参数
-     * @return 操作结果
-     */
-    @Operation(summary = "预付追加", description = "追加预付金额")
-    @PostMapping("prePayAppend")
-    public HttpResult prePayAppend(@RequestBody @Valid PrePayAppend prePay) {
-        return HttpResult.ok(walletService.prePayAppend(prePay));
-    }
-
-
-    /*退款*/
-
-    /**
-     * 申请退款(预付方)
-     *
-     * @param refundReq 退款参数
-     * @return 操作结果
-     */
-    @Operation(summary = "申请退款", description = "申请退款(预付方)")
-    @PostMapping("applyRefund")
-    public HttpResult applyRefund(@RequestBody @Valid ApplyRefundReq refundReq) {
-        return HttpResult.ok(walletService.applyRefund(refundReq));
-    }
-
-
-    /**
-     * 查询退款列表(预收方)
-     *
-     * @param refundPage 查询参数
-     * @return 退款列表
-     */
-    @Operation(summary = "查询退款列表", description = "查询退款列表(预收方)")
-    @PostMapping("refundList")
-    public HttpResult refundList(@RequestBody @Valid RefundPage refundPage) {
-        return HttpResult.ok(walletService.refundList(refundPage));
+    public R<Object> cashOUt(@RequestBody @Valid CashWalletReq cashWalletReq) {
+        return R.ok(walletService.cashOUt(cashWalletReq));
     }
 
+    /*预付*/
 
     /**
-     * 发起退款(预收方)余额查询及校验
+     * 【接口】预付(待履约)清单分页查询
      *
-     * @param id 退款单id
-     * @return 校验结果
+     * @param listPage
      */
-    @Operation(summary = "发起退款校验", description = "发起退款(预收方)余额查询及校验")
-    @PostMapping("refundCheck")
-    public HttpResult refundCheck(@RequestBody @Valid Id id) {
-        return HttpResult.ok(walletService.refundCheck(id.getIdLong()));
+    @Operation(summary = "预付(待履约)清单分页查询", description = "预付(待履约)清单分页查询")
+    @PostMapping("/prepayList")
+    public R<Object> prepayList(@RequestBody @Valid ListPage listPage) {
+        return R.ok(walletService.prepayList(listPage));
     }
 
     /**
-     * 确认退款
-     *
-     * @param refundReq 退款参数
-     * @return 操作结果
+     * 【接口】支付记录/预付记录
      */
-    @Operation(summary = "确认退款", description = "确认退款操作")
-    @PostMapping("refund")
-    public HttpResult refund(@RequestBody @Valid RefundReq refundReq) {
-        return HttpResult.ok(walletService.launchRefund(refundReq));
+    @Operation(summary = "支付记录/预付记录", description = "支付记录/预付记录")
+    @PostMapping("/payList")
+    public R<Object> prepayRecord(@RequestBody @Valid PayPage payPage) {
+        return R.ok(walletService.prepayRecord(payPage));
     }
 
     /**
-     * 驳回退款
+     * 【接口】预付(待履约)明细分页查询
      *
-     * @param refundReq 驳回参数
-     * @return 操作结果
+     * @param prePayPage 预付
      */
-    @Operation(summary = "驳回退款", description = "驳回退款申请")
-    @PostMapping("backRefund")
-    public HttpResult back(@RequestBody @Valid RefundBackReq refundReq) {
-        return HttpResult.ok(walletService.backRefund(refundReq));
+    @Operation(summary = "预付(待履约)明细分页查询", description = "预付(待履约)明细分页查询")
+    @PostMapping("/prepayPage")
+    public R<PageRes<PrepayVo>> prepayPage(@RequestBody @Valid PrePayPage prePayPage) {
+        return R.ok(walletService.prepayPage(prePayPage));
     }
 
 
-
-    /*资金明细-详细记录*/
-
     /**
-     * 充值订单
+     * 【接口】预付(待收)运费清单分页查询
      *
-     * @param moneyPage 查询参数
-     * @return 充值订单列表
+     * @param listPage
      */
-    @Operation(summary = "充值订单", description = "查询充值订单列表")
-    @PostMapping("rechargeOrder")
-    public HttpResult rechargeList(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.rechargeList(moneyPage));
+    @Operation(summary = "预付(待收)运费清单分页查询", description = "预付(待收)运费清单分页查询")
+    @PostMapping("/duePay")
+    public R<Object> duePay(@RequestBody @Valid ListPage listPage) {
+        return R.ok(walletService.duePayList(listPage));
     }
 
-    /**
-     * 转账订单
-     *
-     * @param moneyPage 查询参数
-     * @return 转账订单列表
-     */
-    @Operation(summary = "转账订单", description = "查询转账订单列表")
-    @PostMapping("transferOrder")
-    public HttpResult transferList(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.transferOrder(moneyPage));
-    }
 
-    /**
-     * 货到付款订单
-     *
-     * @param moneyPage 查询参数
-     * @return 货到付款订单列表
-     */
-    @Operation(summary = "货到付款订单", description = "查询货到付款订单列表")
-    @PostMapping("receiveOrder")
-    public HttpResult receiveOrder(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.transferReceiveOrder(moneyPage));
-    }
-
-    /**
-     * 退款订单
-     *
-     * @param moneyPage 查询参数
-     * @return 退款订单列表
-     */
-    @Operation(summary = "退款订单", description = "查询退款订单列表")
-    @PostMapping("refundOrder")
-    public HttpResult refundOrder(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.refundOrder(moneyPage));
-    }
-
-    /**
-     * 提现订单
-     *
-     * @param moneyPage 查询参数
-     * @return 提现订单列表
-     */
-    @Operation(summary = "提现订单", description = "查询提现订单列表")
-    @PostMapping("cashOrder")
-    public HttpResult cashOrder(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.cashOrder(moneyPage));
-    }
-
-    /*提现-详细记录*/
-
-    /**
-     * 提现详情
-     *
-     * @param cashDetailReq 查询参数
-     * @return 提现详情
-     */
-    @Operation(summary = "提现详情", description = "查询提现详情")
-    @PostMapping("cashDetail")
-    public HttpResult cashDetail(@RequestBody @Valid CashDetailReq cashDetailReq) {
-        return HttpResult.ok(walletService.cashDetail(cashDetailReq));
-    }
-    /*预付-详细记录*/
-
-    /**
-     * 预付订单
-     *
-     * @param moneyPage 查询参数
-     * @return 预付订单列表
-     */
-    @Operation(summary = "预付订单", description = "查询预付订单列表")
-    @PostMapping("prePayOrder")
-    public HttpResult prePayOrder(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.prePayOrder(moneyPage));
-    }
-
-    /**
-     * 退款记录
-     *
-     * @param moneyPage 查询参数
-     * @return 退款记录列表
-     */
-    @Operation(summary = "预付退款记录", description = "查询预付退款记录")
-    @PostMapping("prePayRefund")
-    public HttpResult prePayRefund(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.prePayRefund(moneyPage));
-    }
-
-    /**
-     * 预付消费日志
-     *
-     * @param moneyPage 查询参数
-     * @return 消费日志列表
-     */
-    @Operation(summary = "预付消费日志", description = "查询预付消费日志")
-    @GetMapping("prePayLogs")
-    public HttpResult prePayLogs(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.prePayLogs(moneyPage));
-    }
-    /*预收-详细记录*/
-
-    /**
-     * 预收订单
-     *
-     * @param moneyPage 查询参数
-     * @return 预收订单列表
-     */
-    @Operation(summary = "预收订单", description = "查询预收订单列表")
-    @PostMapping("preReceiveOrder")
-    public HttpResult preReceiveOrder(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.preReceiveOrder(moneyPage));
-    }
-
-    /**
-     * 退款订单
-     *
-     * @param moneyPage 查询参数
-     * @return 退款订单列表
-     */
-    @Operation(summary = "预收退款订单", description = "查询预收退款订单")
-    @PostMapping("preReceiveRefund")
-    public HttpResult preReceiveRefund(@RequestBody @Valid MoneyPage moneyPage) {
-        return HttpResult.ok(walletService.preReceiveRefund(moneyPage));
-    }
-}
+}

+ 1 - 56
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/operate/OperateWalletController.java

@@ -1,16 +1,10 @@
 package com.sckw.payment.controller.operate;
 
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.payment.model.vo.req.CashPageReq;
-import com.sckw.payment.model.vo.req.WalletDetailReq;
-import com.sckw.payment.model.vo.req.page.PrePayPage;
 import com.sckw.payment.service.WalletService;
-import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -30,54 +24,5 @@ public class OperateWalletController {
     private WalletService walletService;
 
 
-    /**
-     * 查询资金明细
-     *
-     * @param walletDetailReq 查询参数
-     * @return 资金明细列表
-     */
-    @Operation(summary = "资金明细", description = "查询钱包资金明细")
-    @GetMapping("detail")
-    public HttpResult detail(WalletDetailReq walletDetailReq) {
-        return HttpResult.ok(walletService.walletDetail2(walletDetailReq));
-    }
 
-
-    /**
-     * 提现记录
-     *
-     * @param cashPageReq 查询参数
-     * @return 提现记录列表
-     */
-    @Operation(summary = "提现记录", description = "查询提现记录列表")
-    @GetMapping("cashList")
-    public HttpResult cashList(CashPageReq cashPageReq) {
-        return HttpResult.ok(walletService.cashList2(cashPageReq));
-    }
-
-
-    /**
-     * 提现记录 分类统计
-     *
-     * @param cashPageReq 查询参数
-     * @return 统计结果
-     */
-    @Operation(summary = "提现记录统计", description = "提现记录分类统计")
-    @GetMapping("cashCount")
-    public HttpResult cashCount(CashPageReq cashPageReq) {
-        return HttpResult.ok(walletService.cashCount2(cashPageReq));
-    }
-
-    /**
-     * 预付列表
-     *
-     * @param prePayPage 查询参数
-     * @return 预付列表
-     */
-    @Operation(summary = "预付列表", description = "查询预付列表")
-    @GetMapping("prePayList")
-    public HttpResult prePayList(PrePayPage prePayPage) {
-        return HttpResult.ok(walletService.prePayList2(prePayPage));
-    }
-
-}
+}

+ 13 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletCashMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.payment.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.payment.model.KwpWalletCash;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Mapper
+public interface KwpWalletCashMapper extends BaseMapper<KwpWalletCash> {
+}

+ 13 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletFreightMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.payment.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.payment.model.KwpWalletFreight;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Mapper
+public interface KwpWalletFreightMapper extends BaseMapper<KwpWalletFreight> {
+}

+ 3 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletMapper.java

@@ -5,9 +5,9 @@ import com.sckw.payment.model.KwpWallet;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
-* @date 2023-10-07 08:49:45
-* @author xucaiqin
-*/
+ * @author xucaiqin
+ * @date 2026-03-26 14:33:23
+ */
 @Mapper
 public interface KwpWalletMapper extends BaseMapper<KwpWallet> {
 }

+ 13 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletPayMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.payment.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.payment.model.KwpWalletPay;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+@Mapper
+public interface KwpWalletPayMapper extends BaseMapper<KwpWalletPay> {
+}

+ 3 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletPrepayMapper.java

@@ -5,9 +5,9 @@ import com.sckw.payment.model.KwpWalletPrepay;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
-* @date 2023-09-22 15:49:51
-* @author xucaiqin
-*/
+ * @author xucaiqin
+ * @date 2026-03-26 14:45:11
+ */
 @Mapper
 public interface KwpWalletPrepayMapper extends BaseMapper<KwpWalletPrepay> {
 }

+ 13 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletSubMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.payment.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.payment.model.KwpWalletSub;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+@Mapper
+public interface KwpWalletSubMapper extends BaseMapper<KwpWalletSub> {
+}

+ 70 - 25
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWallet.java

@@ -4,99 +4,144 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
 
 /**
- * 钱包相关操作表
-* @date 2023-10-07 08:49:45
-* @author xucaiqin
-*/
+ * 钱包表
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:33:23
+ */
+@Schema(description = "钱包表")
 @Data
 @TableName(value = "kwp_wallet")
 public class KwpWallet {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
     private Long id;
 
+    /**
+     * 企业id
+     */
+    @TableField(value = "ent_id")
+    @Schema(description = "企业id")
+    private Long entId;
+
     /**
      * uid
      */
     @TableField(value = "`uid`")
+    @Schema(description = "uid")
     private String uid;
 
     /**
-     * filter
+     * 企业类型
      */
-    @TableField(value = "`filter`")
-    private String filter;
+    @TableField(value = "ent_type")
+    @Schema(description = "企业类型")
+    private Integer entType;
 
     /**
-     * 渠道
+     * 提现金额
      */
-    @TableField(value = "channel")
-    private String channel;
+    @TableField(value = "cash_amount")
+    @Schema(description = "提现金额")
+    private Long cashAmount;
 
     /**
-     * 相关操作
+     * 预付余额
      */
-    @TableField(value = "`action`")
-    private String action;
+    @TableField(value = "prepay_amount")
+    @Schema(description = "预付余额")
+    private Long prepayAmount;
 
     /**
-     * 关联的操作时间
+     * 交易中金额
      */
-    @TableField(value = "action_time")
-    private LocalDateTime actionTime;
+    @TableField(value = "dealing_amount")
+    @Schema(description = "交易中金额")
+    private Long dealingAmount;
 
     /**
-     * 备注
+     * 运费金额
      */
-    @TableField(value = "remark")
-    private String remark;
+    @TableField(value = "freight_amount")
+    @Schema(description = "运费金额")
+    private Long freightAmount;
+
+    /**
+     * 进行中金额
+     */
+    @TableField(value = "processing_amount")
+    @Schema(description = "进行中金额")
+    private Long processingAmount;
 
     /**
-     * 关联操作对应的订单
+     * 付款中金额
      */
-    @TableField(value = "order_no")
-    private String orderNo;
+    @TableField(value = "paying_amount")
+    @Schema(description = "付款中金额")
+    private Long payingAmount;
 
     /**
-     * 关联操作对应的状态
+     * 渠道
+     */
+    @TableField(value = "channel")
+    @Schema(description = "渠道")
+    private String channel;
+
+    /**
+     * 状态 1-开户中 2-开户成功
      */
     @TableField(value = "`status`")
+    @Schema(description = "状态 1-开户中 2-开户成功")
     private Integer status;
 
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
     /**
      * 创建人
      */
     @TableField(value = "create_by")
+    @Schema(description = "创建人")
     private Long createBy;
 
     /**
      * 创建时间
      */
     @TableField(value = "create_time")
+    @Schema(description = "创建时间")
     private LocalDateTime createTime;
 
     /**
      * 更新人
      */
     @TableField(value = "update_by")
+    @Schema(description = "更新人")
     private Long updateBy;
 
     /**
      * 更新时间
      */
     @TableField(value = "update_time")
+    @Schema(description = "更新时间")
     private LocalDateTime updateTime;
 
     /**
      * 0-正常 1-删除
      */
     @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
     private Integer delFlag;
-}
+}

+ 126 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletCash.java

@@ -0,0 +1,126 @@
+package com.sckw.payment.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 提现记录表
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Schema(description = "提现记录表")
+@Data
+@TableName(value = "kwp_wallet_cash")
+public class KwpWalletCash {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @TableField(value = "from_ent")
+    @Schema(description = "付款方")
+    private Long fromEnt;
+
+    /**
+     * 收款方
+     */
+    @TableField(value = "to_ent")
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "order_no")
+    @Schema(description = "订单号")
+    private String orderNo;
+
+    /**
+     * 操作 1-提现 2-预付 3-支付 3-收益
+     */
+    @TableField(value = "`action`")
+    @Schema(description = "操作 1-提现 2-预付 3-支付 3-收益")
+    private Integer action;
+
+    /**
+     * 交易金额
+     */
+    @TableField(value = "amount")
+    @Schema(description = "交易金额")
+    private Long amount;
+
+    /**
+     * 可提现金额
+     */
+    @TableField(value = "cash_amount")
+    @Schema(description = "可提现金额")
+    private Long cashAmount;
+
+    /**
+     * 凭证
+     */
+    @TableField(value = "img")
+    @Schema(description = "凭证")
+    private String img;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 状态 1-成功 2-失败 3-提现中
+     */
+    @TableField(value = "`status`")
+    @Schema(description = "状态 1-成功 2-失败")
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 133 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletFreight.java

@@ -0,0 +1,133 @@
+package com.sckw.payment.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 运费表
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Schema(description = "运费表")
+@Data
+@TableName(value = "kwp_wallet_freight")
+public class KwpWalletFreight {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @TableField(value = "from_ent")
+    @Schema(description = "付款方")
+    private Long fromEnt;
+
+    /**
+     * 收款方
+     */
+    @TableField(value = "to_ent")
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    /**
+     * 中台订单号
+     */
+    @TableField(value = "order_no")
+    @Schema(description = "中台订单号")
+    private String orderNo;
+
+    /**
+     * 操作 1-冻结 2-解冻
+     */
+    @TableField(value = "`action`")
+    @Schema(description = "操作 1-冻结 2-解冻")
+    private Boolean action;
+
+    /**
+     * 交易金额
+     */
+    @TableField(value = "money")
+    @Schema(description = "交易金额")
+    private Integer money;
+
+    /**
+     * 运费金额
+     */
+    @TableField(value = "freight_amount")
+    @Schema(description = "运费金额")
+    private Integer freightAmount;
+
+    /**
+     * 进行中金额
+     */
+    @TableField(value = "processing_amount")
+    @Schema(description = "进行中金额")
+    private Integer processingAmount;
+
+    /**
+     * 付款中金额
+     */
+    @TableField(value = "paying_amount")
+    @Schema(description = "付款中金额")
+    private Integer payingAmount;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 状态 1-已提交 2-预付成功 3-预付失败
+     */
+    @TableField(value = "`status`")
+    @Schema(description = "状态 1-已提交 2-预付成功 3-预付失败")
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 123 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletPay.java

@@ -0,0 +1,123 @@
+package com.sckw.payment.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 支付记录表
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Schema(description = "支付记录表")
+@Data
+@TableName(value = "kwp_wallet_pay")
+public class KwpWalletPay {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @TableField(value = "from_ent")
+    @Schema(description = "付款方")
+    private Long fromEnt;
+
+    /**
+     * 收款方
+     */
+    @TableField(value = "to_ent")
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "order_no")
+    @Schema(description = "订单号")
+    private String orderNo;
+
+    /**
+     * 操作 1-预付 2-支付
+     */
+    @TableField(value = "`action`")
+    @Schema(description = "操作 1-预付 2-支付")
+    private Integer action;
+
+    /**
+     * 申请金额
+     */
+    @TableField(value = "apply_amount")
+    @Schema(description = "申请金额")
+    private Long applyAmount;
+
+    /**
+     * 支付金额
+     */
+    @TableField(value = "pay_amount")
+    @Schema(description = "支付金额")
+    private Long payAmount;
+
+    @TableField(value = "img")
+    @Schema(description = "")
+    private String img;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 状态 1-成功 2-失败
+     */
+    @TableField(value = "`status`")
+    @Schema(description = "状态 1-成功 2-失败")
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 54 - 7
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletPrepay.java

@@ -4,75 +4,122 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
 
 /**
- * 预付操作
- * @date 2023-09-22 15:49:51
+ * 预付
+ *
  * @author xucaiqin
+ * @date 2026-03-26 14:45:11
  */
+@Schema(description = "预付表")
 @Data
 @TableName(value = "kwp_wallet_prepay")
 public class KwpWalletPrepay {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
     private Long id;
 
     /**
-     * 中台订单号
+     * 付款方 采购商
+     */
+    @TableField(value = "from_ent")
+    @Schema(description = "付款方")
+    private Long fromEnt;
+
+    /**
+     * 收款方 供应商
+     */
+    @TableField(value = "to_ent")
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    /**
+     * 订单号
      */
     @TableField(value = "order_no")
+    @Schema(description = "中台订单号")
     private String orderNo;
-
     /**
-     * 操作 1-新增预付 2-预付追加
+     * 操作 1-提现 2-预付 3-支付 3-收益
      */
     @TableField(value = "`action`")
+    @Schema(description = "操作 1-提现 2-预付 3-支付 3-收益")
     private Integer action;
+    private String actionLabel;
+    /**
+     * 交易金额
+     */
+    @TableField(value = "money")
+    @Schema(description = "交易金额")
+    private Integer money;
+
+    /**
+     * 预付金额
+     */
+    @TableField(value = "prepay_amount")
+    @Schema(description = "预付金额")
+    private Integer prepayAmount;
+
+    /**
+     * 交易中金额
+     */
+    @TableField(value = "deal_amount")
+    @Schema(description = "交易中金额")
+    private Integer dealAmount;
 
     /**
      * 备注
      */
     @TableField(value = "remark")
+    @Schema(description = "备注")
     private String remark;
 
     /**
-     * 1-已提交 2-预付成功 3-预付失败
+     * 状态 1-已提交 2-预付成功 3-预付失败
      */
     @TableField(value = "`status`")
+    @Schema(description = "状态 1-已提交 2-预付成功 3-预付失败")
     private Integer status;
 
     /**
      * 创建人
      */
     @TableField(value = "create_by")
+    @Schema(description = "创建人")
     private Long createBy;
 
     /**
      * 创建时间
      */
     @TableField(value = "create_time")
+    @Schema(description = "创建时间")
     private LocalDateTime createTime;
 
     /**
      * 更新人
      */
     @TableField(value = "update_by")
+    @Schema(description = "更新人")
     private Long updateBy;
 
     /**
      * 更新时间
      */
     @TableField(value = "update_time")
+    @Schema(description = "更新时间")
     private LocalDateTime updateTime;
 
     /**
      * 0-正常 1-删除
      */
     @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
     private Integer delFlag;
 }

+ 133 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletSub.java

@@ -0,0 +1,133 @@
+package com.sckw.payment.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 钱包关系表
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Schema(description = "钱包关系表")
+@Data
+@TableName(value = "kwp_wallet_sub")
+public class KwpWalletSub {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @TableField(value = "from_ent")
+    @Schema(description = "企业")
+    private Long fromEnt;
+
+    /**
+     * 收款方
+     */
+    @TableField(value = "to_ent")
+    @Schema(description = "企业")
+    private Long toEnt;
+
+    /**
+     * 提现金额
+     */
+    @TableField(value = "cash_amount")
+    @Schema(description = "提现金额")
+    private Long cashAmount;
+
+    /**
+     * 预付余额
+     */
+    @TableField(value = "prepay_amount")
+    @Schema(description = "预付余额")
+    private Long prepayAmount;
+
+    /**
+     * 交易中金额
+     */
+    @TableField(value = "dealing_amount")
+    @Schema(description = "交易中金额")
+    private Long dealingAmount;
+
+    /**
+     * 运费金额
+     */
+    @TableField(value = "freight_amount")
+    @Schema(description = "运费金额")
+    private Long freightAmount;
+
+    /**
+     * 进行中金额
+     */
+    @TableField(value = "processing_amount")
+    @Schema(description = "进行中金额")
+    private Long processingAmount;
+
+    /**
+     * 付款中金额
+     */
+    @TableField(value = "paying_amount")
+    @Schema(description = "付款中金额")
+    private Long payingAmount;
+
+    /**
+     * 渠道
+     */
+    @TableField(value = "channel")
+    @Schema(description = "渠道")
+    private String channel;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 60 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayXwEnum.java

@@ -0,0 +1,60 @@
+package com.sckw.payment.model.constant;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-21 17:53:28
+ */
+@Getter
+@AllArgsConstructor
+public enum PayXwEnum {
+    BEFORE_CREATE("/user/beforeCreate", "获取开户地址"),
+    MEMBER_WALLET("/v1/member/wallet", "钱包清单"),
+    MEMBER_WALLET_V2("/v2/member/wallet", "钱包清单v2"),
+    MEMBER_GENERAL("/v2/wallet/general", "总览信息"),
+    USER("/v2/member/user", "会员注册信息"),
+    WITHDRAW_DETAIL("/v2/wallet/withdraw/detail", "提现详情"),
+    //    WITHDRAW_DETAIL("/v1/wallet/withdraw/detail", "提现详情"), 原接口
+    //    WITHDRAW_INDEX("/v1/wallet/withdraw/index", "提现清单"), 原接口
+    WITHDRAW_INDEX("/v2/wallet/withdraw/index", "提现清单"),
+    WITHDRAW_CATEGORY("/v2/wallet/withdraw/categories", "提现清单分类"),
+    WITHDRAW_STATUS("/v1/wallet/withdraw/status", "订单状态"),
+    WITHDRAW_CANCEL("/v1/wallet/withdraw/cancel", "取消提现"),
+    WITHDRAW_TAKE("/v1/wallet/withdraw/take", "申请提现"),
+    TOTAL_INFO("/v1/wallet/totalInfo", "统计信息"),
+    OPERATE_DOWNLOAD("/v1/wallet/operate/download", "操作记录-下载"),
+    OPERATE_CATEGORY("/v1/wallet/operate/category", "操作记录-分类"),
+    OPERATE_INDEX("/v1/wallet/operate/index", "操作记录"),
+    LOG_CATEGORY("/v1/wallet/log/category", "钱包日志类型"),
+    RECORD("/v1/wallet/record", "获取钱包使用明细"),
+    TRANSFER("/v1/wallet/transfer", "余额转出"),
+    ADVANCE_PAY_DETAIL("/v1/wallet/advancepay/detail", "预付订单详情"),
+    ADVANCE_PAY_APPLY("/v1/wallet/advancepay/apply", "发起预付"),
+    ADVANCE_PAY_INDEX("/v1/wallet/advancepay/index", "预付订单清单"),
+    ADVANCE_PAY_INDEX2("/v2/wallet/advancepay/index", "预付订单清单"),
+    ADVANCE_PAY_WALLETS("/v2/advancepay/wallets", "钱包预付列表"),
+    ADVANCE_PAY_PAY_CHANNELS("/v2/advancepay/pay/channels", "钱包预付通道统计"),
+    ADVANCE_PAY_RECEIVE("/v2/advancepay/receives", "钱包预收列表"),
+    ADVANCE_PAY_LOGS("/v2/advancepay/operate/logs", "预付支出记录"),
+    ADVANCE_PAY_RECEIVE_CHANNELS("/v2/advancepay/receive/channels", "钱包预收通道统计"),
+    ADVANCE_PAY_STATUS("/v1/wallet/advancepay/statusCategory", "预付订单状态"),
+    INDEX("/v1/index/index", "获取通道清单"),
+    MEMBER_PAY_INDEX("/v1/member/pay/index", "订单记录"),
+    MEMBER_INDEX("/v1/member/index", "创建/更新账户"),
+    PAY_INDEX("/v1/pay/index", "在线充值"),
+    RECHARGE_ORDER("/v2/wallet/recharge/orders", "充值记录清单"),
+    WALLET_FREEZE("/v1/wallet/freeze", "冻结资金"),
+    WALLET_UNFREEZE("/v1/wallet/unfreeze", "解冻金额"),
+    PAY_AGENT_PAY("/v1/pay/agent_pay", "清分"),
+    PAY_AGENT_PAY_V2("/v2/pay/agent_pay", "清分"),
+    AGENT_PAY_QUERY("/v2/pay/status/query", "清分结果查询"),
+    WITHDRAW_TRANSFER("/v2/wallet/withdraw/transfer", "转出加提现"),
+    WALLET_INDEX("/v1/wallet/index", "创建钱包"),
+    REFUND_APPLY("/v1/pay/refund_apply", "充值订单退款"),
+    ;
+    private final String addr;
+    private final String desc;
+
+}

+ 16 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/Res.java

@@ -0,0 +1,16 @@
+package com.sckw.payment.model.dto.wallet;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author xucaiqin
+ * @date 2024-01-11 10:45:17
+ */
+@Getter
+@Setter
+public class Res {
+    private String returnCode;
+    private String returnMessage;
+    private String dealResult;
+}

+ 15 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/WithdrawRes.java

@@ -0,0 +1,15 @@
+package com.sckw.payment.model.dto.wallet;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author xucaiqin
+ * @date 2024-01-11 10:45:17
+ */
+@Getter
+@Setter
+public class WithdrawRes extends Res {
+    private String tranNo;
+    private String txnNo;
+}

+ 39 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/xw/WithdrawDto.java

@@ -0,0 +1,39 @@
+package com.sckw.payment.model.dto.xw;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @author lfdc
+ * @description 提现dto
+ * @date 2024-01-22 15:01:03
+ */
+@Getter
+@Setter
+public class WithdrawDto implements Serializable {
+    @NotBlank(message = "uid不能为空")
+    private String uid;
+
+    @NotBlank(message = "订单号不能为空")
+    private String orderNo;
+
+    @NotBlank(message = "提现金额不能为空")
+    private String amt;
+    /**
+     * 异步通知地址
+     */
+    @NotBlank(message = "异步通知地址不能为空")
+    private String noticeUrl;
+    /**
+     * 摘要
+     */
+    private String summary;
+    private String remark;
+    /**
+     * 平台收取佣金费用 非必填
+     */
+    private String commission;
+}

+ 31 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/CashActionEnum.java

@@ -0,0 +1,31 @@
+package com.sckw.payment.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum CashActionEnum {
+
+    CASH(1, "提现"),
+    ;
+
+    private final Integer code;
+    private final String label;
+
+
+    public static String getByCode(Integer code) {
+        for (CashActionEnum value : CashActionEnum.values()) {
+            if (Objects.equals(value.getCode(), code)) {
+                return value.getLabel();
+            }
+        }
+        return "";
+    }
+
+}

+ 31 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/CashStatusEnum.java

@@ -0,0 +1,31 @@
+package com.sckw.payment.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum CashStatusEnum {
+
+    CASH(1, "成功"),
+    ;
+
+    private final Integer code;
+    private final String label;
+
+
+    public static String getByCode(Integer code) {
+        for (CashStatusEnum value : CashStatusEnum.values()) {
+            if (Objects.equals(value.getCode(), code)) {
+                return value.getLabel();
+            }
+        }
+        return "";
+    }
+
+}

+ 31 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/PrepayActionEnum.java

@@ -0,0 +1,31 @@
+package com.sckw.payment.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum PrepayActionEnum {
+
+    CASH(1, "提现"),
+    ;
+
+    private final Integer code;
+    private final String label;
+
+
+    public static String getByCode(Integer code) {
+        for (PrepayActionEnum value : PrepayActionEnum.values()) {
+            if (Objects.equals(value.getCode(), code)) {
+                return value.getLabel();
+            }
+        }
+        return "";
+    }
+
+}

+ 31 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/PrepayStatusEnum.java

@@ -0,0 +1,31 @@
+package com.sckw.payment.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum PrepayStatusEnum {
+
+    CASH(1, "提现"),
+    ;
+
+    private final Integer code;
+    private final String label;
+
+
+    public static String getByCode(Integer code) {
+        for (PrepayStatusEnum value : PrepayStatusEnum.values()) {
+            if (Objects.equals(value.getCode(), code)) {
+                return value.getLabel();
+            }
+        }
+        return "";
+    }
+
+}

+ 47 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/UserPara.java

@@ -0,0 +1,47 @@
+package com.sckw.payment.model.vo;
+
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @Author xucaiqin
+ * @date 2023-03-30 19:19:43
+ */
+@Getter
+@Setter
+public class UserPara implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 3652670959771172362L;
+    @NotBlank(message = "uid不能为空")
+    private String uid;
+    //公司名称
+    private String companyName;
+    //法人
+    private String legalName;
+    //法人手机号
+    private String legalPhone;
+    //联系人手机号
+    private String contactPhone;
+    //法人身份证
+    private String legalIds;
+    //营业执照
+    private String license;
+
+    private String noticeUrl;
+    //客户号,仅做展示使用,无其它用途
+    private String customerNo;
+
+    /**
+     * 审核状态 0-待提交 1-提交信息 2-小额验证 3-人工审核 4-联系人认证 5-法人认证 6-开户成功 7-开户失败
+     */
+    private Integer auditFlag = 0;
+    /**
+     * 结算授权状态 0-待提交 1-提交申请 2-审核通过 3-审核失败
+     */
+    private Integer settleFlag = 0;
+}

+ 83 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/CashVo.java

@@ -0,0 +1,83 @@
+package com.sckw.payment.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 提现
+ *
+ * @author xucaiqin
+ * @date 2023-08-29 09:14:04
+ */
+@Getter
+@Setter
+public class CashVo {
+    /**
+     * 付款方
+     */
+    @Schema(description = "付款方")
+    private Long fromEnt;
+    private String fromEntName;
+
+    /**
+     * 收款方
+     */
+    @Schema(description = "收款方")
+    private Long toEnt;
+    private String toEntName;
+
+    /**
+     * 订单号
+     */
+    @Schema(description = "订单号")
+    private String orderNo;
+
+    /**
+     * 操作 1-提现 2-预付 3-支付 3-收益
+     */
+    @Schema(description = "操作 1-提现 2-预付 3-支付 3-收益")
+    private Integer action;
+    private String actionLabel;
+
+    /**
+     * 交易金额
+     */
+    @Schema(description = "交易金额")
+    private BigDecimal amount;
+
+    /**
+     * 可提现金额
+     */
+    @Schema(description = "可提现金额")
+    private BigDecimal cashAmount;
+
+    /**
+     * 凭证
+     */
+    @Schema(description = "凭证")
+    private String img;
+
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 状态 1-成功 2-失败 3-提现中
+     */
+    @Schema(description = "状态 1-成功 2-失败")
+    private Integer status;
+    private String statusLabel;
+    /**
+     * 创建时间
+     */
+    @Schema(description = "创建时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createTime;
+}

+ 0 - 12
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/CashWalletReq.java

@@ -2,7 +2,6 @@ package com.sckw.payment.model.vo.req;
 
 import com.sckw.payment.model.vo.res.MoneyChange;
 import jakarta.validation.constraints.Digits;
-import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.Positive;
 import jakarta.validation.constraints.Size;
 import lombok.Getter;
@@ -19,17 +18,6 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 public class CashWalletReq implements MoneyChange {
-    /**
-     * 支付通道 huifu
-     */
-    @NotBlank(message = "支付通道不能为空")
-    private String channel;
-
-//    @NotBlank(message = "uid不能为空")
-//    private String uid;
-
-//    @NotBlank(message = "filter不能为空")
-//    private String filter;
 
     @Positive(message = "提现金额必须大于0")
     @Digits(message = "小数位数过长或金额过大", integer = 10, fraction = 2)

+ 37 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/CashPage.java

@@ -0,0 +1,37 @@
+package com.sckw.payment.model.vo.req.page;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.vo.BasePara;
+import com.sckw.payment.model.vo.res.MoneyChange;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 提现
+ *
+ * @author xucaiqin
+ * @date 2023-08-29 09:14:04
+ */
+@Getter
+@Setter
+public class CashPage extends BasePara implements MoneyChange {
+    private Long entId;
+
+    private Integer action;
+
+    private String orderNo;
+    private Integer status;
+
+    private BigDecimal startAmount;
+    private BigDecimal endAmount;
+
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private String startCreateTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private String endCreateTime;
+
+}

+ 23 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/ListPage.java

@@ -0,0 +1,23 @@
+package com.sckw.payment.model.vo.req.page;
+
+import com.sckw.core.model.vo.BasePara;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 预付请求参数
+ *
+ * @author xucaiqin
+ * @date 2023-08-29 09:14:04
+ */
+@Getter
+@Setter
+public class ListPage extends BasePara {
+    private BigDecimal startAmount;
+    private BigDecimal endAmount;
+
+    private String entName;
+
+}

+ 27 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/PayPage.java

@@ -0,0 +1,27 @@
+package com.sckw.payment.model.vo.req.page;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.vo.BasePara;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PayPage extends BasePara {
+    @NotNull(message = "收款方不能为空")
+    @Schema(description = "收款方企业")
+    private Long toEnt;
+    @Schema(description = "状态")
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Schema(description = "开始时间")
+    private String startCreateTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Schema(description = "结束时间")
+    private String endCreateTime;
+
+}

+ 5 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/page/PrePayPage.java

@@ -4,6 +4,8 @@ import com.sckw.core.model.vo.BasePara;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 预付请求参数
  *
@@ -13,10 +15,9 @@ import lombok.Setter;
 @Getter
 @Setter
 public class PrePayPage extends BasePara {
-    /**
-     * 支付通道 1
-     */
-    private String channel;
+    private BigDecimal startAmount;
+    private BigDecimal endAmount;
+
 
     private String entName;
 

+ 122 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/ListVo.java

@@ -0,0 +1,122 @@
+package com.sckw.payment.model.vo.res;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:45:11
+ */
+@Schema(description = "预付")
+@Data
+public class ListVo {
+    /**
+     * 主键
+     */
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @Schema(description = "我方企业")
+    private Long fromEnt;
+    @Schema(description = "我方企业")
+    private String fromEntName;
+
+    /**
+     * 收款方
+     */
+    @Schema(description = "对方企业")
+    private Long toEnt;
+    @Schema(description = "对方企业")
+    private String toEntName;
+
+    /**
+     * 提现金额
+     */
+    @TableField(value = "cash_amount")
+    @Schema(description = "提现金额")
+    private BigDecimal cashAmount;
+
+    /**
+     * 预付余额
+     */
+    @TableField(value = "prepay_amount")
+    @Schema(description = "预付余额")
+    private BigDecimal prepayAmount;
+
+    /**
+     * 交易中金额
+     */
+    @TableField(value = "dealing_amount")
+    @Schema(description = "交易中金额")
+    private BigDecimal dealingAmount;
+
+    /**
+     * 运费金额
+     */
+    @TableField(value = "freight_amount")
+    @Schema(description = "运费金额")
+    private BigDecimal freightAmount;
+
+    /**
+     * 进行中金额
+     */
+    @TableField(value = "processing_amount")
+    @Schema(description = "进行中金额")
+    private BigDecimal processingAmount;
+
+    /**
+     * 付款中金额
+     */
+    @TableField(value = "paying_amount")
+    @Schema(description = "付款中金额")
+    private BigDecimal payingAmount;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 108 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PayVo.java

@@ -0,0 +1,108 @@
+package com.sckw.payment.model.vo.res;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:45:11
+ */
+@Schema(description = "预付")
+@Data
+public class PayVo {
+    /**
+     * 主键
+     */
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方
+     */
+    @Schema(description = "付款方")
+    private Long fromEnt;
+    @Schema(description = "付款方")
+    private String fromEntName;
+
+    /**
+     * 收款方
+     */
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    @Schema(description = "收款方")
+    private String toEntName;
+
+    /**
+     * 订单号
+     */
+    @Schema(description = "订单号")
+    private String orderNo;
+
+    /**
+     * 操作 1-预付 2-支付
+     */
+    @Schema(description = "操作 1-预付 2-支付")
+    private Integer action;
+
+    /**
+     * 申请金额
+     */
+    @Schema(description = "申请金额")
+    private BigDecimal applyAmount;
+
+    /**
+     * 支付金额
+     */
+    @Schema(description = "支付金额")
+    private BigDecimal payAmount;
+
+    @Schema(description = "凭证")
+    private String img;
+
+    /**
+     * 状态 1-成功 2-失败
+     */
+    @Schema(description = "状态 1-成功 2-失败")
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+
+
+    /**
+     * 创建人
+     */
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 117 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PrepayVo.java

@@ -0,0 +1,117 @@
+package com.sckw.payment.model.vo.res;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ *
+ * @author xucaiqin
+ * @date 2026-03-26 14:45:11
+ */
+@Schema(description = "预付")
+@Data
+public class PrepayVo {
+    /**
+     * 主键
+     */
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 付款方 采购商
+     */
+    @Schema(description = "付款方")
+    private Long fromEnt;
+
+    /**
+     * 收款方 供应商
+     */
+    @Schema(description = "收款方")
+    private Long toEnt;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "order_no")
+    @Schema(description = "中台订单号")
+    private String orderNo;
+
+    @Schema(description = "操作")
+    private Integer action;
+    @Schema(description = "操作")
+    private String actionLabel;
+    /**
+     * 交易金额
+     */
+    @TableField(value = "money")
+    @Schema(description = "交易金额")
+    private Integer money;
+
+    /**
+     * 预付金额
+     */
+    @TableField(value = "prepay_amount")
+    @Schema(description = "预付金额")
+    private Integer prepayAmount;
+
+    /**
+     * 交易中金额
+     */
+    @TableField(value = "deal_amount")
+    @Schema(description = "交易中金额")
+    private Integer dealAmount;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    @Schema(description = "备注")
+    private String remark;
+
+    /**
+     * 状态 1-已提交 2-预付成功 3-预付失败
+     */
+    @TableField(value = "`status`")
+    @Schema(description = "状态 1-已提交 2-预付成功 3-预付失败")
+    private Integer status;
+    @Schema(description = "状态")
+    private String statusLabel;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    @Schema(description = "0-正常 1-删除")
+    private Integer delFlag;
+}

+ 13 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletCashService.java

@@ -0,0 +1,13 @@
+package com.sckw.payment.service;
+
+import com.sckw.payment.model.KwpWalletCash;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:30:45
+ */
+public interface KwpWalletCashService extends IService<KwpWalletCash> {
+
+
+}

+ 12 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletFreightService.java

@@ -0,0 +1,12 @@
+package com.sckw.payment.service;
+
+import com.sckw.payment.model.KwpWalletFreight;
+import com.baomidou.mybatisplus.extension.service.IService;
+    /**
+* @date 2026-03-26 14:31:42
+* @author xucaiqin
+*/
+public interface KwpWalletFreightService extends IService<KwpWalletFreight>{
+
+
+}

+ 12 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletPayService.java

@@ -0,0 +1,12 @@
+package com.sckw.payment.service;
+
+import com.sckw.payment.model.KwpWalletPay;
+import com.baomidou.mybatisplus.extension.service.IService;
+    /**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+public interface KwpWalletPayService extends IService<KwpWalletPay>{
+
+
+}

+ 6 - 51
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletPrepayService.java

@@ -1,57 +1,12 @@
 package com.sckw.payment.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.payment.dao.KwpWalletPrepayMapper;
 import com.sckw.payment.model.KwpWalletPrepay;
-import com.sckw.payment.model.constant.PrePayEnum;
-import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDateTime;
-import java.util.Objects;
-
-/**
- * @author xucaiqin
- * @date 2023-09-22 15:49:51
- */
-@Service
-@RequiredArgsConstructor
-public class KwpWalletPrepayService {
-
-    private final KwpWalletPrepayMapper kwpWalletPrepayMapper;
-
+import com.baomidou.mybatisplus.extension.service.IService;
     /**
-     * 保存预付订单
-     *
-     * @param orderNo
-     */
-    public void savePrepay(String orderNo, PrePayEnum prePayEnum) {
-        KwpWalletPrepay kwpWalletPrepay = new KwpWalletPrepay();
-        kwpWalletPrepay.setId(new IdWorker(NumberConstant.ONE).nextId());
-        kwpWalletPrepay.setOrderNo(orderNo);
-        kwpWalletPrepay.setAction(prePayEnum.getStatus());
-        kwpWalletPrepay.setRemark(prePayEnum.getDesc());
-        kwpWalletPrepay.setStatus(2);
-        kwpWalletPrepay.setCreateBy(LoginUserHolder.getUserId());
-        kwpWalletPrepay.setCreateTime(LocalDateTime.now());
-        kwpWalletPrepay.setUpdateBy(LoginUserHolder.getUserId());
-        kwpWalletPrepay.setUpdateTime(LocalDateTime.now());
-        kwpWalletPrepay.setDelFlag(Global.UN_DELETED);
-        kwpWalletPrepayMapper.insert(kwpWalletPrepay);
-    }
+* @date 2026-03-26 14:45:11
+* @author xucaiqin
+*/
+public interface KwpWalletPrepayService extends IService<KwpWalletPrepay>{
+
 
-    public Integer getAction(String orderNo) {
-        LambdaQueryWrapper<KwpWalletPrepay> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpWalletPrepay::getDelFlag, Global.UN_DELETED)
-                .eq(KwpWalletPrepay::getOrderNo, orderNo).last("limit 1");
-        KwpWalletPrepay kwpWalletPrepay = kwpWalletPrepayMapper.selectOne(wrapper);
-        if(Objects.nonNull(kwpWalletPrepay)){
-            return kwpWalletPrepay.getAction();
-        }
-        return null;
-    }
 }

+ 5 - 93
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletService.java

@@ -1,100 +1,12 @@
 package com.sckw.payment.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.DateTimeUtil;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.payment.dao.KwpWalletMapper;
 import com.sckw.payment.model.KwpWallet;
-import com.sckw.redis.constant.RedisConstant;
-import lombok.RequiredArgsConstructor;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDateTime;
-import java.util.Objects;
-
-/**
- * @author xucaiqin
- * @date 2023-10-07 08:49:45
- */
-@Service
-@RequiredArgsConstructor
-public class KwpWalletService {
-    private final KwpWalletMapper kwpWalletMapper;
-    private final RedisTemplate<String, Object> redisTemplate;
-
-
-    /**
-     * 更新或新增 相关操作
-     *
-     * @param kwpWallet
-     */
-    public void saveOrUpdate(KwpWallet kwpWallet) {
-        LambdaQueryWrapper<KwpWallet> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpWallet::getUid, kwpWallet.getUid())
-                .eq(KwpWallet::getFilter, kwpWallet.getFilter())
-                .eq(KwpWallet::getChannel, kwpWallet.getChannel())
-                .last("limit 1");
-        KwpWallet kwpWalletCheck = kwpWalletMapper.selectOne(wrapper);
-        if (Objects.nonNull(kwpWalletCheck)) {
-            kwpWalletCheck.setAction(kwpWallet.getAction());
-            kwpWalletCheck.setActionTime(kwpWallet.getActionTime());
-            kwpWalletCheck.setRemark(kwpWallet.getRemark());
-            kwpWalletCheck.setOrderNo(kwpWallet.getOrderNo());
-            kwpWalletCheck.setStatus(kwpWallet.getStatus());
-            kwpWalletCheck.setUpdateBy(LoginUserHolder.getUserId());
-            kwpWalletCheck.setUpdateTime(LocalDateTime.now());
-            kwpWalletMapper.updateById(kwpWalletCheck);
-            return;
-        }
-        kwpWallet.setId(new IdWorker(NumberConstant.ONE).nextId());
-        kwpWallet.setCreateBy(LoginUserHolder.getUserId());
-        kwpWallet.setCreateTime(LocalDateTime.now());
-        kwpWallet.setUpdateBy(LoginUserHolder.getUserId());
-        kwpWallet.setUpdateTime(LocalDateTime.now());
-        kwpWallet.setDelFlag(Global.UN_DELETED);
-        kwpWalletMapper.insert(kwpWallet);
-    }
-
-    public KwpWallet queryOne(String uid, String filter, String channel) {
-        LambdaQueryWrapper<KwpWallet> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpWallet::getUid, uid)
-                .eq(KwpWallet::getFilter, filter)
-                .eq(KwpWallet::getChannel, channel)
-                .last("limit 1");
-        return kwpWalletMapper.selectOne(wrapper);
-    }
-
-    /**
-     * 记录预付业务的更新时间
-     *
-     * @param uid
-     * @param filter
-     * @param channel
-     */
-    public void saveTime(String uid, String filter, String channel) {
-        redisTemplate.opsForValue().set(String.format(RedisConstant.WALLET_TIME, uid, filter, channel), DateTimeUtil.format(LocalDateTime.now()));
-    }
-
+import com.baomidou.mybatisplus.extension.service.IService;
     /**
-     * 获取预付记录的更新时间
-     *
-     * @param uid
-     * @param filter
-     * @param channel
-     * @return
-     */
-    public LocalDateTime queryTime(String uid, String filter, String channel) {
-        String time = (String) redisTemplate.opsForValue().get(String.format(RedisConstant.WALLET_TIME, uid, filter, channel));
-        if (StringUtils.isNotBlank(time)) {
-            return DateTimeUtil.parse(time);
-        }
-        return null;
-    }
+* @date 2026-03-26 14:33:23
+* @author xucaiqin
+*/
+public interface KwpWalletService extends IService<KwpWallet>{
 
 
 }

+ 12 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletSubService.java

@@ -0,0 +1,12 @@
+package com.sckw.payment.service;
+
+import com.sckw.payment.model.KwpWalletSub;
+import com.baomidou.mybatisplus.extension.service.IService;
+    /**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+public interface KwpWalletSubService extends IService<KwpWalletSub>{
+
+
+}

+ 66 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/PayXwService.java

@@ -0,0 +1,66 @@
+package com.sckw.payment.service;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.fastjson2.TypeReference;
+import com.sckw.core.utils.OkHttpUtils;
+import com.sckw.payment.api.model.dto.common.R;
+import com.sckw.payment.model.constant.PayXwEnum;
+import com.sckw.payment.model.dto.wallet.WithdrawRes;
+import com.sckw.payment.model.dto.xw.WithdrawDto;
+import com.sckw.payment.model.vo.UserPara;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.stereotype.Service;
+
+/**
+ * 转发中台接口
+ *
+ * @author xucaiqin
+ * @date 2023-07-21 17:45:51
+ */
+@Service
+@Slf4j
+@RefreshScope
+public class PayXwService {
+    @Value("${xw.address}")
+    private String xwAddress;
+
+    private String jsonHttp(PayXwEnum payXwEnum, Object object) {
+        String para = object instanceof JSONObject jsonObject ? jsonObject.toJSONString() : JSONObject.toJSONString(object);
+        log.info("{}入参->{}", payXwEnum.getDesc(), para);
+        OkHttpUtils okHttpUtils = OkHttpUtils.builder().url(xwAddress + payXwEnum.getAddr());
+        okHttpUtils.addBodyJsonStr(para);
+        String sync;
+        try {
+            sync = okHttpUtils.post(true).sync();
+        } catch (Exception e) {
+            log.error("新网服务异常", e.getCause());
+            throw new RuntimeException("支付服务异常!");
+        }
+        log.info("{}返回值->{}", payXwEnum.getDesc(), sync);
+        return sync;
+    }
+
+    /**
+     * 创建用户
+     *
+     * @return
+     */
+    public Object beforeCreateUser(UserPara userPara) {
+        String sync = jsonHttp(PayXwEnum.BEFORE_CREATE, userPara);
+        return JSONObject.parseObject(sync, new TypeReference<>() {
+        });
+    }
+
+    /**
+     * 提现
+     *
+     * @return
+     */
+    public R<WithdrawRes> withDraw(WithdrawDto withdrawDto) {
+        String sync = jsonHttp(PayXwEnum.WITHDRAW_TAKE, withdrawDto);
+        return JSONObject.parseObject(sync, new TypeReference<>() {
+        });
+    }
+}

Plik diff jest za duży
+ 117 - 1626
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java


+ 15 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletCashServiceImpl.java

@@ -0,0 +1,15 @@
+package com.sckw.payment.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.dao.KwpWalletCashMapper;
+import com.sckw.payment.model.KwpWalletCash;
+import com.sckw.payment.service.KwpWalletCashService;
+import org.springframework.stereotype.Service;
+/**
+* @date 2026-03-26 14:30:45
+* @author xucaiqin
+*/
+@Service
+public class KwpWalletCashServiceImpl extends ServiceImpl<KwpWalletCashMapper, KwpWalletCash> implements KwpWalletCashService{
+
+}

+ 17 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletFreightServiceImpl.java

@@ -0,0 +1,17 @@
+package com.sckw.payment.service.impl;
+
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.model.KwpWalletFreight;
+import com.sckw.payment.dao.KwpWalletFreightMapper;
+import com.sckw.payment.service.KwpWalletFreightService;
+/**
+* @date 2026-03-26 14:31:42
+* @author xucaiqin
+*/
+@Service
+public class KwpWalletFreightServiceImpl extends ServiceImpl<KwpWalletFreightMapper, KwpWalletFreight> implements KwpWalletFreightService{
+
+}

+ 17 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletPayServiceImpl.java

@@ -0,0 +1,17 @@
+package com.sckw.payment.service.impl;
+
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.model.KwpWalletPay;
+import com.sckw.payment.dao.KwpWalletPayMapper;
+import com.sckw.payment.service.KwpWalletPayService;
+/**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+@Service
+public class KwpWalletPayServiceImpl extends ServiceImpl<KwpWalletPayMapper, KwpWalletPay> implements KwpWalletPayService{
+
+}

+ 16 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletPrepayServiceImpl.java

@@ -0,0 +1,16 @@
+package com.sckw.payment.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.dao.KwpWalletPrepayMapper;
+import com.sckw.payment.model.KwpWalletPrepay;
+import com.sckw.payment.service.KwpWalletPrepayService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-26 14:32:05
+ */
+@Service
+public class KwpWalletPrepayServiceImpl extends ServiceImpl<KwpWalletPrepayMapper, KwpWalletPrepay> implements KwpWalletPrepayService {
+
+}

+ 15 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletServiceImpl.java

@@ -0,0 +1,15 @@
+package com.sckw.payment.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.dao.KwpWalletMapper;
+import com.sckw.payment.model.KwpWallet;
+import com.sckw.payment.service.KwpWalletService;
+import org.springframework.stereotype.Service;
+/**
+* @date 2026-03-26 14:33:04
+* @author xucaiqin
+*/
+@Service
+public class KwpWalletServiceImpl extends ServiceImpl<KwpWalletMapper, KwpWallet> implements KwpWalletService{
+
+}

+ 15 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/impl/KwpWalletSubServiceImpl.java

@@ -0,0 +1,15 @@
+package com.sckw.payment.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.payment.dao.KwpWalletSubMapper;
+import com.sckw.payment.model.KwpWalletSub;
+import com.sckw.payment.service.KwpWalletSubService;
+import org.springframework.stereotype.Service;
+/**
+* @date 2026-03-26 14:32:05
+* @author xucaiqin
+*/
+@Service
+public class KwpWalletSubServiceImpl extends ServiceImpl<KwpWalletSubMapper, KwpWalletSub> implements KwpWalletSubService{
+
+}

+ 40 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/MoneyUtil.java

@@ -0,0 +1,40 @@
+package com.sckw.payment.utils;
+
+import com.sckw.core.model.constant.NumberConstant;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Objects;
+
+/**
+ * @author xucaiqin
+ * @date 2026-03-30 10:10:38
+ */
+public class MoneyUtil {
+    /**
+     * 元转分
+     *
+     * @param big
+     * @return
+     */
+    public static Long bigMoney(BigDecimal big) {
+        if (Objects.isNull(big)) {
+            return 0L;
+        }
+        BigDecimal divide = big.multiply(new BigDecimal("100"));
+        return divide.longValueExact();
+    }
+
+    /**
+     * 分转元
+     *
+     * @param big
+     * @return
+     */
+    public static BigDecimal smallMoney(Long big) {
+        if (Objects.isNull(big)) {
+            return NumberConstant.ZERO_TWO;
+        }
+        return new BigDecimal(big).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
+    }
+}

+ 28 - 0
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletCashMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.payment.dao.KwpWalletCashMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpWalletCash">
+    <!--@mbg.generated-->
+    <!--@Table kwp_wallet_cash-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="from_ent" jdbcType="BIGINT" property="fromEnt" />
+    <result column="to_ent" jdbcType="BIGINT" property="toEnt" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="action" jdbcType="BOOLEAN" property="action" />
+    <result column="amount" jdbcType="INTEGER" property="amount" />
+    <result column="cash_amount" jdbcType="INTEGER" property="cashAmount" />
+    <result column="img" jdbcType="VARCHAR" property="img" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="create_by" jdbcType="BIGINT" property="createBy" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, from_ent, to_ent, order_no, `action`, amount, cash_amount, img, remark, `status`, 
+    create_by, create_time, update_by, update_time, del_flag
+  </sql>
+</mapper>

+ 30 - 0
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletFreightMapper.xml

@@ -0,0 +1,30 @@
+<?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.payment.dao.KwpWalletFreightMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpWalletFreight">
+    <!--@mbg.generated-->
+    <!--@Table kwp_wallet_freight-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="from_ent" jdbcType="BIGINT" property="fromEnt" />
+    <result column="to_ent" jdbcType="BIGINT" property="toEnt" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="action" jdbcType="BOOLEAN" property="action" />
+    <result column="money" jdbcType="INTEGER" property="money" />
+    <result column="freight_amount" jdbcType="INTEGER" property="freightAmount" />
+    <result column="processing_amount" jdbcType="INTEGER" property="processingAmount" />
+    <result column="paying_amount" jdbcType="INTEGER" property="payingAmount" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="create_by" jdbcType="BIGINT" property="createBy" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, from_ent, to_ent, order_no, `action`, money, freight_amount, processing_amount, 
+    paying_amount, remark, `status`, create_by, create_time, update_by, update_time, 
+    del_flag
+  </sql>
+</mapper>

+ 12 - 7
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletMapper.xml

@@ -5,14 +5,18 @@
     <!--@mbg.generated-->
     <!--@Table kwp_wallet-->
     <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="ent_id" jdbcType="BIGINT" property="entId" />
     <result column="uid" jdbcType="VARCHAR" property="uid" />
-    <result column="filter" jdbcType="VARCHAR" property="filter" />
+    <result column="ent_type" jdbcType="INTEGER" property="entType" />
+    <result column="cash_amount" jdbcType="INTEGER" property="cashAmount" />
+    <result column="prepay_amount" jdbcType="INTEGER" property="prepayAmount" />
+    <result column="dealing_amount" jdbcType="INTEGER" property="dealingAmount" />
+    <result column="freight_amount" jdbcType="INTEGER" property="freightAmount" />
+    <result column="processing_amount" jdbcType="INTEGER" property="processingAmount" />
+    <result column="paying_amount" jdbcType="INTEGER" property="payingAmount" />
     <result column="channel" jdbcType="VARCHAR" property="channel" />
-    <result column="action" jdbcType="VARCHAR" property="action" />
-    <result column="action_time" jdbcType="TIMESTAMP" property="actionTime" />
-    <result column="remark" jdbcType="VARCHAR" property="remark" />
-    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
     <result column="create_by" jdbcType="BIGINT" property="createBy" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="update_by" jdbcType="BIGINT" property="updateBy" />
@@ -21,7 +25,8 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, `uid`, `filter`, channel, `action`, action_time, remark, order_no, `status`, 
-    create_by, create_time, update_by, update_time, del_flag
+    id, ent_id, `uid`, ent_type, cash_amount, prepay_amount, dealing_amount, freight_amount, 
+    processing_amount, paying_amount, channel, `status`, remark, create_by, create_time, 
+    update_by, update_time, del_flag
   </sql>
 </mapper>

+ 28 - 0
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletPayMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.payment.dao.KwpWalletPayMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpWalletPay">
+    <!--@mbg.generated-->
+    <!--@Table kwp_wallet_pay-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="from_ent" jdbcType="BIGINT" property="fromEnt" />
+    <result column="to_ent" jdbcType="BIGINT" property="toEnt" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="action" jdbcType="BOOLEAN" property="action" />
+    <result column="apply_amount" jdbcType="INTEGER" property="applyAmount" />
+    <result column="pay_amount" jdbcType="INTEGER" property="payAmount" />
+    <result column="img" jdbcType="VARCHAR" property="img" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="create_by" jdbcType="BIGINT" property="createBy" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, from_ent, to_ent, order_no, `action`, apply_amount, pay_amount, img, remark, 
+    `status`, create_by, create_time, update_by, update_time, del_flag
+  </sql>
+</mapper>

+ 7 - 2
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletPrepayMapper.xml

@@ -5,8 +5,13 @@
     <!--@mbg.generated-->
     <!--@Table kwp_wallet_prepay-->
     <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="uid" jdbcType="BIGINT" property="uid" />
+    <result column="filter" jdbcType="BIGINT" property="filter" />
     <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="action" jdbcType="BOOLEAN" property="action" />
+    <result column="money" jdbcType="INTEGER" property="money" />
+    <result column="prepay_amount" jdbcType="INTEGER" property="prepayAmount" />
+    <result column="deal_amount" jdbcType="INTEGER" property="dealAmount" />
     <result column="remark" jdbcType="VARCHAR" property="remark" />
     <result column="status" jdbcType="INTEGER" property="status" />
     <result column="create_by" jdbcType="BIGINT" property="createBy" />
@@ -17,7 +22,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, order_no, `action`, remark, `status`, create_by, create_time, update_by, update_time, 
-    del_flag
+    id, `uid`, `filter`, order_no, `action`, money, prepay_amount, deal_amount, remark, 
+    `status`, create_by, create_time, update_by, update_time, del_flag
   </sql>
 </mapper>

+ 30 - 0
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletSubMapper.xml

@@ -0,0 +1,30 @@
+<?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.payment.dao.KwpWalletSubMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpWalletSub">
+    <!--@mbg.generated-->
+    <!--@Table kwp_wallet_sub-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="from_ent" jdbcType="BIGINT" property="fromEnt" />
+    <result column="to_ent" jdbcType="BIGINT" property="toEnt" />
+    <result column="cash_amount" jdbcType="INTEGER" property="cashAmount" />
+    <result column="prepay_amount" jdbcType="INTEGER" property="prepayAmount" />
+    <result column="dealing_amount" jdbcType="INTEGER" property="dealingAmount" />
+    <result column="freight_amount" jdbcType="INTEGER" property="freightAmount" />
+    <result column="processing_amount" jdbcType="INTEGER" property="processingAmount" />
+    <result column="paying_amount" jdbcType="INTEGER" property="payingAmount" />
+    <result column="channel" jdbcType="VARCHAR" property="channel" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="create_by" jdbcType="BIGINT" property="createBy" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, from_ent, to_ent, cash_amount, prepay_amount, dealing_amount, freight_amount, 
+    processing_amount, paying_amount, channel, remark, create_by, create_time, update_by, 
+    update_time, del_flag
+  </sql>
+</mapper>

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

@@ -67,6 +67,7 @@ import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -133,8 +134,7 @@ public class KwpGoodsService {
         if (Objects.nonNull(address)) {
             goods.setAreaCode(address.getCityCode()).setAddressName(address.getName());
         }
-        goods.setEntId(LoginUserHolder.getEntId()).setThumb(FileUtils.replaceAll(goods.getThumb()))
-                .setStatus(GoodsStatusEnum.SAVED.getCode());
+        goods.setEntId(LoginUserHolder.getEntId()).setThumb(FileUtils.replaceAll(goods.getThumb())).setStatus(GoodsStatusEnum.SAVED.getCode());
         kwpGoodsMapper.insert(goods);
         //添加商品其他信息
         addGoodsOtherInfo(goods.getId(), BeanUtils.copyProperties(param, AddGoodsParam.class));
@@ -155,14 +155,7 @@ public class KwpGoodsService {
         //添加商品信息
         KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
         AddressInfo address = param.getAddressInfo();
-        goods.setCode(param.getCode())
-                .setAreaCode(address.getCityCode())
-                .setAddressName(address.getName())
-                .setThumb(goods.getThumb())
-                .setEntId(LoginUserHolder.getEntId())
-                .setAddedTime(new Date())
-                .setPriceUnit("元")
-                .setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
+        goods.setCode(param.getCode()).setAreaCode(address.getCityCode()).setAddressName(address.getName()).setThumb(goods.getThumb()).setEntId(LoginUserHolder.getEntId()).setAddedTime(new Date()).setPriceUnit("元").setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
         kwpGoodsMapper.insert(goods);
         //添加商品其他信息
         addGoodsOtherInfo(goods.getId(), param);
@@ -259,13 +252,7 @@ public class KwpGoodsService {
         if (Objects.nonNull(managerInfo)) {
             detail.setManagerName(managerInfo.getName());
         }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(),
-                DictTypeEnum.TAX_RATE.getType(),
-                DictTypeEnum.GOODS_STATUS.getType(),
-                DictTypeEnum.ADDRESS_TYPE.getType(),
-                DictTypeEnum.GOODS_SPEC.getType())
-        );
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.TAX_RATE.getType(), DictTypeEnum.GOODS_STATUS.getType(), DictTypeEnum.ADDRESS_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
@@ -280,13 +267,9 @@ public class KwpGoodsService {
         }
         List<SysDictResDto> types = remoteSystemService.queryDictFrontAll(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), detail.getGoodsType());
         if (CollectionUtils.isNotEmpty(types)) {
-            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList())
-                    .setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
+            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList()).setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
         }
-        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
-                .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)
-                .setSpec(CollectionUtils.isNotEmpty(goodsMap) ? goodsMap.get(detail.getSpec()) : null)
-                .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null);
+        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null).setSpec(CollectionUtils.isNotEmpty(goodsMap) ? goodsMap.get(detail.getSpec()) : null).setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null);
         //商品图片信息
         if (Objects.nonNull(goods.getThumb())) {
             detail.setThumb(goods.getThumb());
@@ -295,11 +278,7 @@ public class KwpGoodsService {
         List<GoodsImagesDetail> images = BeanUtils.copyToList(goodsImages, GoodsImagesDetail.class);
         //商品价格
         List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
-        BigDecimal price = Optional.ofNullable(priceRanges)
-                .filter(list -> !list.isEmpty())
-                .map(list -> list.get(0))
-                .map(KwpGoodsPriceRange::getPrice)
-                .orElse(null);
+        BigDecimal price = Optional.ofNullable(priceRanges).filter(list -> !list.isEmpty()).map(list -> list.get(0)).map(KwpGoodsPriceRange::getPrice).orElse(null);
 
         //商品属性信息
         List<KwpGoodsAttribute> attributesList = kwpGoodsAttributeService.getByGoodsId(id);
@@ -333,8 +312,7 @@ public class KwpGoodsService {
     public GoodsDetail getDetail(Long id) {
         GoodsDetail detail = detail(id);
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getGoodsType, detail.getGoodsType()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                .eq(KwpGoods::getDelFlag, Global.NO).ne(KwpGoods::getId, id).last("LIMIT 4");
+        wrapper.eq(KwpGoods::getGoodsType, detail.getGoodsType()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO).ne(KwpGoods::getId, id).last("LIMIT 4");
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(list)) {
             return detail;
@@ -347,15 +325,12 @@ public class KwpGoodsService {
             unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         }
         List<Long> goodsIds = list.stream().map(KwpGoods::getId).toList();
-        Map<Long, List<KwpGoodsPriceRange>> map = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
+        Map<Long, List<KwpGoodsPriceRange>> map = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream().collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
         List<RecommendGoods> recommendGoodsList = new ArrayList<>();
         list.forEach(e -> {
             RecommendGoods recommendGoods = BeanUtils.copyProperties(e, RecommendGoods.class);
             List<KwpGoodsPriceRange> prices = map.get(recommendGoods.getId());
-            recommendGoods.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(recommendGoods.getUnit()) : null)
-                    .setPrice(CollectionUtils.isNotEmpty(prices) ? prices.get(0).getPrice() : null)
-                    .setThumb(FileUtils.splice(e.getThumb()));
+            recommendGoods.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(recommendGoods.getUnit()) : null).setPrice(CollectionUtils.isNotEmpty(prices) ? prices.get(0).getPrice() : null).setThumb(FileUtils.splice(e.getThumb()));
             recommendGoodsList.add(recommendGoods);
         });
         detail.setRecommendGoodsList(recommendGoodsList);
@@ -378,8 +353,7 @@ public class KwpGoodsService {
         Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntCacheMapByIds(Arrays.asList(detail.getEntId(), detail.getSupplyEntId()));
         EntCacheResDto ent = entMap.get(detail.getEntId());
         if (Objects.nonNull(ent)) {
-            detail.setEnt(ent.getFirmName()).setEntHead(ent.getHead())
-                    .setEntBusiness(ent.getBusiness()).setEntAddress(ent.getCityName());
+            detail.setEnt(ent.getFirmName()).setEntHead(ent.getHead()).setEntBusiness(ent.getBusiness()).setEntAddress(ent.getCityName());
         }
         EntCacheResDto supplyEnt = entMap.get(detail.getSupplyEntId());
         if (Objects.nonNull(supplyEnt)) {
@@ -389,13 +363,7 @@ public class KwpGoodsService {
         if (Objects.nonNull(managerInfo)) {
             detail.setManagerName(managerInfo.getName());
         }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(),
-                DictTypeEnum.TAX_RATE.getType(),
-                DictTypeEnum.GOODS_STATUS.getType(),
-                DictTypeEnum.ADDRESS_TYPE.getType(),
-                DictTypeEnum.GOODS_SPEC.getType()
-        ));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.TAX_RATE.getType(), DictTypeEnum.GOODS_STATUS.getType(), DictTypeEnum.ADDRESS_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
@@ -410,13 +378,9 @@ public class KwpGoodsService {
         }
         List<SysDictResDto> types = remoteSystemService.queryDictFrontAll(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), detail.getGoodsType());
         if (CollectionUtils.isNotEmpty(types)) {
-            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList())
-                    .setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
+            detail.setGoodsTypes(types.stream().map(SysDictResDto::getValue).toList()).setGoodsTypeLabels(String.join(Global.RIGHT_SLASH, types.stream().map(SysDictResDto::getLabel).toList()));
         }
-        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
-                .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)
-                .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null)
-                .setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
+        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null).setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null).setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
         //商品图片信息
         if (Objects.nonNull(goods.getThumb())) {
             detail.setThumb(goods.getThumb());
@@ -425,11 +389,7 @@ public class KwpGoodsService {
         List<GoodsImagesDetail> images = BeanUtils.copyToList(goodsImages, GoodsImagesDetail.class);
         //商品价格
         List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
-        BigDecimal price = Optional.ofNullable(priceRanges)
-                .filter(list -> !list.isEmpty())
-                .map(list -> list.get(0))
-                .map(KwpGoodsPriceRange::getPrice)
-                .orElse(null);
+        BigDecimal price = Optional.ofNullable(priceRanges).filter(list -> !list.isEmpty()).map(list -> list.get(0)).map(KwpGoodsPriceRange::getPrice).orElse(null);
 
         //商品属性信息
         List<KwpGoodsAttribute> attributesList = kwpGoodsAttributeService.getByGoodsId(id);
@@ -482,8 +442,7 @@ public class KwpGoodsService {
         if (Objects.isNull(goods)) {
             throw new BusinessException("当前商品不存在!");
         }
-        if (Objects.equals(goods.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode()) ||
-                Objects.equals(goods.getStatus(), GoodsStatusEnum.TAKE_OFF_SHELVES.getCode())) {
+        if (Objects.equals(goods.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode()) || Objects.equals(goods.getStatus(), GoodsStatusEnum.TAKE_OFF_SHELVES.getCode())) {
             String msg = judgeParameters(param);
             if (StringUtils.isNotBlank(msg)) {
                 throw new BusinessException(msg);
@@ -493,19 +452,7 @@ public class KwpGoodsService {
         Integer areaCode = Objects.isNull(address) ? null : address.getCityCode();
         String addressName = Objects.isNull(address) ? null : address.getName();
         LambdaUpdateWrapper<KwpGoods> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.set(KwpGoods::getName, param.getName())
-                .set(KwpGoods::getGoodsType, param.getGoodsType())
-                .set(KwpGoods::getUnit, param.getUnit())
-                .set(KwpGoods::getSpec, param.getSpec())
-                .set(KwpGoods::getCode, param.getCode())
-                .set(KwpGoods::getCarAxis, param.getCarAxis())
-                .set(KwpGoods::getContent, param.getContent())
-                .set(KwpGoods::getSupplyEntId, param.getSupplyEntId())
-                .set(KwpGoods::getRemark, param.getRemark())
-                .set(KwpGoods::getThumb, param.getThumb())
-                .set(KwpGoods::getAreaCode, areaCode)
-                .set(KwpGoods::getAddressName, addressName)
-                .eq(KwpGoods::getId, param.getId());
+        wrapper.set(KwpGoods::getName, param.getName()).set(KwpGoods::getGoodsType, param.getGoodsType()).set(KwpGoods::getUnit, param.getUnit()).set(KwpGoods::getSpec, param.getSpec()).set(KwpGoods::getCode, param.getCode()).set(KwpGoods::getCarAxis, param.getCarAxis()).set(KwpGoods::getContent, param.getContent()).set(KwpGoods::getSupplyEntId, param.getSupplyEntId()).set(KwpGoods::getRemark, param.getRemark()).set(KwpGoods::getThumb, param.getThumb()).set(KwpGoods::getAreaCode, areaCode).set(KwpGoods::getAddressName, addressName).eq(KwpGoods::getId, param.getId());
         kwpGoodsMapper.update(null, wrapper);
         updateGoodsOtherInfo(param);
     }
@@ -724,10 +671,7 @@ public class KwpGoodsService {
         List<GoodsListExport> result = new ArrayList<>(list.size());
         goodsLists.forEach(e -> {
             GoodsListExport export = BeanUtils.copyProperties(e, GoodsListExport.class);
-            export.setAmount(Objects.isNull(e.getAmount()) ? null : String.valueOf(e.getAmount()))
-                    .setAddedTime(Objects.isNull(e.getAddedTime()) ? null : DateUtil.getDateTime(e.getAddedTime()))
-                    .setShelfTime(Objects.isNull(e.getShelfTime()) ? null : DateUtil.getDateTime(e.getShelfTime()))
-                    .setCreateTime(Objects.isNull(e.getCreateTime()) ? null : DateUtil.getDateTime(e.getCreateTime()));
+            export.setAmount(Objects.isNull(e.getAmount()) ? null : String.valueOf(e.getAmount())).setAddedTime(Objects.isNull(e.getAddedTime()) ? null : DateUtil.getDateTime(e.getAddedTime())).setShelfTime(Objects.isNull(e.getShelfTime()) ? null : DateUtil.getDateTime(e.getShelfTime())).setCreateTime(Objects.isNull(e.getCreateTime()) ? null : DateUtil.getDateTime(e.getCreateTime()));
             result.add(export);
         });
         return result;
@@ -752,9 +696,7 @@ public class KwpGoodsService {
             if (Objects.nonNull(params.getEndCreateTime())) {
                 wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
             }
-            wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
-                    .eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
-                    .eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
+            wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId()).eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit()).eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
             if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
                 List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
                 if (CollectionUtils.isNotEmpty(goodsTypeList)) {
@@ -798,8 +740,7 @@ public class KwpGoodsService {
         });
 
         //价格信息
-        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
+        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream().collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
         //用户信息
         Map<Long, UserCacheResDto> userMap = remoteSystemService.queryUserCacheMapByIds(userIds);
         //供应企业信息
@@ -807,11 +748,7 @@ public class KwpGoodsService {
         if (CollectionUtils.isNotEmpty(supplyEntIds)) {
             entList = remoteSystemService.queryEntCacheByIds(supplyEntIds);
         }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(),
-                DictTypeEnum.TAX_RATE.getType(),
-                DictTypeEnum.GOODS_STATUS.getType(),
-                DictTypeEnum.GOODS_SPEC.getType()));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.TAX_RATE.getType(), DictTypeEnum.GOODS_STATUS.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap, unitMap, goodsStatusMap, goodsSpecMap;
         if (CollectionUtils.isNotEmpty(dict)) {
             productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
@@ -829,20 +766,10 @@ public class KwpGoodsService {
             Long id = e.getId();
             GoodsList goodsList = BeanUtils.copyProperties(e, GoodsList.class);
             UserCacheResDto createUser = userMap.get(e.getCreateBy());
-            goodsList.setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(goodsList.getStatus())) : null)
-                    .setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(goodsList.getGoodsType()) : null)
-                    .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(goodsList.getUnit()) : null)
-                    .setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(goodsList.getSpec()) : null)
-                    .setSupplyEnt(entMap.get(e.getSupplyEntId()))
-                    .setThumb(FileUtils.splice(e.getThumb()))
-                    .setCreateByName(Objects.nonNull(createUser) ? createUser.getName() : null);
+            goodsList.setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(goodsList.getStatus())) : null).setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(goodsList.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(goodsList.getUnit()) : null).setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(goodsList.getSpec()) : null).setSupplyEnt(entMap.get(e.getSupplyEntId())).setThumb(FileUtils.splice(e.getThumb())).setCreateByName(Objects.nonNull(createUser) ? createUser.getName() : null);
 
             List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(id);
-            BigDecimal price = Optional.ofNullable(priceRanges)
-                    .filter(priceRangeList -> !priceRangeList.isEmpty())
-                    .map(priceRangeList -> priceRangeList.get(0))
-                    .map(KwpGoodsPriceRange::getPrice)
-                    .orElse(null);
+            BigDecimal price = Optional.ofNullable(priceRanges).filter(priceRangeList -> !priceRangeList.isEmpty()).map(priceRangeList -> priceRangeList.get(0)).map(KwpGoodsPriceRange::getPrice).orElse(null);
             goodsList.setPrice(price);
 
             result.add(goodsList);
@@ -860,16 +787,13 @@ public class KwpGoodsService {
     @Transactional(rollbackFor = Exception.class)
     public void batchPutOnShelves(List<Long> ids) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(KwpGoods::getId, ids)
-                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId())
-                .eq(KwpGoods::getDelFlag, Global.NO);
+        wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
         List<KwpGoods> goodsList = kwpGoodsMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(goodsList)) {
             throw new BusinessException("商品不存在!");
         }
         //校验
-        boolean hasPutOnShelves = goodsList.stream()
-                .anyMatch(good -> Objects.equals(GoodsStatusEnum.PUT_ON_SHELVES.getCode(), good.getStatus()));
+        boolean hasPutOnShelves = goodsList.stream().anyMatch(good -> Objects.equals(GoodsStatusEnum.PUT_ON_SHELVES.getCode(), good.getStatus()));
         if (hasPutOnShelves) {
             throw new BusinessException("上架操作仅针对“已下架”“草稿”状态的单据!");
         }
@@ -880,11 +804,7 @@ public class KwpGoodsService {
                 updateParam.setAttributes(BeanUtils.copyToList(kwpGoodsAttributeService.getByGoodsId(goods.getId()), GoodsAttributes.class));
                 //价格
                 List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(goods.getId());
-                BigDecimal price = Optional.ofNullable(priceRanges)
-                        .filter(priceRangeList -> !priceRangeList.isEmpty())
-                        .map(priceRangeList -> priceRangeList.get(0))
-                        .map(KwpGoodsPriceRange::getPrice)
-                        .orElse(null);
+                BigDecimal price = Optional.ofNullable(priceRanges).filter(priceRangeList -> !priceRangeList.isEmpty()).map(priceRangeList -> priceRangeList.get(0)).map(KwpGoodsPriceRange::getPrice).orElse(null);
                 updateParam.setPrice(price);
                 updateParam.setImages(BeanUtils.copyToList(kwpGoodsImageService.getByGoodsId(goods.getId()), GoodsImages.class));
                 updateParam.setAddressInfo(BeanUtils.copyProperties(kwpGoodsAddressService.getByGoodsId(goods.getId()), AddressInfo.class));
@@ -895,9 +815,7 @@ public class KwpGoodsService {
             }
 
             LambdaUpdateWrapper<KwpGoods> updateWrapper = new LambdaUpdateWrapper<>();
-            updateWrapper.set(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                    .set(KwpGoods::getAddedTime, new Date())
-                    .eq(KwpGoods::getId, goods.getId());
+            updateWrapper.set(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).set(KwpGoods::getAddedTime, new Date()).eq(KwpGoods::getId, goods.getId());
             kwpGoodsMapper.update(null, updateWrapper);
         }
         goodsList.forEach(e -> {
@@ -925,10 +843,7 @@ public class KwpGoodsService {
         urlMap.put(ClientTypeEnum.app.getValue(), appGoodsListUrl);
         urlMap.put(ClientTypeEnum.pc.getValue(), pcGoodsListUrl);
         SckwMessage msg = new SckwMessage(msgEnum);
-        msg.setParams(map)
-                .setMsgUrls(urlMap)
-                .setUserInfos(userInfos)
-                .setCreateBy(LoginUserHolder.getUserId());
+        msg.setParams(map).setMsgUrls(urlMap).setUserInfos(userInfos).setCreateBy(LoginUserHolder.getUserId());
         log.info(msgEnum.getTitle() + "消息:{}", JSON.toJSONString(msg));
         streamBridge.send("sckw-message", JSON.toJSONString(msg));
     }
@@ -967,8 +882,7 @@ public class KwpGoodsService {
     @Transactional(rollbackFor = Exception.class)
     public void batchDelete(List<Long> ids) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getStatus, 0)
-                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
+        wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getStatus, 0).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         if (!Objects.equals(ids.size(), list.size())) {
             throw new BusinessException("删除操作仅针对“草稿”状态的单据");
@@ -1019,9 +933,7 @@ public class KwpGoodsService {
         if (StringUtils.isNotBlank(params.getKeywords())) {
             List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByName(params.getKeywords());
             List<Long> entIds = entList.stream().map(EntCacheResDto::getId).toList();
-            wrapper.and(kwpGoodsLambdaQueryWrapper -> kwpGoodsLambdaQueryWrapper.like(KwpGoods::getName, params.getKeywords())
-                    .or(CollUtil.isNotEmpty(entIds)).in(CollUtil.isNotEmpty(entIds), KwpGoods::getSupplyEntId, entIds)
-            );
+            wrapper.and(kwpGoodsLambdaQueryWrapper -> kwpGoodsLambdaQueryWrapper.like(KwpGoods::getName, params.getKeywords()).or(CollUtil.isNotEmpty(entIds)).in(CollUtil.isNotEmpty(entIds), KwpGoods::getSupplyEntId, entIds));
         }
         wrapper.eq(StrUtil.isNotBlank(params.getSpec()), KwpGoods::getSpec, params.getSpec());
         Long entId = LoginUserHolder.getEntId();
@@ -1060,16 +972,13 @@ public class KwpGoodsService {
             }
         });
         //地址信息
-        Map<Long, KwpGoodsAddress> addressMap = kwpGoodsAddressService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.toMap(KwpGoodsAddress::getGoodsId, e -> e, (k1, k2) -> k1));
+        Map<Long, KwpGoodsAddress> addressMap = kwpGoodsAddressService.getByGoodsIds(goodsIds).stream().collect(Collectors.toMap(KwpGoodsAddress::getGoodsId, e -> e, (k1, k2) -> k1));
         //价格梯度信息
-        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
+        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream().collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
         //供应企业信息
         List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByIds(supplyEntIds);
         Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap, unitMap, specMap;
         if (CollectionUtils.isNotEmpty(dict)) {
             productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
@@ -1084,14 +993,7 @@ public class KwpGoodsService {
             BuildingMaterialsMarketList materials = BeanUtils.copyProperties(e, BuildingMaterialsMarketList.class);
             KwpGoodsAddress address = addressMap.get(e.getId());
             List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(e.getId());
-            materials.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(e.getGoodsType()) : null)
-                    .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(e.getUnit()) : null)
-                    .setSpec(CollectionUtils.isNotEmpty(specMap) ? specMap.get(e.getSpec()) : null)
-                    .setAddressName(Objects.isNull(address) ? null : address.getCityName())
-                    .setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress())
-                    .setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice())
-                    .setThumb(FileUtils.splice(e.getThumb()))
-                    .setSupplyEnt(entMap.get(e.getSupplyEntId()));
+            materials.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(e.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(e.getUnit()) : null).setSpec(CollectionUtils.isNotEmpty(specMap) ? specMap.get(e.getSpec()) : null).setAddressName(Objects.isNull(address) ? null : address.getCityName()).setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress()).setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice()).setThumb(FileUtils.splice(e.getThumb())).setSupplyEnt(entMap.get(e.getSupplyEntId()));
             materials.setSignFlag(false);
             if (Objects.nonNull(entId)) {
                 TradeContractGoodsDto tradeContractResDto = remoteContractService.queryTradeContractNew(entId, e.getId(), LocalDateTime.now());
@@ -1121,9 +1023,7 @@ public class KwpGoodsService {
             }
             wrapper.eq(KwpGoods::getSupplyEntId, supplyEntId);
         }
-        wrapper.like(StringUtils.isNotBlank(params.getName()), KwpGoods::getName, params.getName())
-                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                .eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getAddedTime);
+        wrapper.like(StringUtils.isNotBlank(params.getName()), KwpGoods::getName, params.getName()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getAddedTime);
 
         //专场逻辑
         String accessSpecial = request.getHeader("Access-Special");
@@ -1163,8 +1063,7 @@ public class KwpGoodsService {
      */
     public KwpGoods getGoodsById(Long id) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getEntId, LoginUserHolder.getEntId())
-                .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
+        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
         return kwpGoodsMapper.selectOne(last);
     }
 
@@ -1177,9 +1076,7 @@ public class KwpGoodsService {
      */
     public KwpGoods getOnShelfGoodsById(Long id) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id)
-                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
+        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
         return kwpGoodsMapper.selectOne(last);
     }
 
@@ -1236,8 +1133,7 @@ public class KwpGoodsService {
      */
     public BigDecimal maxPurchaseNum(MaxPurchaseNumParam param) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, param.getGoodsId()).eq(KwpGoods::getDelFlag, Global.NO)
-                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).last("LIMIT 1");
+        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, param.getGoodsId()).eq(KwpGoods::getDelFlag, Global.NO).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).last("LIMIT 1");
         KwpGoods goods = kwpGoodsMapper.selectOne(last);
         if (Objects.isNull(goods)) {
             throw new BusinessException("商品不存在或已下架!");
@@ -1290,9 +1186,7 @@ public class KwpGoodsService {
         }
         try {
             LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(KwpGoods::getId, id)
-                    .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                    .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
+            wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
             KwpGoods goods = kwpGoodsMapper.selectOne(wrapper);
             if (Objects.isNull(goods)) {
                 throw new BusinessException("商品不存在或已下架!");
@@ -1319,8 +1213,7 @@ public class KwpGoodsService {
 
     public Long getCountByManager(Long managerId) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getManager, managerId).eq(KwpGoods::getDelFlag, Global.NO).
-                ne(KwpGoods::getStatus, GoodsStatusEnum.SAVED.getCode());
+        wrapper.eq(KwpGoods::getManager, managerId).eq(KwpGoods::getDelFlag, Global.NO).ne(KwpGoods::getStatus, GoodsStatusEnum.SAVED.getCode());
         return kwpGoodsMapper.selectCount(wrapper);
     }
 
@@ -1335,8 +1228,7 @@ public class KwpGoodsService {
      */
     public Boolean nameDuplicationJudgment(String name, Long supplyEntId, Long id) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getSupplyEntId, supplyEntId)
-                .eq(KwpGoods::getName, name).eq(KwpGoods::getDelFlag, Global.NO);
+        wrapper.eq(KwpGoods::getSupplyEntId, supplyEntId).eq(KwpGoods::getName, name).eq(KwpGoods::getDelFlag, Global.NO);
         if (Objects.nonNull(id)) {
             wrapper.ne(KwpGoods::getId, id);
         }
@@ -1353,8 +1245,7 @@ public class KwpGoodsService {
      */
     public Long getCountBySupplyEnt(Long supplyEntId) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getSupplyEntId, supplyEntId).eq(KwpGoods::getDelFlag, Global.NO).
-                ne(KwpGoods::getStatus, GoodsStatusEnum.SAVED.getCode());
+        wrapper.eq(KwpGoods::getSupplyEntId, supplyEntId).eq(KwpGoods::getDelFlag, Global.NO).ne(KwpGoods::getStatus, GoodsStatusEnum.SAVED.getCode());
         return kwpGoodsMapper.selectCount(wrapper);
     }
 
@@ -1399,10 +1290,7 @@ public class KwpGoodsService {
      */
     public Long getOnShelfGoodsNum(GoodsNumStsParam param) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getEntId, param.getTopEntId())
-                .eq(StringUtils.isNotBlank(param.getUnit()), KwpGoods::getUnit, param.getUnit())
-                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                .eq(KwpGoods::getDelFlag, Global.NO);
+        wrapper.eq(KwpGoods::getEntId, param.getTopEntId()).eq(StringUtils.isNotBlank(param.getUnit()), KwpGoods::getUnit, param.getUnit()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO);
         if (Objects.nonNull(param.getEndDate())) {
             wrapper.le(KwpGoods::getShelfTime, param.getEndDate());
         }
@@ -1418,21 +1306,13 @@ public class KwpGoodsService {
      */
     public List<KwpGoods> getWorkbenchList() {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId())
-                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
-                .eq(KwpGoods::getDelFlag, Global.NO)
-                .orderByDesc(KwpGoods::getCreateTime)
-                .last("LIMIT 10");
+        wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime).last("LIMIT 10");
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         return CollUtil.emptyIfNull(list);
     }
 
     public com.sckw.product.api.model.KwpGoods getGoodsByGoodsName(String goodsName) {
-        List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(
-                new LambdaQueryWrapper<KwpGoods>().eq(KwpGoods::getName, goodsName)
-                        .eq(KwpGoods::getDelFlag, 0)
-                        .orderByDesc(KwpGoods::getCreateTime)
-        );
+        List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(new LambdaQueryWrapper<KwpGoods>().eq(KwpGoods::getName, goodsName).eq(KwpGoods::getDelFlag, 0).orderByDesc(KwpGoods::getCreateTime));
         com.sckw.product.api.model.KwpGoods goods = new com.sckw.product.api.model.KwpGoods();
         if (kwpGoods.size() > 0) {
             KwpGoods kwpGoods1 = kwpGoods.get(0);
@@ -1443,8 +1323,7 @@ public class KwpGoodsService {
 
     public List<Long> selectIdsTaxRateAndLikeGoodsName(String name, String taxRate) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(StringUtils.isNotBlank(taxRate), KwpGoods::getTaxRate, taxRate)
-                .like(StringUtils.isNotBlank(name), KwpGoods::getName, name);
+        wrapper.eq(StringUtils.isNotBlank(taxRate), KwpGoods::getTaxRate, taxRate).like(StringUtils.isNotBlank(name), KwpGoods::getName, name);
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         if (CollUtil.isEmpty(list)) {
             return Collections.emptyList();
@@ -1464,10 +1343,7 @@ public class KwpGoodsService {
         //组装商品参数
         Map<String, Map<String, String>> finalValueAndDictResDtoMap = remoteSystemService.queryDictByType(types);
 
-        List<GoodsInfoResp.GoodsInfo> goodsInfos = goods.stream()
-                .filter(e -> Objects.equals(e.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode()))
-                .map(x -> KwpGoodsService.getGoodsInfo(x, finalValueAndDictResDtoMap))
-                .collect(Collectors.toList());
+        List<GoodsInfoResp.GoodsInfo> goodsInfos = goods.stream().filter(e -> Objects.equals(e.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())).map(x -> KwpGoodsService.getGoodsInfo(x, finalValueAndDictResDtoMap)).collect(Collectors.toList());
         GoodsInfoResp goodsInfoResp = new GoodsInfoResp();
         goodsInfoResp.setGoodsInfoRespList(goodsInfos);
         return goodsInfoResp;
@@ -1494,7 +1370,10 @@ public class KwpGoodsService {
 
     private List<BuildingMaterialsMarketList> tran(List<KwpGoods> list) {
         List<BuildingMaterialsMarketList> result = new ArrayList<>(list.size());
-
+        list = new ArrayList<>(list.stream().collect(Collectors.toMap(KwpGoods::getId,
+                Function.identity(),
+                (existing, replacement) -> existing
+        )).values());
         List<Long> goodsIds = new ArrayList<>(list.size());
         List<Long> supplyEntIds = new ArrayList<>(list.size());
         list.forEach(e -> {
@@ -1505,16 +1384,13 @@ public class KwpGoodsService {
         });
 
         //地址信息
-        Map<Long, KwpGoodsAddress> addressMap = kwpGoodsAddressService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.toMap(KwpGoodsAddress::getGoodsId, e -> e, (k1, k2) -> k1));
+        Map<Long, KwpGoodsAddress> addressMap = kwpGoodsAddressService.getByGoodsIds(goodsIds).stream().collect(Collectors.toMap(KwpGoodsAddress::getGoodsId, e -> e, (k1, k2) -> k1));
         //价格梯度信息
-        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream()
-                .collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
+        Map<Long, List<KwpGoodsPriceRange>> priceRangeMap = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream().collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
         //供应企业信息
         List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByIds(supplyEntIds);
         Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap, unitMap, goodsMap;
         if (CollectionUtils.isNotEmpty(dict)) {
             productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
@@ -1531,15 +1407,7 @@ public class KwpGoodsService {
             BuildingMaterialsMarketList materials = BeanUtils.copyProperties(e, BuildingMaterialsMarketList.class);
             KwpGoodsAddress address = addressMap.get(e.getId());
             List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(e.getId());
-            materials.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(e.getGoodsType()) : null)
-                    .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(e.getUnit()) : null)
-                    .setSpec(CollectionUtils.isNotEmpty(goodsMap) ? goodsMap.get(e.getSpec()) : null)
-                    .setAddressName(Objects.isNull(address) ? null : address.getCityName())
-                    .setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress())
-                    .setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice())
-                    .setThumb(FileUtils.splice(e.getThumb()))
-                    .setSupplyEnt(entMap.get(e.getSupplyEntId()))
-            ;
+            materials.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(e.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(e.getUnit()) : null).setSpec(CollectionUtils.isNotEmpty(goodsMap) ? goodsMap.get(e.getSpec()) : null).setAddressName(Objects.isNull(address) ? null : address.getCityName()).setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress()).setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice()).setThumb(FileUtils.splice(e.getThumb())).setSupplyEnt(entMap.get(e.getSupplyEntId()));
             materials.setSignFlag(false);
             if (Objects.nonNull(entId)) {
                 TradeContractGoodsDto tradeContractResDto = remoteContractService.queryTradeContractNew(entId, e.getId(), LocalDateTime.now());
@@ -1595,10 +1463,7 @@ public class KwpGoodsService {
         //所有的商品id
         Set<Long> longs = res.keySet();
         if (CollUtil.isEmpty(longs)) { //查询商品信息,按创建时间倒叙取数据
-            List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(new LambdaQueryWrapper<KwpGoods>()
-                    .eq(KwpGoods::getDelFlag, 0)
-                    .orderByDesc(KwpGoods::getCreateTime).last("limit 10")
-            );
+            List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(new LambdaQueryWrapper<KwpGoods>().eq(KwpGoods::getDelFlag, 0).orderByDesc(KwpGoods::getCreateTime).last("limit 10"));
             if (CollectionUtils.isEmpty(kwpGoods)) {
                 return Collections.emptyList();
             }
@@ -1607,9 +1472,7 @@ public class KwpGoodsService {
         if (CollUtil.size(longs) < 10) {//不足10个,查询商品信息,补足10个
             List<KwpGoods> add = kwpGoodsMapper.selectBatchIds(longs);
 
-            List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(new LambdaQueryWrapper<KwpGoods>()
-                    .eq(KwpGoods::getDelFlag, 0).orderByDesc(KwpGoods::getCreateTime).last("limit " + (10 - CollUtil.size(longs)))
-            );
+            List<KwpGoods> kwpGoods = kwpGoodsMapper.selectList(new LambdaQueryWrapper<KwpGoods>().eq(KwpGoods::getDelFlag, 0).orderByDesc(KwpGoods::getCreateTime).last("limit " + (10 - CollUtil.size(longs))));
             add.addAll(kwpGoods);
             return tran(add);
         }
@@ -1620,11 +1483,7 @@ public class KwpGoodsService {
 
     public List<Long> selectByPara(String goodsName, List<String> goodsType, String goodsSpec) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.and(w -> w.like(StringUtils.isNotBlank(goodsName), KwpGoods::getName, goodsName)
-                .or()
-                .in(CollUtil.isNotEmpty(goodsType), KwpGoods::getGoodsType, goodsType)
-                .or()
-                .like(StringUtils.isNotBlank(goodsSpec), KwpGoods::getSpec, goodsSpec));
+        wrapper.and(w -> w.like(StringUtils.isNotBlank(goodsName), KwpGoods::getName, goodsName).or().in(CollUtil.isNotEmpty(goodsType), KwpGoods::getGoodsType, goodsType).or().like(StringUtils.isNotBlank(goodsSpec), KwpGoods::getSpec, goodsSpec));
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         if (CollUtil.isEmpty(list)) {
             return Collections.emptyList();
@@ -1640,13 +1499,7 @@ public class KwpGoodsService {
         }
         GoodsDetails detail = BeanUtils.copyProperties(goods, GoodsDetails.class);
 
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType(),
-                DictTypeEnum.TAX_RATE.getType(),
-                DictTypeEnum.GOODS_STATUS.getType(),
-                DictTypeEnum.ADDRESS_TYPE.getType(),
-                DictTypeEnum.GOODS_SPEC.getType()
-        ));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.TAX_RATE.getType(), DictTypeEnum.GOODS_STATUS.getType(), DictTypeEnum.ADDRESS_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
         Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
@@ -1657,10 +1510,7 @@ public class KwpGoodsService {
             goodsStatusMap = dict.get(DictTypeEnum.GOODS_STATUS.getType());
             goodsSpecMap = dict.get(DictTypeEnum.GOODS_SPEC.getType());
         }
-        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
-                .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)
-                .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null)
-                .setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
+        detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null).setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null).setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null).setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
 
         return detail;
     }

+ 11 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/server/KwsEnterpriseServerController.java

@@ -1,14 +1,12 @@
 package com.sckw.system.controller.server;
 
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.model.vo.res.EntInfo;
 import com.sckw.system.service.KwsEnterpriseService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.Data;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -35,4 +33,13 @@ public class KwsEnterpriseServerController {
     public List<EntInfo> queryEntInfos(@RequestBody List<Long> entIds) {
         return kwsEntService.queryEntInfoByKeys(entIds);
     }
+
+    /**
+     * @return HttpResult
+     * @desc: 根据企业id列表查询企业信息
+     */
+    @GetMapping("queryEntCacheById")
+    public EntCacheResDto queryEntCacheById(@RequestParam("entId") Long entId) {
+        return kwsEntService.queryEntCacheById(entId);
+    }
 }

+ 56 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -30,10 +30,9 @@ import com.sckw.stream.enums.MessageEnum;
 import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
-import com.sckw.system.api.model.dto.res.EntCacheResDto;
-import com.sckw.system.api.model.dto.res.KwsEntDeptDto;
-import com.sckw.system.api.model.dto.res.RegisterResDto;
+import com.sckw.system.api.model.dto.res.*;
 import com.sckw.system.dao.*;
+import com.sckw.system.dubbo.RemoteBaseService;
 import com.sckw.system.dubbo.RemoteSystemServiceImpl;
 import com.sckw.system.model.*;
 import com.sckw.system.model.pojo.FindEntListPojo;
@@ -51,6 +50,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 import org.redisson.api.RSet;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -122,7 +122,8 @@ public class KwsEnterpriseService {
 
     @Autowired
     private KwsSpecialDao specialDao;
-
+    @Autowired
+    private RemoteBaseService remoteBaseService;
     private final KwsEntTypeRepository kwsEntTypeRepository;
     private final KwsEnterpriseRepository kwsEnterpriseRepository;
 
@@ -1686,4 +1687,55 @@ public class KwsEnterpriseService {
         List<KwsEnterprise> kwsEnterprises = kwsEnterpriseDao.selectList(new LambdaQueryWrapper<KwsEnterprise>().eq(KwsEnterprise::getPid, 0).eq(KwsEnterprise::getApproval, 1).eq(KwsEnterprise::getStatus, 0));
         return kwsEnterprises.stream().map(d -> BeanUtils.toBean(d, EntBaseInfo.class)).collect(Collectors.toList());
     }
+    @Nullable
+    private EntCacheResDto getEntCacheResDto(Long entId) {
+        KwsEnterpriseResDto kwsEnterpriseResDto = remoteBaseService.queryEnterpriseById(entId);
+        if (Objects.isNull(kwsEnterpriseResDto)) {
+            return null;
+        }
+
+        EntCacheResDto entCacheResDto = new EntCacheResDto();
+        BeanUtils.copyProperties(kwsEnterpriseResDto, entCacheResDto);
+//        entCacheResDto.setDeptInfo(remoteBaseService.queryDeftInfoByEntId(entId));
+        entCacheResDto.setCertificateInfo(remoteBaseService.queryCertificateByEntId(entId));
+        KwsUser kwsUser = remoteBaseService.queryManageByEntId(entId);
+        if (Objects.nonNull(kwsUser)) {
+            entCacheResDto.setContactsId(kwsUser.getId());
+            entCacheResDto.setContacts(kwsUser.getName());
+            entCacheResDto.setPhone(kwsUser.getPhone());
+        }
+        List<EntTypeResDto> entTypeResDtos = remoteBaseService.queryEntTypeById(entId);
+        if (CollectionUtils.isNotEmpty(entTypeResDtos)) {
+            entCacheResDto.setEntTypes(String.join(Global.COMMA, entTypeResDtos.stream().map(EntTypeResDto::getType).map(String::valueOf).distinct().toList()));
+            entCacheResDto.setEntTypeNames(EntTypeEnum.getNames(entCacheResDto.getEntTypes()));
+        }
+        return entCacheResDto;
+    }
+    public EntCacheResDto queryEntCacheById(Long entId) {
+        if (Objects.isNull(entId)) {
+            return null;
+        }
+        String key = Global.REDIS_ENTERPRISE_PREFIX + entId;
+        String dictCache = RedissonUtils.getString(key);
+        //从redis查,查不到从数据库查,并写入redis
+        if (StringUtils.isBlank(dictCache)) {
+            EntCacheResDto entCacheResDto = getEntCacheResDto(entId);
+            if (Objects.isNull(entCacheResDto)) {
+                return null;
+            }
+            RedissonUtils.putString(key, JSON.toJSONString(entCacheResDto), Global.COMMON_EXPIRE);
+            return entCacheResDto;
+        }
+
+        EntCacheResDto entCacheResDto = JSONObject.parseObject(dictCache, EntCacheResDto.class);
+        if (Objects.isNull(entCacheResDto.getContactsId())) {
+            entCacheResDto = getEntCacheResDto(entId);
+            if (Objects.isNull(entCacheResDto)) {
+                return null;
+            }
+        }
+
+        RedissonUtils.putString(key, dictCache, Global.COMMON_EXPIRE);
+        return entCacheResDto;
+    }
 }

+ 4 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -308,10 +308,10 @@ public class KwsMenuService {
         } else {
             finalList = menuList;
         }
-
-        if (Boolean.TRUE.equals(reqVo.getIncludeButton())) {
-            finalList = supplementButtons(finalList);
-        }
+//
+//        if (Boolean.TRUE.equals(reqVo.getIncludeButton())) {
+//            finalList = supplementButtons(finalList);
+//        }
 
         List<KwsMenuResVo> rootList = new ArrayList<>();
 

+ 4 - 4
sckw-modules/sckw-system/src/main/resources/bootstrap-cxf.yml

@@ -3,16 +3,16 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: @nacos.server@
+        server-addr: 118.116.4.155:8848
         # 命名空间
-        namespace: @nacos.namespace@
+        namespace: sckw-ng-service-platform-xf
         # 共享配置
         group: sckw-ng-service-platform
       config:
         # 配置中心地址
-        server-addr: @nacos.server@
+        server-addr: 118.116.4.155:8848
         # 命名空间
-        namespace: @nacos.namespace@
+        namespace: sckw-ng-service-platform-xf
         # 共享配置
         group: sckw-ng-service-platform
         # 配置文件格式

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików