This commit is contained in:
张秉卓
2026-04-08 10:14:31 +08:00
parent 3b310b6328
commit 4e6bae6717
31 changed files with 67 additions and 326 deletions

View File

@ -1,7 +1,6 @@
package com.xjrsoft.module.fssp.dto;
package com.xjrsoft.module.externalApi.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.dto;
package com.xjrsoft.module.externalApi.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.request;
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
@ -6,7 +6,7 @@ import lombok.Data;
* 应用令牌响应类用于封装应用令牌接口返回的数据
*/
@Data
public class AccessTokenResp {
public class AccessTokenResponse {
// 请求是否成功的标识true或false
private String success;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
@ -6,7 +6,7 @@ import lombok.Data;
* 应用令牌响应类用于封装应用令牌接口返回的数据
*/
@Data
public class AppTokenResp {
public class AppTokenResponse {
// 请求是否成功的标识true或false
private String success;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
/**
* FsspResponse 接口用于定义从联邦服务安全平台(FSSP)获取响应的基本结构

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
@ -9,7 +9,7 @@ import java.util.List;
* @param <T> 泛型类型表示分页数据中列表元素的类型
*/
@Data
public class FsspDataResp<T> {
public class FsspDataResponse<T> {
// 是否最后一页
private Boolean lastPage;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
@ -7,7 +7,7 @@ import lombok.Data;
* 该接口提供了一个方法来判断请求是否成功执行
*/
@Data
public class FsspResp implements BaseResponse {
public class FsspResponse implements BaseResponse {
// 响应状态,truefalse
private String success;
@ -19,7 +19,7 @@ public class FsspResp implements BaseResponse {
private String message;
// 响应数据泛型类型
private FsspDataResp data;
private FsspDataResponse data;
@Override
public boolean isSuccess() {

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.response;
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
@ -7,7 +7,7 @@ import lombok.Data;
* @param <T> 泛型类型表示响应数据的具体类型
*/
@Data
public class TokenResp<T> implements BaseResponse {
public class TokenResponse<T> implements BaseResponse {
// 响应状态
private String state;

View File

@ -1,126 +0,0 @@
package com.xjrsoft.module.fssp.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class DzhdxxResp {
/**
* 电子回单id
*/
private String id;
/**
* 单据编号
*/
private String billno;
/**
* 资金组织编码, 公司三字码
*/
private String orgNumber;
/**
* 资金组织名称
*/
private String orgName;
/**
* 交易日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bizdate;
/**
* 币别代码
*/
private String currencyNumber;
/**
* 币别名称
*/
private String currency;
/**
* 银行账号
*/
private String accountbankNumber;
/**
* 银行账户名称
*/
private String accountbank;
/**
* 明细交易时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime detaildatetime;
/**
* 摘要
*/
private String description;
/**
* 业务类型, 1普通 2上划 3下拨
*/
private String biztype;
/**
* 业务参考号
*/
private String bizrefno;
/**
* 付款金额
*/
private BigDecimal debitamount;
/**
* 收款金额
*/
private BigDecimal creditamount;
/**
* 对方单位
*/
private String oppunit;
/**
* 对方账号
*/
private String oppbanknumber;
/**
* 对方开户行
*/
private String oppbank;
/**
* 明细流水号
*/
private String detailid;
/**
* 电子回单号
*/
private String receiptno;
/**
* 对账标识码
*/
private String bankcheckflag;
/**
* 回单路径文件名
*/
private String filepath;
}

View File

@ -1,132 +0,0 @@
package com.xjrsoft.module.fssp.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class YhjymxResp {
/**
* 交易明细id
*/
private String id;
/**
* 交易明细编号
*/
private String billno;
/**
* 资金组织编码, 公司三字码
*/
private String orgNumber;
/**
* 资金组织名称
*/
private String orgName;
/**
* 交易日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bizdate;
/**
* 记账日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime transdate;
/**
* 币别代码
*/
private String currencyNumber;
/**
* 币别名称
*/
private String currency;
/**
* 银行账号
*/
private String accountbankNumber;
/**
* 银行账户名称
*/
private String accountbank;
/**
* 交易时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime biztime;
/**
* 摘要
*/
private String description;
/**
* 业务类型, 1普通 2上划 3下拨
*/
private String biztype;
/**
* 业务参考号
*/
private String bizrefno;
/**
* 付款金额
*/
private BigDecimal debitamount;
/**
* 收款金额
*/
private BigDecimal creditamount;
/**
* 余额
*/
private BigDecimal transbalance;
/**
* 对方户名
*/
private String oppunit;
/**
* 对方账号
*/
private String oppbanknumber;
/**
* 对方开户行
*/
private String oppbank;
/**
* 对账标识码
*/
private String bankcheckflag;
/**
* 电子回单号
*/
private String receiptno;
/**
* 明细流水号
*/
private String detailid;
}

View File

@ -1,9 +1,9 @@
package com.xjrsoft.module.fssp.client;
package com.xjrsoft.module.externalApi.client;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.fssp.callback.FsspCallback;
import com.xjrsoft.module.fssp.response.BaseResponse;
import com.xjrsoft.module.externalApi.callback.FsspCallback;
import com.xjrsoft.module.externalApi.response.BaseResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.config;
package com.xjrsoft.module.externalApi.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.entity;
package com.xjrsoft.module.externalApi.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.entity;
package com.xjrsoft.module.externalApi.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -1,4 +1,4 @@
package com.xjrsoft.module.fssp.handler;
package com.xjrsoft.module.externalApi.handler;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -8,16 +8,16 @@ import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.utils.CollectionUtils;
import com.xjrsoft.common.utils.RedisUtil;
import com.xjrsoft.module.fssp.client.FsspHttpClient;
import com.xjrsoft.module.fssp.config.FsspConfig;
import com.xjrsoft.module.fssp.dto.LngJkRpBillDto;
import com.xjrsoft.module.fssp.dto.LngJkRpDto;
import com.xjrsoft.module.fssp.entity.LngJkRp;
import com.xjrsoft.module.fssp.entity.LngJkRpBill;
import com.xjrsoft.module.fssp.request.*;
import com.xjrsoft.module.fssp.response.*;
import com.xjrsoft.module.fssp.service.LngJkRpBillService;
import com.xjrsoft.module.fssp.service.LngJkRpService;
import com.xjrsoft.module.externalApi.client.FsspHttpClient;
import com.xjrsoft.module.externalApi.config.FsspConfig;
import com.xjrsoft.module.externalApi.dto.LngJkRpBillDto;
import com.xjrsoft.module.externalApi.dto.LngJkRpDto;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.request.*;
import com.xjrsoft.module.externalApi.response.*;
import com.xjrsoft.module.externalApi.service.LngJkRpBillService;
import com.xjrsoft.module.externalApi.service.LngJkRpService;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.dto.FileUploadDto;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
@ -71,8 +71,8 @@ public class FsspJobHandler {
appTokenReq.setAccountId(config.getAccountId());
appTokenReq.setLanguage(config.getLanguage());
AtomicReference<String> appToken = new AtomicReference<>();
FsspHttpClient.post(appTokenReq, config.getAppTokenUrl(), TokenResp.class, resp -> {
AppTokenResp data = (AppTokenResp) resp.getData();
FsspHttpClient.post(appTokenReq, config.getAppTokenUrl(), TokenResponse.class, resp -> {
AppTokenResponse data = (AppTokenResponse) resp.getData();
if ("0".equals(data.getErrorCode())) {
appToken.set(data.getAppToken());
redisUtil.set(FSSP_APP_TOKEN, data.getAppToken(), data.getExpireTime());
@ -93,8 +93,8 @@ public class FsspJobHandler {
accessTokenReq.setUsertype(config.getUsertype());
accessTokenReq.setLanguage(config.getLanguage());
AtomicReference<String> accessToken = new AtomicReference<>();
FsspHttpClient.post(accessTokenReq, config.getLoginUrl(), TokenResp.class, resp -> {
AccessTokenResp data = (AccessTokenResp) resp.getData();
FsspHttpClient.post(accessTokenReq, config.getLoginUrl(), TokenResponse.class, resp -> {
AccessTokenResponse data = (AccessTokenResponse) resp.getData();
if ("0".equals(data.getErrorCode())) {
accessToken.set(data.getAccessToken());
redisUtil.set(FSSP_ACCESS_TOKEN, data.getAccessToken(), data.getExpireTime());
@ -121,8 +121,8 @@ public class FsspJobHandler {
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspYhjymxReq, config.getYhjymxUrl(), FsspResp.class, headers, resp -> {
FsspDataResp data = resp.getData();
FsspHttpClient.post(fsspYhjymxReq, config.getYhjymxUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
if (data != null) {
data.getRows().forEach(row -> {
LngJkRpDto lngJkRpDto = (LngJkRpDto) row;
@ -157,8 +157,8 @@ public class FsspJobHandler {
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspDzhdxxReq, config.getDzhdxxUrl(), FsspResp.class, headers, resp -> {
FsspDataResp data = resp.getData();
FsspHttpClient.post(fsspDzhdxxReq, config.getDzhdxxUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
if (data != null) {
data.getRows().forEach(row -> {
LngJkRpBillDto lngJkRpBillDto = (LngJkRpBillDto) row;
@ -230,8 +230,8 @@ public class FsspJobHandler {
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspPzReq, config.getPzUrl(), FsspResp.class, headers, resp -> {
FsspDataResp data = resp.getData();
FsspHttpClient.post(fsspPzReq, config.getPzUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
data.getRows().forEach(row -> {
PzResp pzResp = (PzResp) row;
list.add(pzResp);

View File

@ -1,8 +1,8 @@
package com.xjrsoft.module.fssp.mapper;
package com.xjrsoft.module.externalApi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.fssp.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -1,8 +1,8 @@
package com.xjrsoft.module.fssp.mapper;
package com.xjrsoft.module.externalApi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.fssp.entity.LngJkRp;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -1,9 +1,9 @@
package com.xjrsoft.module.fssp.service;
package com.xjrsoft.module.externalApi.service;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.fssp.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
/**
* @title: service

View File

@ -1,9 +1,9 @@
package com.xjrsoft.module.fssp.service;
package com.xjrsoft.module.externalApi.service;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.fssp.entity.LngJkRp;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
/**
* @title: service

View File

@ -1,9 +1,9 @@
package com.xjrsoft.module.fssp.service.impl;
package com.xjrsoft.module.externalApi.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.fssp.entity.LngJkRpBill;
import com.xjrsoft.module.fssp.mapper.LngJkRpBillMapper;
import com.xjrsoft.module.fssp.service.LngJkRpBillService;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.mapper.LngJkRpBillMapper;
import com.xjrsoft.module.externalApi.service.LngJkRpBillService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

View File

@ -1,9 +1,9 @@
package com.xjrsoft.module.fssp.service.impl;
package com.xjrsoft.module.externalApi.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.fssp.entity.LngJkRp;
import com.xjrsoft.module.fssp.mapper.LngJkRpMapper;
import com.xjrsoft.module.fssp.service.LngJkRpService;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import com.xjrsoft.module.externalApi.mapper.LngJkRpMapper;
import com.xjrsoft.module.externalApi.service.LngJkRpService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;