增加手机扫码地址校验
diff --git a/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationFilter.java b/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationFilter.java
index dba4dc8..8162b5c 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationFilter.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationFilter.java
@@ -15,7 +15,13 @@
    * form表单中手机号码的字段name
    */
   public static final String SPRING_SECURITY_FORM_MOBILE_KEY = "phone";
+  /**
+   * form表单中验证码的字段name
+   */
   public static final String SPRING_SECURITY_FORM_CODE_KEY = "code";
+  /**
+   * 拦截的url路径
+   */
   public static final String SMS_AUTH_URL = "/mobileapi/sms/login";
 
   private String mobileParameter = SPRING_SECURITY_FORM_MOBILE_KEY;
diff --git a/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationProvider.java b/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationProvider.java
index 6f9adcd..ffab63e 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationProvider.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/framework/security/auth/SmsAuthenticationProvider.java
@@ -4,14 +4,12 @@
 import com.supwisdom.dlpay.mobile.service.MobileUserService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.authentication.AuthenticationProvider;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Component;
 
 import java.util.Collection;
@@ -21,24 +19,20 @@
   @Autowired
   private MobileUserService mobileUserService;
   @Autowired
-  @Qualifier("userPasswordEncoder")
-  private BCryptPasswordEncoder passwordEncoder;
-  @Autowired
   private RedisTemplate<String, String> redisTemplate;
+
   /**
-   * @Description 认证处理,返回一个Authentication的实现类则代表认证成功,返回null则代表认证失败
-   * @Date 2019/7/5 15:19
-   * @Version  1.0
+   * 认证处理,返回一个Authentication的实现类则代表认证成功,返回null则代表认证失败
    */
   @Override
   public Authentication authenticate(Authentication authentication) throws AuthenticationException {
     //测试,正式环境应该根据登录认证的通道来进行认证
     String phone = authentication.getName();
     String smsCode = (String) authentication.getCredentials();
-    if(StringUtils.isBlank(phone)){
+    if (StringUtils.isBlank(phone)) {
       throw new SmsAuthenticationException("手机号不能为空");
     }
-    if(StringUtils.isBlank(smsCode)){
+    if (StringUtils.isBlank(smsCode)) {
       throw new SmsAuthenticationException("验证码不可以为空");
     }
     //获取用户信息
@@ -46,7 +40,6 @@
     //比较前端传入的密码明文和数据库中加密的密码是否相等
     String redisCode = redisTemplate.opsForValue().get(phone);
     if (!smsCode.equals(redisCode)) {
-      //发布密码不正确事件
       throw new SmsAuthenticationException("验证码错误");
     }
     //获取用户权限信息
@@ -54,10 +47,9 @@
     return new SmsAuthenticationToken(user, smsCode, authorities);
 
   }
+
   /**
-   * @Description 如果该AuthenticationProvider支持传入的Authentication对象,则返回true
-   * @Date 2019/7/5 15:18
-   * @Version  1.0
+   * 如果该AuthenticationProvider支持传入的Authentication对象,则返回true
    */
   @Override
   public boolean supports(Class<?> aClass) {
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/AppointmentRepositoryImpl.java b/backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/AppointmentRepositoryImpl.java
similarity index 80%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/AppointmentRepositoryImpl.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/AppointmentRepositoryImpl.java
index 5904a4b..57fe839 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/AppointmentRepositoryImpl.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/AppointmentRepositoryImpl.java
@@ -1,10 +1,10 @@
-package com.supwisdom.dlpay.medicine.dao.impl;
+package com.supwisdom.dlpay.medical.dao.impl;
 
 import com.supwisdom.dlpay.framework.jpa.BaseRepository;
 import com.supwisdom.dlpay.framework.jpa.Finder;
 import com.supwisdom.dlpay.framework.jpa.page.Pagination;
-import com.supwisdom.dlpay.medicine.dao.AppointmentRepository;
-import com.supwisdom.dlpay.medicine.domain.TBAppointmentDtl;
+import com.supwisdom.dlpay.medical.dao.AppointmentRepository;
+import com.supwisdom.dlpay.medical.domain.TBAppointmentDtl;
 import org.hibernate.transform.Transformers;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/HospitalRepositoryImpl.java b/backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/HospitalRepositoryImpl.java
similarity index 86%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/HospitalRepositoryImpl.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/HospitalRepositoryImpl.java
index 087e208..8dfe1d5 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/dao/impl/HospitalRepositoryImpl.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/dao/impl/HospitalRepositoryImpl.java
@@ -1,11 +1,11 @@
-package com.supwisdom.dlpay.medicine.dao.impl;
+package com.supwisdom.dlpay.medical.dao.impl;
 
 import com.supwisdom.dlpay.framework.jpa.BaseRepository;
 import com.supwisdom.dlpay.framework.jpa.Finder;
 import com.supwisdom.dlpay.framework.jpa.page.Pagination;
 import com.supwisdom.dlpay.framework.util.StringUtil;
-import com.supwisdom.dlpay.medicine.dao.HospitalRepository;
-import com.supwisdom.dlpay.medicine.domain.TBHospital;
+import com.supwisdom.dlpay.medical.dao.HospitalRepository;
+import com.supwisdom.dlpay.medical.domain.TBHospital;
 import org.hibernate.transform.Transformers;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBAppointmentDtl.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBAppointmentDtl.java
similarity index 98%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBAppointmentDtl.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBAppointmentDtl.java
index 786fa09..67db642 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBAppointmentDtl.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBAppointmentDtl.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.domain;
+package com.supwisdom.dlpay.medical.domain;
 
 import org.hibernate.annotations.GenericGenerator;
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBHospital.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBHospital.java
similarity index 97%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBHospital.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBHospital.java
index 44751d6..00881d0 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBHospital.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBHospital.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.domain;
+package com.supwisdom.dlpay.medical.domain;
 
 import org.hibernate.annotations.GenericGenerator;
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalCard.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalCard.java
similarity index 98%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalCard.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalCard.java
index 7c6466c..0889f39 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalCard.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalCard.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.domain;
+package com.supwisdom.dlpay.medical.domain;
 
 import org.hibernate.annotations.GenericGenerator;
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalDtl.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
similarity index 98%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalDtl.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
index 4ada05d..386cc9e 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/domain/TBMedicalDtl.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.domain;
+package com.supwisdom.dlpay.medical.domain;
 
 import javax.persistence.*;
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalClient.java b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalClient.java
similarity index 98%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalClient.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalClient.java
index ef1cf7f..f3e7533 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalClient.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalClient.java
@@ -1,11 +1,11 @@
-package com.supwisdom.dlpay.medicine.util;
+package com.supwisdom.dlpay.medical.util;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
 import com.supwisdom.dlpay.framework.service.SystemUtilService;
 import com.supwisdom.dlpay.framework.util.StringUtil;
-import com.supwisdom.dlpay.medicine.bean.*;
-import com.supwisdom.dlpay.medicine.exception.MedicineException;
+import com.supwisdom.dlpay.medical.bean.*;
+import com.supwisdom.dlpay.medical.exception.MedicineException;
 import com.supwisdom.dlpay.portal.util.PortalConstant;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalConstant.java b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalConstant.java
similarity index 92%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalConstant.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalConstant.java
index 86bcd24..a24cb3b 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalConstant.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalConstant.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.util;
+package com.supwisdom.dlpay.medical.util;
 
 public class MedicalConstant {
   /**
@@ -32,7 +32,7 @@
    */
   public final static String DTL_STATUS_INIT = "init";
   public final static String DTL_STATUS_WIP = "wip";
-  public final static String DTL_STATUS_SUCCESS = "sucess";
+  public final static String DTL_STATUS_SUCCESS = "success";
   public final static String DTL_STATUS_FAIL = "fail";
   /**
    * 子系统代码
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalResponse.java b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalResponse.java
similarity index 90%
rename from backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalResponse.java
rename to backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalResponse.java
index 2d83be9..bf4db4b 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medicine/util/MedicalResponse.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/util/MedicalResponse.java
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.util;
+package com.supwisdom.dlpay.medical.util;
 
 public class MedicalResponse<T> {
   private int code;
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/MedicineApi.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
similarity index 95%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/MedicineApi.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
index 6733055..09338d3 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/MedicineApi.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
@@ -1,14 +1,14 @@
-package com.supwisdom.dlpay.medicine
+package com.supwisdom.dlpay.medical
 
 import com.supwisdom.dlpay.api.bean.JsonResult
 import com.supwisdom.dlpay.api.bean.QueryCardParam
 import com.supwisdom.dlpay.api.bean.QueryUserParam
 import com.supwisdom.dlpay.framework.util.TradeDict
-import com.supwisdom.dlpay.medicine.bean.AddPatientBean
-import com.supwisdom.dlpay.medicine.bean.ConfirmRequestBean
-import com.supwisdom.dlpay.medicine.bean.PaymentRequestBean
-import com.supwisdom.dlpay.medicine.exception.MedicineException
-import com.supwisdom.dlpay.medicine.service.MedicineService
+import com.supwisdom.dlpay.medical.bean.AddPatientBean
+import com.supwisdom.dlpay.medical.bean.ConfirmRequestBean
+import com.supwisdom.dlpay.medical.bean.PaymentRequestBean
+import com.supwisdom.dlpay.medical.exception.MedicineException
+import com.supwisdom.dlpay.medical.service.MedicineService
 import com.supwisdom.dlpay.mobile.domain.TBMobileUser
 import com.supwisdom.dlpay.mobile.service.MobileApiService
 import com.supwisdom.dlpay.paysdk.proxy.UserProxy
@@ -20,7 +20,7 @@
 
 @RestController
 @RequestMapping("/mobileapi/medicineapi")
-class MedicineApi {
+class MedicalApi {
     @Autowired
     lateinit var medicineService: MedicineService
     @Autowired
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AddPatientBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AddPatientBean.kt
similarity index 94%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AddPatientBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AddPatientBean.kt
index a9c6670..385eb5c 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AddPatientBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AddPatientBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 import com.supwisdom.dlpay.api.APIRequestParam
 import com.supwisdom.dlpay.api.exception.RequestParamCheckException
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AppointmentResponse.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AppointmentResponse.kt
similarity index 71%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AppointmentResponse.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AppointmentResponse.kt
index 4e5c63d..2d7e9b0 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/AppointmentResponse.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/AppointmentResponse.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class AppointmentResponse {
     var organizationId = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ArrangeInfoResponse.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ArrangeInfoResponse.kt
similarity index 78%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ArrangeInfoResponse.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ArrangeInfoResponse.kt
index c8928d4..0b2891e 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ArrangeInfoResponse.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ArrangeInfoResponse.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class ArrangeInfoResponse {
     var departmentId = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ConfirmRequestBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ConfirmRequestBean.kt
similarity index 85%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ConfirmRequestBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ConfirmRequestBean.kt
index 9400367..a50f763 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/ConfirmRequestBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/ConfirmRequestBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class ConfirmRequestBean {
     var hospitalcode = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardBean.kt
similarity index 77%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardBean.kt
index bb69e00..c83ea19 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class MedicalCardBean {
     var patientMedicalCardNumber = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardInfoResponse.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardInfoResponse.kt
similarity index 85%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardInfoResponse.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardInfoResponse.kt
index 48f84b1..5262447 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/MedicalCardInfoResponse.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/MedicalCardInfoResponse.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 import java.util.*
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/NotifyPayedBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/NotifyPayedBean.kt
similarity index 92%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/NotifyPayedBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/NotifyPayedBean.kt
index 6cf98ea..da8b4a3 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/NotifyPayedBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/NotifyPayedBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class NotifyPayedRequest {
     var organizationId = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PatientInfoResponse.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PatientInfoResponse.kt
similarity index 72%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PatientInfoResponse.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PatientInfoResponse.kt
index 7c81700..07b2baf 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PatientInfoResponse.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PatientInfoResponse.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class PatientInfoResponse {
     var patientMobile = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PayedBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
similarity index 95%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PayedBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
index 523b7ca..3ec31f7 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PayedBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class PayedRequest {
     var organizationId = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PaymentRequestBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PaymentRequestBean.kt
similarity index 73%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PaymentRequestBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PaymentRequestBean.kt
index 70270cb..05b16e9 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PaymentRequestBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PaymentRequestBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class PaymentRequestBean {
     var hospitalcode = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PrecalculatedFeeBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PrecalculatedFeeBean.kt
similarity index 91%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PrecalculatedFeeBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PrecalculatedFeeBean.kt
index 360dc28..b3238fb 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/PrecalculatedFeeBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PrecalculatedFeeBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 class PreFeeRequest {
     var organizationId = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/UnPayedBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/UnPayedBean.kt
similarity index 94%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/UnPayedBean.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/UnPayedBean.kt
index 4db7c2f..27a2bcf 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/bean/UnPayedBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/UnPayedBean.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.bean
+package com.supwisdom.dlpay.medical.bean
 
 import kotlin.collections.ArrayList
 
@@ -41,6 +41,7 @@
 }
 
 class UnPayedDTO {
+    var billno = ""
     var medicalDate = ""
     var doctorName = ""
     var subjectName = ""
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentDtlDao.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentDtlDao.kt
similarity index 71%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentDtlDao.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentDtlDao.kt
index ed1f13c..761e068 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentDtlDao.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentDtlDao.kt
@@ -1,6 +1,6 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
-import com.supwisdom.dlpay.medicine.domain.TBAppointmentDtl
+import com.supwisdom.dlpay.medical.domain.TBAppointmentDtl
 import org.springframework.data.jpa.repository.JpaRepository
 
 interface AppointmentDtlDao : JpaRepository<TBAppointmentDtl, String>, AppointmentRepository {
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentRepository.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentRepository.kt
similarity index 80%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentRepository.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentRepository.kt
index c91f877..db53d68 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/AppointmentRepository.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/AppointmentRepository.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
 import com.supwisdom.dlpay.framework.jpa.page.Pagination
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalDao.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalDao.kt
similarity index 67%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalDao.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalDao.kt
index 8e05468..0a4525a 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalDao.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalDao.kt
@@ -1,6 +1,6 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
-import com.supwisdom.dlpay.medicine.domain.TBHospital
+import com.supwisdom.dlpay.medical.domain.TBHospital
 import org.springframework.data.jpa.repository.JpaRepository
 import org.springframework.stereotype.Repository
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalRepository.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalRepository.kt
similarity index 80%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalRepository.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalRepository.kt
index fe14f04..a759daa 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/HospitalRepository.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/HospitalRepository.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
 import com.supwisdom.dlpay.framework.jpa.page.Pagination
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalCardDao.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalCardDao.kt
similarity index 83%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalCardDao.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalCardDao.kt
index e22d068..e27d05b 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalCardDao.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalCardDao.kt
@@ -1,6 +1,6 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
-import com.supwisdom.dlpay.medicine.domain.TBMedicalCard
+import com.supwisdom.dlpay.medical.domain.TBMedicalCard
 import org.springframework.data.jpa.repository.JpaRepository
 import org.springframework.stereotype.Repository
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalDtlDao.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
similarity index 89%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalDtlDao.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
index a641ace..0b8081f 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/dao/MedicalDtlDao.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
@@ -1,6 +1,6 @@
-package com.supwisdom.dlpay.medicine.dao
+package com.supwisdom.dlpay.medical.dao
 
-import com.supwisdom.dlpay.medicine.domain.TBMedicalDtl
+import com.supwisdom.dlpay.medical.domain.TBMedicalDtl
 import org.springframework.data.jpa.repository.JpaRepository
 import org.springframework.data.jpa.repository.Lock
 import org.springframework.data.jpa.repository.Query
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/exception/MedicineException.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/exception/MedicineException.kt
similarity index 67%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/exception/MedicineException.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/exception/MedicineException.kt
index 60c422c..830ca94 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/exception/MedicineException.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/exception/MedicineException.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.medicine.exception
+package com.supwisdom.dlpay.medical.exception
 
 import java.lang.RuntimeException
 
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/MedicineService.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicineService.kt
similarity index 91%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/MedicineService.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicineService.kt
index c592c93..5cd2410 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/MedicineService.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicineService.kt
@@ -1,9 +1,9 @@
-package com.supwisdom.dlpay.medicine.service
+package com.supwisdom.dlpay.medical.service
 
 import com.supwisdom.dlpay.api.bean.JsonResult
 import com.supwisdom.dlpay.framework.jpa.page.Pagination
-import com.supwisdom.dlpay.medicine.bean.*
-import com.supwisdom.dlpay.medicine.domain.TBMedicalCard
+import com.supwisdom.dlpay.medical.bean.*
+import com.supwisdom.dlpay.medical.domain.TBMedicalCard
 import org.springframework.transaction.annotation.Transactional
 
 interface MedicineService {
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/impl/MedicineServiceImpl.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicineServiceImpl.kt
similarity index 88%
rename from backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/impl/MedicineServiceImpl.kt
rename to backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicineServiceImpl.kt
index 6f97b7b..d5cba58 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medicine/service/impl/MedicineServiceImpl.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicineServiceImpl.kt
@@ -1,25 +1,24 @@
-package com.supwisdom.dlpay.medicine.service.impl
+package com.supwisdom.dlpay.medical.service.impl
 
 import com.supwisdom.dlpay.api.bean.CitizenCardPayfinishParam
 import com.supwisdom.dlpay.api.bean.CitizenCardPayinitParam
 import com.supwisdom.dlpay.api.bean.JsonResult
 import com.supwisdom.dlpay.framework.jpa.page.Pagination
 import com.supwisdom.dlpay.framework.service.SystemUtilService
-import com.supwisdom.dlpay.framework.util.Constants
 import com.supwisdom.dlpay.framework.util.MoneyUtil
 import com.supwisdom.dlpay.framework.util.StringUtil
-import com.supwisdom.dlpay.medicine.bean.*
-import com.supwisdom.dlpay.medicine.dao.AppointmentDtlDao
-import com.supwisdom.dlpay.medicine.dao.HospitalDao
-import com.supwisdom.dlpay.medicine.dao.MedicalCardDao
-import com.supwisdom.dlpay.medicine.dao.MedicalDtlDao
-import com.supwisdom.dlpay.medicine.domain.TBAppointmentDtl
-import com.supwisdom.dlpay.medicine.domain.TBMedicalCard
-import com.supwisdom.dlpay.medicine.domain.TBMedicalDtl
-import com.supwisdom.dlpay.medicine.exception.MedicineException
-import com.supwisdom.dlpay.medicine.service.MedicineService
-import com.supwisdom.dlpay.medicine.util.MedicalClient
-import com.supwisdom.dlpay.medicine.util.MedicalConstant
+import com.supwisdom.dlpay.medical.bean.*
+import com.supwisdom.dlpay.medical.dao.AppointmentDtlDao
+import com.supwisdom.dlpay.medical.dao.HospitalDao
+import com.supwisdom.dlpay.medical.dao.MedicalCardDao
+import com.supwisdom.dlpay.medical.dao.MedicalDtlDao
+import com.supwisdom.dlpay.medical.domain.TBAppointmentDtl
+import com.supwisdom.dlpay.medical.domain.TBMedicalCard
+import com.supwisdom.dlpay.medical.domain.TBMedicalDtl
+import com.supwisdom.dlpay.medical.exception.MedicineException
+import com.supwisdom.dlpay.medical.service.MedicineService
+import com.supwisdom.dlpay.medical.util.MedicalClient
+import com.supwisdom.dlpay.medical.util.MedicalConstant
 import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy
 import com.supwisdom.dlpay.portal.util.PortalConstant
 import org.springframework.beans.factory.annotation.Autowired
@@ -180,8 +179,30 @@
         val unPayedDTOList = ArrayList<UnPayedDTO>()
         //拆分每次就诊下的每个项目为一条展示数据
         unPayedResponse.medicalInformation.forEach { medicalInformation ->
-            medicalInformation.mergingItems.forEach { mergingItems ->
+            for (mergingItems in medicalInformation.mergingItems) {
+                // 因为异步通知HIS,HIS中数据延迟,所以本地扣费成功后的流水任有可能拉到
+                val localDtl = medicalDtlDao.findByAdmnumberAndFeenoAndOrganizationidAndPaystatusNot(
+                        medicalInformation.admNumber, organizationId, mergingItems.feeNo, MedicalConstant.DTL_STATUS_FAIL)
+                if (localDtl != null) {
+                    //TODO:其余状态处理
+                    if (localDtl.paystatus == MedicalConstant.DTL_STATUS_SUCCESS) {
+                        continue
+                    }
+                }
+                val medicalDtl = TBMedicalDtl().apply {
+                    this.billno = systemUtilService.refno
+                    this.admnumber = medicalInformation.admNumber
+                    this.feeno = mergingItems.feeNo
+                    this.uid = uid
+                    this.paystatus = MedicalConstant.DTL_STATUS_INIT
+                    this.transdate = systemUtilService.sysdatetime.hostdate
+                    this.transtime = systemUtilService.sysdatetime.hosttime
+                    this.organizationid = organizationId
+                }
+                medicalDtlDao.save(medicalDtl)
+
                 val unPayedDTO = UnPayedDTO().apply {
+                    this.billno = medicalDtl.billno
                     this.medicalDate = medicalInformation.medicalDate
                     this.subjectName = medicalInformation.departmentName
                     this.doctorName = medicalInformation.doctorName
@@ -334,7 +355,7 @@
         medicalDtl.paystatus = MedicalConstant.DTL_STATUS_SUCCESS
         medicalDtlDao.save(medicalDtl)
         return JsonResult.ok()
-    }
+}
 
     override fun notifyHISPayed() {
         //5.向HIS支付确认
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
index 961c853..cb6a4fe 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -38,6 +38,7 @@
 import org.springframework.web.bind.annotation.*
 import org.springframework.web.multipart.MultipartFile
 import org.springframework.web.multipart.MultipartHttpServletRequest
+import java.net.MalformedURLException
 import java.time.Duration
 import java.util.*
 import java.util.stream.Collectors
@@ -1371,6 +1372,7 @@
             if (e is PortalBusinessException) {
                 return JsonResult.error(e.message)
             }
+            logger.error("系统异常",e)
             return JsonResult.error("服务器繁忙,请稍后重试")
         }
     }
@@ -1390,7 +1392,21 @@
             if (e is PortalBusinessException) {
                 return JsonResult.error(e.message)
             }
+            logger.error("系统异常",e)
             return JsonResult.error("服务器繁忙,请稍后重试")
         }
     }
+
+    /**
+     * 扫码地址权限接口
+     */
+    @RequestMapping(value = ["/qrcode/auth"], method = [RequestMethod.GET])
+    fun queryQrCodeAuth(url: String, source: String?): JsonResult? {
+        return try {
+            val result = mobileApiService.qrCodeUrlAuth(url)
+            JsonResult.ok().put("data", result)
+        } catch (e: MalformedURLException) {
+            JsonResult.error("该二维码非大理市民卡二维码,无法访问")
+        }
+    }
 }
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
index 55d717c..3f40d0a 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
@@ -27,4 +27,6 @@
     fun findByUseridAndStatus(userid:String,status:String):List<TBMobileUser>?
 
     fun findCardByUseridAndCardphyid(userid: String, cardtype: String, cardphyid: String?): TCard?
+
+    fun qrCodeUrlAuth(url:String):Map<String,Any>
 }
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
index 3f95fc7..eeaa321 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
@@ -14,7 +14,9 @@
 import mu.KotlinLogging
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
+import java.net.URL
 import java.util.*
+import kotlin.collections.HashMap
 
 @Service
 class MobileApiServiceImpl : MobileApiService {
@@ -29,8 +31,18 @@
 
     @Autowired
     lateinit var systemUtilService: SystemUtilService
+
     companion object {
         var isMsgLogined: Boolean = false
+        val pathList = ArrayList<String>()
+        const val dlsmkHost = "yy.dlsmk.cn"
+        const val waterPath = "/s"
+        const val restaurantPath = "/restaurant"
+        init {
+            pathList.add(waterPath)
+            pathList.add(restaurantPath)
+        }
+
     }
     val logger = KotlinLogging.logger { }
 
@@ -180,4 +192,25 @@
             cardDao.findBankcardByCitizencard(userid, cardtype, cardphyid)
         }
     }
+
+    override fun qrCodeUrlAuth(url: String):Map<String,Any> {
+        val parseUrl = URL(url)
+        val result = HashMap<String,Any>()
+        result["permit"] = false
+        result["url"] = url
+        repeat(pathList.size) {
+            if (dlsmkHost == parseUrl.host) {
+                if (parseUrl.path.startsWith(restaurantPath)){
+                    result["permit"] = true
+                    result["action"] = "dlsmkh5"
+                    return result
+                } else if (parseUrl.path.startsWith(waterPath)) {
+                    result["permit"] = true
+                    result["action"] = "water"
+                    return result
+                }
+            }
+        }
+        return result
+    }
 }
\ No newline at end of file