Explorar el Código

feature: 缴费列表与详情, 核酸缓存

wuyongyi hace 2 años
padre
commit
6b559cd689

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

@@ -198,6 +198,7 @@ public class IsvPayServiceImpl implements IsvPayService {
                 da.setOrderItems(list);
                 da.setCardNum(cardNum);
                 da.setOrderId("");
+                da.setTotal(request.getTotal());
                 da.setStatus(request.getStatus());
                 break;
 

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

@@ -161,19 +161,20 @@ public class NucleicServiceImpl implements NucleicService {
 
     private List<NucleicItemResponseData> getScheduleListCommon(int hospitalId, String deptCode, String doctorCode,
                                                                 String serviceCode, int startOffset, int endOffset) throws AppMessageException {
-        String redisKeyPattern = "SCHEDULE_LIST_%s_%s_%d_%s";
+        //支付宝核酸
+        String redisKeyPattern = "ALI_HS_SCHEDULE_LIST_%s_%s_%d_%s";
         String key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode);
         if (startOffset >= 0 && endOffset >= 0) {
-            redisKeyPattern = "SCHEDULE_LIST_%s_%s_%d_%s_%d_%d";
+            redisKeyPattern = "ALI_HS_SCHEDULE_LIST_%s_%s_%d_%s_%d_%d";
             key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode, startOffset, endOffset);
         }
-//        String value = jedisCommands.get(key);
-//        if (!StringHelper.isNullOrWhiteSpace(value)) {
-//            Map<String, Object> cacheMap = JsonSerializer.from(value, Map.class);
-//            if (cacheMap != null) {
-//                return cacheMap;
-//            }
-//        }
+        String value = jedisCommands.get(key);
+        if (!StringHelper.isNullOrWhiteSpace(value)) {
+            List<NucleicItemResponseData> lss  = JsonSerializer.from(value, List.class);
+            if (lss != null) {
+                return lss;
+            }
+        }
 
         List<Dept> deptList = systemSrv.getDeptListByHospitalId(hospitalId);
         if (deptList == null || deptList.size() == 0) {
@@ -206,9 +207,8 @@ public class NucleicServiceImpl implements NucleicService {
         }
         List<NucleicItemResponseData> lst = getConvertedScheduleList(hospitalId, startOffset, endOffset, deptCode,
                 doctorCode, serviceCode);
-
-//        jedisCommands.set(key, JsonSerializer.toJson(map));
-//        jedisCommands.expire(key, 3 * 60);
+        jedisCommands.set(key, JsonSerializer.toJson(lst));
+        jedisCommands.expire(key, 3 * 60);
         return lst;
     }
 
@@ -241,27 +241,8 @@ public class NucleicServiceImpl implements NucleicService {
         } else {
             scheduleList = new LinkedList<>();
         }
-//        // 单日查询的情况
-//        if (startOffset == endOffset) {
-//            Calendar c = Calendar.getInstance();
-//            if (startOffset > 0) {
-//                c.add(Calendar.DATE, startOffset);
-//            }
-//            String strDate = DateUtil.formatDate(c.getTime(), "yyyy-MM-dd"); //日期
-//            List<Map<String, Object>> list = new ArrayList<>();
-//            list.add(convertToScheduleMap(scheduleList, c, strDate, 0, hospitalId));
-//            return list;
-//        } else {
+
         return convertToScheduleMap(scheduleList, hospitalId);
-//        return IntStream.range(startOffset, endOffset).mapToObj(offset -> {
-//            Calendar c = Calendar.getInstance();
-//            if (offset > 0) {
-//                c.add(Calendar.DATE, offset);
-//            }
-//            String strDate = DateUtil.formatDate(c.getTime(), "yyyy-MM-dd"); //日期
-//            return convertToScheduleMap(scheduleList.stream().filter(s -> strDate.equals(s.getServiceDate())).collect(Collectors.toList()),
-//                    c, strDate, offset, hospitalId);
-//        }).collect(Collectors.toList());
 
     }
 
@@ -282,15 +263,9 @@ public class NucleicServiceImpl implements NucleicService {
         int doctorId;
         boolean hasScheduling = scheduleList.size() > 0;    //当期日期是否有排班
 
-//        Map<String, Object> groupMap = new HashMap<>();
-//        groupMap.put("serviceDate", strDate);
-//        groupMap.put("offset", offset);
-//        groupMap.put("week", DateUtil.getDayOfWeekShort(calendar));
 
         for (Schedule s : scheduleList) {
-//            if (doctorList.stream().noneMatch(p -> s.getDoctorCode().equals(p.getDoctorCode()))) {
-//                continue;
-//            }
+
 
             doctorId = 0;
             avatar = Constants.DOCTOR_AVATAR_URL;
@@ -313,102 +288,24 @@ public class NucleicServiceImpl implements NucleicService {
             data.setFee(Checker.getIntegerValue(fee));
             String feeStr = fee.toString();
             data.setNucleicItemFee(feeStr);
-            data.setNucleicItemDesc(s.getServiceDate() + "  " + s.getDatePeriodName());
-            data.setNucleicItemName(s.getDoctorName());
-            data.setStartTime(s.getStartTime());
-            data.setEndTime(s.getEndTime());
+            data.setNucleicItemDesc(Checker.getStringValue(s.getServiceDate()) + "  " + Checker.getStringValue(s.getDatePeriodName()));
+            data.setNucleicItemName(Checker.getStringValue(s.getDoctorName()));
+            data.setStartTime(Checker.getStringValue(s.getStartTime()));
+            data.setEndTime(Checker.getStringValue(s.getEndTime()));
             data.setDatePeriod(s.getDatePeriod());
-            data.setDeptCode(s.getDeptCode());
-            data.setAvailableNumStr(s.getAvailableNumStr());
-            data.setDeptName(s.getDeptName());
-            data.setDoctorCode(s.getDoctorCode());
-            data.setDoctorName(s.getDoctorName());
-            data.setNucleicItemId(s.getScheduleItemCode());
-
-//            scheduleMap.put("scheduleItemCode", s.getScheduleItemCode());       //门诊排班项记录标识
-//            scheduleMap.put("serviceDate", s.getServiceDate());                 //门诊排班日期(yyyy-MM-dd)
-//            scheduleMap.put("datePeriod", s.getDatePeriod());           //排班时段代码
-//            scheduleMap.put("datePeriodName", s.getDatePeriodName());   //排班时段名称
-//            scheduleMap.put("deptCode", s.getDeptCode());               //科室代码
-//            scheduleMap.put("deptName", s.getDeptName());               //科室名称
-//            scheduleMap.put("doctorCode", s.getDoctorCode());           //医生代码
-//            scheduleMap.put("doctorName", s.getDoctorName());           //医生名称
-//            scheduleMap.put("doctorId", doctorId);                      //医生Id
-//            scheduleMap.put("avatar", avatar);                          //医生图片链接
-//            scheduleMap.put("doctorTitle", s.getDoctorTitle());         //医生职称
-//            scheduleMap.put("doctorSpec", s.getDoctorSpec());           //医生专长
-//            scheduleMap.put("fee", s.getFee());                         //预约挂号总费用
-//            scheduleMap.put("regFee", s.getRegFee());                   //挂号费
-//            scheduleMap.put("checkupFee", s.getCheckupFee());           //诊查费
-//            scheduleMap.put("serviceFee", s.getServiceFee());           //服务费
-//            scheduleMap.put("otherFee", s.getOtherFee());               //其它费
-//            scheduleMap.put("admitAddress", s.getAdmitAddress());       //就诊地址
-//            scheduleMap.put("scheduleStatus", s.getScheduleStatus());       //出诊状态(1-可预约 0-已满 2-停诊 3-其它(不可预约))
-//            scheduleMap.put("availableTotalNum", s.getAvailableTotalNum()); //该时段可预约的总号源数
-//            scheduleMap.put("availableLeftNum", s.getAvailableLeftNum());   //该时段剩余号源数
-//            scheduleMap.put("serviceName", s.getServiceName());   //亚专科名称
-//            scheduleMap.put("serviceCode", s.getServiceCode());   //亚专科代码
-//
-//            String statusName = "";
-//
-//            switch (s.getScheduleStatus()) {
-//                case 1:
-//                    statusName = "可预约";
-//                    break;
-//                case 0:
-//                    statusName = "已满";
-//                    break;
-//                case 2:
-//                    statusName = "停诊";
-//                    break;
-//                default:
-//                    statusName = "停诊";
-//                    break;
-//            }
-//
-//            scheduleMap.put("scheduleStatusName", statusName);
-//
-//            switch (s.getDatePeriod()) {
-//                case 2:
-//                    forenoonList.add(scheduleMap);
-//                    break;
-//                case 3:
-//                    afternoonList.add(scheduleMap);
-//                    break;
-//                case 4:
-//                    nightList.add(scheduleMap);
-//                    break;
-//                case 5:
-//                    afterMidnightList.add(scheduleMap);
-//                    break;
-//                case 6:                 //午间排班记录返回数
-//                    midnoonList.add(scheduleMap);
-//                    break;
-//
-//            }
-//        }
-//
-//        groupMap.put("hasScheduling", hasScheduling ? 1 : 0);   //当期日期是否有排班
-//        groupMap.put("forenoonSchedules", forenoonList);        //上午排班记录
-//        groupMap.put("afternoonSchedules", afternoonList);      //下午排班记录
-//        groupMap.put("nightSchedules", nightList);              //晚上排班记录
-//        groupMap.put("afterMidnightSchedules", afterMidnightList);              //晚上排班记录
-//        groupMap.put("midnoonSchedules", midnoonList);          //午间排班记录
-//        return groupMap;
-//            return data;
+            data.setDeptCode(Checker.getStringValue(s.getDeptCode()));
+            data.setAvailableNumStr(Checker.getStringValue(s.getAvailableNumStr()));
+            data.setDeptName(Checker.getStringValue(s.getDeptName()));
+            data.setDoctorCode(Checker.getStringValue(s.getDoctorCode()));
+            data.setDoctorName(Checker.getStringValue(s.getDoctorName()));
+            data.setNucleicItemId(Checker.getStringValue(s.getScheduleItemCode()));
             list.add(data);
         }
         return list;
     }
 
 
-//        private GetDoctorByHisCodeResponse getDoctorByHisCode (String doctorCode,int hospitalId){
-//            GetDoctorByHisCodeRequest getDoctorByHisCodeRequest = GetDoctorByHisCodeRequest.newBuilder()
-//                    .setHospitalId(hospitalId)
-//                    .setHisCode(doctorCode)
-//                    .build();
-//            return doctorServiceBlockingStub.getDoctorByHisCode(getDoctorByHisCodeRequest);
-//        }
+
 
     private GetDoctorByHisCodeResponse getDoctorByHisCode(String doctorCode, int hospitalId) {
         GetDoctorByHisCodeRequest getDoctorByHisCodeRequest = GetDoctorByHisCodeRequest.newBuilder()