|
|
@@ -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("_");
|