浏览代码

fix 新增挂号相关接口

DYH2020 2 年之前
父节点
当前提交
120fedaf99

+ 172 - 92
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/core/utils/DateUtil.java

@@ -2,27 +2,49 @@ package com.ywt.alipaympapi.core.utils;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Calendar;
 import java.util.Date;
 
 public class DateUtil {
+    private static final String[] WEEK_DAYS = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
+
+    private static final String[] WEEK_DAYS_SHORT = {"日", "一", "二", "三", "四", "五", "六"};
+
+    public static final String DADE_FROMAT_YMD = "yyyy-MM-dd";
+
+    public static final String DADE_FROMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";
+
+    public static final String DADE_FROMAT_CYMD = "yyyy年M月d日";
+
+    public static final String DADE_FROMAT_CYMDHM = "yyyy年M月d日 HH:mm";
+
+
     /**
      * 将时间戳转换成日期字符串格式
      *
      * @param timestamp 时间戳
-     * @param pattern   日期格式
      * @return
      */
-    public static String convertTimestampToDateString(long timestamp, String pattern) {
+    public static String convertTimestampToDateString(long timestamp) {
         Date date = new Date(timestamp);
-        return convertToString(date, pattern);
+        SimpleDateFormat sdf = new SimpleDateFormat(DADE_FROMAT_YMDHMS);
+        return sdf.format(date);
     }
 
-    public static String convertToString(Date date) {
-        return convertToString(date, null);
-    }
+    /**
+     * 将时间戳转换成日期字符串格式
+     *
+     * @param timestamp 时间戳
+     * @param pattern   日期格式
+     * @return
+     */
+    public static String convertTimestampToDateString(long timestamp, String pattern) {
+        Date date = new Date(timestamp);
 
-    public static String convertToString(Date date, String pattern) {
         if (StringHelper.isNullOrEmpty(pattern)) {
             pattern = "yyyy-MM-dd HH:mm:ss";
         }
@@ -32,116 +54,68 @@ public class DateUtil {
     }
 
     /**
-     * 计算当前时间和指定时间之间相差的小时
+     * 将时间戳转换成日期类型
      *
-     * @param smdate 指定的时间
-     * @throws ParseException
+     * @param timestamp 时间戳
+     * @return
      */
-    public static int hourBetween(String smdate) {
-        Date start = new Date();
-        Date end = stringToDate(smdate);
-        Calendar cal = Calendar.getInstance();
-        cal.setTime(start);
-        long time1 = cal.getTimeInMillis();
-        cal.setTime(end);
-        long time2 = cal.getTimeInMillis();
-
-        long between_days = (time2 - time1) / (1000 * 3600);
-
-        return Integer.parseInt(String.valueOf(between_days));
+    public static Date convertTimestampToDate(long timestamp) {
+        return new Date(timestamp);
     }
 
     /**
-     * String转Date
+     * 格式化日期
      *
-     * @param strDate
+     * @param date
+     * @param pattern
      * @return
      */
-    public static Date stringToDate(String strDate, String pattern) {
-        if (null == strDate) {
-            return null;
-        }
-        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
-        try {
-            return sdf.parse(strDate);
-        } catch (Exception e) {
-            e.printStackTrace();
+    public static String formatDate(Date date, String pattern) {
+        if (StringHelper.isNullOrEmpty(pattern)) {
+            pattern = "yyyy-MM-dd HH:mm:ss";
         }
-        return null;
-    }
 
-    public static Date stringToDate(String strDate) {
-        return stringToDate(strDate, "yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+        return sdf.format(date);
     }
 
-
     /**
-     * 根据两个查询时间得到日期差
+     * 当前日期是星期几
      *
-     * @param start 查询开始时间  格式:yyyy-MM-dd
-     * @param end   查询结束时间  格式:yyyy-MM-dd
-     * @return 相差天数(如果返回值为0,则表示查询的时间有误)
+     * @param date
+     * @return
      */
-    public int getValueBetweenTwoDate(String start, String end) throws Exception {
-        int dayVaule = 0;
-        // string --> date
-        Date startDate = DateUtil.stringToDate(start);
-        Date endDate = DateUtil.stringToDate(end);
-
-        // date 转 long
-        Calendar startCalendar = Calendar.getInstance();
-        startCalendar.setTime(startDate);
-        Long startDay = startCalendar.getTimeInMillis();
-
-        Calendar endCalendar = Calendar.getInstance();
-        endCalendar.setTime(endDate);
-        endCalendar.add(Calendar.DATE, 1);
-        Long endDay = endCalendar.getTimeInMillis();
-
-        // 单位毫秒
-        Long value = endDay - startDay;
-        dayVaule = (int) (value / 1000 / 3600 / 24);
-        return dayVaule;
+    public static String getWeekOfDate(Date date) {
+        SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
+        return sdf.format(date);
     }
 
     /**
-     * 得到当月最后一天
+     * 当前日期是星期几
      *
-     * @param date 日期
-     * @return 当月最后一天,格式:yyyy-MM-dd HH:mm:ss
+     * @param calendar
+     * @return
      */
-    public static Date getCurrentMonthLastDay(Date date) throws Exception {
-        //获得实体类
-        Calendar ca = Calendar.getInstance();
-        ca.setTime(date);
-        //设置最后一天
-        ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
-        //最后一天格式化
-        return ca.getTime();
+    public static String getDayOfWeek(Calendar calendar) {
+        int index = calendar.get(Calendar.DAY_OF_WEEK) - 1;
+        if (index < 0) {
+            index = 0;
+        }
+        return WEEK_DAYS[index];
     }
 
     /**
-     * 得到修改之后的日期
-     * @param type:1-天,2-月,3-年
-     * @param changeNumber : 往前或往后变动日期,changeNumber < 0 表示往前修改(eg:2019->2018) changeNumber 日/月/年,
-     *                     changeNumber > 0 表示往后修改(eg:2018->2019</>) changeNumber 日/月/年,
-     * @param date 日期
-     * @return 修改之后的日期,格式:yyyy-MM-dd HH:mm:ss
+     * 当前日期是星期(缩略)
+     *
+     * @param calendar
+     * @return
      */
-    public static Date getChangeMonthDate(Date date, int type, int changeNumber) throws Exception {
-        //获得实体类
-        Calendar ca = Calendar.getInstance();
-        ca.setTime(date);
-        //设置最后一天
-        if (type == 1){
-            ca.add(Calendar.DAY_OF_YEAR, changeNumber);
-        }else if(type == 2){
-            ca.add(Calendar.MONTH, changeNumber);
-        }else if (type == 3){
-            ca.add(Calendar.YEAR, changeNumber);
+    public static String getDayOfWeekShort(Calendar calendar) {
+        int index = calendar.get(Calendar.DAY_OF_WEEK) - 1;
+        if (index < 0) {
+            index = 0;
         }
-        //最后一天格式化
-        return ca.getTime();
+        return WEEK_DAYS_SHORT[index];
     }
 
     public static Date parseDate(String str, String pattern) {
@@ -161,4 +135,110 @@ public class DateUtil {
             return null;
         }
     }
+
+    public static LocalDate convertToLocalDate(Date date) {
+        Instant instant = date.toInstant();
+        ZoneId zoneId = ZoneId.systemDefault();
+        return instant.atZone(zoneId).toLocalDate();
+    }
+
+    /**
+     * 将时间戮转换成 LocalDate 类型
+     *
+     * @param timestamp 时间戮
+     * @return 日期类型 LocalDate
+     */
+    public static LocalDate convertToLocalDate(long timestamp) {
+        return Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDate();
+    }
+
+    /**
+     * 将时间戮转换成 LocalDateTime 类型
+     *
+     * @param timestamp 时间戮
+     * @return 日期类型 LocalDateTime
+     */
+    public static LocalDateTime convertToLocalDateTime(long timestamp) {
+        return Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDateTime();
+    }
+
+    /**
+     * 得到相减的天数
+     *
+     * @param beginDateStr 开始时间
+     * @param endDateStr   截止时间
+     * @return 天数
+     */
+    public static long getDaySub(String beginDateStr, String endDateStr) {
+        long day = 0;
+        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(DADE_FROMAT_YMD);
+        java.util.Date beginDate;
+        java.util.Date endDate;
+        try {
+            beginDate = format.parse(beginDateStr);
+            endDate = format.parse(endDateStr);
+            day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);
+        } catch (ParseException e) {
+            // TODO 自动生成 catch 块
+            e.printStackTrace();
+        }
+        return day;
+    }
+
+    /**
+     * 得到距离当前的天数
+     *
+     * @param beginDateStr 开始日期
+     * @return 天数
+     */
+    public static long getCurrentDay(String beginDateStr) {
+        return getDaySub(beginDateStr, new SimpleDateFormat(DADE_FROMAT_YMD).format(new Date()));
+    }
+
+    /**
+     * String转Date
+     *
+     * @param strDate
+     * @return
+     */
+    public static Date stringToDate(String strDate, String pattern) {
+        if (null == strDate) {
+            return null;
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+        try {
+            return sdf.parse(strDate);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * 修改日期,得到当前
+     *
+     * @param startDate 开始的日期
+     * @param num       修改的天数
+     * @return 修改后的日期 {@link Date}
+     */
+    public static Date getChangeDayOfDate(String startDate, int num, String pattern) {
+        Date date = stringToDate(startDate, pattern);
+        Calendar ca = Calendar.getInstance();
+        ca.setTime(date);
+        ca.add(Calendar.DAY_OF_YEAR, num);
+        //最后一天格式化
+        return ca.getTime();
+    }
+
+    /**
+     * 修改日期,得到当前
+     *
+     * @param startDate 开始的日期
+     * @param num       修改的天数
+     * @return 修改后的日期 {@link String}
+     */
+    public static String getChangeDayOfDateStr(String startDate, int num, String pattern) {
+        Date date = getChangeDayOfDate(startDate, num, pattern);
+        return formatDate(date, pattern);
+    }
 }

+ 40 - 0
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/enums/PaymentStatusEnum.java

@@ -0,0 +1,40 @@
+package com.ywt.alipaympapi.models.enums;
+
+public enum PaymentStatusEnum {
+    Pending("待支付", 0),
+    Processing("支付处理中", 1),
+    Success("支付成功", 2),
+    Failed("支付失败", 3);
+
+    private final String displayName;
+
+    private final int value;
+
+    PaymentStatusEnum(String displayName, int value) {
+        this.displayName = displayName;
+        this.value = value;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public static String getDisplayName(int value) {
+        switch (value) {
+            case 0:
+                return "待支付";
+            case 1:
+                return "支付处理中";
+            case 2:
+                return "支付成功";
+            case 3:
+                return "支付失败";
+            default:
+                return null;
+        }
+    }
+
+    public int getValue() {
+        return value;
+    }
+}

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

@@ -1,25 +1,37 @@
 package com.ywt.alipaympapi.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.ptc.board.citymsg.sdk.UserAccountApi;
-import com.ptc.board.citymsg.sdk.response.UserAccountInfo;
+import com.ywt.alipaympapi.core.utils.Checker;
+import com.ywt.alipaympapi.core.utils.DateUtil;
+import com.ywt.alipaympapi.core.utils.JsonSerializer;
+import com.ywt.alipaympapi.models.enums.SexEnum;
 import com.ywt.alipaympapi.service.AuthService;
+import com.ywt.alipaympapi.service.IsvRegisterService;
+import com.ywt.core.exception.AppMessageException;
+import com.ywt.gapi.Result;
+import com.ywt.gapi.ResultCode;
+import com.ywt.gapi.system.Dept;
+import com.ywt.gapi.system.*;
+import com.ywt.gapi.taihe.register.CancelRegisteredRequest;
+import com.ywt.gapi.taihe.register.CancelRegisteredResponse;
 import com.ywt.gapi.taihe.register.TaiheRegisterServiceGrpc;
+import com.ywt.gapi.third.taihe.*;
 import com.ywt.model.PageVO;
+import com.ywt.model.Pagination;
 import com.ywt.request.queue.QueryQueueListRequest;
 import com.ywt.request.register.*;
 import com.ywt.response.queue.QueryQueueListResponse;
 import com.ywt.response.register.*;
-import com.ywt.alipaympapi.service.IsvRegisterService;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.util.ArrayList;
+import java.util.Date;
+import java.util.LinkedList;
 import java.util.List;
-import java.util.Random;
 
 @Service
 @Slf4j
@@ -30,12 +42,68 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
     private TaiheRegisterServiceGrpc.TaiheRegisterServiceBlockingStub taiheRegisterServiceBlockingStub;
 
     @Autowired
+    private SystemServiceGrpc.SystemServiceBlockingStub systemServiceBlockingStub;
+
+    @Autowired
+    private TaiheServiceGrpc.TaiheServiceBlockingStub taiheServiceBlockingStub;
+
+    @Autowired
     private AuthService authService;
 
     @Override
-    public List<QueryDepartmentListResponseData> queryDepartmentList(QueryDepartmentListRequest request) {
-
-        return null;
+    public List<QueryDepartmentListResponseData> queryDepartmentList(QueryDepartmentListRequest request) throws Exception {
+        logger.error("IsvRegisterServiceImpl#queryDepartmentList--QueryDepartmentListRequest:{}", JsonSerializer.toJson(request));
+        String appId = request.getAppId();
+        int hospitalId = authService.getHospitalIdByAppId(appId);
+        String hospitalDistrictId = request.getHospitalDistrictId();
+        int subHospitalId = 0;
+        if (!Checker.isNone(hospitalDistrictId)) {
+            subHospitalId = Integer.parseInt(hospitalDistrictId);
+        }
+        List<HospitalDept> deptList = null;
+        HospitalDeptListRequest req = HospitalDeptListRequest.newBuilder()
+                .setHospitalId(hospitalId)
+                .setSubHospitalId(subHospitalId)
+                .build();
+        HospitalDeptListResponse res = systemServiceBlockingStub.getHospitalDeptList(req);
+        Result result = res.getResult();
+        if (result.getCode() == ResultCode.SUCCEED) {
+            deptList = res.getHospitalDeptListList();
+        }
+        if (deptList == null) {
+            throw new AppMessageException("科室不存在");
+        }
+        String parentId = request.getParentId();
+        int deptParentId = 0;
+        if (!Checker.isNone(parentId)) {
+            deptParentId = Integer.parseInt(parentId);
+        }
+        List<QueryDepartmentListResponseData> lst = new LinkedList<>();
+        for (HospitalDept d : deptList) {
+            if (deptParentId == 0) {
+                QueryDepartmentListResponseData map = new QueryDepartmentListResponseData();
+                map.setDepartmentId(d.getDeptId() + "");
+                map.setName(d.getDeptName());
+                map.setHasChildren(d.getDeptListList().size() > 0);
+                map.setRemain(0);
+                //院区id
+                map.setHospitalDistrictId(hospitalDistrictId);
+                lst.add(map);
+            } else {
+                if (deptParentId == d.getDeptId()) {
+                    for (Dept secDept : d.getDeptListList()) {
+                        QueryDepartmentListResponseData map = new QueryDepartmentListResponseData();
+                        map.setDepartmentId(secDept.getDeptId() + "");
+                        map.setName(secDept.getDeptName());
+                        map.setHasChildren(false);
+                        map.setRemain(0);
+                        map.setHospitalDistrictId(hospitalDistrictId);
+                        lst.add(map);
+                    }
+                }
+            }
+        }
+        return lst;
     }
 
     @Override
@@ -55,18 +123,15 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
 
     @Override
     public OrderConfirmResponseData orderConfirm(OrderConfirmRequest request) {
-
+        logger.error("IsvRegisterServiceImpl#orderConfirm--OrderConfirmRequest:{}", JsonSerializer.toJson(request));
         String appId = request.getAppId();//医院小程序的AppId
-        String userId = request.getUserId();//用户唯一识别号
+        int userId = Integer.parseInt(Checker.getStringValue(request.getUserId(), "0"));//用户唯一识别号
         String doctorId = request.getDoctorId();//医生唯一识别号
         String orderSourceId = request.getOrderSourceId();//号源id
         String cardNum = request.getCardNum();//就诊卡卡号
         int hospitalId = authService.getHospitalIdByAppId(appId);
 
 
-
-
-
         return null;
     }
 
@@ -81,8 +146,24 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
     }
 
     @Override
-    public CancelOrderResponseData cancelOrder(CancelOrderRequest request) {
-        return null;
+    public CancelOrderResponseData cancelOrder(CancelOrderRequest request) throws Exception {
+        CancelOrderResponseData responseData = new CancelOrderResponseData();
+        String orderIdStr = request.getOrderId();
+        if (Checker.isNone(orderIdStr) || Integer.parseInt(orderIdStr) <= 0) {
+            throw new AppMessageException("订单不存在");
+        }
+        int orderId = Integer.parseInt(orderIdStr);
+        int userId = Integer.parseInt(Checker.getStringValue(request.getUserId(), "0"));
+        CancelRegisteredRequest req = CancelRegisteredRequest.newBuilder()
+                .setOrderId(orderId)
+                .setUserId(userId)
+                .build();
+        CancelRegisteredResponse res = taiheRegisterServiceBlockingStub.cancelRegistered(req);
+        responseData.setIsSuccess(false);
+        if (res.getCode() == ResultCode.SUCCEED_VALUE) {
+            responseData.setIsSuccess(true);
+        }
+        return responseData;
     }
 
     @Override
@@ -91,8 +172,78 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
     }
 
     @Override
-    public List<QueryQueueListResponse> queryQueueList(QueryQueueListRequest request) {
-        return null;
+    public List<QueryQueueListResponse> queryQueueList(QueryQueueListRequest request) throws Exception {
+        logger.error("IsvRegisterServiceImpl#queryQueueList--QueryQueueListRequest:{}", JsonSerializer.toJson(request));
+        //医院小程序的AppId
+        String appId = request.getAppId();
+        int hospitalId = authService.getHospitalIdByAppId(appId);
+        //用户唯一识别号
+        int userId = Integer.parseInt(Checker.getStringValue(request.getUserId(), "0"));
+
+        List<QueryQueueListResponse> list = new LinkedList<>();
+
+        com.ywt.gapi.taihe.register.GetQueueListRequest req = com.ywt.gapi.taihe.register.GetQueueListRequest.newBuilder()
+                .setUserId(userId)
+                .setHospitalId(hospitalId)
+                .build();
+        com.ywt.gapi.taihe.register.GetQueueListResponse res = taiheRegisterServiceBlockingStub.getQueueList(req);
+
+        if (res.getCode() != ResultCode.SUCCEED_VALUE) {
+            throw new AppMessageException(res.getMsg());
+        }
+
+        List<com.ywt.gapi.taihe.register.RegisteredOrder> queueList = res.getOrderList();
+
+        LocalDate now = LocalDate.now();
+        for (com.ywt.gapi.taihe.register.RegisteredOrder order : queueList) {
+            QueryQueueListResponse reportItem = new QueryQueueListResponse();
+            int cancel = 0; //是否显示退号按钮,1-是,0-否
+            LocalDate regDate = DateUtil.convertToLocalDate(new Date(order.getRegisteredDate()));//预约日期
+            if (now.isBefore(regDate)) {
+                cancel = 1;
+            }
+            String statusName = order.getStatusName();
+            int status = order.getStatus();
+
+            if (order.getStatus() == 1) {
+                //已预约
+                statusName = "未取号";
+
+                if (DateUtil.convertTimestampToDateString(order.getRegisteredDate(), "yyyy-MM-dd").equals(
+                        DateUtil.formatDate(new Date(), "yyyy-MM-dd"))) {
+
+                } else {
+                    status = 0;
+                }
+            }
+            reportItem.setCardNum(order.getMedicalCardId()+"");//就诊卡卡号
+            reportItem.setName(order.getPatientName());//就诊人姓名
+            reportItem.setSex(SexEnum.getSexDisplayName(order.getSex()));//性别
+            reportItem.setAge("");//年龄
+            reportItem.setTitle(statusName);//排队标题
+            reportItem.setDepName(order.getDeptName());//科室
+            reportItem.setDoctorName(order.getDoctorName());//医生姓名
+            reportItem.setDoctorDesc("");//医生描述
+            reportItem.setAddress(order.getAddress());//就诊地点
+
+            int queueNum = 0, leftOver = 0;
+            GetQueueInfoRequest getQueueInfoRequest = GetQueueInfoRequest.newBuilder()
+                    .setRegistrationId(order.getHisSeqCode())
+                    .setHospitalId(hospitalId)
+                    .build();
+            GetQueueInfoResponse getQueueInfoResponse = taiheServiceBlockingStub.getQueueInfo(getQueueInfoRequest);
+            if (getQueueInfoResponse.getCode() == ResultCode.SUCCEED_VALUE) {
+                QueueInfo data = getQueueInfoResponse.getQueueInfo();
+                queueNum = data.getWaitingNumber();
+            }
+            reportItem.setQueueNum(queueNum+"");//排队编号
+            reportItem.setLeftover("0");//前面排队剩余人数
+            reportItem.setStatus(statusName);//状态,expired:已过号,queuing:排队中,ringing:叫号中,completed:已完成
+            reportItem.setContext(order.getRemark());//排队结束显示内容
+            list.add(reportItem);
+        }
+        return list;
+
     }
 
     @Override
@@ -102,6 +253,51 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
 
     @Override
     public PageVO<QueryDoctorListResponseData> queryDoctorList(QueryDoctorListRequest request) {
-        return null;
+        logger.error("IsvRegisterServiceImpl#queryDoctorList--QueryDoctorListRequest:{}", JsonSerializer.toJson(request));
+        String appId = request.getAppId();
+        int pageIndex = request.getPageIndex();
+        int pageSize = request.getPageSize();
+        String deptCode = request.getDeptCode();
+        String doctorName = request.getDoctorName();
+        int hospitalId = authService.getHospitalIdByAppId(appId);
+        GetDoctorListRequest getDoctorListRequest = GetDoctorListRequest.newBuilder()
+                .setDeptCode(deptCode)
+                .setDoctorName(doctorName)
+                .setHospitalId(hospitalId)
+                .build();
+        GetDoctorListResponse getDoctorListResponse = taiheServiceBlockingStub.getDoctorList(getDoctorListRequest);
+        int total = 0;
+        List<QueryDoctorListResponseData> doctorList = new LinkedList<>();
+        if (getDoctorListResponse.getCode() == ResultCode.SUCCEED_VALUE) {
+            List<com.ywt.gapi.third.taihe.Doctor> doctorsList = getDoctorListResponse.getDoctorsList();
+
+            total = doctorsList.size();
+            for (com.ywt.gapi.third.taihe.Doctor doctor : doctorsList) {
+
+                QueryDoctorListResponseData doctorItem = new QueryDoctorListResponseData();
+                //医生id
+                doctorItem.setDoctorId(doctor.getDoctorCode());
+                //医生姓名
+                doctorItem.setName(doctor.getDoctorName());
+                //医生简介
+                doctorItem.setDesc(doctor.getDoctorIntro());
+                //医生头像地址
+                doctorItem.setPicUrl("");
+                //职级,医生职级
+                doctorItem.setLevel(doctor.getDoctorTitle());
+                //医生所在科室
+                Department department = new Department();
+                department.setDepartmentId(doctor.getDoctorDeptCode());
+                department.setName(doctor.getDoctorDept());
+                List<Department> deptList = new ArrayList();
+                deptList.add(department);
+                doctorItem.setDepartments(deptList);
+
+                doctorList.add(doctorItem);
+            }
+        }
+        Pagination pagination = new Pagination(pageIndex, pageSize, total);
+        PageVO<QueryDoctorListResponseData> res = new PageVO<>(pagination, doctorList);
+        return res;
     }
 }

+ 1 - 1
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/AppointmentController.java

@@ -72,7 +72,7 @@ public class AppointmentController {
      * @return
      */
     @PostMapping("isvRequest.order.cancelOrder")
-    public ResponseVO<CancelOrderResponseData> cancelOrder(CancelOrderRequest request) {
+    public ResponseVO<CancelOrderResponseData> cancelOrder(CancelOrderRequest request) throws Exception {
 
         return ResponseVO.success(isvRegisterService.cancelOrder(request));
     }

+ 2 - 2
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/PlanController.java

@@ -43,7 +43,7 @@ public class PlanController {
      * @return
      */
     @PostMapping("isvRequest.order.departmentList")
-    public ResponseVO<List<QueryDepartmentListResponseData>> queryDepartmentList(QueryDepartmentListRequest request) {
+    public ResponseVO<List<QueryDepartmentListResponseData>> queryDepartmentList(QueryDepartmentListRequest request) throws Exception{
 
         return ResponseVO.success(isvRegisterService.queryDepartmentList(request));
     }
@@ -104,7 +104,7 @@ public class PlanController {
      * @return
      */
     @PostMapping("isvRequest.queue.queryList")
-    public ResponseVO<List<QueryQueueListResponse>> queryQueueList(QueryQueueListRequest request){
+    public ResponseVO<List<QueryQueueListResponse>> queryQueueList(QueryQueueListRequest request) throws Exception{
         return ResponseVO.success(isvRegisterService.queryQueueList(request));
     }
     /**

+ 7 - 3
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/IsvRegisterService.java

@@ -19,7 +19,7 @@ public interface IsvRegisterService {
      * @param request
      * @return 查询结果
      **/
-    List<QueryDepartmentListResponseData> queryDepartmentList(QueryDepartmentListRequest request);
+    List<QueryDepartmentListResponseData> queryDepartmentList(QueryDepartmentListRequest request) throws Exception;
 
     /**
      * 科室余号查询
@@ -75,10 +75,11 @@ public interface IsvRegisterService {
      * @param request
      * @return 查询结果
      **/
-    CancelOrderResponseData cancelOrder(CancelOrderRequest request);
+    CancelOrderResponseData cancelOrder(CancelOrderRequest request) throws Exception;
 
     /**
      * 院区列表查询
+     *
      * @param request
      * @return
      */
@@ -86,13 +87,15 @@ public interface IsvRegisterService {
 
     /**
      * 排队列表查询
+     *
      * @param request
      * @return
      */
-    List<QueryQueueListResponse> queryQueueList(QueryQueueListRequest request);
+    List<QueryQueueListResponse> queryQueueList(QueryQueueListRequest request) throws Exception;
 
     /**
      * 查询医生简介
+     *
      * @param request
      * @return
      */
@@ -100,6 +103,7 @@ public interface IsvRegisterService {
 
     /**
      * 医生科室列表查询
+     *
      * @param request
      * @return
      */

+ 3 - 0
onemini-hospital-sdk/src/main/java/com/ywt/request/register/QueryDoctorListRequest.java

@@ -19,6 +19,9 @@ public class QueryDoctorListRequest implements IsvListRequest<QueryDoctorListRes
     private int pageIndex;//页码
     private int pageSize;//页条数
 
+    private String deptCode;//科室code
+    private String doctorName;//医生姓名
+
     @Override
     public String serviceName() {
         return "isvRequest.doctor.departmentList";