From 1e12b2abcaa1bdbdb57d3694446337126168bef1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 三月 2025 19:15:08 +0800
Subject: [PATCH] bug修改

---
 xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java                      |   56 ++++++++++++++----
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java                     |    5 +
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java  |   15 ++++
 xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java           |   10 +++
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java          |   21 ++++++
 xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java |   16 +++++
 xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java            |   29 +++++++++
 xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java                             |    4 +
 8 files changed, 139 insertions(+), 17 deletions(-)

diff --git a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java
index 783546f..50e8da8 100644
--- a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java
+++ b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java
@@ -189,6 +189,10 @@
     @ApiModelProperty(value = "当前剩余能量值")
     @TableField("energy_value")
     private Integer energyValue;
+    
+    @ApiModelProperty(value = "邀请码")
+    @TableField("qrCode")
+    private String qrCode;
 
     @ApiModelProperty(value = "帮助人数")
     @TableField(exist = false)
diff --git a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
index ff06fb8..deae664 100644
--- a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
+++ b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java
@@ -33,6 +33,16 @@
     public RemoteAppUserService create(Throwable cause) {
         return new RemoteAppUserService() {
             @Override
+            public R<AppUser> getUserById(Long id) {
+                return null;
+            }
+
+            @Override
+            public R saveQrCode(AppUser appUser) {
+                return null;
+            }
+
+            @Override
             public R getUserEnergy(Long id) {
                 return null;
             }
diff --git a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
index 00d34dd..285327a 100644
--- a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
+++ b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java
@@ -29,6 +29,11 @@
  */
 @FeignClient(contextId = "remoteAppUserService", value = ServiceNameConstants.APP_USER_SERVICE, fallbackFactory = RemoteAppUserFallbackFactory.class)
 public interface RemoteAppUserService {
+    @GetMapping("/client/app-user/getUserById/{id}")
+    public R<AppUser> getUserById(@PathVariable("id") Long id);
+    @PostMapping("/client/app-user/saveQrCode")
+    public R saveQrCode(@RequestBody AppUser appUser);
+
     @PostMapping("/client/app-user-tree/getUserEnergy/{id}")
     public R getUserEnergy(@PathVariable("id")Long id);
     @PostMapping("/client/app-user/getUserBlackList/{appUserId}")
diff --git a/xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java b/xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java
index 1a06255..cbde3c3 100644
--- a/xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java
+++ b/xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java
@@ -5,7 +5,9 @@
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.obs.services.IFSClient;
 import com.xinquan.common.core.domain.R;
 import com.xinquan.common.core.exception.ServiceException;
 
@@ -96,21 +98,21 @@
 //        String s = RandomUtil.randomNumbers(4);
 //        String s1 = "FZ" + time + s;
 //        System.err.println(s1);
-//        createUser(s1,"周帅","00"
-//                ,"130682198203061982"
-//                ,"18132621790"
-//                ,"6221801210000822611");
+        createUser("1","董国庆","00"
+                ,"511602199910018718"
+                ,"18224358736"
+                ,"6230520460328218072");
 //        updateAccount("FZ17403857003793677","邱仕珍","13682696011"
 //                ,"4367427200563236884");
-//        updateAccount("test945622121","周帅","19983174515"
-//                ,"6228480469852935177");
+//        updateAccount("FZ17430446395934603","刘晓梅","18186305036"
+//                ,"6215591804000544393");
 //          balancePay("CZ09809217341", "FZ17343419268427877","0.01", "");
 //        queryBalance("FZ17343419268427877");
 //        String decrypt = decrypt("z8Che/JwxrGj/oTOuAvU8HFN6vXL/OqeioV41ZuPV/xVQPt9vCHHc1R5LgAO51Hq5ilD9wqsminRvSiJj6Fs/Bfk8espZSOO2g1OE7FZyqcLB1w01MSWyxfQT8nc2GH/EfOKXCuaKBCeyW24OvW3ng==");
 //        System.err.println(decrypt);
 //        balanceWithdraw("TX1000928371648172","0.01","FZ17343419268427877","https://xq.xqzhihui.com/api/user/client/app-user-withdraw/base/callbackA");
-        queryUserList("441424198104061249");
-//        queryBalanceList("FZ17427173417891435");
+        queryUserList("420881198207202109");
+//        queryBalanceList("FZ17430701653874185");
 //        queryPayment("002212025032410341110750073154527547392");
     }
     public static String queryUserList(String identifier)
@@ -145,7 +147,29 @@
         JSONObject jsonObject = JSONObject.parseObject(decrypt);
         System.err.println(jsonObject);
         if (jsonObject!=null){
-            return jsonObject.getJSONObject("data").getString("member_id");
+            JSONArray data1 = jsonObject.getJSONArray("data");
+            if(data1==null){
+                return null;
+            }else{
+                for (Object o : data1) {
+                    // 将Object转化为jsonObject
+                    JSONObject jsonObject1 = (JSONObject) o;
+                    if(jsonObject1!=null){
+                        String fzId = jsonObject1.getString("member_id");
+                        String sfz = jsonObject1.getString("identifier");
+                        if (org.springframework.util.StringUtils.hasLength(fzId)&&org.springframework.util.StringUtils.hasLength(sfz)){
+                            if (sfz.equals(identifier)){
+                                return fzId;
+                            }
+                        }else{
+                            return null;
+                        }
+                    }else{
+                        return null;
+                    }
+                }
+                return null;
+            }
         }
         return null;
     }
@@ -196,12 +220,15 @@
 //        String result = sendPost(BASE_URL + CREATE_USER_INTERFACE, body);
         String result = sendPost("https://payapi.juhefu.com/" + CREATE_USER_INTERFACE, body);
         JSONObject resJsonObject = JSONObject.parseObject(result);
+        if (org.springframework.util.StringUtils.hasLength(resJsonObject.getString("error_msg"))){
+            return resJsonObject.getString("error_msg");
+        }
         System.err.println(resJsonObject);
-        String string = resJsonObject.getString("reqCipher");
+        String string = resJsonObject.getString("resCipher");
         String decrypt = decrypt(string);
         System.err.println(decrypt);
         JSONObject jsonObject = JSONObject.parseObject(decrypt);
-        if (resJsonObject.get("error_msg")!=null){
+        if (jsonObject.get("error_msg")!=null){
             System.err.println("添加银行卡失败没有获取到分账id"+resJsonObject.get("error_msg"));
             return resJsonObject.getString("error_msg");
         }
@@ -240,9 +267,12 @@
         JSONObject resJsonObject = JSONObject.parseObject(result);
         System.err.println(resJsonObject);
         if (resJsonObject.get("error_msg")!=null){
+            if (resJsonObject.getString("error_msg").contains("无需更新")){
+                return "success";
+            }
             return resJsonObject.getString("error_msg");
         }
-        String string = resJsonObject.getString("reqCipher");
+        String string = resJsonObject.getString("resCipher");
         String decrypt = decrypt(string);
         if (decrypt==null){
             return "false"+"发生未知异常(应该是银行卡信息和持卡人信息不一致 但是第三方没有返回准确的错误信息 这里统一返回为银行卡信息或持卡人信息有误)";
@@ -301,7 +331,7 @@
         data.put("start_date", format1);
         data.put("end_date", format);
         data.put("page_index", "01");
-        data.put("page_size", "01");
+        data.put("page_size", "10");
         data.put("member_id", member_id);
         JSONObject body = new JSONObject();
 //        body.put("merId", MER_ID);
diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java
index 94884a7..319a57c 100644
--- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java
+++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java
@@ -12,6 +12,7 @@
 import com.xinquan.common.security.service.TokenService;
 import com.xinquan.meditation.domain.HomeBackgroundMusic;
 import com.xinquan.meditation.domain.HomeBackgroundMusicUser;
+import com.xinquan.meditation.domain.MeditationMusic;
 import com.xinquan.meditation.domain.vo.ClientHomeBackgroundMusicVO;
 import com.xinquan.meditation.domain.vo.ClientMeditationAndCateVO;
 import com.xinquan.meditation.domain.vo.ClientMeditationCategoryVO;
@@ -57,6 +58,8 @@
     private final MeditationService meditationService;
     private final MeditationCategoryService meditationCategoryService;
     private final MeditationEverydayService meditationEverydayService;
+
+
     @Resource
     private  RemoteHotWordsService remoteHotWordsService;
     private final MeditationQuestionService meditationQuestionService;
@@ -64,6 +67,19 @@
     private HomeBackgroundMusicUserService homeBackgroundMusicUserService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private MeditationMusicService meditationMusicService;
+    @PostMapping("/testObs")
+    @ApiOperation(value = "OBS", tags = "OBS")
+    public R testObs() {
+        List<MeditationMusic> list = meditationMusicService.list();
+        for (MeditationMusic meditationMusic : list) {
+            String replace = meditationMusic.getMusicUrl().replace("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com", "http://obs.xq.xqzhihui.com");
+            meditationMusic.setMusicUrl(replace);
+        }
+        meditationMusicService.updateBatchById(list);
+        return R.ok();
+    }
     // 新增需求 用户注册默认给一个背景音频设置
     @GetMapping("/addHomeBackgroundMusicDefault/{id}")
     public R addHomeBackgroundMusicDefault(@PathVariable("id") Long id) {
diff --git a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java
index 2a1a0df..b6d5000 100644
--- a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java
+++ b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java
@@ -10,6 +10,7 @@
 import com.xinquan.common.security.service.TokenService;
 import com.xinquan.common.security.utils.SecurityUtils;
 import com.xinquan.system.api.RemoteUserService;
+import com.xinquan.system.api.domain.AppUser;
 import com.xinquan.system.api.domain.CommissionRule;
 import com.xinquan.system.api.model.LoginUser;
 import com.xinquan.system.domain.CommonQuestion;
@@ -19,6 +20,7 @@
 import com.xinquan.system.utils.ObsUploadUtil;
 import com.xinquan.system.utils.QRCodeUtil;
 import com.xinquan.system.utils.UUIDUtil;
+import com.xinquan.user.api.feign.RemoteAppUserService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -27,6 +29,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ByteArrayResource;
 import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.web.multipart.MultipartFile;
@@ -60,6 +63,9 @@
     private RemoteUserService remoteUserService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private RemoteAppUserService remoteAppUserService;
+
     @PostMapping("/getQrCode")
     @ApiOperation(value = "获取客服微信二维码",tags = "获取客服微信二维码")
     public R getQrCode() {
@@ -201,17 +207,27 @@
         Long userId = loginUser.getUserid();
         String string = userId.toString();
         CommissionRule one = commissionRuleService.lambdaQuery().one();
+        AppUser data = remoteAppUserService.getUserById(userId).getData();
+        if (data!=null){
+            if (StringUtils.hasLength(data.getQrCode())){
+                one.setQrCode(data.getQrCode());
+                remoteAppUserService.saveQrCode(data);
+                return R.ok(one);
+            }
+        }else{
+            return R.tokenError("登录失效");
+        }
         HashMap<String, String> blueCode = new HashMap<>();
         blueCode.put("user_id", string);
         System.err.println("APP推广活动页"+string);
-
         String blueS = "https://xq.xqzhihui.com/share/#/pages/register/register?userId="+string;
-
         MyQrCodeUtil.createCodeToFile(blueS);
         BufferedImage blueImage = QRCodeUtil.createImage(blueS);
         MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
         String s = ObsUploadUtil.obsUpload(blueFile);
         one.setQrCode(s);
+        data.setQrCode(s);
+        remoteAppUserService.saveQrCode(data);
         return R.ok(one);
     }
 
@@ -231,6 +247,15 @@
         System.err.println("推广人id"+userId);
         CommissionRule one = commissionRuleService.lambdaQuery().one();
         HashMap<String, String> blueCode = new HashMap<>();
+        AppUser data = remoteAppUserService.getUserById(Long.valueOf(userId)).getData();
+        if (data!=null){
+            if (StringUtils.hasLength(data.getQrCode())){
+                one.setQrCode(data.getQrCode());
+                return R.ok(one);
+            }
+        }else{
+            return R.tokenError("登录失效");
+        }
         blueCode.put("user_id", userId + "");
         String blueS = "https://xq.xqzhihui.com/share/#/pages/register/register?userId="+userId;
         MyQrCodeUtil.createCodeToFile(blueS);
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
index a1f7314..6c730a5 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
@@ -129,7 +129,26 @@
     private NoticeRecordService noticeRecordService;
     @Resource
     private AppUserBlackService appUserBlackService;
-
+    /**
+     * 远程调用 保存邀请码
+     */
+    @PostMapping("/saveQrCode")
+    public R saveQrCode(@RequestBody AppUser appUser){
+      appUserService.updateById(appUser);
+       return R.ok();
+    }
+    /**
+     * 远程调用 查询用户信息
+     */
+    @GetMapping("/getUserById/{id}")
+    public R<AppUser> getUserById(@PathVariable("id") Long id){
+        AppUser byId = appUserService.getById(id);
+        if (byId==null){
+            return R.fail();
+        }else{
+            return R.ok(byId);
+        }
+    }
     /**
      * 远程调用 查询当前登陆人拉黑列表
      * @param appUserId
diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java
index 08edd70..3dd8556 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java
@@ -326,11 +326,24 @@
         String s2 = JuHeFuUtil.queryUserList(byId1.getIdentityCard());
         if (StringUtils.hasLength(s2)){
             byId.setFenzhangId(s2);
+        }else{
+            // 没有开户
+            long time = new Date().getTime();
+            String s3 = RandomUtil.randomNumbers(4);
+            String s1 = "FZ" + time + s3;
+            String user = JuHeFuUtil.createUser(s1, byId1.getCardholder(), "00",
+                    byId1.getIdentityCard(), byId1.getCellPhone(), byId1.getCardNo());
+            if (StringUtils.hasLength(user)&&user.equals("success")){
+                byId.setFenzhangId(s1);
+                appUserService.updateById(byId);
+            }else{
+                return R.fail(user);
+            }
         }
         String s1 = JuHeFuUtil.updateAccount(byId.getFenzhangId(), byId1.getCardholder(), byId1.getCellPhone(), byId1.getCardNo());
         if (!s1.contains("success")){
             // 修改报错 弹出提示
-            return R.fail("银行卡信息或持卡人信息有误,请核对后输入");
+            return R.fail(s1);
         }
         // 从商户余额分账到用户分账接收方
         JSONObject jsonObject = JuHeFuUtil.balancePay("CZ"+replace, byId.getFenzhangId(), bigDecimal1 + ""

--
Gitblit v1.7.1