Quellcode durchsuchen

优化挂号管理

lighter vor 2 Jahren
Ursprung
Commit
1252b59f4e

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>wxservice-server</artifactId>
-    <version>10.5</version>
+    <version>10.6</version>
     <name>wxservice-server</name>
     <description>server for wxservice-web</description>
 

+ 24 - 14
src/main/java/thyyxxk/wxservice_server/Test.java

@@ -7,28 +7,38 @@ import thyyxxk.wxservice_server.utils.SnowFlakeId;
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
 import java.security.Security;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.UUID;
 
 public class Test {
     public static void main(String[] args) {
+        Date now = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            Date sdate = new SimpleDateFormat("yyyy-MM-dd").parse("2023-03-23");
+            System.out.println(now.before(sdate));
+        } catch (Exception e) {
+        }
 
 //加密前:98134EAF0F594CD6A85CE3BB4367C72A&oao6f0y4oF7jd60QhzPzMD9C3bBU&37156
 //加密后:zTS83k5dG5jaDl0EmRsy35qt37Nliu+kFvebbJxrFddhH/f1/eP4UjDQmeoiBb9W0mbSBJg3nT4KDVYtqGzWNOPM5UyixrFI4Cv8YewVa6I=
 
-        String uoh = "98134EAF0F594CD6A85CE3BB4367C72A&oao6f0y4oF7jd60QhzPzMD9C3bBU&37156";
-        byte[] contentBytes = uoh.getBytes();
-
-        String secret = "085181bf219749878035f575e0a1986a";
-        byte[] keyBytes = secret.getBytes();
-
-        //加密
-        String en = encrypt(contentBytes, keyBytes);
-        System.out.println(en);
-        //解密,用于本地验证
-        byte[] enb = en.getBytes();
-        byte[] de = decrypt(enb, keyBytes);
-        String str = new String(de);
-        System.out.println(str);
+//        String uoh = "98134EAF0F594CD6A85CE3BB4367C72A&oao6f0y4oF7jd60QhzPzMD9C3bBU&37156";
+//        byte[] contentBytes = uoh.getBytes();
+//
+//        String secret = "085181bf219749878035f575e0a1986a";
+//        byte[] keyBytes = secret.getBytes();
+//
+//        //加密
+//        String en = encrypt(contentBytes, keyBytes);
+//        System.out.println(en);
+//        //解密,用于本地验证
+//        byte[] enb = en.getBytes();
+//        byte[] de = decrypt(enb, keyBytes);
+//        String str = new String(de);
+//        System.out.println(str);
     }
 
     /**

+ 5 - 0
src/main/java/thyyxxk/wxservice_server/entity/BriefPatInfo.java

@@ -1,6 +1,7 @@
 package thyyxxk.wxservice_server.entity;
 
 import lombok.Data;
+import thyyxxk.wxservice_server.utils.StringUtil;
 
 @Data
 public class BriefPatInfo {
@@ -11,6 +12,10 @@ public class BriefPatInfo {
     private String payMark;
     private Boolean filterUnpaidReq;
 
+    public String getPayMark() {
+        return StringUtil.isBlank(payMark) ? "5" : payMark;
+    }
+
     public Boolean filterUnpaidReq() {
         return null != filterUnpaidReq && filterUnpaidReq;
     }

+ 17 - 2
src/main/java/thyyxxk/wxservice_server/service/AppointmentService.java

@@ -19,6 +19,7 @@ import thyyxxk.wxservice_server.entity.hrgresponse.HrgCommonResponse;
 import thyyxxk.wxservice_server.entity.hrgresponse.MzClassResponse;
 import thyyxxk.wxservice_server.utils.*;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -269,10 +270,15 @@ public class AppointmentService {
             return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
         }
         List<MzyReqrec> list = new ArrayList<>();
+        Date now = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         for (int i = 0; i < data.size(); i++) {
             JSONObject mzy = data.getJSONObject(i).getJSONObject("mzyReqrec");
             if (null != mzy) {
-                list.add(JSONObject.parseObject(JSONObject.toJSONString(mzy), MzyReqrec.class));
+                MzyReqrec mzyReqrec = JSONObject.parseObject(JSONObject.toJSONString(mzy), MzyReqrec.class);
+                if (patInfo.getPayMark().equals("1") || validRefundTime(now, mzyReqrec.getRequestDayStr(), sdf)) {
+                    list.add(mzyReqrec);
+                }
             }
         }
         if (list.isEmpty()) {
@@ -332,7 +338,16 @@ public class AppointmentService {
     }
 
     private boolean invalidCancelReqrec(MzyReqrec mzyReq) {
-        return DateUtil.dateDiff(mzyReq.getRequestDayStr()) > 15 || null == mzyReq.getPaymode()
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        return !validRefundTime(new Date(), mzyReq.getRequestDayStr(), sdf) || null == mzyReq.getPaymode()
                 || mzyReq.getVisitedMark().equals("1") || mzyReq.getCancelMark().equals("1");
     }
+
+    private boolean validRefundTime(Date now, String reqday, SimpleDateFormat sdf) {
+        try {
+            return sdf.format(now).equals(reqday) || now.before(sdf.parse(reqday));
+        } catch (ParseException e) {
+            return false;
+        }
+    }
 }

+ 0 - 9
src/main/java/thyyxxk/wxservice_server/utils/DateUtil.java

@@ -124,13 +124,4 @@ public class DateUtil {
         return null;
     }
 
-    public static Integer dateDiff(String source) {
-        try {
-            Date sdate = new SimpleDateFormat("yyyy-MM-dd").parse(source);
-            long offset = System.currentTimeMillis() - sdate.getTime();
-            return Math.toIntExact(offset / 1000 / 60 / 60 / 24);
-        } catch (Exception e) {
-            return -1;
-        }
-    }
 }