fix:类型转换

master
chaiyapeng 2024-09-09 22:17:35 +08:00
parent faec7b3922
commit 1212ffad82
8 changed files with 22496 additions and 133658 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,49 @@
package com.muyu.data.mart.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.data.mart.common.BasicApi;
import com.muyu.data.mart.domain.realname.RealNameReq;
import com.muyu.data.mart.domain.realname.RealNameResp;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Authorchaiyapeng
* @Packagecom.muyu.data.mart.controller
* @Projectcloud-port
* @nameApiUserController
* @Date2024/9/9 17:14
*/
@RestController
@RequestMapping("/api")
@Log4j2
@Tag(name = "接口调用",description = "进行不同接口调用")
public class ApiUserController {
@Resource(name = "api-real-name")
private BasicApi<RealNameReq, RealNameResp> realNameService;
public ApiUserController(BasicApi<RealNameReq, RealNameResp> realNameService){
this.realNameService = realNameService;
}
@PostMapping("/realname")
@Operation(summary = "实名认证",description = "实名认证")
public Result RealName(@RequestBody RealNameReq realNameReq) {
RealNameResp realNameResp = null;
try {
realNameResp = realNameService.send(realNameReq);
} catch (Exception e) {
throw new RuntimeException(e);
}
return Result.success(realNameResp);
}
}

View File

@ -17,4 +17,18 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,35 @@
package com.muyu.data.mart.service.controller;
import com.muyu.data.mart.common.BasicApi;
import com.muyu.data.mart.domain.realname.RealNameReq;
import com.muyu.data.mart.domain.realname.RealNameResp;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Authorchaiyapeng
* @Packagecom.muyu.data.mart.service.controller
* @Projectcloud-port
* @nameRealNameController
* @Date2024/9/9 16:29
*/
@RestController
@RequestMapping("/juhe")
public class RealNameController {
@Resource(name = "juhe-real-name")
private BasicApi<RealNameReq, RealNameResp> respBasicApi;
@PostMapping("/real/name")
public RealNameResp realName(@RequestBody RealNameReq realNameReq) {
RealNameResp realNameResp = null;
try {
realNameResp = respBasicApi.send(realNameReq);
return realNameResp;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

View File

@ -8,6 +8,17 @@ import com.muyu.data.mart.domain.realname.juhe.JuHeRealNameReq;
import com.muyu.data.mart.domain.realname.juhe.JuHeRealNameResp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Authorchaiyapeng
@ -28,26 +39,94 @@ public class RealNameServiceImpl implements BasicApi<RealNameReq, RealNameResp>
*/
@Override
public RealNameResp send(RealNameReq realNameReq) {
JuHeRealNameReq juHeRealNameReq = JuHeRealNameReq.realNameReqBuilder(realNameReq);
JuHeResult<JuHeRealNameResp> juHeRealNameRespJuHeResult = sendApi(juHeRealNameReq);
JuHeResult<JuHeRealNameResp> juHeRealNameRespJuHeResult = null;
return RealNameResp.builder().build();
try {
juHeRealNameRespJuHeResult = sendApi(juHeRealNameReq);
} catch (Exception e) {
throw new RuntimeException(e);
}
return RealNameResp.builder()
.code(String.valueOf(juHeRealNameRespJuHeResult.getErrorCode()))
.mag(juHeRealNameRespJuHeResult.getReason())
.build();
}
public static String API_URL = "http://op.juhe.cn/idcard/query";
// 接口请求Key
public static String API_KEY = "3a2afc3ff97304c4f6b16325a99c34b0";
public JuHeResult<JuHeRealNameResp> sendApi(JuHeRealNameReq juHeRealNameReq){
HashMap<String, String> map = new HashMap<>();
map.put("key", API_KEY);
map.put("idcard", juHeRealNameReq.getIdCard());
map.put("realname", juHeRealNameReq.getRealName());
map.put("orderid", "");
String queryString = params(map);
URL url = null;
try {
url = new URL(API_URL + "?" + queryString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response);
StringBuffer stringBuffer = new StringBuffer(response);
JSONObject jsonObject = JSONObject.parseObject(stringBuffer.toString());
String reason = jsonObject.getString("reason");
JSONObject resultObj = jsonObject.getJSONObject("result");
String realname = resultObj.getString("realname");
String idcard = resultObj.getString("idcard");
int res = resultObj.getIntValue("res");
int errorCode = jsonObject.getIntValue("error_code");
return new JuHeResult<JuHeRealNameResp>(){{
setErrorCode(0);
setReason("成功");
setErrorCode(errorCode);
setReason(reason);
setResult(
JuHeRealNameResp.builder()
.realName(juHeRealNameReq.getRealName())
.idCard(juHeRealNameReq.getIdCard())
.res(0)
.realName(realname)
.idCard(idcard)
.res(res)
.build()
);
}};
} catch (Exception e) {
throw new RuntimeException(e);
}
// return new JuHeResult<JuHeRealNameResp>(){{
// setErrorCode(0);
// setReason("成功");
// setResult(
// JuHeRealNameResp.builder()
// .realName(juHeRealNameReq.getRealName())
// .idCard(juHeRealNameReq.getIdCard())
// .res(0)
// .build()
// );
// }};
}
public static String params(Map<String, String> map) {
return map.entrySet().stream()
.map(entry -> {
try {
return entry.getKey() + "=" + URLEncoder.encode(entry.getValue(), StandardCharsets.UTF_8.toString());
} catch (Exception e) {
e.printStackTrace();
return entry.getKey() + "=" + entry.getValue();
}
})
.collect(Collectors.joining("&"));
}
}

View File

@ -1,2 +1,73 @@
# Tomcat
server:
port: 98
port: 9777
# nacos线上地址
nacos:
addr: 47.116.184.54:8848
user-name: nacos
password: nacos
namespace: cloud-2112
# Spring
spring:
application:
# 应用名称
name: cloud-port
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
config:
# 服务注册地址
server-addr: ${nacos.addr}
# nacos用户名
username: ${nacos.user-name}
# nacos密码
password: ${nacos.password}
# 命名空间
namespace: ${nacos.namespace}
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
# 系统共享配置
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 系统环境Config共享配置
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
- application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# rabbit 配置文件
- application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 配置 MyBatis 的日志输出实现类,这里是输出到控制台
mapper-locations: classpath:/mapper/*.xml # MyBatis Mapper 文件的位置,这里假设是 XML 形式的 Mapper
global-config:
db-config:
id-type: auto # 主键生成策略,这里设置为自动增长
logic-delete-value: 1 # 逻辑删除标记值,例如设置为 1 表示已删除
logic-not-delete-value: 0 # 逻辑未删除标记值,例如设置为 0 表示未删除
banner: false # 关闭控制台打印的 MyBatis-Plus Banne
#fdfs:
# so-timeout: 1500 # socket 连接时长
# connect-timeout: 600 # 连接 tracker 服务器超时时长
# # 这两个是你服务器的 IP 地址,注意 23000 端口也要打开阿里云服务器记得配置安全组。tracker 要和 stroage 服务进行交流
# tracker-list: 49.235.108.160:22122
# web-server-url: 49.235.108.160:8888
# pool:
# jmx-enabled: false
# # 生成缩略图
# thumb-image:
# height: 500
# width: 500

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff