From 7e92d9c7f76777c48f76376c99ffaae2e16fe7ed Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 01 七月 2025 14:37:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ruoyi-service/ruoyi-admin/src/main/resources/template/订单记录.xlsx                               |    0 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/task/TaskUtil.java                    |   60 ++++++---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserVO.java                |   53 ++++++++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java              |   18 +++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java     |    6 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/WithdrawRecord.java        |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/WithdrawRecord.java            |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/TestWxPay.java                     |    5 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java  |   29 ++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java    |   35 +++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java                  |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java |    5 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java    |   20 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/User.java                      |   62 ++++++++++
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                     |    1 
 15 files changed, 247 insertions(+), 57 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserVO.java
new file mode 100644
index 0000000..079d383
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserVO.java
@@ -0,0 +1,53 @@
+package com.ruoyi.order.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 用户列表
+ * </p>
+ *
+ * @author hjl
+ * @since 2024-05-29
+ */
+@Getter
+@Setter
+@ApiModel(value = "User对象", description = "用户列表")
+public class UserVO extends BaseEntity {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("用户id")
+    private String userNo;
+
+    @ApiModelProperty("注册城市")
+    private String city;
+
+    @ApiModelProperty("城市编码")
+    private String cityCode;
+
+    @ApiModelProperty("用户昵称")
+    private String nickname;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("头像")
+    private String profilePicture;
+
+    @ApiModelProperty("账号状态 0未启用;1已启用")
+    private Integer state;
+
+    @ApiModelProperty("微信OpenId")
+    private String openId;
+
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
index 77363bc..322ec35 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Withdraw.java
@@ -10,6 +10,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.springframework.boot.autoconfigure.security.SecurityProperties;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -64,9 +65,26 @@
     @ApiModelProperty("城市code")
     @TableField("city_code")
     private String cityCode;
+    @ApiModelProperty("用户信息")
+    @TableField(exist = false)
+    private UserVO user;
     @ApiModelProperty("提现进度")
     @TableField(exist = false)
     private List<WithdrawRecord> withdrawRecords;
 
+    @ApiModelProperty("旧机品类")
+    @TableField(exist = false)
+    private String serveName;
+    @ApiModelProperty("回收单金额")
+    @TableField(exist = false)
+    private BigDecimal servePrice;
+    @ApiModelProperty("补贴金额")
+    @TableField(exist = false)
+    private BigDecimal subsidy;
+    @ApiModelProperty("用户地址")
+    @TableField(exist = false)
+    private String reservationAddress;
+
+
 
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/WithdrawRecord.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/WithdrawRecord.java
index eafb5c7..a443dd7 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/WithdrawRecord.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/WithdrawRecord.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -44,6 +45,7 @@
     private Integer withdrawType;
     @ApiModelProperty("创建时间")
     @TableField("createTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
     @ApiModelProperty("审核结果 1=通过 0=拒绝")
     @TableField("auditStatus")
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
index 8f81237..df00a10 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -1068,14 +1068,20 @@
     @ApiOperation(value = "设置加盟商操作密码【202506】", tags = {"后台-加盟商管理"})
     @PutMapping(value = "/setPayPassword")
     public R<String> setPayPassword(@RequestParam(value = "payPassword") String payPassword) {
-        Long userid = tokenService.getLoginUser().getUserid();
-        SysUser sysUser = sysUserService.getById(userid);
-        if(Objects.isNull(sysUser.getFranchiseeId())){
-            return R.fail("加盟商信息不存在!");
+        List<Franchisee> franchisee = franchiseeService.list();
+        for (Franchisee franchisee1 : franchisee) {
+            franchisee1.setPayPassword(payPassword);
         }
-        Franchisee franchisee = franchiseeService.getById(sysUser.getFranchiseeId());
-        franchisee.setPayPassword(SecurityUtils.encryptPassword(payPassword));
-        return franchiseeService.updateById(franchisee) ? R.ok() : R.fail();
+        return franchiseeService.updateBatchById(franchisee) ? R.ok() : R.fail();
+    }
+    @ApiOperation(value = "获取加盟商操作密码", tags = {"后台-加盟商管理"})
+    @PutMapping(value = "/getPayPassword")
+    public R<String> getPayPassword() {
+        List<Franchisee> franchisee = franchiseeService.list();
+        if (!franchisee.isEmpty()){
+            return R.ok(franchisee.get(0).getPayPassword());
+        }
+        return R.ok();
     }
 
     /**
@@ -1086,22 +1092,17 @@
     @PutMapping(value = "/balanceWithdraw")
     public R<String> balanceWithdraw(@RequestParam(value = "id") Integer id,
                                      @RequestParam(value = "payPassword") String payPassword) {
-
         TFranchiseeBalanceChange balanceChange = balanceChangeService.getById(id);
-
         Franchisee franchisee = franchiseeService.getById(balanceChange.getFranchiseeId());
-
-        if(!SecurityUtils.matchesPassword(payPassword, franchisee.getPayPassword())){
+        if(!payPassword.equals(franchisee.getPayPassword())){
             return R.fail("密码错误!");
         }
-
         franchisee.setBalance(franchisee.getBalance().add(balanceChange.getAmount()));
         franchiseeService.updateById(franchisee);
-
         // 删除操作记录
         balanceChangeService.removeById(id);
-
         return R.ok();
     }
 
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java
index 264301d..2aa6462 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java
@@ -9,10 +9,10 @@
 import com.ruoyi.admin.service.WithdrawService;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.GlobalException;
+import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.security.service.TokenService;
-import com.ruoyi.order.api.entity.UserWithdrawRecordVO;
-import com.ruoyi.order.api.entity.Withdraw;
-import com.ruoyi.order.api.entity.WithdrawExportRequest;
+import com.ruoyi.order.api.entity.*;
+import com.ruoyi.order.api.feignClient.OrderClient;
 import com.ruoyi.order.api.feignClient.WithdrawClient;
 import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
@@ -45,6 +45,8 @@
     private WithdrawService withdrawService;
     @Resource
     private WithdrawClient withdrawClient;
+    @Resource
+    private OrderClient orderClient;
     @Resource
     private UserService userService;
 
@@ -124,7 +126,17 @@
             @ApiImplicitParam(value = "提现记录id", name = "id", dataType = "Integer", required = true)
     })
     public R<Withdraw> withdrawRecordDetail(@RequestParam Long id) {
-        return withdrawClient.withdrawRecordDetail(id);
+        Withdraw data = withdrawClient.withdrawRecordDetail(id).getData();
+        User user = userService.getById(data.getUserId());
+        UserVO userVO = new UserVO();
+        BeanUtils.copyProperties(user, userVO);
+        data.setUser(userVO);
+        Order data1 = orderClient.detail(data.getOrderId()).getData();
+        data.setSubsidy(data1.getSubsidy());
+        data.setServeName(data1.getServeName());
+        data.setServePrice(data1.getServePrice());
+        data.setReservationAddress(data1.getReservationAddress());
+        return R.ok(data);
     }
 
     /**
diff --git "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\350\256\242\345\215\225\350\256\260\345\275\225.xlsx" "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\350\256\242\345\215\225\350\256\260\345\275\225.xlsx"
index ab6185d..48240a3 100644
--- "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\350\256\242\345\215\225\350\256\260\345\275\225.xlsx"
+++ "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\350\256\242\345\215\225\350\256\260\345\275\225.xlsx"
Binary files differ
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java
index 054aa57..89a8fe0 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java
@@ -324,15 +324,23 @@
     @GetMapping("/confirmMoney")
 
     R<String> confirmWithdraw(@RequestParam("id")String id){
-        Withdraw withdraw = withdrawService.getById(id);
-        WithdrawRecord withdrawRecord = new WithdrawRecord();
-        withdrawRecord.setWithdrawId(withdraw.getId());
-        withdrawRecord.setOrderId(withdraw.getOrderId());
-        withdrawRecord.setUserId(withdraw.getUserId());
-        withdrawRecord.setWithdrawType(3);
-        withdrawRecord.setCreateTime(new Date());
-        withdrawRecord.setAuditStatus(1);
-        withdrawRecordService.save(withdrawRecord);
+        Order order = orderService.getById(id);
+        Withdraw withdraw = withdrawService.lambdaQuery()
+                .eq(Withdraw::getOrderId,order.getId()).last("limit 1")
+                .one();
+        List<WithdrawRecord> list = withdrawRecordService.lambdaQuery().eq(WithdrawRecord::getWithdrawId, withdraw.getId())
+                .eq(WithdrawRecord::getWithdrawType, 3).list();
+        if (list.isEmpty()){
+            WithdrawRecord withdrawRecord = new WithdrawRecord();
+            withdrawRecord.setWithdrawId(withdraw.getId());
+            withdrawRecord.setOrderId(withdraw.getOrderId());
+            withdrawRecord.setUserId(withdraw.getUserId());
+            withdrawRecord.setWithdrawType(3);
+            withdrawRecord.setCreateTime(new Date());
+            withdrawRecord.setAuditStatus(1);
+            withdrawRecordService.save(withdrawRecord);
+        }
+
         return R.ok();
     }
     @GetMapping("/withdrawDetailByUser")
@@ -374,16 +382,17 @@
         if (null != withdraw) {
             withdrawDetailVO.setWithdrawalState(withdraw.getState());
             withdrawDetailVO.setWithdrawalTime(withdraw.getCreateTime());
+            List<WithdrawRecord> list = withdrawRecordService.lambdaQuery().eq(WithdrawRecord::getOrderId, orderId)
+                    .eq(WithdrawRecord::getWithdrawId, withdraw.getId())
+                    .eq(WithdrawRecord::getUserId, withdraw.getUserId()).list();
+            withdrawDetailVO.setWithdrawRecords(list);
         }
         withdrawDetailVO.setPackageInfo(order.getPackageInfo());
         withdrawDetailVO.setAddress(order.getAddress());
         if (null != serveRecord) {
             withdrawDetailVO.setPhoto(serveRecord.getPhoto());
         }
-        List<WithdrawRecord> list = withdrawRecordService.lambdaQuery().eq(WithdrawRecord::getOrderId, orderId)
-                .eq(WithdrawRecord::getWithdrawId, withdraw.getId())
-                .eq(WithdrawRecord::getUserId, withdraw.getUserId()).list();
-        withdrawDetailVO.setWithdrawRecords(list);
+
         return R.ok(withdrawDetailVO);
     }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java
index 3059ac3..80955f9 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java
@@ -114,6 +114,7 @@
                 withdrawRecord.setWithdrawType(4);
                 withdrawRecord.setCreateTime(new Date());
                 withdrawRecord.setAuditStatus(1);
+                withdrawRecordService.save(withdrawRecord);
 
 
             }else if ("CANCELLED".equals(state)||"CANCELING".equals(state)||"FAIL".equals(state)){
@@ -175,7 +176,10 @@
                     com.alibaba.fastjson2.JSONObject.toJSONString(postMap),
                     "7EEA04429B006E12AAA421C002EC48BBEED5BE94",
                     "1665330417",
-                    "/usr/local/vx/apiclient_key.pem", WechatConstants.WE_CHAT_URL_SUF);
+//                    "/usr/local/vx/apiclient_key.pem",
+                    "D:\\apiclient_key.pem",
+
+                    WechatConstants.WE_CHAT_URL_SUF);
             com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(result);
 //            WithdrawDetail withdrawDetail = new WithdrawDetail();
 //            withdrawDetail.setWithdrawId(withdrawId);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/User.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/User.java
new file mode 100644
index 0000000..a8aaa9d
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/User.java
@@ -0,0 +1,62 @@
+package com.ruoyi.order.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 用户列表
+ * </p>
+ *
+ * @author hjl
+ * @since 2024-05-29
+ */
+@Getter
+@Setter
+@TableName("t_user")
+@ApiModel(value = "User对象", description = "用户列表")
+public class User extends BaseEntity {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("用户id")
+    @TableField("user_no")
+    private String userNo;
+
+    @ApiModelProperty("注册城市")
+    @TableField("city")
+    private String city;
+
+    @ApiModelProperty("城市编码")
+    @TableField("city_code")
+    private String cityCode;
+
+    @ApiModelProperty("用户昵称")
+    @TableField("nickname")
+    private String nickname;
+
+    @ApiModelProperty("手机号")
+    @TableField("phone")
+    private String phone;
+
+    @ApiModelProperty("头像")
+    @TableField("profile_picture")
+    private String profilePicture;
+
+    @ApiModelProperty("账号状态 0未启用;1已启用")
+    @TableField("state")
+    private Integer state;
+
+    @ApiModelProperty("微信OpenId")
+    @TableField("open_id")
+    private String openId;
+
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
index 20b01a0..00a5db4 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Withdraw.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.user.api.entity.User;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -72,6 +73,9 @@
     @ApiModelProperty("城市code")
     @TableField("city_code")
     private String cityCode;
+    @ApiModelProperty("用户信息")
+    @TableField(exist = false)
+    private User user;
     @ApiModelProperty("提现进度")
     @TableField(exist = false)
     private List<WithdrawRecord> withdrawRecords;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/WithdrawRecord.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/WithdrawRecord.java
index 1204467..3d4c050 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/WithdrawRecord.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/WithdrawRecord.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -31,7 +32,7 @@
     private Integer id;
 
     @ApiModelProperty("提现记录id")
-    @TableField(value = "withdraw_id")
+    @TableField(value = "withdrawId")
     private String withdrawId;
 
     @ApiModelProperty("订单id")
@@ -46,6 +47,7 @@
     private Integer withdrawType;
     @ApiModelProperty("创建时间")
     @TableField("createTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
     @ApiModelProperty("审核结果 1=通过 0=拒绝")
     @TableField("auditStatus")
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
index 8cd4046..9001b02 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
@@ -398,7 +398,10 @@
                     JSONObject.toJSONString(postMap),
                     "7EEA04429B006E12AAA421C002EC48BBEED5BE94",
                     "1665330417",
-                    "/usr/local/vx/apiclient_key.pem", "/v3/fund-app/mch-transfer/transfer-bills");
+                    "D:\\apiclient_key.pem",
+//                    "/usr/local/vx/apiclient_key.pem",
+
+                    "/v3/fund-app/mch-transfer/transfer-bills");
             JSONObject jsonObject = JSONObject.parseObject(result);
 //            WithdrawDetail withdrawDetail = new WithdrawDetail();
 //            withdrawDetail.setWithdrawId(withdrawId);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/task/TaskUtil.java
index 582b942..2e438e3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/task/TaskUtil.java
@@ -3,6 +3,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.core.constant.WechatConstants;
+import com.ruoyi.common.core.exception.GlobalException;
 import com.ruoyi.common.core.vo.UserDto;
 import com.ruoyi.order.entity.Order;
 import com.ruoyi.order.entity.Withdraw;
@@ -21,10 +22,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 
 
 /**
@@ -48,7 +46,7 @@
     @Scheduled(fixedRate = 1000 * 3600)
     public void taskMinute(){
         try {
-            List<Withdraw> list1 = withdrawService.list();
+            List<Withdraw> list1 = withdrawService.lambdaQuery().eq(Withdraw::getId,"1938794177477832705").list();
             List<WithdrawDetail> list = withdrawDetailService.lambdaQuery()
                     .isNotNull(WithdrawDetail::getOutBatchNo).ne(WithdrawDetail::getStatus, "SUCCESS").list();
 
@@ -71,7 +69,7 @@
                         orderService.updateById(order);
                         withdrawDetail.setStatus("SUCCESS");
                         withdrawDetailService.updateById(withdrawDetail);
-                    } else if (s.equals("FAIL")||s.equals("CANCELING")||s.equals("CANCELLED")) {
+                    } else if (string.equals("FAIL")||string.equals("CANCELING")||string.equals("CANCELLED")) {
                         // 重新发起一笔转账
                         withdrawDetail.setStatus("FAIL");
                         withdrawDetailService.updateById(withdrawDetail);
@@ -89,7 +87,7 @@
         }
     }
 
-    private boolean weChatPay(BigDecimal orderMoney, String openId, String withdrawId, String serverName) {
+    private boolean weChatPay(BigDecimal orderMoney, String openId,String withdrawId,String serverName) {
         if (com.ruoyi.common.core.utils.StringUtils.isBlank(openId)) {
             return false;
         }
@@ -108,21 +106,23 @@
             Map<String, Object> postMap = new HashMap<>(8);
             postMap.put(WechatConstants.APP_ID, "wx98563d0ec9cf21c8");
             // 订单号
-            String s = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
-            postMap.put("out_bill_no", s);
+            postMap.put("out_bill_no", String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
             System.err.println("====="+postMap.get("out_bill_no"));
             postMap.put(WechatConstants.OPEN_ID, openId);
             // 转账金额
             postMap.put("transfer_amount", transferAmount);
+            postMap.put("transfer_scene_id", "1010");
             // 转账备注
             postMap.put("transfer_remark", "二手回收提现确认收款");
             // 回调地址
             postMap.put("notify_url", "https://hyhsbqgc.com/api/ruoyi-order/wx/wxChatPay");
             // 转账场景报备信息
+            List<Map<String, Object>> list = new ArrayList<>();
             Map<String, Object> info = new HashMap<>();
             info.put("info_type","回收商品名称");
             info.put("info_content",serverName);
-            postMap.put("transfer_scene_report_infos", com.alibaba.fastjson2.JSONObject.toJSONString(info));
+            list.add(info);
+            postMap.put("transfer_scene_report_infos", list);
             String result = HttpUtil.postTransBatRequest(
                     WechatConstants.WE_CHAT_PAY_URL_PRE,
                     com.alibaba.fastjson2.JSONObject.toJSONString(postMap),
@@ -135,26 +135,42 @@
 //            withdrawDetail.setMoney(transferAmount);
 //            withdrawDetail.setOutBatchNo((String) postMap.get(WechatConstants.OUT_BATCH_NO));
 //            withdrawDetailService.save(withdrawDetail);
+            System.err.println(jsonObject);
+//            WithdrawDetail withdrawDetail = new WithdrawDetail();
+//            withdrawDetail.setWithdrawId(withdrawId);
+//            withdrawDetail.setMoney(transferAmount);
+//            withdrawDetail.setOutBatchNo((String) postMap.get(WechatConstants.OUT_BATCH_NO));
+//            withdrawDetailService.save(withdrawDetail);
             if (jsonObject.containsKey(WechatConstants.CREATE_TIME)) {
                 String string = jsonObject.getString("package_info");
                 Withdraw withdraw = withdrawService.getById(withdrawId);
-                WithdrawDetail one = withdrawDetailService.lambdaQuery().eq(WithdrawDetail::getWithdrawId, withdrawId).last("limit 1").one();
-                if (one!=null){
-                    one.setOutBatchNo(s);
+
+                Order order = orderService.getById(withdraw.getOrderId());
+                order.setIsWithdrawal(2);
+                order.setPackageInfo(string);
+                orderService.updateById(order);
+                // 转账成功
+                //保存转账明细
+                WithdrawDetail one = withdrawDetailService.lambdaQuery().eq(WithdrawDetail::getWithdrawId, withdrawId).last("limit 1")
+                        .one();
+                if(one!=null){
+                    one.setOutBatchNo(postMap.get("out_bill_no")+"");
                     one.setStatus("PENDING");
-                    withdrawDetailService.updateById(one);
-                    Order order = orderService.getById(withdraw.getOrderId());
-                    order.setPackageInfo(string);
-                    order.setIsWithdrawal(2);
-                    orderService.updateById(order);
+                    withdrawDetailService.updateById( one);
+                }else{
+                    WithdrawDetail withdrawDetail = new WithdrawDetail();
+                    withdrawDetail.setWithdrawId(withdrawId);
+                    withdrawDetail.setMoney(transferAmount);
+                    withdrawDetail.setOutBatchNo(postMap.get("out_bill_no")+"");
+                    withdrawDetailService.save(withdrawDetail);
                 }
+
             } else {
-                allTransfersSuccessful = false;
-                break;
+                throw new GlobalException("提现失败,失败原因:"+jsonObject.getString("message"));
+//                allTransfersSuccessful = false;
+//                break;
             }
-
         }
-
         return allTransfersSuccessful;
     }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/TestWxPay.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/TestWxPay.java
index cae9670..9d7c68f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/TestWxPay.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/TestWxPay.java
@@ -53,7 +53,10 @@
                     JSONObject.toJSONString(postMap),
                     "7EEA04429B006E12AAA421C002EC48BBEED5BE94",
                     "1665330417",
-                    "/usr/local/vx/apiclient_key.pem", "/v3/fund-app/mch-transfer/transfer-bills");
+//                    "/usr/local/vx/apiclient_key.pem",
+                    "D:\\apiclient_key.pem",
+
+                    "/v3/fund-app/mch-transfer/transfer-bills");
             JSONObject jsonObject = JSONObject.parseObject(result);
 //            WithdrawDetail withdrawDetail = new WithdrawDetail();
 //            withdrawDetail.setWithdrawId(withdrawId);
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index c3505f0..91e3204 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -506,6 +506,7 @@
         ,o.server_name
         ,o.server_phone
         ,o.remark
+        ,o.reservation_remark
 
         from t_order o
         <where>

--
Gitblit v1.7.1