diff --git a/src/main/java/com/dpkj/common/config/ChsConfig.java b/src/main/java/com/dpkj/common/config/PadChsConfig.java similarity index 89% rename from src/main/java/com/dpkj/common/config/ChsConfig.java rename to src/main/java/com/dpkj/common/config/PadChsConfig.java index bbe7d77..dfda634 100644 --- a/src/main/java/com/dpkj/common/config/ChsConfig.java +++ b/src/main/java/com/dpkj/common/config/PadChsConfig.java @@ -11,8 +11,8 @@ import org.springframework.stereotype.Component; */ @Data @Component -@ConfigurationProperties(prefix = "dpkj.chs") -public class ChsConfig { +@ConfigurationProperties(prefix = "dpkj.chs.pad") +public class PadChsConfig { /** * 医保机构代码 diff --git a/src/main/java/com/dpkj/common/config/YnChsConfig.java b/src/main/java/com/dpkj/common/config/YnChsConfig.java new file mode 100644 index 0000000..e1b81b2 --- /dev/null +++ b/src/main/java/com/dpkj/common/config/YnChsConfig.java @@ -0,0 +1,38 @@ +package com.dpkj.common.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @Auther: 萧道子 + * @Date: 2024/4/28 14:55 + * @Description: + */ +@Data +@Component +@ConfigurationProperties(prefix = "dpkj.chs.yn") +public class YnChsConfig { + + /** + * 医保接口地址 + */ + private String url; + + /** + * 医保机构编码 + */ + private String fixmedinsCode; + + /** + * 服务商统一社会信用代码 + */ + private String infosyscode; + + /** + * 服务商ID码 + */ + private String infosyssign; + + +} diff --git a/src/main/java/com/dpkj/modules/chs/dll/HispayDll.java b/src/main/java/com/dpkj/modules/chs/dll/HispayDll.java deleted file mode 100644 index cd31aa1..0000000 --- a/src/main/java/com/dpkj/modules/chs/dll/HispayDll.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dpkj.modules.chs.dll; - -import com.jacob.activeX.ActiveXComponent; -import com.sun.jna.Library; -import com.sun.jna.Native; -import com.sun.jna.Pointer; -import lombok.extern.slf4j.Slf4j; - -/** - * @Auther: 萧道子 - * @Date: 2025/3/22 17:48 - * @Description: - */ -@Slf4j -public class HispayDll { - - -} diff --git a/src/main/java/com/dpkj/modules/chs/constant/ChsPayStateConst.java b/src/main/java/com/dpkj/modules/chs/hispad/constant/ChsPayStateConst.java similarity index 95% rename from src/main/java/com/dpkj/modules/chs/constant/ChsPayStateConst.java rename to src/main/java/com/dpkj/modules/chs/hispad/constant/ChsPayStateConst.java index 7be7570..40a1bc4 100644 --- a/src/main/java/com/dpkj/modules/chs/constant/ChsPayStateConst.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/constant/ChsPayStateConst.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.constant; +package com.dpkj.modules.chs.hispad.constant; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/dpkj/modules/chs/controller/HispayController.java b/src/main/java/com/dpkj/modules/chs/hispad/controller/HispayController.java similarity index 93% rename from src/main/java/com/dpkj/modules/chs/controller/HispayController.java rename to src/main/java/com/dpkj/modules/chs/hispad/controller/HispayController.java index 5517c48..0db5aa2 100644 --- a/src/main/java/com/dpkj/modules/chs/controller/HispayController.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/controller/HispayController.java @@ -1,13 +1,13 @@ -package com.dpkj.modules.chs.controller; +package com.dpkj.modules.chs.hispad.controller; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.dpkj.common.vo.Result; import com.dpkj.common.vo.ResultData; -import com.dpkj.modules.chs.constant.ChsPayStateConst; -import com.dpkj.modules.chs.service.IHispayService; -import com.dpkj.modules.chs.vo.OutpatientBeginModel; -import com.dpkj.modules.chs.vo.OutpatientFinalModel; +import com.dpkj.modules.chs.hispad.constant.ChsPayStateConst; +import com.dpkj.modules.chs.hispad.service.IHispayService; +import com.dpkj.modules.chs.hispad.vo.OutpatientBeginModel; +import com.dpkj.modules.chs.hispad.vo.OutpatientFinalModel; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/com/dpkj/modules/chs/service/IHispayService.java b/src/main/java/com/dpkj/modules/chs/hispad/service/IHispayService.java similarity index 85% rename from src/main/java/com/dpkj/modules/chs/service/IHispayService.java rename to src/main/java/com/dpkj/modules/chs/hispad/service/IHispayService.java index cc02f00..febcc39 100644 --- a/src/main/java/com/dpkj/modules/chs/service/IHispayService.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/service/IHispayService.java @@ -1,9 +1,9 @@ -package com.dpkj.modules.chs.service; +package com.dpkj.modules.chs.hispad.service; import com.alibaba.fastjson.JSONObject; import com.dpkj.common.vo.ResultData; -import com.dpkj.modules.chs.vo.OutpatientBeginModel; -import com.dpkj.modules.chs.vo.OutpatientFinalModel; +import com.dpkj.modules.chs.hispad.vo.OutpatientBeginModel; +import com.dpkj.modules.chs.hispad.vo.OutpatientFinalModel; public interface IHispayService { diff --git a/src/main/java/com/dpkj/modules/chs/service/impl/HispayServiceImpl.java b/src/main/java/com/dpkj/modules/chs/hispad/service/impl/HispayServiceImpl.java similarity index 96% rename from src/main/java/com/dpkj/modules/chs/service/impl/HispayServiceImpl.java rename to src/main/java/com/dpkj/modules/chs/hispad/service/impl/HispayServiceImpl.java index dd315c7..216a229 100644 --- a/src/main/java/com/dpkj/modules/chs/service/impl/HispayServiceImpl.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/service/impl/HispayServiceImpl.java @@ -1,17 +1,17 @@ -package com.dpkj.modules.chs.service.impl; +package com.dpkj.modules.chs.hispad.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.XmlUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.dpkj.common.config.ChsConfig; +import com.dpkj.common.config.PadChsConfig; import com.dpkj.common.config.HisConfig; import com.dpkj.common.vo.ResultData; -import com.dpkj.modules.chs.constant.ChsPayStateConst; -import com.dpkj.modules.chs.service.IHispayService; -import com.dpkj.modules.chs.vo.OutpatientBeginModel; -import com.dpkj.modules.chs.vo.OutpatientFinalModel; +import com.dpkj.modules.chs.hispad.constant.ChsPayStateConst; +import com.dpkj.modules.chs.hispad.service.IHispayService; +import com.dpkj.modules.chs.hispad.vo.OutpatientBeginModel; +import com.dpkj.modules.chs.hispad.vo.OutpatientFinalModel; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Variant; @@ -37,7 +37,7 @@ public class HispayServiceImpl implements IHispayService { @Autowired private HisConfig hisConfig; @Autowired - private ChsConfig chsConfig; + private PadChsConfig chsPadConfig; // COM对象 private static ActiveXComponent dispatch; diff --git a/src/main/java/com/dpkj/modules/chs/vo/OutpatientBeginModel.java b/src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientBeginModel.java similarity index 94% rename from src/main/java/com/dpkj/modules/chs/vo/OutpatientBeginModel.java rename to src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientBeginModel.java index 21f36f9..fc488c3 100644 --- a/src/main/java/com/dpkj/modules/chs/vo/OutpatientBeginModel.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientBeginModel.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.vo; +package com.dpkj.modules.chs.hispad.vo; import lombok.Data; import lombok.experimental.Accessors; diff --git a/src/main/java/com/dpkj/modules/chs/vo/OutpatientFinalModel.java b/src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientFinalModel.java similarity index 96% rename from src/main/java/com/dpkj/modules/chs/vo/OutpatientFinalModel.java rename to src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientFinalModel.java index 1040031..5a989e5 100644 --- a/src/main/java/com/dpkj/modules/chs/vo/OutpatientFinalModel.java +++ b/src/main/java/com/dpkj/modules/chs/hispad/vo/OutpatientFinalModel.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.vo; +package com.dpkj.modules.chs.hispad.vo; import lombok.Data; import lombok.experimental.Accessors; diff --git a/src/main/java/com/dpkj/modules/chs/constant/ChsDictEnum.java b/src/main/java/com/dpkj/modules/chs/padchs/constant/ChsDictEnum.java similarity index 99% rename from src/main/java/com/dpkj/modules/chs/constant/ChsDictEnum.java rename to src/main/java/com/dpkj/modules/chs/padchs/constant/ChsDictEnum.java index 559fc67..32f09fd 100644 --- a/src/main/java/com/dpkj/modules/chs/constant/ChsDictEnum.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/constant/ChsDictEnum.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.constant; +package com.dpkj.modules.chs.padchs.constant; import lombok.Getter; diff --git a/src/main/java/com/dpkj/modules/chs/constant/NationECCodeConst.java b/src/main/java/com/dpkj/modules/chs/padchs/constant/NationECCodeConst.java similarity index 98% rename from src/main/java/com/dpkj/modules/chs/constant/NationECCodeConst.java rename to src/main/java/com/dpkj/modules/chs/padchs/constant/NationECCodeConst.java index bc79186..12cb8ec 100644 --- a/src/main/java/com/dpkj/modules/chs/constant/NationECCodeConst.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/constant/NationECCodeConst.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.constant; +package com.dpkj.modules.chs.padchs.constant; public interface NationECCodeConst { diff --git a/src/main/java/com/dpkj/modules/chs/controller/PadChsPayController.java b/src/main/java/com/dpkj/modules/chs/padchs/controller/PadChsPayController.java similarity index 86% rename from src/main/java/com/dpkj/modules/chs/controller/PadChsPayController.java rename to src/main/java/com/dpkj/modules/chs/padchs/controller/PadChsPayController.java index ec1deb8..3f4fcd5 100644 --- a/src/main/java/com/dpkj/modules/chs/controller/PadChsPayController.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/controller/PadChsPayController.java @@ -1,10 +1,10 @@ -package com.dpkj.modules.chs.controller; +package com.dpkj.modules.chs.padchs.controller; import com.dpkj.common.vo.Result; -import com.dpkj.modules.chs.model.ChsModel; -import com.dpkj.modules.chs.response.ChsCheckResponse; -import com.dpkj.modules.chs.response.ChsQrcodeResponse; -import com.dpkj.modules.chs.service.IPadChsPayService; +import com.dpkj.modules.chs.padchs.model.ChsModel; +import com.dpkj.modules.chs.padchs.response.ChsCheckResponse; +import com.dpkj.modules.chs.padchs.response.ChsQrcodeResponse; +import com.dpkj.modules.chs.padchs.service.IPadChsPayService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/com/dpkj/modules/chs/dll/PadChsPayDll.java b/src/main/java/com/dpkj/modules/chs/padchs/dll/PadChsPayDll.java similarity index 92% rename from src/main/java/com/dpkj/modules/chs/dll/PadChsPayDll.java rename to src/main/java/com/dpkj/modules/chs/padchs/dll/PadChsPayDll.java index 6d11501..4668ff0 100644 --- a/src/main/java/com/dpkj/modules/chs/dll/PadChsPayDll.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/dll/PadChsPayDll.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.dll; +package com.dpkj.modules.chs.padchs.dll; import com.sun.jna.Library; import com.sun.jna.Native; @@ -29,7 +29,7 @@ public class PadChsPayDll { return dll; } catch (UnsatisfiedLinkError e) { - log.info("[PadChsPayDll][instance][医保动态库] SDK注册失败:{}", e.getMessage()); + log.info("[PadChsPayDll][instance][国家级医保动态库] SDK注册失败:{}", e.getMessage()); throw new DllRegistrationException("Failed to load PadChsPayDll library: ", e); } } diff --git a/src/main/java/com/dpkj/modules/chs/model/ChsModel.java b/src/main/java/com/dpkj/modules/chs/padchs/model/ChsModel.java similarity index 93% rename from src/main/java/com/dpkj/modules/chs/model/ChsModel.java rename to src/main/java/com/dpkj/modules/chs/padchs/model/ChsModel.java index 0f27f43..5da6fdd 100644 --- a/src/main/java/com/dpkj/modules/chs/model/ChsModel.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/model/ChsModel.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.model; +package com.dpkj.modules.chs.padchs.model; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsAuthRequest.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsAuthRequest.java similarity index 93% rename from src/main/java/com/dpkj/modules/chs/request/ChsAuthRequest.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsAuthRequest.java index a696875..5557fb7 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsAuthRequest.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsAuthRequest.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsCheckRequest.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsCheckRequest.java similarity index 93% rename from src/main/java/com/dpkj/modules/chs/request/ChsCheckRequest.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsCheckRequest.java index a27a122..08f7969 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsCheckRequest.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsCheckRequest.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsNotifyRequest.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsNotifyRequest.java similarity index 98% rename from src/main/java/com/dpkj/modules/chs/request/ChsNotifyRequest.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsNotifyRequest.java index 4506085..a7d7d2a 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsNotifyRequest.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsNotifyRequest.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsQrcodeRequest.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsQrcodeRequest.java similarity index 92% rename from src/main/java/com/dpkj/modules/chs/request/ChsQrcodeRequest.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsQrcodeRequest.java index 8efe3b7..da8c37b 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsQrcodeRequest.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsQrcodeRequest.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsRequestBase.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestBase.java similarity index 98% rename from src/main/java/com/dpkj/modules/chs/request/ChsRequestBase.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestBase.java index 5c2f8b0..5720e26 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsRequestBase.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestBase.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/request/ChsRequestCommon.java b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestCommon.java similarity index 95% rename from src/main/java/com/dpkj/modules/chs/request/ChsRequestCommon.java rename to src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestCommon.java index 4f0c7b0..ba19374 100644 --- a/src/main/java/com/dpkj/modules/chs/request/ChsRequestCommon.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/request/ChsRequestCommon.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.request; +package com.dpkj.modules.chs.padchs.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/response/ChsAuthResponse.java b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsAuthResponse.java similarity index 94% rename from src/main/java/com/dpkj/modules/chs/response/ChsAuthResponse.java rename to src/main/java/com/dpkj/modules/chs/padchs/response/ChsAuthResponse.java index c416d16..5f7b10f 100644 --- a/src/main/java/com/dpkj/modules/chs/response/ChsAuthResponse.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsAuthResponse.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.response; +package com.dpkj.modules.chs.padchs.response; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/response/ChsCheckResponse.java b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsCheckResponse.java similarity index 96% rename from src/main/java/com/dpkj/modules/chs/response/ChsCheckResponse.java rename to src/main/java/com/dpkj/modules/chs/padchs/response/ChsCheckResponse.java index ed176a0..35ef60d 100644 --- a/src/main/java/com/dpkj/modules/chs/response/ChsCheckResponse.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsCheckResponse.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.response; +package com.dpkj.modules.chs.padchs.response; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/response/ChsQrcodeResponse.java b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsQrcodeResponse.java similarity index 96% rename from src/main/java/com/dpkj/modules/chs/response/ChsQrcodeResponse.java rename to src/main/java/com/dpkj/modules/chs/padchs/response/ChsQrcodeResponse.java index 7ca8dee..9e84441 100644 --- a/src/main/java/com/dpkj/modules/chs/response/ChsQrcodeResponse.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsQrcodeResponse.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.response; +package com.dpkj.modules.chs.padchs.response; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/response/ChsResponseCommon.java b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsResponseCommon.java similarity index 94% rename from src/main/java/com/dpkj/modules/chs/response/ChsResponseCommon.java rename to src/main/java/com/dpkj/modules/chs/padchs/response/ChsResponseCommon.java index 4afb1b5..d2e6897 100644 --- a/src/main/java/com/dpkj/modules/chs/response/ChsResponseCommon.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/response/ChsResponseCommon.java @@ -1,4 +1,4 @@ -package com.dpkj.modules.chs.response; +package com.dpkj.modules.chs.padchs.response; import com.alibaba.fastjson.JSONObject; import lombok.Data; diff --git a/src/main/java/com/dpkj/modules/chs/service/IPadChsPayService.java b/src/main/java/com/dpkj/modules/chs/padchs/service/IPadChsPayService.java similarity index 67% rename from src/main/java/com/dpkj/modules/chs/service/IPadChsPayService.java rename to src/main/java/com/dpkj/modules/chs/padchs/service/IPadChsPayService.java index 07fecc2..387c783 100644 --- a/src/main/java/com/dpkj/modules/chs/service/IPadChsPayService.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/service/IPadChsPayService.java @@ -1,8 +1,8 @@ -package com.dpkj.modules.chs.service; +package com.dpkj.modules.chs.padchs.service; -import com.dpkj.modules.chs.model.ChsModel; -import com.dpkj.modules.chs.response.ChsCheckResponse; -import com.dpkj.modules.chs.response.ChsQrcodeResponse; +import com.dpkj.modules.chs.padchs.model.ChsModel; +import com.dpkj.modules.chs.padchs.response.ChsCheckResponse; +import com.dpkj.modules.chs.padchs.response.ChsQrcodeResponse; public interface IPadChsPayService { diff --git a/src/main/java/com/dpkj/modules/chs/service/impl/PadChsPayServiceImpl.java b/src/main/java/com/dpkj/modules/chs/padchs/service/impl/PadChsPayServiceImpl.java similarity index 75% rename from src/main/java/com/dpkj/modules/chs/service/impl/PadChsPayServiceImpl.java rename to src/main/java/com/dpkj/modules/chs/padchs/service/impl/PadChsPayServiceImpl.java index e700f06..ca79aac 100644 --- a/src/main/java/com/dpkj/modules/chs/service/impl/PadChsPayServiceImpl.java +++ b/src/main/java/com/dpkj/modules/chs/padchs/service/impl/PadChsPayServiceImpl.java @@ -1,25 +1,25 @@ -package com.dpkj.modules.chs.service.impl; +package com.dpkj.modules.chs.padchs.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; -import com.dpkj.common.config.ChsConfig; +import com.dpkj.common.config.PadChsConfig; import com.dpkj.common.utils.IDGenerator; -import com.dpkj.modules.chs.constant.ChsDictEnum; -import com.dpkj.modules.chs.constant.NationECCodeConst; -import com.dpkj.modules.chs.dll.PadChsPayDll; -import com.dpkj.modules.chs.model.ChsModel; -import com.dpkj.modules.chs.request.ChsAuthRequest; -import com.dpkj.modules.chs.request.ChsCheckRequest; -import com.dpkj.modules.chs.request.ChsQrcodeRequest; -import com.dpkj.modules.chs.request.ChsRequestCommon; -import com.dpkj.modules.chs.response.ChsAuthResponse; -import com.dpkj.modules.chs.response.ChsCheckResponse; -import com.dpkj.modules.chs.response.ChsQrcodeResponse; -import com.dpkj.modules.chs.response.ChsResponseCommon; -import com.dpkj.modules.chs.service.IPadChsPayService; +import com.dpkj.modules.chs.padchs.constant.ChsDictEnum; +import com.dpkj.modules.chs.padchs.constant.NationECCodeConst; +import com.dpkj.modules.chs.padchs.dll.PadChsPayDll; +import com.dpkj.modules.chs.padchs.model.ChsModel; +import com.dpkj.modules.chs.padchs.request.ChsAuthRequest; +import com.dpkj.modules.chs.padchs.request.ChsCheckRequest; +import com.dpkj.modules.chs.padchs.request.ChsQrcodeRequest; +import com.dpkj.modules.chs.padchs.request.ChsRequestCommon; +import com.dpkj.modules.chs.padchs.response.ChsAuthResponse; +import com.dpkj.modules.chs.padchs.response.ChsCheckResponse; +import com.dpkj.modules.chs.padchs.response.ChsQrcodeResponse; +import com.dpkj.modules.chs.padchs.response.ChsResponseCommon; +import com.dpkj.modules.chs.padchs.service.IPadChsPayService; import com.sun.jna.Memory; import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; @@ -40,17 +40,17 @@ public class PadChsPayServiceImpl implements IPadChsPayService { private PadChsPayDll.EcDll dll; @Autowired - private ChsConfig chsConfig; + private PadChsConfig chsPadConfig; @PostConstruct public void postConstruct() { - log.info("[PadChsPayServiceImpl][postConstruct][Ali医保DLL] 初始化动态链接库"); + log.info("[PadChsPayServiceImpl][postConstruct][PAD医保DLL] 初始化动态链接库"); try { dll = PadChsPayDll.instance(); } catch (PadChsPayDll.DllRegistrationException e) { - log.error("[PadChsPayServiceImpl][postConstruct][PAD保DLL] 加载失败:{}", e.getMessage()); - throw new RuntimeException("Ali医保DLL库加载失败:" + e.getMessage(), e); + log.error("[PadChsPayServiceImpl][postConstruct][PAD医保DLL] 加载失败:{}", e.getMessage()); + throw new RuntimeException("PAD医保DLL库加载失败:" + e.getMessage(), e); } initPrinter(); } @@ -67,22 +67,22 @@ public class PadChsPayServiceImpl implements IPadChsPayService { // 封装入参 String outBizNo = IDGenerator.getSnowflakeIdToStr(); ChsQrcodeRequest data = ChsQrcodeRequest.builder() - .orgId(chsConfig.getOrgId()) + .orgId(chsPadConfig.getOrgId()) .outBizNo(outBizNo) .businessType(ChsDictEnum.BusinessType.YY_201.str()) - .operatorId(chsConfig.getOperatorId()) - .operatorName(chsConfig.getOperatorName()) - .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsConfig.getOfficeId()) - .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsConfig.getOfficeName()) + .operatorId(chsPadConfig.getOperatorId()) + .operatorName(chsPadConfig.getOperatorName()) + .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsPadConfig.getOfficeId()) + .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsPadConfig.getOfficeName()) .build(); - ChsRequestCommon request = new ChsRequestCommon(chsConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_QRCODEGET, JSONObject.parseObject(data.toString())); + ChsRequestCommon request = new ChsRequestCommon(chsPadConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_QRCODEGET, JSONObject.parseObject(data.toString())); log.debug("[PadChsPayServiceImpl][getInfoByQrcode][终端医保电子凭证码解码接口] 入参:{}", request.toString()); DateTime requestTime = DateUtil.date(); // 调用接口 Pointer resp = new Memory(1024 * 10); - String resultStr = dll.NationEcTrans(chsConfig.getUrl(), request.toString(), resp); + String resultStr = dll.NationEcTrans(chsPadConfig.getUrl(), request.toString(), resp); String response = resp.getString(0, "GB2312"); DateTime responseTime = DateUtil.date(); @@ -122,22 +122,22 @@ public class PadChsPayServiceImpl implements IPadChsPayService { // 封装入参 String outBizNo = IDGenerator.getSnowflakeIdToStr(); ChsAuthRequest data = ChsAuthRequest.builder() - .orgId(chsConfig.getOrgId()) + .orgId(chsPadConfig.getOrgId()) .outBizNo(outBizNo) .businessType(ChsDictEnum.BusinessType.YY_201.str()) - .operatorId(chsConfig.getOperatorId()) - .operatorName(chsConfig.getOperatorName()) - .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsConfig.getOfficeId()) - .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsConfig.getOfficeName()) + .operatorId(chsPadConfig.getOperatorId()) + .operatorName(chsPadConfig.getOperatorName()) + .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsPadConfig.getOfficeId()) + .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsPadConfig.getOfficeName()) .build(); - ChsRequestCommon request = new ChsRequestCommon(chsConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_AUTH, JSONObject.parseObject(data.toString())); + ChsRequestCommon request = new ChsRequestCommon(chsPadConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_AUTH, JSONObject.parseObject(data.toString())); log.debug("[PadChsPayServiceImpl][chsAuth][刷脸获取医保用户身份授权接口] 入参:{}", request.toString()); DateTime requestTime = DateUtil.date(); // 调用接口 Pointer resp = new Memory(1024 * 10); - String resultStr = dll.NationEcTrans(chsConfig.getUrl(), request.toString(), resp); + String resultStr = dll.NationEcTrans(chsPadConfig.getUrl(), request.toString(), resp); String response = resp.getString(0, "GB2312"); DateTime responseTime = DateUtil.date(); @@ -170,23 +170,23 @@ public class PadChsPayServiceImpl implements IPadChsPayService { // 封装入参 String outBizNo = IDGenerator.getSnowflakeIdToStr(); ChsCheckRequest data = ChsCheckRequest.builder() - .orgId(chsConfig.getOrgId()) + .orgId(chsPadConfig.getOrgId()) .outBizNo(outBizNo) .businessType(ChsDictEnum.BusinessType.YY_201.str()) - .operatorId(chsConfig.getOperatorId()) - .operatorName(chsConfig.getOperatorName()) - .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsConfig.getOfficeId()) - .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsConfig.getOfficeName()) + .operatorId(chsPadConfig.getOperatorId()) + .operatorName(chsPadConfig.getOperatorName()) + .officeId(StrUtil.isNotEmpty(val.getOfficeId()) ? val.getOfficeId() : chsPadConfig.getOfficeId()) + .officeName(StrUtil.isNotEmpty(val.getOfficeName()) ? val.getOfficeName() : chsPadConfig.getOfficeName()) .authNo(authNo) .build(); - ChsRequestCommon request = new ChsRequestCommon(chsConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_AUTHCHECK, JSONObject.parseObject(data.toString())); + ChsRequestCommon request = new ChsRequestCommon(chsPadConfig.getOrgId(), NationECCodeConst.TRANSTYPE_ALICHS_AUTHCHECK, JSONObject.parseObject(data.toString())); log.debug("[PadChsPayServiceImpl][chsCheck][刷脸授权获取医保身份接口] 入参:{}", request.toString()); DateTime requestTime = DateUtil.date(); // 调用接口 Pointer resp = new Memory(1024 * 10); - String resultStr = dll.NationEcTrans(chsConfig.getUrl(), request.toString(), resp); + String resultStr = dll.NationEcTrans(chsPadConfig.getUrl(), request.toString(), resp); String response = resp.getString(0, "GB2312"); DateTime responseTime = DateUtil.date(); diff --git a/src/main/java/com/dpkj/modules/chs/ynchs/dll/YnChsPayDll.java b/src/main/java/com/dpkj/modules/chs/ynchs/dll/YnChsPayDll.java new file mode 100644 index 0000000..5265534 --- /dev/null +++ b/src/main/java/com/dpkj/modules/chs/ynchs/dll/YnChsPayDll.java @@ -0,0 +1,63 @@ +package com.dpkj.modules.chs.ynchs.dll; + +import com.sun.jna.Library; +import com.sun.jna.Native; +import com.sun.jna.Pointer; +import lombok.extern.slf4j.Slf4j; + +/** + * @Auther: 萧道子 + * @Date: 2025/3/22 17:48 + * @Description: + */ +@Slf4j +public class YnChsPayDll { + + /** + * 获取 YnChsPayDll 实例,同时注册 YnChsPayDll 控件。 + * + * @return YnChsPayDll 实例 + * @throws DllRegistrationException 如果注册控件失败,抛出此异常 + */ + public static EcDll instance() throws DllRegistrationException { + try { + return Native.load("CHSInterfaceYn", EcDll.class); + } catch (UnsatisfiedLinkError e) { + log.info("[YnChsPayDll][instance][云南省级医保动态库] SDK注册失败:{}", e.getMessage()); + throw new DllRegistrationException("Failed to load YnChsPayDll library: ", e); + } + } + + /** + * 定义自定义异常类,用于表示注册控件时发生的错误 + */ + public static class DllRegistrationException extends Exception { + public DllRegistrationException(String message) { + super(message); + } + + public DllRegistrationException(String message, Throwable cause) { + super(message, cause); + } + } + + + /** + * 定义接口映射本地库中的函数。 + */ + public interface EcDll extends Library { + + /** + * 交易接口调用函数 + * + * @param strUrl : 业务请求地址 + * @param InData : 交易请求数据 - JSON格式字符串 + * @param OutData : 交易返回数据 - code为0时,交易成功;否则返回错误信息说明 + * @return java.lang.String 返回字符串 0000 为动态库调用成功 + * @author 萧道子 2025/7/30 + */ + String NationEcTrans(String strUrl, String InData, Pointer OutData); + + } + +} diff --git a/src/main/java/com/dpkj/modules/chs/ynchs/service/IYnChsPayService.java b/src/main/java/com/dpkj/modules/chs/ynchs/service/IYnChsPayService.java new file mode 100644 index 0000000..f0deb16 --- /dev/null +++ b/src/main/java/com/dpkj/modules/chs/ynchs/service/IYnChsPayService.java @@ -0,0 +1,9 @@ +package com.dpkj.modules.chs.ynchs.service; + +/** + * @Auther: 萧道子 + * @Date: 2025/8/7 14:45 + * @Description: + */ +public interface IYnChsPayService { +} diff --git a/src/main/java/com/dpkj/modules/chs/ynchs/service/impl/YnChsPayServiceImpl.java b/src/main/java/com/dpkj/modules/chs/ynchs/service/impl/YnChsPayServiceImpl.java new file mode 100644 index 0000000..6a45975 --- /dev/null +++ b/src/main/java/com/dpkj/modules/chs/ynchs/service/impl/YnChsPayServiceImpl.java @@ -0,0 +1,42 @@ +package com.dpkj.modules.chs.ynchs.service.impl; + +import com.dpkj.common.config.YnChsConfig; +import com.dpkj.modules.chs.ynchs.dll.YnChsPayDll; +import com.dpkj.modules.chs.ynchs.service.IYnChsPayService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; + +/** + * @Auther: 萧道子 + * @Date: 2025/8/7 14:46 + * @Description: + */ +@Slf4j +@Service +public class YnChsPayServiceImpl implements IYnChsPayService { + + private YnChsPayDll.EcDll dll; + + @Autowired + private YnChsConfig ynChsConfig; + + @PostConstruct + public void postConstruct() { + log.info("[YnChsPayServiceImpl][postConstruct][云南省局医保DLL] 初始化动态链接库"); + try { + dll = YnChsPayDll.instance(); + } catch (YnChsPayDll.DllRegistrationException e) { + log.error("[YnChsPayServiceImpl][postConstruct][云南省局医保DLL] 加载失败:{}", e.getMessage()); + throw new RuntimeException("云南省局医保DLL库加载失败:" + e.getMessage(), e); + } + initPrinter(); + } + + + private void initPrinter() { + // TODO 萧道子 2025/7/31 : + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index c32e69f..b2575c8 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -40,20 +40,32 @@ spring: dpkj: #后端项目访问地址 #https://yinyitong.yzqingyan.cn/ http://172.16.11.13:15946/ ttps://yinyitong.yzqingyan.cn serverurl: http://localhost:5946/api/ - # 医保配置 + # 国家统一医保配置 chs: - # 医保中台接口地址 - url: http://ec.yn.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery - # 医保机构编码 - org-id: H53082800070 - # 收款员-编号 - operator-id: 0001 - # 收款员-姓名 - operator-name: admin - # 科室-编号 - office-id: 00031 - # 科室-名称 - office-name: 门诊 + # 医保中台配置 + pad: + # 医保中台接口地址 + url: http://ec.yn.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery + # 医保机构编码 + org-id: H53082800070 + # 收款员-编号 + operator-id: 0001 + # 收款员-姓名 + operator-name: admin + # 科室-编号 + office-id: 00031 + # 科室-名称 + office-name: 门诊 + # 云南省级医保配置 + yn: + # 省局医保接口地址 + url: http://ldjk.yn.hsip.gov.cn/eapdomain/org/local/api/hos/uldFeeInfo + # 医保机构编码 + fixmedins-code: H53082800070 + # 服务商统一社会信用代码 + infosyscode: 9150000020285539XU + # 服务商ID码 + infosyssign: 7f6fa92af64a403eb871a3c800cb6946 file: # 文件保存地址 path: G:\Temp\img diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index 5d62d12..ff3c00d 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -29,20 +29,32 @@ dpkj: #后端项目访问地址 # 改为正式的地址 http://10.121.1.44/api/ http://172.16.50.20:15946/apitest/ http://www.lczyyy.com/apitest/ serverurl: http://10.121.1.44/api/ - # 医保配置 + # 国家统一医保配置 chs: - # 医保中台接口地址 - url: http://ec.yn.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery - # 医保机构编码 - org-id: H53082800070 - # 收款员-编号 - operator-id: 0001 - # 收款员-姓名 - operator-name: admin - # 科室-编号 - office-id: 00031 - # 科室-名称 - office-name: 门诊 + # 医保中台配置 + pad: + # 医保中台接口地址 + url: http://ec.yn.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery + # 医保机构编码 + org-id: H53082800070 + # 收款员-编号 + operator-id: 0001 + # 收款员-姓名 + operator-name: admin + # 科室-编号 + office-id: 00031 + # 科室-名称 + office-name: 门诊 + # 云南省级医保配置 + yn: + # 省局医保接口地址 + url: http://ldjk.yn.hsip.gov.cn/eapdomain/org/local/api/hos/uldFeeInfo + # 医保机构编码 + fixmedins-code: H53082800070 + # 服务商统一社会信用代码 + infosyscode: 9150000020285539XU + # 服务商ID码 + infosyssign: 7f6fa92af64a403eb871a3c800cb6946 file: # 文件保存地址 path: D:\Project\Express\upload diff --git a/src/main/resources/win32-x86/CHSInterfaceYn.dll b/src/main/resources/win32-x86/CHSInterfaceYn.dll new file mode 100644 index 0000000..a0787db Binary files /dev/null and b/src/main/resources/win32-x86/CHSInterfaceYn.dll differ