Sfoglia il codice sorgente

缴费成功后更新HIS入库标志

lighter 3 anni fa
parent
commit
e1da9d07b6

+ 3 - 0
src/main/java/thyyxxk/wxservice_server/dao/WxApiDao.java

@@ -84,4 +84,7 @@ public interface WxApiDao {
     @Select("select count(1) from mz_yj_req where patient_id=#{patId} and times=#{times} and receipt_no=#{receipt} " +
             "and order_code='003585' and req_doctor='99999'")
     Integer selectSelfCovidExamReceiptCount(@Param("patId") String patId, @Param("times") String times, @Param("receipt") String receipt);
+
+    @Update("update t_si_setlinfo set mz_saved=1 where pat_no=#{patId} and times=#{times} and revoked=0")
+    void updateMzSavedFlag(@Param("patId") String patId, @Param("times") String times);
 }

+ 6 - 1
src/main/java/thyyxxk/wxservice_server/service/SavePayResultService.java

@@ -23,7 +23,6 @@ import thyyxxk.wxservice_server.entity.wxapi.WxPayOrder;
 import thyyxxk.wxservice_server.utils.DateUtil;
 import thyyxxk.wxservice_server.utils.DecimalTool;
 import thyyxxk.wxservice_server.utils.ResultVoUtil;
-import thyyxxk.wxservice_server.utils.StringUtil;
 
 import java.util.Date;
 
@@ -162,6 +161,7 @@ public class SavePayResultService {
         log.info("保存门诊缴费信息:\n参数:{},\n结果:{}", hrgParam, saveMzFeeResponse);
         if (saveMzFeeResponse != null && saveMzFeeResponse.getResultCode() == 0) {
             dao.updateSuccessHisStatus(order.getTradeNo());
+            updateSiMzSavedFlag(order.getHisOrdNum());
             if (source == QuerySource.INTERFACE) {
                 String hisOrdNum = order.getHisOrdNum();
                     String[] hsrdnms = hisOrdNum.split("_");
@@ -203,6 +203,11 @@ public class SavePayResultService {
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "保存门诊缴费信息失败,自动退款失败,请联系服务中心进行退款。");
     }
 
+    private void updateSiMzSavedFlag(String hisOrdNum) {
+        String[] patinfo = hisOrdNum.split("_");
+        dao.updateMzSavedFlag(patinfo[0], patinfo[1]);
+    }
+
     public ResultVo<Object> saveZyYjjInfo(WxPayOrder order) {
         int savedCount = yjjDao.selectSavedCount(order.getTradeNo(), order.getSerialNo());
         if (savedCount > 0) {