@@ -10,13 +10,17 @@ import com.szyx.tcm.supervision.constant.CacheConstant; | |||||
import com.szyx.tcm.supervision.enums.OperationTypeEnum; | import com.szyx.tcm.supervision.enums.OperationTypeEnum; | ||||
import com.szyx.tcm.supervision.model.LogInfo; | import com.szyx.tcm.supervision.model.LogInfo; | ||||
import com.szyx.tcm.supervision.model.dto.supervise.SuperviseTokenRep; | import com.szyx.tcm.supervision.model.dto.supervise.SuperviseTokenRep; | ||||
import com.szyx.tcm.supervision.service.IBaseBusinessService; | |||||
import com.szyx.tcm.supervision.service.insurance.InsuranceUploadDetailBusinessService; | |||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.dromara.hutool.core.date.DateUtil; | import org.dromara.hutool.core.date.DateUtil; | ||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
import javax.annotation.Resource; | import javax.annotation.Resource; | ||||
import java.time.Instant; | import java.time.Instant; | ||||
import java.util.Date; | import java.util.Date; | ||||
import java.util.List; | |||||
import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||
/******************************************************************* | /******************************************************************* | ||||
@@ -39,10 +43,17 @@ public class TestController { | |||||
@Resource | @Resource | ||||
private CacheAgent cacheAgent; | private CacheAgent cacheAgent; | ||||
@Autowired | |||||
List<InsuranceUploadDetailBusinessService> baseBusinessServiceList; | |||||
@GetMapping("/get") | @GetMapping("/get") | ||||
@TraceLog(desc = "测试接口") | @TraceLog(desc = "测试接口") | ||||
public R<String> get(){ | public R<String> get(){ | ||||
System.out.println("baseBusinessServiceList = " + baseBusinessServiceList); | |||||
return R.ok("success"); | return R.ok("success"); | ||||
} | } | ||||
@@ -0,0 +1,68 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: DiseInfoList.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/17 14:52 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("省医保平台「6201」上传处方药费明细请求参数诊断或症状明细") | |||||
public class DiseInfo { | |||||
/** | |||||
* diagType 诊断类别 字符型 3 Y 字典诊断类别(diag_type) | |||||
* 1 西医主要诊断 3 中医主病诊断 | |||||
* 2 西医其他诊断 4 中医主证诊断 | |||||
*/ | |||||
private String diagType; | |||||
/** | |||||
* diagSrtNo 诊断排序号 数值型 2 Y | |||||
*/ | |||||
private Integer diagSrtNo; | |||||
/** | |||||
* diagCode 诊断代码 字符型 20 Y | |||||
*/ | |||||
private String diagCode; | |||||
/** | |||||
* diagName 诊断名称 字符型 100 Y | |||||
*/ | |||||
private String diagName; | |||||
/** | |||||
* diagDept 诊断科室 字符型 50 Y | |||||
*/ | |||||
private String diagDept; | |||||
/** | |||||
* diseDorNo 诊断医生编码 字符型 30 Y | |||||
*/ | |||||
private String diseDorNo; | |||||
/** | |||||
* diseDorName 诊断医生姓名 字符型 50 Y | |||||
*/ | |||||
private String diseDorName; | |||||
/** | |||||
* diagTime 诊断时间 字符型 19 Y yyyy-MM-dd HH:mm:ss | |||||
*/ | |||||
private String diagTime; | |||||
/** | |||||
* valiFlag 有效标志 字符型 3 Y | |||||
*/ | |||||
private String valiFlag; | |||||
} |
@@ -0,0 +1,131 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
import java.math.BigDecimal; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: FeeDetailList.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/17 14:57 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("省医保平台「6201」上传处方药费明细请求参数费用明细") | |||||
public class FeeDetail { | |||||
/** | |||||
* feedetlSn 费用明细流水号 字符型 30 Y 单次就诊内唯一 | |||||
*/ | |||||
private String feedetlSn; | |||||
/** | |||||
* mdtrtId 就诊ID 字符型 30 N | |||||
*/ | |||||
private String mdtrtId; | |||||
/** | |||||
* psnNo 人员编号 字符型 30 Y | |||||
*/ | |||||
private String psnNo; | |||||
/** | |||||
* chrgBchno 收费批次号 字符型 30 Y 同一收费批次号病种编号必须一致 | |||||
*/ | |||||
private String chrgBchno; | |||||
/** | |||||
* diseCodg 病种编码 字符型 30 N 按照标准编码填写: | |||||
* 按病种结算病种目录代码(bydise_setl_list_code)、 | |||||
* 门诊慢特病病种目录代码(opsp_dise_cod) | |||||
*/ | |||||
private String diseCodg; | |||||
/** | |||||
* rxno 处方号 字符型 30 N 外购处方时,传入外购处方的处方号;非外购处方,传入医药机构处方号 | |||||
*/ | |||||
private String rxno; | |||||
/** | |||||
* rxCircFlag 外购处方标志 字符型 3 Y | |||||
*/ | |||||
private String rxCircFlag; | |||||
// yyyy-MM-dd HH:mm:ss | |||||
/** | |||||
* feeOcurTime 费用发生时间 日期时间型 Y yyyy-MM-dd HH:mm:ss | |||||
*/ | |||||
private String feeOcurTime; | |||||
/** | |||||
* medListCodg 医疗目录编码 字符型 50 Y | |||||
*/ | |||||
private String medListCodg; | |||||
/** | |||||
* medinsListCodg 医药机构目录编码 字符型 150 Y | |||||
*/ | |||||
private String medinsListCodg; | |||||
/** | |||||
* detItemFeeSumamt 明细项目费用总额 数值型 16,2 Y | |||||
*/ | |||||
private BigDecimal detItemFeeSumamt; | |||||
/** | |||||
* cnt 数量 数值型 16,4 Y | |||||
*/ | |||||
private BigDecimal cnt; | |||||
/** | |||||
* pric 单价 数值型 16,6 Y | |||||
*/ | |||||
private BigDecimal pric; | |||||
/** | |||||
* bilgDeptCodg 开单科室编码 字符型 30 Y | |||||
*/ | |||||
private String bilgDeptCodg; | |||||
/** | |||||
* bilgDeptName 开单科室名称 字符型 100 Y | |||||
*/ | |||||
private String bilgDeptName; | |||||
/** | |||||
* bilgDrCodg 开单医生编码 字符型 30 Y 按照标准编码填写 | |||||
*/ | |||||
private String bilgDrCodg; | |||||
/** | |||||
* bilgDrName 开单医师姓名 字符型 50 Y | |||||
*/ | |||||
private String bilgDrName; | |||||
/** | |||||
*hospApprFlag 医院审批标志 字符型 3 Y | |||||
*/ | |||||
private String hospApprFlag; | |||||
/** | |||||
* medType 医疗类别 字符型 6 Y | |||||
*/ | |||||
private String medType; | |||||
/** | |||||
* medListName 医疗目录名称 字符型 50 Y | |||||
*/ | |||||
private String medListName; | |||||
/** | |||||
* medListSpc 医疗目录规格 字符型 50 Y | |||||
*/ | |||||
private String medListSpc; | |||||
} |
@@ -0,0 +1,82 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceAccessTokenRep.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 11:31 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("获取AccessToken") | |||||
public class InsuranceAccessTokenRep { | |||||
/** | |||||
* return_code | |||||
* 返回状态码 | |||||
* string16 | |||||
* Y | |||||
* SUCCESS/FAIL | |||||
*/ | |||||
private String returnCode; | |||||
/** | |||||
* return_msg | |||||
* return_msg | |||||
* string128 | |||||
* N | |||||
* 返回信息,如非空,为错误原因 | |||||
*/ | |||||
private String returnMsg; | |||||
/** | |||||
* result_code | |||||
* 业务结果 | |||||
* String16 | |||||
* Y | |||||
* SUCCESS/FAIL | |||||
*/ | |||||
private String resultCode; | |||||
/** | |||||
* err_code | |||||
* 错误代码 | |||||
* String32 | |||||
* N | |||||
*/ | |||||
private String errCode; | |||||
/** | |||||
* err_code_des | |||||
* 错误代码描述 | |||||
* String128 | |||||
* N | |||||
*/ | |||||
private String errCodeDes; | |||||
/** | |||||
* access_token | |||||
* 获取到的凭证 | |||||
* String256 | |||||
* Y | |||||
*/ | |||||
private String accessToken; | |||||
/** | |||||
* expires_in | |||||
* 凭证有效时间 | |||||
* Uint32 | |||||
* Y | |||||
* 单位:秒 | |||||
*/ | |||||
private Integer expiresIn; | |||||
} |
@@ -0,0 +1,30 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceAccessTokenReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 11:26 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("获取用户医保参数") | |||||
public class InsuranceAccessTokenReq { | |||||
private String grant_type = "client_credential"; | |||||
private String agentappid; | |||||
private String agentsecret; | |||||
private String appid; | |||||
} |
@@ -0,0 +1,80 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceCoreCommonMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 河南医保核心系统公共报文 v1.4 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 10:18 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceCoreCommonInputMessage { | |||||
// infno 交易编号 字符型 4 Y 交易编号详见接口列表 | |||||
private String infno; | |||||
// msgid 发送方报文ID 字符型 30 Y 定点医药机构编号(12)+时间(14)+顺序号(4) | |||||
//时间格式:yyyyMMddHHmmss | |||||
private String msgid; | |||||
// mdtrtarea_admvs 就医地医保区划 字符型 6 Y | |||||
private String mdtrtareaAdmvs; | |||||
// insuplc_admdvs 参保地医保区划 字符型 6 如果交易输入中含有人员编号,此项必填,可通过【1101】人员信息获取交易取得 | |||||
private String insuplcAdmdvs; | |||||
// recer_sys_code 接收方系统代码 字符型 10 Y 用于多套系统接入,区分不同系统使用 | |||||
private String recerSysCode; | |||||
// dev_no 设备编号 字符型 100 | |||||
private String devNo; | |||||
// dev_safe_info 设备安全信息 字符型 2000 | |||||
private String devSafeInfo; | |||||
// cainfo 数字签名信息 字符型 1024 | |||||
private String cainfo; | |||||
// signtype 签名类型 字符型 10 建议使用SM2、SM3 | |||||
private String signtype; | |||||
// infver 接口版本号 字符型 6 Y 例如:“V1.0”,版本号由医保下发通知。 | |||||
private String infver; | |||||
// opter_type 经办人类别 3 Y Y 1-经办人;2-自助终端;3-移动终端 | |||||
private String opterType; | |||||
// opter 经办人 字符型 20 Y 按地方要求传入经办人/终端编号 | |||||
private String opter; | |||||
// opter_name 经办人姓名 字符型 50 Y 按地方要求传入经办人姓名/终端名称 | |||||
private String opterName; | |||||
// inf_time 交易时间 日期时间型 19 Y | |||||
private String infTime; | |||||
// fixmedins_code 定点医药机构编号 字符型 12 Y | |||||
private String fixmedinsCode; | |||||
// fixmedins_name 定点医药机构名称 字符型 20 Y | |||||
private String fixmedinsName; | |||||
// sign_no 交易签到流水号 字符型 30 通过签到【9001】交易获取 | |||||
private String signNo; | |||||
// input 交易输入 字符型 40000 Y | |||||
private String input; | |||||
} |
@@ -0,0 +1,41 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceCoreCommonOutputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 河南医保核心系统公共报文 v1.4 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 10:27 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceCoreCommonOutputMessage { | |||||
// infcode 交易状态码 数值型 4 Y | |||||
private Integer infcode; | |||||
// inf_refmsgid 接收方报文ID 字符型 30 Y 接收方返回,接收方医保区划代码(6)+时间(14)+流水号(10) | |||||
//时间格式:yyyyMMddHHmmss | |||||
private String infRefmsgid; | |||||
// refmsg_time 接收报文时间 字符型 17 格式:yyyyMMddHHmmssSSS | |||||
private String refmsgTime; | |||||
// respond_time 响应报文时间 字符型 17 格式:yyyyMMddHHmmssSSS | |||||
private String respondTime; | |||||
// err_msg 错误信息 字符型 200 交易失败状态下,业务返回的错误信息 | |||||
private String errMsg; | |||||
// output 交易输出 字符型 40000 | |||||
private String output; | |||||
} |
@@ -0,0 +1,55 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceCoreInputMessage1101.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 1101 输入报文 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 14:12 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceCoreInputMessage1101 { | |||||
/** | |||||
* mdtrt_cert_type 就诊凭证类型 字符型 3 Y Y | |||||
*/ | |||||
private String mdtrtCertType; | |||||
/** | |||||
* mdtrt_cert_no 就诊凭证号码 字符型 50 Y Y | |||||
*/ | |||||
private String mdtrtCertNo; | |||||
/** | |||||
* card_sn 卡识别码 字符型 32 就诊凭证类型为“03”时必填 | |||||
*/ | |||||
private String cardSn; | |||||
/** | |||||
* begntime 开始时间 日期时间型 获取历史参保信息时传入 | |||||
*/ | |||||
private String begntime; | |||||
/** | |||||
* psn_cert_type 人员证件类型 字符型 6 Y 就诊凭证类型为“01”和“03”时必填 | |||||
*/ | |||||
private String psnCertType; | |||||
/** | |||||
* certno 证件号码 字符型 50 就诊凭证类型为“01”和“03”时必填 | |||||
*/ | |||||
private String certno; | |||||
/** | |||||
* psn_name 人员姓名 字符型 50 Y | |||||
*/ | |||||
private String psnName; | |||||
} |
@@ -0,0 +1,288 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import com.alibaba.fastjson2.JSON; | |||||
import com.alibaba.fastjson2.annotation.JSONField; | |||||
import lombok.Data; | |||||
import java.math.BigDecimal; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceCoreOutputMessage1101.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 14:23 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceCoreOutputMessage1101 { | |||||
/** | |||||
* 输出-基本信息 | |||||
*/ | |||||
private Baseinfo baseinfo; | |||||
/** | |||||
* 输出-参保信息列表 | |||||
*/ | |||||
private Insuinfo insuinfo; | |||||
/** | |||||
* 输出-身份信息列表 | |||||
*/ | |||||
private List<Idetinfo> idetinfo; | |||||
@Data | |||||
public static class Baseinfo{ | |||||
/** | |||||
* psn_no 人员编号 字符型 30 Y | |||||
*/ | |||||
@JSONField(name = "psn_no") | |||||
private String psnNo; | |||||
/** | |||||
* psn_cert_type 人员证件类型 字符型 6 Y Y | |||||
*/ | |||||
@JSONField(name = "psn_cert_type") | |||||
private String psnCertType; | |||||
/** | |||||
* certno 证件号码 字符型 50 Y | |||||
*/ | |||||
private String certno; | |||||
/** | |||||
* psn_name 人员姓名 字符型 50 Y | |||||
*/ | |||||
@JSONField(name = "psn_name") | |||||
private String psnName; | |||||
/** | |||||
* gend 性别 字符型 6 Y Y | |||||
*/ | |||||
private String gend; | |||||
/** | |||||
* naty 民族 字符型 3 Y | |||||
*/ | |||||
private String naty; | |||||
/** | |||||
* brdy 出生日期 日期型 yyyy-MM-dd | |||||
*/ | |||||
private String brdy; | |||||
/** | |||||
* age 年龄 数值型 4,1 Y | |||||
*/ | |||||
private String age; | |||||
/** | |||||
* exp_content 字段扩展 字符型 4000 只有居民返回 | |||||
* 家庭账户余额 | |||||
* 门诊统筹累计 | |||||
* { | |||||
* “fm_acct_amt”:0 | |||||
* “jmmztc_cum”:0 | |||||
* } | |||||
*/ | |||||
private ExpContent expContent; | |||||
@Data | |||||
public class ExpContent { | |||||
/** | |||||
* fm_acct_amt 家庭账户余额 数值型 16,2 只有居民返回 | |||||
*/ | |||||
private String fmAcctAmt; | |||||
/** | |||||
* jmmztc_cum 门诊统筹累计 数值型 16,2 只有居民返回 | |||||
*/ | |||||
private String jmmztcCum; | |||||
/** | |||||
* mat_idet_flag 医疗救助标识 字符型 6 0否,1是 | |||||
*/ | |||||
private String matIdetFlag; | |||||
/** | |||||
* mat_idet_code 救助对象身份 字符型 10 Y | |||||
*/ | |||||
private String matIdetCode; | |||||
} | |||||
} | |||||
@Data | |||||
public static class Insuinfo{ | |||||
/** | |||||
* psn_insu_rlts_id 人员参保关系ID 字符型 20 | |||||
*/ | |||||
@JSONField(name = "psn_insu_rlts_id") | |||||
private String psnInsuRltsId; | |||||
/** | |||||
* balc 余额 数值型 16,2 Y | |||||
*/ | |||||
private BigDecimal balc; | |||||
/** | |||||
* insutype 险种类型 字符型 6 Y Y | |||||
*/ | |||||
private String insutype; | |||||
/** | |||||
* psn_type 人员类别 字符型 6 Y Y | |||||
*/ | |||||
@JSONField(name = "psn_type") | |||||
private String psnType; | |||||
/** | |||||
* psn_insu_stas 人员参保状态 字符型 6 Y | |||||
*/ | |||||
@JSONField(name = "psn_insu_stas") | |||||
private String psnInsuStas; | |||||
/** | |||||
* psn_insu_date 个人参保日期 日期型 | |||||
*/ | |||||
private String psnInsuDate; | |||||
/** | |||||
* paus_insu_date 暂停参保日期 日期型 | |||||
*/ | |||||
private String pausInsuDate; | |||||
/** | |||||
* cvlserv_flag 公务员标志 字符型 3 Y Y | |||||
*/ | |||||
@JSONField(name = "cvlserv_flag") | |||||
private String cvlservFlag; | |||||
/** | |||||
* insuplc_admdvs 参保地医保区划 字符型 6 Y | |||||
*/ | |||||
private String insuplcAdmdvs; | |||||
/** | |||||
* emp_name 单位名称 字符型 200 | |||||
*/ | |||||
@JSONField(name = "emp_name") | |||||
private String empName; | |||||
} | |||||
@Data | |||||
public class Idetinfo{ | |||||
/** | |||||
* psn_idet_type 人员身份类别 字符型 10 Y Y | |||||
*/ | |||||
@JSONField(name = "psn_idet_type") | |||||
private String psnIdetType; | |||||
/** | |||||
* psn_type_lv 人员类别等级 字符型 3 Y 详见残疾等级字典 | |||||
*/ | |||||
@JSONField(name = "psn_type_lv") | |||||
private String psnTypeLv; | |||||
/** | |||||
* memo 备注 字符型 500 | |||||
*/ | |||||
private String memo; | |||||
/** | |||||
* begntime 开始时间 日期时间型 Y | |||||
*/ | |||||
private String begntime; | |||||
/** | |||||
* endtime 结束时间 日期时间型 | |||||
*/ | |||||
private String endtime; | |||||
} | |||||
public static void main(String[] args) { | |||||
String s = "{\n" + | |||||
" \"infcode\": \"1\",\n" + | |||||
" \"inf_refmsgid\": \"000000202001041235391234567890\",\n" + | |||||
" \"refmsg_time\": \"20200201133411352\",\n" + | |||||
" \"respond_time\": \"20200202133731456\",\n" + | |||||
" \"err_msg\": \"\",\n" + | |||||
" \"output\": {\n" + | |||||
" \"baseinfo\": {\n" + | |||||
" \"psn_no\": \"131000202001001\",\n" + | |||||
" \"psn_cert_type\": \"2\",\n" + | |||||
" \"certno\": \"510000202001010000\",\n" + | |||||
" \"psn_name\": \"李四\",\n" + | |||||
" \"gend\": \"1\",\n" + | |||||
" \"naty\": \"01\",\n" + | |||||
" \"brdy\": \"2020-01-01\",\n" + | |||||
" \"age\": 18\n" + | |||||
" },\n" + | |||||
" \"insuinfo\": {\n" + | |||||
" \"psn_insu_rlts_id\": \"133241523001001\",\n" + | |||||
" \"balc\": 5000,\n" + | |||||
" \"insutype\": \"310\",\n" + | |||||
" \"psn_type\": \"1001\",\n" + | |||||
" \"cvlserv_flag\": \"0\",\n" + | |||||
" \"insu_admdvs\": \"131002\",\n" + | |||||
" \"emp_name\": \"测试单位\"\n" + | |||||
" },\n" + | |||||
" \"idetinfo\": [\n" + | |||||
" {\n" + | |||||
" \"psn_idet_type\": \"1\",\n" + | |||||
" \"psn_type_lv\": \"1\",\n" + | |||||
" \"memo\": \"\",\n" + | |||||
" \"begntime\": \"2020-01-01 00:00:00\",\n" + | |||||
" \"endtime\": \"\"\n" + | |||||
" },\n" + | |||||
" {\n" + | |||||
" \"psn_idet_type\": \"2\",\n" + | |||||
" \"psn_type_lv\": \"1\",\n" + | |||||
" \"memo\": \"\",\n" + | |||||
" \"begntime\": \"2020-01-01 00:00:00\",\n" + | |||||
" \"endtime\": \"\"\n" + | |||||
" }\n" + | |||||
" ]\n" + | |||||
" }\n" + | |||||
"}"; | |||||
InsuranceCoreCommonOutputMessage outputMessage = JSON.parseObject(s, InsuranceCoreCommonOutputMessage.class); | |||||
// 收到的1101报文 | |||||
InsuranceCoreOutputMessage1101 insuranceCoreOutputMessage1101 = JSON.parseObject(outputMessage.getOutput(), InsuranceCoreOutputMessage1101.class); | |||||
System.out.println(insuranceCoreOutputMessage1101); | |||||
} | |||||
} |
@@ -0,0 +1,55 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceGetOrderReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/19 10:37 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("医保下单参数") | |||||
public class InsuranceGetOrderReq { | |||||
@ApiModelProperty("购药单id 如果是购药单医保支付传购药单id,如果是问诊单医保支付传问诊单id") | |||||
private String platformOrderId; | |||||
@ApiModelProperty("医保支付订单类型 1: 问诊单 2: 购药单") | |||||
private Integer orderType = 1; | |||||
@ApiModelProperty("微信医保授权码") | |||||
private String authCode; | |||||
@ApiModelProperty("订单医疗费总额") | |||||
private String medfeeSumamt; | |||||
@ApiModelProperty("业务流水号") | |||||
private String orgBizSer; | |||||
@ApiModelProperty("收费批次号") | |||||
private String chrgBchno; | |||||
@ApiModelProperty("费用类别") | |||||
private String feeType; | |||||
@ApiModelProperty("就诊事件ID") | |||||
private String mdtrtId; | |||||
@ApiModelProperty("医疗机构订单号") | |||||
private String medOrgOrd; | |||||
} |
@@ -0,0 +1,56 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceMiddleGroundInputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 省移动支付中台 公共请求报文 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 15:08 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceMiddleGroundInputMessage { | |||||
/** | |||||
* appId 渠道id String(32) N | |||||
*/ | |||||
private String appId; | |||||
/** | |||||
* version 版本号 String(6) N 2.0.1 | |||||
*/ | |||||
private String version; | |||||
/** | |||||
* timestamp 当前时间 String(32) N 时间戳 | |||||
*/ | |||||
private String timestamp; | |||||
/** | |||||
* encType 加密方式 String(6) N SM4 | |||||
*/ | |||||
private String encType; | |||||
/** | |||||
* encData 加密数据 String(max) N | |||||
*/ | |||||
private String encData; | |||||
/** | |||||
* signType 签名方式 String(6) N SM2 | |||||
*/ | |||||
private String signType; | |||||
/** | |||||
* signData 签名串 String(200) N | |||||
*/ | |||||
private String signData; | |||||
} |
@@ -0,0 +1,76 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceMiddleGroundOutputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 省移动支付中台 公共响应报文 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 15:10 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceMiddleGroundOutputMessage { | |||||
/** | |||||
* code 响应状态码 int N | |||||
*/ | |||||
private Integer code; | |||||
/** | |||||
* appId 渠道id String(32) N | |||||
*/ | |||||
private String appId; | |||||
/** | |||||
* timestamp 当前时间 String(32) N 时间戳 | |||||
*/ | |||||
private String timestamp; | |||||
/** | |||||
* encType 加密方式 String(6) N SM4 | |||||
*/ | |||||
private String encType; | |||||
/** | |||||
* signType 签名方式 String(6) N SM2 | |||||
*/ | |||||
private String signType; | |||||
/** | |||||
* signData 签名串 String(200) N | |||||
*/ | |||||
private String signData; | |||||
/** | |||||
* encData 加密数据 String(max) N | |||||
*/ | |||||
private String encData; | |||||
/** | |||||
* message 响应异常信息 String(max) Y | |||||
*/ | |||||
private String message; | |||||
/** | |||||
* success 响应标识 boolean Y | |||||
*/ | |||||
private Boolean success; | |||||
/** | |||||
* version 版本号 String(6) N 2.0.1 | |||||
*/ | |||||
private String version; | |||||
/** | |||||
* data 响应数据 Object N | |||||
*/ | |||||
private String data; | |||||
} |
@@ -0,0 +1,67 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsurancePayOrderInputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/23 17:26 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsurancePayOrderInputMessage { | |||||
/** | |||||
* payAuthNo 支付授权码 字符型 40 Y 电子凭证线上渠道授权返回 | |||||
*/ | |||||
private String payAuthNo; | |||||
/** | |||||
* payOrdId 待支付订单号 字符型 40 Y 费用上传返回 | |||||
*/ | |||||
private String payOrdId; | |||||
/** | |||||
* payToken 支付订单对应的token 字符型 40 Y 费用上传返回 | |||||
*/ | |||||
private String payToken; | |||||
/** | |||||
* orgCodg 定点机构编码 字符型 12 Y | |||||
*/ | |||||
private String orgCodg; | |||||
/** | |||||
* orgBizSer 业务流水号 字符型 40 Y 每一次请求唯一 | |||||
*/ | |||||
private String orgBizSer; | |||||
/** | |||||
* chrgBchno 收费批次号 字符型 40 Y 与费用上传一致 | |||||
*/ | |||||
private String chrgBchno; | |||||
/** | |||||
* feeType 费用类别 字符型 2 Y 与费用上传一致 | |||||
*/ | |||||
private String feeType; | |||||
/** | |||||
* mdtrtId 就诊事件ID 字符型 40 Y 与费用上传一致 | |||||
*/ | |||||
private String mdtrtId; | |||||
/** | |||||
* acctUsedFlag 个账使用标识 字符型 1 N 为空时默认使用费用上传时的值 | |||||
*/ | |||||
private String acctUsedFlag; | |||||
} |
@@ -0,0 +1,65 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import java.math.BigDecimal; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsurancePayOrderOutputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 6202 医保支付订单响应参数 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/23 17:52 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("医保支付订单响应参数") | |||||
public class InsurancePayOrderOutputMessage { | |||||
/** | |||||
* payOrdId 支付订单号 字符型 40 Y | |||||
*/ | |||||
@ApiModelProperty("支付订单号") | |||||
private String payOrdId; | |||||
/** | |||||
* ordStas 订单状态 字符型 40 Y 字典订单状态(ordStas) | |||||
*/ | |||||
@ApiModelProperty("订单状态") | |||||
private String ordStas; | |||||
/** | |||||
* feeSumamt 费用总额 数值型 12,2 Y | |||||
*/ | |||||
@ApiModelProperty("费用总额") | |||||
private BigDecimal feeSumamt; | |||||
/** | |||||
* ownPayAmt 现金支付 数值型 12,2 Y | |||||
*/ | |||||
@ApiModelProperty("现金支付") | |||||
private BigDecimal ownPayAmt; | |||||
/** | |||||
* psnAcctPay 个人账户支出 数值型 12,2 Y | |||||
*/ | |||||
@ApiModelProperty("个人账户支出") | |||||
private BigDecimal psnAcctPay; | |||||
/** | |||||
* fundPay 医保基金支付 数值型 12,2 Y | |||||
*/ | |||||
@ApiModelProperty("医保基金支付") | |||||
private BigDecimal fundPay; | |||||
@ApiModelProperty("医保结构体") | |||||
private String requestContent; | |||||
} |
@@ -0,0 +1,80 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import com.alibaba.fastjson2.annotation.JSONField; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceRep.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 10:50 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("获取用户医保参数") | |||||
public class InsuranceRep { | |||||
/** | |||||
* code | |||||
* 业务返回码 | |||||
* int | |||||
* Y | |||||
* 0成功,小于0系统错误,大于0逻辑错误 | |||||
*/ | |||||
private Integer code; | |||||
/** | |||||
* message | |||||
* 业务返回信息 | |||||
* string | |||||
* Y | |||||
*/ | |||||
private String message; | |||||
/** | |||||
* user_name | |||||
* 用户姓名 | |||||
* string(32) | |||||
* N | |||||
* 姓名,如张三 | |||||
*/ | |||||
private String userName; | |||||
/** | |||||
* city_id | |||||
* 用户参保地代码 | |||||
* string(12) | |||||
* N | |||||
* 仅当mi_card_type=CERITIFICATE时,才返回有效值,多地参保用户若未选择主参保地,则该字段未空,并且不可使用后续业务。; | |||||
*/ | |||||
@JSONField(name = "city_id") | |||||
private String cityId; | |||||
/** | |||||
* pay_auth_no | |||||
* 医保线上核验payAuthNo | |||||
* string(32) | |||||
* Y | |||||
* 当使用医保线上支付功能时,返回payAuthNo | |||||
*/ | |||||
private String payAuthNo; | |||||
/** | |||||
* user_longitude_latitude | |||||
* 用户经纬度 | |||||
* | |||||
* | |||||
* | |||||
* | |||||
* Y | |||||
* 当使用医保线上支付功能时,返回对应的经纬度 | |||||
*/ | |||||
private UserLongitudeLatitude userLongitudeLatitude; | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import lombok.experimental.Accessors; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 10:42 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@Accessors(chain = true) | |||||
@ApiModel("获取用户医保参数") | |||||
public class InsuranceReq { | |||||
@ApiModelProperty("授权码") | |||||
private String qrcode; | |||||
@ApiModelProperty("用户openId") | |||||
private String openid; | |||||
} |
@@ -0,0 +1,297 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
import java.math.BigDecimal; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceUploadRecipeDetailDTO.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/17 14:36 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("省医保平台「6201」上传处方药费明细请求参数") | |||||
public class InsuranceUploadRecipeDetailInputMessage { | |||||
/** | |||||
* orgCodg 机构编码 字符型 40 Y 医保分配 | |||||
*/ | |||||
private String orgCodg; | |||||
/** | |||||
* orgId 电子凭证机构号 字符型 40 N 电子凭证中台分配,待机构电子凭证建设完毕后可获取该机构号 | |||||
*/ | |||||
private String orgId; | |||||
/** | |||||
* psnNo 人员编号 字符型 30 Y | |||||
*/ | |||||
private String psnNo; | |||||
/** | |||||
* insutype 险种类型 字符型 6 Y 字典险种类型 | |||||
* (insutype) | |||||
*/ | |||||
private String insutype; | |||||
/** | |||||
* medOrgOrd 医疗机构订单号 字符型 40 Y 院内产生惟一流水,可关联到一次结算记录,结算成功回调入参返回 | |||||
*/ | |||||
private String medOrgOrd; | |||||
/** | |||||
* rxCircFlag 电子处方流转标志 字符型 1 N 1:电子处方 ,0不是电子处方,默认0,非电子处方 | |||||
*/ | |||||
private String rxCircFlag = "0"; | |||||
/** | |||||
* begntime 开始时间 字符型 19 Y 挂号时间 | |||||
* yyyy-MM-dd HH:mm:ss | |||||
*/ | |||||
private String begntime; | |||||
/** | |||||
* idNo 证件号码 字符型 40 Y | |||||
*/ | |||||
private String idNo; | |||||
/** | |||||
*userName 用户姓名 字符型 40 Y | |||||
*/ | |||||
private String userName; | |||||
/** | |||||
* idType 证件类别 字符型 3 Y 字典人员证件类型(psn_cert_type) 01:身份证 | |||||
*/ | |||||
private String idType; | |||||
/** | |||||
* ecToken 电子凭证授权ecToken 字符型 64 Y 电子凭证解码返回 | |||||
*/ | |||||
private String ecToken; | |||||
/** | |||||
* insuCode 就诊参保地行政区划 字符型 6 N 为空(null)时取用户电子凭证默认参保地 | |||||
*/ | |||||
private String insuCode; | |||||
/** | |||||
* iptOtpNo 住院/门诊号 字符型 30 Y 院内唯一流水 | |||||
*/ | |||||
private String iptOtpNo; | |||||
// ==================非必需字段=================== | |||||
/** | |||||
* atddrNo 医师编码 字符型 30 N | |||||
*/ | |||||
private String atddrNo; | |||||
/** | |||||
*drName 医师姓名 字符型 50 N | |||||
*/ | |||||
private String drName; | |||||
/** | |||||
* deptCode 科室编码 字符型 30 N | |||||
*/ | |||||
private String deptCode; | |||||
// ===================================== | |||||
/** | |||||
*deptName 科室名称 字符型 100 Y | |||||
*/ | |||||
private String deptName; | |||||
/** | |||||
* caty 科别 字符型 6 Y | |||||
*/ | |||||
private String caty; | |||||
/** | |||||
* mdtrtId 就诊ID 字符型 30 N | |||||
*/ | |||||
private String mdtrtId; | |||||
/** | |||||
*medType 医疗类别 字符型 6 Y 字典医疗类别 | |||||
* (med_type) 91 其他门诊 | |||||
*/ | |||||
private String medType; | |||||
/** | |||||
* feeType 费用类型 字符型 3 Y 字典费用类型(feeType) 05 互联网医院问诊 | |||||
*/ | |||||
private String feeType; | |||||
/** | |||||
* medfeeSumamt 医疗费总额 数值型 16,2 Y | |||||
*/ | |||||
private BigDecimal medfeeSumamt; | |||||
// todo 貌似目前为海南医保的特有字段 | |||||
/** | |||||
* acctUsedFlag 个人账户使用标志 字符型 1 Y 药店上传费用时必填 | |||||
*/ | |||||
private String acctUsedFlag; | |||||
/** | |||||
* mainCondDscr 主要病情描述 字符型 1000 N | |||||
*/ | |||||
private String mainCondDscr; | |||||
/** | |||||
*diseCodg 病种编码 字符型 30 Y 按照标准编码填写: | |||||
* 按病种结算病种目录代码(bydise_setl_list_code)、 | |||||
* 门诊慢特病病种目录代码(opsp_dise_cod)、 | |||||
*/ | |||||
private String diseCodg; | |||||
/** | |||||
* diseName 病种名称 字符型 500 Y | |||||
*/ | |||||
private String diseName; | |||||
// todo 貌似目前为海南医保的特有字段 | |||||
/** | |||||
* psnSetlway 个人结算方式 字符型 6 Y | |||||
*/ | |||||
private String psnSetlway; | |||||
/** | |||||
* chrgBchno 收费批次号 字符型 30 Y | |||||
*/ | |||||
private String chrgBchno; | |||||
/** | |||||
* pubHospRfomFlag 公立医院改革标志 字符型 6 Y 可参考FSI的接口要求 | |||||
*/ | |||||
private String pubHospRfomFlag; | |||||
/** | |||||
* diseinfoList 诊断或症状明细 Y 见下方diseinfoList定义 | |||||
*/ | |||||
private List<DiseInfo> diseinfoList; | |||||
/** | |||||
* feedetailList 费用明细 Y 见下方feedetailList定义 | |||||
*/ | |||||
private List<FeeDetail> feedetailList; | |||||
/** | |||||
* payAuthNo 支付授权码 字符型 40 N 线上授权返回 | |||||
*/ | |||||
private String payAuthNo; | |||||
public static void main(String[] args) { | |||||
String s = "{\n" + | |||||
"\t\"configId\": \"cs1\",(部分省份无该参数,可去除)\n" + | |||||
"\t\"payAuthNo\": \"AUTH430100202206132005090000100\",\n" + | |||||
"\t\"uldLatlnt\": \"112.88211,28.230932\",\n" + | |||||
"\t\"idType\": \"01\",\n" + | |||||
"\t\"mdtrtCertType\": \"02\",\n" + | |||||
"\t\"orgCodg\": \"H43010000001\",\n" + | |||||
"\t\"orgId\": \"\",\n" + | |||||
"\t\"psnNo\": \"430000201000000000\",\n" + | |||||
"\t\"insutype\": \"310\",\n" + | |||||
"\t\"medOrgOrd\": \"46515950\",\n" + | |||||
"\t\"begntime\": \"2022-06-13 17:57:07\",\n" + | |||||
"\t\"idNo\": \"430602199111111111\",\n" + | |||||
"\t\"userName\": \"刘军\",\n" + | |||||
"\t\"ecToken\": \"\",\n" + | |||||
"\t\"iptOtpNo\": \"4441829\",\n" + | |||||
"\t\"deptCode\": \"2101\",\n" + | |||||
"\t\"deptName\": \"心血管内科诊室(一)\",\n" + | |||||
"\t\"caty\": \"2101\",\n" + | |||||
"\t\"mdtrtId\": \"359999999\",\n" + | |||||
"\t\"medType\": \"11\",\n" + | |||||
"\t\"feeType\": \"01\",\n" + | |||||
"\t\"medfeeSumamt\": 53.69,\n" + | |||||
"\t\"acctUsedFlag\": \"\",\n" + | |||||
"\t\"diseCodg\": \"J00.x00x002\",\n" + | |||||
"\t\"diseName\": \"病毒性感冒\",\n" + | |||||
"\t\"psnSetlway\": \"01\",\n" + | |||||
"\t\"chrgBchno\": \"4441829694.42\",\n" + | |||||
"\t\"pubHospRfomFlag\": \"01\",\n" + | |||||
"\t\"fetts\": \"\",\n" + | |||||
"\t\"diseinfoList\": [{\n" + | |||||
"\t\t\"diagType\": \"0\",\n" + | |||||
"\t\t\"diagSrtNo\": 1,\n" + | |||||
"\t\t\"diagCode\": \"J00.x00x002\",\n" + | |||||
"\t\t\"diagName\": \"病毒性感冒\",\n" + | |||||
"\t\t\"diagDept\": \"心血管内科诊室(一)\",\n" + | |||||
"\t\t\"diseDorNo\": \"0824\",\n" + | |||||
"\t\t\"diseDorName\": \"马丽霞\",\n" + | |||||
"\t\t\"diagTime\": \"2022-06-13 17:57:23\",\n" + | |||||
"\t\t\"valiFlag\": \"1\"\n" + | |||||
"\t}],\n" + | |||||
"\t\"feedetailList\": [{\n" + | |||||
"\t\t\t\"feedetlSn\": \"97657430\",\n" + | |||||
"\t\t\t\"mdtrtId\": \"4441888\",\n" + | |||||
"\t\t\t\"psnNo\": \"430000201000000000\",\n" + | |||||
"\t\t\t\"chrgBchno\": \"444182920220613175815266\",\n" + | |||||
"\t\t\t\"rxCircFlag\": \"0\",\n" + | |||||
"\t\t\t\"feeOcurTime\": \"2022-06-13 17:57:08\",\n" + | |||||
"\t\t\t\"medListCodg\": \"F00000019080\",\n" + | |||||
"\t\t\t\"medinsListCodg\": \"H43010500027\",\n" + | |||||
"\t\t\t\"detItemFeeSumamt\": 16,\n" + | |||||
"\t\t\t\"cnt\": 1,\n" + | |||||
"\t\t\t\"pric\": 16,\n" + | |||||
"\t\t\t\"bilgDeptCodg\": \"2101\",\n" + | |||||
"\t\t\t\"bilgDeptName\": \"心血管内科诊室(一)\",\n" + | |||||
"\t\t\t\"bilgDrCodg\": \"0824\",\n" + | |||||
"\t\t\t\"bilgDrName\": \"马丽霞\",\n" + | |||||
"\t\t\t\"hospApprFlag\": \"1\",\n" + | |||||
"\t\t\t\"medType\": \"11\",\n" + | |||||
"\t\t\t\"medListName\": \"副主任医师普通门诊诊查费\",\n" + | |||||
"\t\t\t\"medListSpc\": \"\"\n" + | |||||
"\t\t},\n" + | |||||
"\t\t{\n" + | |||||
"\t\t\t\"feedetlSn\": \"97657431\",\n" + | |||||
"\t\t\t\"mdtrtId\": \"4441888\",\n" + | |||||
"\t\t\t\"psnNo\": \"430000201000000000\",\n" + | |||||
"\t\t\t\"chrgBchno\": \"444182920220613175815266\",\n" + | |||||
"\t\t\t\"rxCircFlag\": \"0\",\n" + | |||||
"\t\t\t\"feeOcurTime\": \"2022-06-13 17:57:36\",\n" + | |||||
"\t\t\t\"medListCodg\": \"Y00000020302\",\n" + | |||||
"\t\t\t\"medinsListCodg\": \"H43010500027\",\n" + | |||||
"\t\t\t\"detItemFeeSumamt\": 678.42,\n" + | |||||
"\t\t\t\"cnt\": 18,\n" + | |||||
"\t\t\t\"pric\": 37.69,\n" + | |||||
"\t\t\t\"bilgDeptCodg\": \"2101\",\n" + | |||||
"\t\t\t\"bilgDeptName\": \"心血管内科诊室(一)\",\n" + | |||||
"\t\t\t\"bilgDrCodg\": \"0824\",\n" + | |||||
"\t\t\t\"bilgDrName\": \"马丽霞\",\n" + | |||||
"\t\t\t\"hospApprFlag\": \"1\",\n" + | |||||
"\t\t\t\"medType\": \"11\",\n" + | |||||
"\t\t\t\"medListName\": \"小儿肺咳颗粒\",\n" + | |||||
"\t\t\t\"medListSpc\": \"2g/袋*18袋/盒\"\n" + | |||||
"\t\t}\n" + | |||||
"\t]\n" + | |||||
"}\n"; | |||||
} | |||||
} |
@@ -0,0 +1,43 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceUploadRecipeDetailOutputMessage.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 【6201】 上传医保费用明细响应参数 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 15:34 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class InsuranceUploadRecipeDetailOutputMessage { | |||||
/** | |||||
* payOrdId 支付订单号 字符型 40 Y 医保结算中心订单号 | |||||
*/ | |||||
private String payOrdId; | |||||
/** | |||||
* payToken 支付token 字符型 40 Y 下单支付使用 | |||||
*/ | |||||
private String payToken; | |||||
/** | |||||
* cashierUrl 医保支付收银台h5地址 字符型 4000 N 见下方拼接说明 | |||||
*/ | |||||
private String cashierUrl; | |||||
/** | |||||
* extData 医保扩展数据 N 根据各地方医保要求传不同数据内容 | |||||
*/ | |||||
private String extData; | |||||
} |
@@ -0,0 +1,49 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: UnifiedOrderRep.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/24 10:13 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("统一下单返回参数") | |||||
public class UnifiedOrderRep { | |||||
/** | |||||
* | |||||
pay_url | |||||
支付链接 | |||||
String256 | |||||
Y | |||||
下单后跳转到此url,用户完成支付,使用app支付时1.5 APP支付说明 | |||||
*/ | |||||
@ApiModelProperty("支付链接") | |||||
private String payUrl; | |||||
/** | |||||
* | |||||
pay_appid | |||||
支付小程序 | |||||
String64 | |||||
N | |||||
当使用医院小程序进行下单时,会返回此参数,医院小程序跳转至该支付小程序进行支付 | |||||
*/ | |||||
@ApiModelProperty("支付小程序") | |||||
private String payAppid; | |||||
} |
@@ -0,0 +1,68 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: UnifiedOrderReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 微信统一下单请求参数 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/23 23:53 | |||||
* @Modify: | |||||
*/ | |||||
@ApiModel("微信统一下单请求参数") | |||||
@Data | |||||
public class UnifiedOrderReq { | |||||
@ApiModelProperty("支付类型: IntReDiagPay=互联网医院复诊支付\n" + | |||||
"IntPscPay=互联网医院处方支付 \n") | |||||
private String orderType; | |||||
@ApiModelProperty("分账信息") | |||||
private InsurancePayOrderOutputMessage insurancePayOrder; | |||||
/** | |||||
* spbill_create_ip | |||||
* 用户端ip | |||||
* String16 | |||||
* Y | |||||
* 10.193.0.1 | |||||
*/ | |||||
@ApiModelProperty("用户ip") | |||||
private String spbillCreateIp; | |||||
@ApiModelProperty(hidden = true) | |||||
private InsuranceAccessTokenRep accessToken; | |||||
@ApiModelProperty(hidden = true) | |||||
private String openId; | |||||
@ApiModelProperty(hidden = true) | |||||
/** | |||||
* 证件号码 user_card_no 证件号码的MD5,目前只支持身份证(身份证中如果有字母需要转成大写再做MD5,15位身份证号需要转为18位). 示例:44030019000101123x的MD5为09eb26e839ff3a2e3980352ae45ef09e | |||||
*/ | |||||
private String userCardNo; | |||||
@ApiModelProperty(hidden = true) | |||||
/** | |||||
* 真实姓名 user_name 张三 | |||||
*/ | |||||
private String userName; | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: user_longitude_latitude.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 10:53 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("获取用户经纬度") | |||||
public class UserLongitudeLatitude { | |||||
private String longitude; | |||||
private String latitude; | |||||
} |
@@ -0,0 +1,29 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: UserQueryReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/16 11:12 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
@ApiModel("获取用户信息") | |||||
public class UserQueryReq { | |||||
@ApiModelProperty("授权码") | |||||
private String qrcode; | |||||
@ApiModelProperty("openid") | |||||
private String openid; | |||||
} |
@@ -0,0 +1,325 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: WechatUnifiedOrderReq.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 微信统一下单请求参数 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/23 23:23 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class WechatUnifiedOrderReq { | |||||
/** | |||||
* order_type | |||||
* 支付类型 | |||||
* String16 | |||||
* Y | |||||
* RegPay=挂号支付 | |||||
* MedPay=药费支付 | |||||
* DiagPay=诊间支付 | |||||
* InHospPay=住院费支付 | |||||
* PharmacyPay=药店支付 | |||||
* InsurancePay=保险费支付 | |||||
* IntRegPay=互联网医院挂号支付 | |||||
* IntReDiagPay=互联网医院复诊支付 | |||||
* IntPscPay=互联网医院处方支付 | |||||
* CovidExamPay=新冠检测费用 | |||||
* CvidAntigenPay=新冠抗原检测 | |||||
*/ | |||||
private String orderType; | |||||
/** | |||||
* appid | |||||
* 公众账号ID | |||||
* String32 | |||||
* Y | |||||
* 微信分配的公众账号ID | |||||
*/ | |||||
private String appid; | |||||
/** | |||||
* mch_id | |||||
* 商户号 | |||||
* String32 | |||||
* Y | |||||
* 微信支付分配的商户号 | |||||
*/ | |||||
private String mchId; | |||||
/** | |||||
* sub_appid | |||||
* 子商户公众号ID | |||||
* String32 | |||||
* N | |||||
* 微信分配的子商户公众账号ID,如需在支付完成后获取sub_openid则此参数必传。 | |||||
*/ | |||||
private String subAppid; | |||||
/** | |||||
* sub_mch_id | |||||
* 子商户号 | |||||
* String32 | |||||
* N | |||||
* 微信支付分配的子商户号,如果是服务商模式,必填 | |||||
*/ | |||||
private String subMchId; | |||||
/** | |||||
* openid | |||||
* 用户标识 | |||||
* String128 | |||||
* 二选一 | |||||
* openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。 | |||||
*/ | |||||
private String openid; | |||||
/** | |||||
* hosp_out_trade_no | |||||
* 第三方服务商订单号 | |||||
* String64 | |||||
* Y | |||||
* 第三方服务商平台自动生成的一个订单号 | |||||
*/ | |||||
private String hospOutTradeNo; | |||||
/** | |||||
* hospital_name | |||||
* 医院名称 | |||||
* string128 | |||||
* Y | |||||
* 医院名称 | |||||
*/ | |||||
private String hospitalName; | |||||
/** | |||||
* nonce_str | |||||
* 随机字符串 | |||||
* String32 | |||||
* Y | |||||
*/ | |||||
private String nonceStr; | |||||
/** | |||||
* total_fee | |||||
* 总共需要支付现金金额 | |||||
* Uint64 | |||||
* Y | |||||
* 单位为分>0 | |||||
* 表示订单总额即全额现金的价格。由于医保局支付有优惠,全额现金的价格可能会大于cash_fee+ insurance_fee的和,不一定等于cash_fee+insurance_fee。 | |||||
*/ | |||||
private String totalFee; | |||||
/** | |||||
* cash_fee | |||||
* 现金需要支付的金额 | |||||
* Uint64 | |||||
* Y | |||||
* 单位为分>=0 | |||||
* 线上预结算模式金额填0 | |||||
* 线下预结算模式填实际自费金额 | |||||
*/ | |||||
private String cashFee; | |||||
/** | |||||
* cash_add_fee | |||||
* 由医疗机构额外增加的现金金额 | |||||
* Uint64 | |||||
* N | |||||
* 单位为分,默认0 | |||||
* 用于医院在医保预结算之外增加现 | |||||
* 金扣费,举例:原需要 | |||||
* 支付的是: | |||||
* total_ fee 200 | |||||
* cash_ fee 100 | |||||
* insurance fee 100。 | |||||
* 现新增现金50,则入参为: | |||||
* total_ _fee 250 ( 总额加上额外现 | |||||
* 金) | |||||
* cash fee 150(自费加上额外现 | |||||
* 金) | |||||
* cash_add_ fee 50 (额外现金) | |||||
* insurance_ fee 100 | |||||
*/ | |||||
private String cashAddFee; | |||||
/** | |||||
* cash_add_wording | |||||
* 额外现金金额文案 | |||||
* String16 | |||||
* N | |||||
* 额外现金金额,如:快递费 | |||||
* 目前不会在前端显示,可不传 | |||||
*/ | |||||
private String cashAddWording; | |||||
/** | |||||
* cash_reduced_wording | |||||
* 减免金额文案 | |||||
* String16 | |||||
* N | |||||
* 减免金额的文案类型, | |||||
* 1为:预交金支付 | |||||
* 2为:医院减免 | |||||
* 3为:药店优惠 | |||||
* 4为:优惠金 | |||||
* 5为:押金抵扣 | |||||
* 不填则为默认的“机构优惠金额” | |||||
*/ | |||||
private String cashReducedWording; | |||||
/** | |||||
* allow_fee_change | |||||
* 是否允许预结算费用发生变化 | |||||
* uint8 | |||||
* Y | |||||
* 0:不允许 | |||||
* 1:允许 | |||||
* 当医保局返回的预结算金额与医院上传的金额不一致时,此字段为0则直接报错,为1则以医保局金额为准 | |||||
*/ | |||||
private String allowFeeChange; | |||||
/** | |||||
* spbill_create_ip | |||||
* 用户端ip | |||||
* String16 | |||||
* Y | |||||
* 10.193.0.1 | |||||
*/ | |||||
private String spbillCreateIp; | |||||
/** | |||||
* notify_url | |||||
* 回调url | |||||
* String256 | |||||
* Y | |||||
* 接收微信支付异步通知回调地址 | |||||
*/ | |||||
private String notifyUrl; | |||||
/** | |||||
* body | |||||
* 商品描述 | |||||
* String128 | |||||
* Y | |||||
* 参照 | |||||
* https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2 | |||||
*/ | |||||
private String body; | |||||
/** | |||||
* return_url | |||||
* 支付后回跳的页面,不论成功或者失败均会回跳 | |||||
* string128 | |||||
* Y | |||||
* 调用方可以在链接中加上支付单号,回跳后查询调用方订单状态,如果订单已支付则成功, 如果订单未支付则进行查单操作确认订单结果 | |||||
*/ | |||||
private String returnUrl; | |||||
/** | |||||
* pay_type | |||||
* 支付方式 | |||||
* uint8 | |||||
* Y | |||||
* 1:现金 2:医保 3:现金+医保 | |||||
* 备注说明: | |||||
* 1、当订单要走医保支付时, | |||||
* (1)cash_fee>0, paytype填3 | |||||
* (2)cash_fee=0, paytype填2 | |||||
* 2、当订单不使用医保支付时 paytype填1。 | |||||
* 3、当订单有走医保【6201】相关接口时,如果订单为纯自费订单,paytype填3。 | |||||
*/ | |||||
private String payType; | |||||
/** | |||||
* city_id | |||||
* 城市ID | |||||
* String32 | |||||
* Y | |||||
* 一般为申请接入城市的编码,由腾讯侧对接时提供。 | |||||
*/ | |||||
private String cityId; | |||||
/** | |||||
* consume_type | |||||
* 医保部分扣 | |||||
* 费类型 | |||||
* int8 | |||||
* N | |||||
* 默认为 0:统筹+个账 | |||||
* 1:个账 | |||||
* 2:统筹 | |||||
*/ | |||||
private String consumeType; | |||||
/** | |||||
* insurance_fee | |||||
* 医保支付金额 | |||||
* Uint64 | |||||
* Y | |||||
* 填实际医保金额 | |||||
*/ | |||||
private String insuranceFee; | |||||
/** | |||||
* 证件类型 user_card_type 1 居民身份证 9 户口本 8 外国人护照 5 台湾居民来往大陆通行证 4 澳门居民往来内地通行证 6 香港居民往来内地通行证 7 外国人永久居留证 | |||||
*/ | |||||
private String userCardType; | |||||
/** | |||||
* 证件号码 user_card_no 证件号码的MD5,目前只支持身份证(身份证中如果有字母需要转成大写再做MD5,15位身份证号需要转为18位). 示例:44030019000101123x的MD5为09eb26e839ff3a2e3980352ae45ef09e | |||||
*/ | |||||
private String userCardNo; | |||||
/** | |||||
* 真实姓名 user_name 张三 | |||||
*/ | |||||
private String userName; | |||||
/** | |||||
* 医保标识 is_dept is_dept=4 医保电子凭证支付; | |||||
*/ | |||||
private String isDept; | |||||
/** | |||||
* 医院HIS系统订单号 serial_no 医院HIS系统订单号 | |||||
*/ | |||||
private String serialNo; | |||||
/** | |||||
* 医疗机构编码(医保局分配给机构) org_no 医保局局提供的医疗机构编码 | |||||
*/ | |||||
private String orgNo; | |||||
/** | |||||
* 医院下单时间 gmt_out_create 格式为yyyyMMddHHmmss 如20160501163102 | |||||
*/ | |||||
private String gmtOutCreate; | |||||
/** | |||||
* 参考医保结构体(医疗机构透传医保) request_content 示例: {"payAuthNo":"AUTH****","payOrdId":"ORD****","setlLatlnt":"118.096435,24.485407"} payAuthNo:授权码 payOrdId:对应处方上传的出参单号 setlLatlnt:用户地 理定位信息, 经纬 度信息,如“118.096435,24.485407”。未获取到用户定位时,传“0,0”。 | |||||
*/ | |||||
private String requestContent; | |||||
/** | |||||
* 业务单据号 bill_no | |||||
*/ | |||||
private String billNo; | |||||
/** | |||||
* 签名 sign | |||||
*/ | |||||
private String sign; | |||||
} |
@@ -0,0 +1,38 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance.core; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: SignIn.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance.core | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 9001 输入-录入的基本信息 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 10:41 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class SignIn { | |||||
/** | |||||
* opter_no 操作员编号 字符型 20 Y | |||||
*/ | |||||
private String opterNo; | |||||
/** | |||||
* mac 签到MAC地址 字符型 20 Y | |||||
*/ | |||||
private String mac; | |||||
/** | |||||
* ip 签到IP地址 字符型 20 Y | |||||
*/ | |||||
private String ip; | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package com.szyx.tcm.supervision.model.dto.insurance.core; | |||||
import lombok.Data; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: Signinoutb.java | |||||
* @包 路 径: com.szyx.tcm.web.patient.dto.insurance.core | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/22 10:44 | |||||
* @Modify: | |||||
*/ | |||||
@Data | |||||
public class Signinoutb { | |||||
/** | |||||
* sign_time 签到时间 日期型 Y yyyy-MM-dd HH:mm:ss | |||||
*/ | |||||
private String signTime; | |||||
/** | |||||
* sign_no 签到编号 字符型 30 Y | |||||
*/ | |||||
private String signNo; | |||||
} |
@@ -0,0 +1,44 @@ | |||||
package com.szyx.tcm.supervision.service; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceCoreOutputMessage1101; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceRep; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceUploadRecipeDetailOutputMessage; | |||||
import com.szyx.tcm.supervision.service.insurance.InsuranceUploadDetailBusinessService; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: AbstractBusinessService.java | |||||
* @包 路 径: com.szyx.tcm.supervision.service | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/26 23:53 | |||||
* @Modify: | |||||
*/ | |||||
public abstract class AbstractBusinessService implements | |||||
IBaseBusinessService, InsuranceUploadDetailBusinessService { | |||||
@Override | |||||
public boolean match(Object context) { | |||||
return false; | |||||
} | |||||
@Override | |||||
public List<Object> process(Object context) { | |||||
return null; | |||||
} | |||||
@Override | |||||
public boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return false; | |||||
} | |||||
@Override | |||||
public List<InsuranceUploadRecipeDetailOutputMessage> process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return null; | |||||
} | |||||
} |
@@ -0,0 +1,35 @@ | |||||
package com.szyx.tcm.supervision.service; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: IBaseBusinessService.java | |||||
* @包 路 径: com.szyx.tcm.supervision.service | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: 独立业务封装接口 | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/26 23:21 | |||||
* @Modify: | |||||
*/ | |||||
public interface IBaseBusinessService { | |||||
/** | |||||
* 匹配符合条件的业务 | |||||
* @param context 上下文 | |||||
* @return 是否匹配 | |||||
*/ | |||||
boolean match( Object context); | |||||
/** | |||||
* 处理业务 | |||||
* @param context 上下文 | |||||
* @return 业务处理结果 | |||||
*/ | |||||
List<Object> process(Object context); | |||||
} |
@@ -0,0 +1,37 @@ | |||||
package com.szyx.tcm.supervision.service.Impl; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceCoreOutputMessage1101; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceRep; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceUploadRecipeDetailOutputMessage; | |||||
import com.szyx.tcm.supervision.service.AbstractBusinessService; | |||||
import org.springframework.core.annotation.Order; | |||||
import org.springframework.stereotype.Service; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceUploadDetailBusinessServiceImpl.java | |||||
* @包 路 径: com.szyx.tcm.supervision.service.Impl | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/26 23:52 | |||||
* @Modify: | |||||
*/ | |||||
@Service | |||||
@Order(1) | |||||
public class InsuranceUploadInquiryDetailBusinessServiceImpl extends AbstractBusinessService { | |||||
@Override | |||||
public boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return req.getOrderType() == 1; | |||||
} | |||||
@Override | |||||
public List<InsuranceUploadRecipeDetailOutputMessage> process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return super.process(req, insuranceInfo, insuranceCoreInfo); | |||||
} | |||||
} |
@@ -0,0 +1,37 @@ | |||||
package com.szyx.tcm.supervision.service.Impl; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceCoreOutputMessage1101; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceRep; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceUploadRecipeDetailOutputMessage; | |||||
import com.szyx.tcm.supervision.service.AbstractBusinessService; | |||||
import org.springframework.core.annotation.Order; | |||||
import org.springframework.stereotype.Service; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceUploadMedicineOrderDetailBusinessServiceImpl.java | |||||
* @包 路 径: com.szyx.tcm.supervision.service.Impl | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/27 00:05 | |||||
* @Modify: | |||||
*/ | |||||
@Service | |||||
@Order(2) | |||||
public class InsuranceUploadMedicineOrderDetailBusinessServiceImpl extends AbstractBusinessService { | |||||
@Override | |||||
public boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return req.getOrderType() == 2; | |||||
} | |||||
@Override | |||||
public List<InsuranceUploadRecipeDetailOutputMessage> process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) { | |||||
return super.process(req, insuranceInfo, insuranceCoreInfo); | |||||
} | |||||
} |
@@ -0,0 +1,34 @@ | |||||
package com.szyx.tcm.supervision.service.insurance; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceCoreOutputMessage1101; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceRep; | |||||
import com.szyx.tcm.supervision.model.dto.insurance.InsuranceUploadRecipeDetailOutputMessage; | |||||
import com.szyx.tcm.supervision.service.IBaseBusinessService; | |||||
import java.util.List; | |||||
/******************************************************************* | |||||
* <pre></pre> | |||||
* @文件名称: InsuranceUploadDetailBusinessService.java | |||||
* @包 路 径: com.szyx.tcm.supervision.service.insurance | |||||
* @Copyright:wy (C) 2024 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: wy | |||||
* @Date: 2024/7/26 23:26 | |||||
* @Modify: | |||||
*/ | |||||
public interface InsuranceUploadDetailBusinessService extends IBaseBusinessService { | |||||
@Override | |||||
boolean match(Object context); | |||||
@Override | |||||
List<Object> process(Object context); | |||||
boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo); | |||||
List<InsuranceUploadRecipeDetailOutputMessage> process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo); | |||||
} |
@@ -6,7 +6,7 @@ server.http.encoding.force=true | |||||
server.http.encoding.charset=UTF-8 | server.http.encoding.charset=UTF-8 | ||||
server.http.encoding.enabled=true | server.http.encoding.enabled=true | ||||
spring.application.name=${application.name} | spring.application.name=${application.name} | ||||
server.servlet.context-path=/tcm/api/supervision | |||||
server.servlet.context-path=/web-api/ | |||||
spring.servlet.multipart.maxFileSize=50MB | spring.servlet.multipart.maxFileSize=50MB | ||||
spring.servlet.multipart.max-request-size=150MB | spring.servlet.multipart.max-request-size=150MB | ||||
spring.servlet.multipart.enabled=true | spring.servlet.multipart.enabled=true | ||||
@@ -17,7 +17,7 @@ spring.mvc.pathmatch.matching-strategy=ant_path_matcher | |||||
# \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 mysql \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 | # \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 mysql \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 | ||||
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tcm?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8 | spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tcm?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8 | ||||
spring.datasource.username=root | spring.datasource.username=root | ||||
spring.datasource.password=123456 | |||||
spring.datasource.password=wy12345^ | |||||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver | ||||
spring.datasource.initialSize=20 | spring.datasource.initialSize=20 | ||||
spring.datasource.minIdle=500 | spring.datasource.minIdle=500 | ||||