Browse Source

优惠券仅可用于门诊业务

lighter 1 year ago
parent
commit
528fc92487

+ 6 - 3
src/main/java/thyyxxk/wxservice_server/entity/coupon/CouponModel.java

@@ -74,8 +74,8 @@ public class CouponModel {
     }
 
     public static class Builder {
-        public CouponModel build(PatientCoupon coupon, boolean isMedins) {
-            String reason = filterReason(coupon.getCouponState(), isMedins, coupon.getCouponDescription());;
+        public CouponModel build(PatientCoupon coupon, boolean isMedins, boolean isInpatient) {
+            String reason = filterReason(coupon.getCouponState(), isMedins, isInpatient, coupon.getCouponDescription());;
             String condition = filterCondition(coupon.getCouponDescription());
             return new CouponModel(coupon.getId(), coupon.getCouponName(), condition,
                     coupon.getCreateDate().getTime() / 1000,
@@ -85,10 +85,13 @@ public class CouponModel {
                     String.valueOf(coupon.getCouponValue()),coupon.getAvailableCharge());
         }
 
-        private String filterReason(CouponState state, boolean isMedins, String description) {
+        private String filterReason(CouponState state, boolean isMedins, boolean isInpatient, String description) {
             if (state == CouponState.USABLE && isMedins) {
                 return  "根据医保政策要求,优惠劵不可与门诊统筹同时使用。";
             }
+            if (state == CouponState.USABLE && isInpatient) {
+                return  "优惠劵仅可用于门诊业务。";
+            }
             switch (state) {
                 case USED:
                     return "已使用";

+ 7 - 6
src/main/java/thyyxxk/wxservice_server/service/CouponService.java

@@ -77,6 +77,7 @@ public class CouponService {
     public GetCouponResponse getMyCoupons(CouponInquiry inquiry) {
         String openid = TokenUtil.getInstance().getUserOpenid();
         boolean isMedins = isMedinsExist(inquiry.getHisOrdNum());
+        boolean isInpatient = inquiry.getHisOrdNum().startsWith("INPATIENT");
         GetCouponResponse response = new GetCouponResponse();
         List<CouponModel> usableCouponList = new ArrayList<>();
         List<CouponModel> unusableCouponList = new ArrayList<>();
@@ -85,20 +86,20 @@ public class CouponService {
         for (PatientCoupon coupon : patientCoupons) {
             if (coupon.getCouponState() == CouponState.USABLE) {
                 if (inquiry.getHisOrdNum().equals("NONE") || StringUtil.isBlank(coupon.getAvailableCharge())) {
-                    usableCouponList.add(new CouponModel.Builder().build(coupon, isMedins));
+                    usableCouponList.add(new CouponModel.Builder().build(coupon, isMedins, isInpatient));
                     continue;
                 }
                 if (inquiry.getChargeCodeList().contains(coupon.getAvailableCharge())) {
-                    usableCouponList.add(new CouponModel.Builder().build(coupon, isMedins));
+                    usableCouponList.add(new CouponModel.Builder().build(coupon, isMedins, isInpatient));
                 } else {
-                    unusableCouponList.add(new CouponModel.Builder().build(coupon, isMedins));
+                    unusableCouponList.add(new CouponModel.Builder().build(coupon, isMedins, isInpatient));
                 }
             } else {
-                unusableCouponList.add(new CouponModel.Builder().build(coupon, isMedins));
+                unusableCouponList.add(new CouponModel.Builder().build(coupon, isMedins, isInpatient));
             }
         }
 
-        if (isMedins) {
+        if (isMedins || isInpatient) {
             unusableCouponList.addAll(usableCouponList);
             response.setUsableCoupons(new ArrayList<>());
             response.setUnusableCoupons(unusableCouponList);
@@ -111,7 +112,7 @@ public class CouponService {
     }
 
     private boolean isMedinsExist(String hisOrdNum) {
-        if (hisOrdNum.equals("NONE") || hisOrdNum.equals("REGISTER")) {
+        if (hisOrdNum.equals("NONE") || hisOrdNum.equals("REGISTER") || hisOrdNum.equals("INPATIENT_PREPAY")) {
             return false;
         }
         String[] arr = hisOrdNum.split("_");

+ 2 - 2
src/main/resources/application.yml

@@ -8,8 +8,8 @@ spring:
   thymeleaf:
     cache: false
   datasource:
-#    url: "jdbc:sqlserver://172.16.32.179:1433;databaseName=thxyhisdb"
-    url: "jdbc:sqlserver://172.16.32.168:1433;databaseName=thxyhisdb"
+    url: "jdbc:sqlserver://172.16.32.179:1433;databaseName=thxyhisdb"
+#    url: "jdbc:sqlserver://172.16.32.168:1433;databaseName=thxyhisdb"
     username: "sa"
     password:
     driver-class-name: "com.microsoft.sqlserver.jdbc.SQLServerDriver"