Browse Source

优化完善

master
wxc 2 months ago
parent
commit
9c1f5f610b
  1. 19
      mailbox-outer/src/main/java/com/biutag/outer/config/XybProperties.java
  2. 38
      mailbox-outer/src/main/java/com/biutag/outer/domain/vo/XybUserInfo.java
  3. 43
      mailbox-outer/src/main/java/com/biutag/outer/util/XybApi.java
  4. 4
      mailbox-outer/src/main/resources/application.yml

19
mailbox-outer/src/main/java/com/biutag/outer/config/XybProperties.java

@ -0,0 +1,19 @@
package com.biutag.outer.config;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Setter
@Getter
@Configuration
@ConfigurationProperties(
prefix = "xyb"
)
public class XybProperties {
private String clinetId;
private String publicKey;
}

38
mailbox-outer/src/main/java/com/biutag/outer/domain/vo/XybUserInfo.java

@ -0,0 +1,38 @@
package com.biutag.outer.domain.vo;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class XybUserInfo {
private String id;
// 身份证
private String certificateNum;
// 身份证开始时间
private String certEffDate;
// 身份证结束时间
private String certExpDate;
// 身份证类型
private String certificateType;
// 姓名
private String name;
// 电话
private String phone;
// 实名认证等级
private String realLvl;
// 性别
private String sex;
// 用户类型
private String userType;
}

43
mailbox-outer/src/main/java/com/biutag/outer/util/XybApi.java

@ -0,0 +1,43 @@
package com.biutag.outer.util;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.biutag.outer.config.XybProperties;
import com.biutag.outer.domain.vo.XybUserInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class XybApi {
private static XybProperties xybProperties;
public XybApi(XybProperties properties) {
XybApi.xybProperties = properties;
}
public static XybUserInfo getXybUserInfo(String accessLink) {
// https://mycs.csbtv.com
String url = String.format("https://mycs.csbtv.com/my-exclusive-api/xyb/getXybUserInfo?accessLink=%s&clientId=%s", accessLink,
xybProperties.getClinetId());
log.info(url);
HttpResponse httpResponse = HttpUtil.createGet(url)
.execute();
log.info(httpResponse.body());
if (!httpResponse.isOk()) {
log.error("湘易办服务异常: {}", httpResponse.body());
throw new RuntimeException("湘易办服务异常");
}
JSONObject response = JSON.parseObject(httpResponse.body());
RSA rsaPri = new RSA(null, xybProperties.getPublicKey());
String jsonStr = rsaPri.decryptStr(response.getString("data"), KeyType.PublicKey);
// String jsonStr = rsaPri.decryptStr("HdLGrWa3fg1hBdYpQHhpG9L1QMi2FnhN6ZsXzEXumXnPnwDauG7t2efZ2eFIM7kifFurXU6DftULecezi2ouUVzWyqMffBfZDzlPrapQgQcAVpV8N8VMEH8FwgiAg0yjP9AwdKpsfOGhiEGkascaj2U99gpqNL4P02Vdz67sbnVmkjD3VWOZkh6P5h1i12ldEZTdoLmYT24V5n4QnK7O63oSIDMzaOH1A8ZhBKpYuG0XqzvklpHpllthqajMsAtXN3RFcXmvzQX8aIm9QHDECHl4syl1SJgegdJuyngbFzOkmUrBLVSRrBBRsHXMTg/Iydb9cC3CkyNlLEHqCgJwGg==", KeyType.PublicKey);
return JSON.parseObject(jsonStr, XybUserInfo.class);
}
}

4
mailbox-outer/src/main/resources/application.yml

@ -33,3 +33,7 @@ spring:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
xyb:
clinet-id: VON6F9E15L
public-key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCFBLOuFMyRN9QR2oqAwaWbrICn83E0JEP5n+8LFet0Dlj11nvzCmJTUCuy0Dx2YDa2lhr/b+CvjWy/qqdb7wbKJSo9z8MvkAAC/uEWaKsludTL8EUWttlwiXJZmMfj5QMOVfCbVCpI91+rBcWRR8Vg5MQGqDh0ZA4ym5j6mGYyRwIDAQAB

Loading…
Cancel
Save