diff --git a/src/main/java/com/szyx/tcm/supervision/controller/TestController.java b/src/main/java/com/szyx/tcm/supervision/controller/TestController.java index 0696c5b..b4a5444 100644 --- a/src/main/java/com/szyx/tcm/supervision/controller/TestController.java +++ b/src/main/java/com/szyx/tcm/supervision/controller/TestController.java @@ -10,13 +10,17 @@ import com.szyx.tcm.supervision.constant.CacheConstant; import com.szyx.tcm.supervision.enums.OperationTypeEnum; import com.szyx.tcm.supervision.model.LogInfo; 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 org.dromara.hutool.core.date.DateUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.Instant; import java.util.Date; +import java.util.List; import java.util.concurrent.TimeUnit; /******************************************************************* @@ -39,10 +43,17 @@ public class TestController { @Resource private CacheAgent cacheAgent; + @Autowired + List baseBusinessServiceList; + @GetMapping("/get") @TraceLog(desc = "测试接口") public R get(){ + + System.out.println("baseBusinessServiceList = " + baseBusinessServiceList); + + return R.ok("success"); } diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/DiseInfo.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/DiseInfo.java new file mode 100644 index 0000000..9aebd7f --- /dev/null +++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/DiseInfo.java @@ -0,0 +1,68 @@ +package com.szyx.tcm.supervision.model.dto.insurance; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/******************************************************************* + *

+ * @文件名称: 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;
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/FeeDetail.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/FeeDetail.java
new file mode 100644
index 0000000..6c97599
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/FeeDetail.java
@@ -0,0 +1,131 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenRep.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenRep.java
new file mode 100644
index 0000000..8f98e2f
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenRep.java
@@ -0,0 +1,82 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenReq.java
new file mode 100644
index 0000000..6758283
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceAccessTokenReq.java
@@ -0,0 +1,30 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonInputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonInputMessage.java
new file mode 100644
index 0000000..9d34c58
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonInputMessage.java
@@ -0,0 +1,80 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonOutputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonOutputMessage.java
new file mode 100644
index 0000000..6940c56
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreCommonOutputMessage.java
@@ -0,0 +1,41 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreInputMessage1101.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreInputMessage1101.java
new file mode 100644
index 0000000..ae3e859
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreInputMessage1101.java
@@ -0,0 +1,55 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreOutputMessage1101.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreOutputMessage1101.java
new file mode 100644
index 0000000..82d998f
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceCoreOutputMessage1101.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+    @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);
+
+    }
+
+
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceGetOrderReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceGetOrderReq.java
new file mode 100644
index 0000000..a813623
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceGetOrderReq.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundInputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundInputMessage.java
new file mode 100644
index 0000000..f8ffe6f
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundInputMessage.java
@@ -0,0 +1,56 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundOutputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundOutputMessage.java
new file mode 100644
index 0000000..9bcd51c
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceMiddleGroundOutputMessage.java
@@ -0,0 +1,76 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderInputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderInputMessage.java
new file mode 100644
index 0000000..ff8bbef
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderInputMessage.java
@@ -0,0 +1,67 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderOutputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderOutputMessage.java
new file mode 100644
index 0000000..2a1d627
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsurancePayOrderOutputMessage.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceRep.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceRep.java
new file mode 100644
index 0000000..1e1641d
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceRep.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceReq.java
new file mode 100644
index 0000000..e39d947
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceReq.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailInputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailInputMessage.java
new file mode 100644
index 0000000..d7cf531
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailInputMessage.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 diseinfoList;
+
+        /**
+         * feedetailList	费用明细				Y	见下方feedetailList定义
+         */
+        private List 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";
+
+
+
+
+
+
+
+
+
+        }
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailOutputMessage.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailOutputMessage.java
new file mode 100644
index 0000000..c7822d2
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/InsuranceUploadRecipeDetailOutputMessage.java
@@ -0,0 +1,43 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderRep.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderRep.java
new file mode 100644
index 0000000..fd8e13d
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderRep.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderReq.java
new file mode 100644
index 0000000..93126f6
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UnifiedOrderReq.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserLongitudeLatitude.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserLongitudeLatitude.java
new file mode 100644
index 0000000..5aecdea
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserLongitudeLatitude.java
@@ -0,0 +1,25 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserQueryReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserQueryReq.java
new file mode 100644
index 0000000..ccfeb33
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/UserQueryReq.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/WechatUnifiedOrderReq.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/WechatUnifiedOrderReq.java
new file mode 100644
index 0000000..cab3a3f
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/WechatUnifiedOrderReq.java
@@ -0,0 +1,325 @@
+package com.szyx.tcm.supervision.model.dto.insurance;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/SignIn.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/SignIn.java
new file mode 100644
index 0000000..f6fdaea
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/SignIn.java
@@ -0,0 +1,38 @@
+package com.szyx.tcm.supervision.model.dto.insurance.core;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/Signinoutb.java b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/Signinoutb.java
new file mode 100644
index 0000000..791ae47
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/model/dto/insurance/core/Signinoutb.java
@@ -0,0 +1,32 @@
+package com.szyx.tcm.supervision.model.dto.insurance.core;
+
+import lombok.Data;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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;
+
+
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/service/AbstractBusinessService.java b/src/main/java/com/szyx/tcm/supervision/service/AbstractBusinessService.java
new file mode 100644
index 0000000..b5e141b
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/service/AbstractBusinessService.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 process(Object context) {
+        return null;
+    }
+
+    @Override
+    public boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) {
+        return false;
+    }
+
+    @Override
+    public List process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) {
+        return null;
+    }
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/service/IBaseBusinessService.java b/src/main/java/com/szyx/tcm/supervision/service/IBaseBusinessService.java
new file mode 100644
index 0000000..5675be0
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/service/IBaseBusinessService.java
@@ -0,0 +1,35 @@
+package com.szyx.tcm.supervision.service;
+
+import com.szyx.tcm.supervision.model.dto.insurance.InsuranceGetOrderReq;
+
+import java.util.List;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 process(Object context);
+
+
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadInquiryDetailBusinessServiceImpl.java b/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadInquiryDetailBusinessServiceImpl.java
new file mode 100644
index 0000000..a70df80
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadInquiryDetailBusinessServiceImpl.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) {
+        return super.process(req, insuranceInfo, insuranceCoreInfo);
+    }
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadMedicineOrderDetailBusinessServiceImpl.java b/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadMedicineOrderDetailBusinessServiceImpl.java
new file mode 100644
index 0000000..423c298
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/service/Impl/InsuranceUploadMedicineOrderDetailBusinessServiceImpl.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo) {
+        return super.process(req, insuranceInfo, insuranceCoreInfo);
+    }
+}
diff --git a/src/main/java/com/szyx/tcm/supervision/service/insurance/InsuranceUploadDetailBusinessService.java b/src/main/java/com/szyx/tcm/supervision/service/insurance/InsuranceUploadDetailBusinessService.java
new file mode 100644
index 0000000..1a207d7
--- /dev/null
+++ b/src/main/java/com/szyx/tcm/supervision/service/insurance/InsuranceUploadDetailBusinessService.java
@@ -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;
+
+/*******************************************************************
+ * 

+ * @文件名称: 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 process(Object context);
+
+    boolean match(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo);
+
+    List process(InsuranceGetOrderReq req, InsuranceRep insuranceInfo, InsuranceCoreOutputMessage1101 insuranceCoreInfo);
+
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index e0ce5dd..94e6b6f 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -6,7 +6,7 @@ server.http.encoding.force=true
 server.http.encoding.charset=UTF-8
 server.http.encoding.enabled=true
 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.max-request-size=150MB
 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
 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.password=123456
+spring.datasource.password=wy12345^
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.initialSize=20
 spring.datasource.minIdle=500