skyfffire 1 месяц назад
Родитель
Сommit
3ada89b81e

+ 3 - 2
src/main/java/common/utils/hyg/HygSDK.java

@@ -101,8 +101,9 @@ public class HygSDK {
         try {
             // {"data":{"workerId":"W141720xxxx8","identNo":"51xxxx1xxxxx9012","signTime":"2025-09-15 17:36:50","bankCardNo":"6217003xxxxx1392931","workerCfcaSignFlag":true,"signDesc":"签约成功","remark":"","updateTime":"2025-09-16 03:15:00","signState":2,"receiptChannel":10,"createTime":"2025-09-15 17:36:50","workerMobile":"17781855864","verifiedStatus":2,"verifiedDesc":"认证成功","workerName":"龚成明","verifiedTime":"2025-09-15 17:36:17","certificateType":1},"statusText":"success","statusCode":"000000"}
             // {"statusText":"用户记录不存在","statusCode":"200406"}
-            AppConfig.LOGGER.info(HygSDK.findWorkerDetails("").toString());
-            // AppConfig.LOGGER.info(HygSDK.findDepositAccount());
+            // AppConfig.LOGGER.info(HygSDK.findWorkerDetails("").toString());
+            // {"data":[{"receiverAccountName":"九江慧用工科技有限公司","receiverBankBranchNo":"308100005192","cooperatorId":"C1415369626593792000","receiverBankBranchName":"招商银行股份有限公司北京东方广场支行","bankType":"商业银行","receiverAccountNo":"755915711210409","shortBankName":"招商银行","cooperatorName":"特别火(嵌入板)O"}],"statusText":"success","statusCode":"000000"}
+            // AppConfig.LOGGER.info(HygSDK.findDepositAccount().toString());
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 62 - 0
src/main/java/modules/user/UserController.java

@@ -1,5 +1,6 @@
 package modules.user;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.jdcloud.sdk.service.sms.model.BatchSendResponse;
 import com.jfinal.aop.Before;
@@ -16,6 +17,7 @@ import common.utils.http.MyController;
 import common.utils.http.MyRet;
 import common.utils.http.VerifyCode;
 import common.utils.hyg.AESUtils;
+import common.utils.hyg.HygSDK;
 import common.utils.jdcloud.SMS;
 import modules.deposit.DepositLogService;
 
@@ -414,7 +416,67 @@ public class UserController extends MyController {
     
     @Before(LoginInterceptor.class)
     public void getDepositInfo() {
+        // 先判断实名认证过没过
+        User user = service.findUserByMobileNumber(getSessionAttr("mobile_number"));
+        if (StrKit.isBlank(user.getHygWorkerId())) {
+            renderJson(MyRet.fail("请先进行实名认证"));
+            return;
+        }
         
+        // 用户银行卡号
+        String userBackCard = user.getHygBankCard();
+        try {
+            JSONObject hygInfo = HygSDK.findDepositAccount();
+            String receiverAccountNo = null;
+            String receiverAccountName = null;
+            String receiverBankBranchName = null;
+            String shortBankName = null;
+            
+            if (hygInfo.getString("statusCode").equals("000000")) {
+//                AppConfig.LOGGER.info("hygInfo: {}", hygInfo.toJSONString());
+                JSONArray infos = hygInfo.getJSONArray("data");
+                
+                for (Object info : infos) {
+                    // 根据实际情况,你需要将 item 转换为 JSONObject 或其他类型
+                    if (info instanceof JSONObject) {
+                        JSONObject deposit = (JSONObject) info;
+                        
+                        // 现在只支持银行形式充值
+                        shortBankName = deposit.getString("shortBankName");
+                        if (shortBankName.contains("银行")) {
+                            receiverAccountNo = deposit.getString("receiverAccountNo");
+                            receiverAccountName = deposit.getString("receiverAccountName");
+                            receiverBankBranchName = deposit.getString("receiverBankBranchName");
+                        }
+                    } else {
+                        AppConfig.LOGGER.error("内部不是JSON实现方式:{}", info);
+                    }
+                }
+                
+                // 必须是四个信息都是完全争取的
+                if (StrKit.notBlank(receiverAccountNo, receiverAccountName, receiverBankBranchName, shortBankName)) {
+                    Map<String, Object> data = new HashMap<>();
+                    data.put("user_back_card", userBackCard);
+                    data.put("receiver_account_no", receiverAccountNo);
+                    data.put("receiver_account_name", receiverAccountName);
+                    data.put("receiver_bank_branch_name", receiverBankBranchName);
+                    data.put("short_back_name", shortBankName);
+
+                    renderJson(MyRet.ok("充值信息获取成功,请一定要准确核对相关信息!包括付款卡号!否则将会无法入账!无法入账请联系客服解决!").setData(data));
+                } else {
+                    AppConfig.LOGGER.error("充值信息获取失败:未找到银联入账方式!{}", hygInfo.toJSONString());
+
+                    renderJson(MyRet.fail("充值信息获取失败:未找到银联入账方式!请联系客服!").setData(hygInfo));
+                }
+            } else {
+                AppConfig.LOGGER.error("充值信息获取失败!{}", hygInfo.toJSONString());
+                
+                renderJson(MyRet.fail("充值信息获取失败!请联系客服!").setData(hygInfo));
+            }
+        } catch (Exception e) {
+            renderJson(MyRet.fail("慧用工充值信息获取错误:" + e.getMessage()));
+            e.printStackTrace();
+        }
     }
 
     public void logout() {

+ 5 - 0
src/test/rest/UserControllerTest.http

@@ -60,6 +60,11 @@ Content-Type: application/json
   "verify_code": "6962"
 }
 
+### 获取充值方式
+POST {{ baseUrl }}/user/getDepositInfo
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
 ### 登出
 POST {{ baseUrl }}/user/logout
 Content-Type: application/json