Browse Source

医保移动支付添加查询接口

lighter 3 tháng trước cách đây
mục cha
commit
297f93c559

+ 1 - 2
src/main/java/thyyxxk/wxservice_server/config/RestTemplateConfig.java

@@ -13,8 +13,7 @@ public class RestTemplateConfig {
     @Bean
     public RestTemplate restTemplate(RestTemplateBuilder builder) {
         return builder
-                .setConnectTimeout(Duration.ofSeconds(3))
-                .setReadTimeout(Duration.ofSeconds(5))
+                .setConnectTimeout(Duration.ofSeconds(10))
                 .build();
     }
 }

+ 24 - 0
src/main/java/thyyxxk/wxservice_server/controller/api/PowersiMiPayPlugin.java

@@ -19,6 +19,7 @@ import thyyxxk.wxservice_server.entity.assessment.PushQuestionnaireVisit;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.InsuinfoRequest;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.OrdState;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.CommonRequest;
+import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.OrderQueryRequest;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.PowersiMipSetlinfo;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.RevokeSettleRequest;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.response.BillInfo;
@@ -275,6 +276,29 @@ public class PowersiMiPayPlugin {
         return ResultVoUtil.success(setlinfo.getPlatformOrderId());
     }
 
+    @PassToken
+    @GetMapping("/settleQuery")
+    public JSONObject settleQuery(@RequestParam("hisOrdNum") String hisOrdNum) throws Exception {
+        String patientId = hisOrdNum.split("_")[0];
+        OrderQueryRequest request = dao.getMzPatient(patientId);
+        request.setMedOrgOrd(hisOrdNum);
+
+        JSONObject raw = JSONObject.parseObject(JSONObject.toJSONString(request));
+        String body = dataHandler.buildReqData(raw);
+        String url = "http://webhis.thyy.cn:8077/powersiMipSettleQuery";
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        HttpEntity<String> entity = new HttpEntity<>(body, headers);
+        String encRes = template.postForObject(url, entity, String.class);
+        return dataHandler.processRspData(encRes);
+    }
+
+    @PassToken
+    @PostMapping("/downloadBillData")
+    public void powersiMipDownloadBillData() {
+
+    }
+
     @PassToken
     @PostMapping("/revokeMipSettle")
     public ResultVo<String> revokeMipSettle(@RequestBody CommonRequest request) throws Exception {

+ 5 - 0
src/main/java/thyyxxk/wxservice_server/dao/api/PowersiPluginDao.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 import thyyxxk.wxservice_server.entity.assessment.PushQuestionnaireVisit;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.OrdState;
+import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.OrderQueryRequest;
 import thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request.PowersiMipSetlinfo;
 
 import java.util.Date;
@@ -43,6 +44,10 @@ public interface PowersiPluginDao extends BaseMapper<PowersiMipSetlinfo> {
 
     @Update("update powersi_mip_setlinfo set mz_saved=1 where platform_order_id=#{id}")
     void updateMzSaved(String id);
+
+    @Select("select rtrim(social_no) as idNo,rtrim(name) as userName " +
+            "from mz_patient_mi where patient_id=#{patientId}")
+    OrderQueryRequest getMzPatient(String patientId);
     
     @Select("select b.openid,visit_date=convert(varchar(19),a.visit_date,21), " +
             "deptName=(select rtrim(d.name) from zd_unit_code d where d.code=a.visit_dept_code), " +

+ 20 - 0
src/main/java/thyyxxk/wxservice_server/entity/medinsmobilepay/frompowersiplugin/request/OrderQueryRequest.java

@@ -0,0 +1,20 @@
+package thyyxxk.wxservice_server.entity.medinsmobilepay.frompowersiplugin.request;
+
+import lombok.Data;
+
+@Data
+public class OrderQueryRequest {
+    /**
+     * 医院原支付订单号
+     * */
+    private String medOrgOrd;
+
+    /**
+     * 医疗机构编号
+     * */
+    private String orgCodg = "H43010500370";
+
+    private String idType = "01";
+    private String idNo;
+    private String userName;
+}

+ 130 - 0
src/main/resources/logback-spring.xml

@@ -14,4 +14,134 @@
         <!-- 配置哪个级别使用该appender -->
         <appender-ref ref="LOGSTASH" />
     </root>
+
+
+    <springProperty scope="context" name="LOG_HOME" source="logging.path"
+                    defaultValue="logs"/>
+
+    <!-- 日志级别 -->
+    <springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="INFO"/>
+
+    <!--  标识这个"STDOUT" 将会添加到这个logger -->
+    <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
+
+    <!-- 日志文件名称-->
+    <property name="LOG_PREFIX" value="spring-boot-logback"/>
+
+    <!-- 日志文件编码-->
+    <property name="LOG_CHARSET" value="UTF-8"/>
+
+    <!-- 日志文件路径+日期-->
+    <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyy-MM-dd}"/>
+
+    <!--对日志进行格式化-->
+    <property name="LOG_MSG" value="- [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level] [%thread] [%logger{16}] --> %msg%n "/>
+
+    <!--文件大小,默认10MB-->
+    <property name="MAX_FILE_SIZE" value="30MB"/>
+
+    <!-- 配置日志的滚动时间 ,value表示保留日志的天数,0表示永久保存 -->
+    <property name="MAX_HISTORY" value="0"/>
+
+
+    <!-- 彩色日志 -->
+    <!-- 彩色日志依赖的渲染类 -->
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
+    <!-- 彩色日志格式 -->
+    <property name="CONSOLE_LOG_PATTERN"
+              value="-[%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){blue}] [%clr(%level)] [%clr(%thread)] [%clr(%logger{16}){cyan}] %clr(-->){red} %clr(%msg%n){yellow}"/>
+
+    <!--输出到控制台-->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
+        </layout>
+    </appender>
+
+    <!--输出到文件-->
+    <appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    </appender>
+
+    <!-- 定义 ALL 日志的输出方式:-->
+    <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!--日志文件路径,日志文件名称-->
+        <File>${LOG_HOME}/all_${LOG_PREFIX}.log</File>
+
+        <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+
+            <!--日志文件路径,新的 ALL 日志文件名称,“ i ” 是个变量 -->
+            <FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%i.log</FileNamePattern>
+
+            <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
+            <MaxHistory>${MAX_HISTORY}</MaxHistory>
+
+            <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+
+        </rollingPolicy>
+
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>${LOG_MSG}</pattern>
+        </layout>
+    </appender>
+
+    <!-- 定义 ERROR 日志的输出方式:-->
+    <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!-- 下面为配置只输出error级别的日志 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <OnMismatch>DENY</OnMismatch>
+            <OnMatch>ACCEPT</OnMatch>
+        </filter>
+        <!--日志文件路径,日志文件名称-->
+        <File>${LOG_HOME}/err_${LOG_PREFIX}.log</File>
+
+        <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+
+            <!--日志文件路径,新的 ERR 日志文件名称,“ i ” 是个变量 -->
+            <FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%i.log</FileNamePattern>
+
+            <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
+            <MaxHistory>${MAX_HISTORY}</MaxHistory>
+
+            <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <Pattern>${LOG_MSG}</Pattern>
+        </layout>
+    </appender>
+
+    <!-- additivity 设为false,则logger内容不附加至root ,配置以配置包下的所有类的日志的打印,级别是 ERROR-->
+
+    <logger name="org.springframework" level="ERROR"/>
+    <logger name="org.apache.commons" level="ERROR"/>
+    <!--    <logger name="th.itcenter.apps.controller.logger.LoggingController" level="WARN"/>-->
+    <!-- ${LOG_ROOT_LEVEL} 日志级别 -->
+    <root level="${LOG_ROOT_LEVEL}">
+
+        <!-- 标识这个"${STDOUT}"将会添加到这个logger -->
+        <appender-ref ref="${STDOUT}"/>
+
+        <!-- FILE_ALL 日志输出添加到 logger -->
+        <appender-ref ref="FILE_ALL"/>
+
+        <!-- FILE_ERROR 日志输出添加到 logger -->
+        <appender-ref ref="FILE_ERROR"/>
+    </root>
+
 </configuration>