无关风月
2025-03-28 1e12b2abcaa1bdbdb57d3694446337126168bef1
bug修改
8个文件已修改
156 ■■■■ 已修改文件
xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/factory/RemoteAppUserFallbackFactory.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/feign/RemoteAppUserService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-common/xinquan-common-core/src/main/java/com/xinquan/common/core/utils/JuHeFuUtil.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientHomeController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/CommonQuestionController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
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;
            }
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}")
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);
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) {
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);
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
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 + ""