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;
|
}
|
}
|