kongdeqiang
2023-09-21 61fae74b4c77a51e77588c741a70f0872ba34ceb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.boying.service.impl;
 
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.boying.common.WeChatConfig;
import com.boying.service.WXService;
import com.boying.util.CommonUtil;
import com.ruim.ifsp.signature.IfspSdkSecurityAtureUtil;
import com.ruim.ifsp.signature.cert.IfspSdkConstants;
import org.springframework.stereotype.Service;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName WXServiceImpl.java
 * @Description TODO
 * @createTime 2023年09月11日 08:35:00
 */
@Service
public class WXServiceImpl implements WXService {
    private String APPID= WeChatConfig.APPID;
    private String APPSECRECT= WeChatConfig.APPSECRECT;
    private String GRANTTYPE= WeChatConfig.GRANTTYPE;
 
    @Override
    public String getOpenIdByCode(String code) {
        String WX_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
        try {
            if (StringUtils.isBlank(code)) {
                System.out.println("code为空");
                return "code为空";
            } else {
                String requestUrl = WX_URL.replace("APPID", WeChatConfig.APPID).replace("SECRET", WeChatConfig.APPSECRECT)
                        .replace("CODE", code).replace("authorization_code", WeChatConfig.GRANTTYPE);
                JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl, "GET", null);
                if (jsonObject != null) {
                    try {
                        // 业务操作
                        String access_token = jsonObject.getString("access_token");
                        String openId = jsonObject.getString("openid");
                        //拉取用户信息
                        //getUserMsg(access_token, openId);
                        return openId;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } else {
                    System.out.println("code无效");
                    return "code无效";
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "error";
    }
 
    @Override
    public Map<String, String> addSign(Map<String, Object> map) {
        /*
         *加签
         */
        try {
            IfspSdkSecurityAtureUtil.RSASigndata(map,
                  //  "D:\\sa\\certificate09.pfx", "xtbanktest");  //测试环境
                    "D:\\sa\\32145bbf03c404218275bf1be2532b63.pfx", "123456");  //正式环境
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        System.out.println("signAture: "+map.get(IfspSdkConstants.param_signature));
        System.out.println("certId: "+map.get(IfspSdkConstants.param_certId));
        Map<String,String> map1 = new HashMap<>();
        map1.put("signAture",map.get(IfspSdkConstants.param_signature).toString());
        map1.put("certId",map.get(IfspSdkConstants.param_certId).toString());
        return map1;
    }
}