Ver código fonte

feature: 挂号列表详情状态返回

wuyongyi 2 anos atrás
pai
commit
bb13e6b645

+ 26 - 3
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/enums/RegisteredStatusEnum.java

@@ -9,10 +9,12 @@ public enum RegisteredStatusEnum {
     Paid("待支付", 1),
     Cancel("已取消", 1 << 1),
     Took("已取号", 1 << 2),    //相当于 已支付
-    //    Refunded("已退款", 1 << 3),
-    Back("已退号", 1<< 4);//相当于 已退款
+    Refunded("已退款", 1 << 3),
+    UNKNOWN("", 0);
+//    Back("已退号", 1<< 4),//相当于 已退款
+//    Settlement("已结算", 1 << 7);
 
-    RegisteredStatusEnum(String displayName, int value){
+    RegisteredStatusEnum(String displayName, int value) {
         this.displayName = displayName;
         this.value = value;
     }
@@ -28,4 +30,25 @@ public enum RegisteredStatusEnum {
     public int getValue() {
         return value;
     }
+
+
+    public static RegisteredStatusEnum valueOf(int value) {
+        // todo 如果有已退款,优先显示已退款
+        if ((value & Refunded.getValue()) > 0) {
+            return Refunded;
+        }
+        if ((value & Paid.getValue()) > 0 && value < 2 * Paid.value) {
+            return Paid;
+        } else if ((value & Cancel.getValue()) > 0 && value < 2 * Cancel.value) {
+            return Cancel;
+        } else if ((value & Took.getValue()) > 0 && value < 2 * Took.value) {
+            return Took;
+        } else if ((value & Refunded.getValue()) > 0 && value < 2 * Refunded.value) {
+            return Refunded;
+        }
+        return UNKNOWN;
+    }
 }
+
+
+

+ 7 - 2
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvRegisterServiceImpl.java

@@ -520,6 +520,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
                 data.setUserName(item.getPatientName());
                 data.setDoctorName(item.getDoctorName());
                 data.setDepName(item.getDeptName());
+                data.setDeptCode(item.getDeptCode());
                 data.setDistrictName(item.getHospitalName());
                 String amountStr = String.format("%.2f", amount);
                 data.setAmount(amountStr);
@@ -528,10 +529,13 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
                 // 预约单状态 (0-待支付, 1-预约成功, 2-叫号中,7-已就诊,8-预期未就诊,9-取消预约)
                 int orderStatus = item.getRegisteredStatus();
                 String statusName = "";
-                if ((item.getRegisteredStatus() & RegisteredStatusEnum.Cancel.getValue()) == RegisteredStatusEnum.Cancel.getValue() ||
-                        (item.getRegisteredStatus() & RegisteredStatusEnum.Back.getValue()) == RegisteredStatusEnum.Back.getValue()) {
+                if ((item.getRegisteredStatus() & RegisteredStatusEnum.Cancel.getValue()) == RegisteredStatusEnum.Cancel.getValue()
+                      ) {
                     statusName = "取消预约";
                     orderStatus = 9;
+                } else if (item.getRegisteredStatus() == RegisteredStatusEnum.Refunded.getValue()) {
+                    statusName = "已退款";
+                    orderStatus = 9;
                 } else if (item.getPaymentStatus() == PaymentStatusEnum.Pending.getValue()) {
                     statusName = "待支付";
                     orderStatus = 0;
@@ -602,6 +606,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
                 data.setUserName(item.getPatientName());
                 data.setDoctorName(item.getDoctorName());
                 data.setDepName(item.getDeptName());
+                data.setDeptCode(item.getDeptCode());
                 data.setDistrictName(item.getHospitalName());
                 data.setTimeRange(item.getStartTime()+"~"+item.getEndTime());
                 String amountStr = String.format("%.2f", amount);

+ 1 - 1
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/NucleicServiceImpl.java

@@ -113,7 +113,7 @@ public class NucleicServiceImpl implements NucleicService {
             throw new AppMessageException("医生不存在");
         }
         Date date = new Date();
-        int deptId = 667;
+        int deptId = 668;
         if (request.getDeptCode().equals("500")) {
             deptId = 670;
         }

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/register/QueryOrderDetailResponseData.java

@@ -33,4 +33,5 @@ public class QueryOrderDetailResponseData implements IsvResponseData {
     private String expireTime;//支付过期时间
     private String systemTime;//系统时间
     private String registeredDate;//预约时间
+    private String deptCode;
 }

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/register/QueryOrderListResponseData.java

@@ -31,4 +31,5 @@ public class QueryOrderListResponseData implements IsvResponseData {
     private String type;//挂号类型:专家号/普通号,expert:专家号,normal:普通号
     private String expireTime;//支付过期时间
     private String systemTime;//系统时间
+    private String deptCode;
 }