diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletlogin/AppletLoginController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletlogin/AppletLoginController.java index 90ec4f9..9e67552 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletlogin/AppletLoginController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletlogin/AppletLoginController.java @@ -116,4 +116,30 @@ public class AppletLoginController extends BaseController { } return appletLoginService.existPatientInfo(openId); } + + /** + * 查询省级区域信息信息(小程序app修改用户地址信息查询) + * + * @return 省级区域信息集合 + */ + @GetMapping("/getProvinceInfo") + public AjaxResult getProvinceAreaInfo() { + return appletLoginService.getProvinceAreaInfo(); + } + + /** + * 根据父级区域编码查询下级区域(小程序app修改用户地址信息查询) + * + * @param areaCode 父级区域编码 + * @return 所属下级区域信息集合 + */ + @GetMapping("/getSubordinateInfo") + public AjaxResult getSubordinateAreaInfo(String areaCode) { + if (StringUtils.isBlank(areaCode)) { + return AjaxResult.error("上级区域编码不能为空"); + } + return appletLoginService.getSubordinateAreaInfo(areaCode); + } + + } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nurseapplogin/NurseAppLoginController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nurseapplogin/NurseAppLoginController.java index 3929cf1..d93e663 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nurseapplogin/NurseAppLoginController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nurseapplogin/NurseAppLoginController.java @@ -2,9 +2,11 @@ package com.xinelu.applet.controller.nurseapplogin; import com.xinelu.applet.dto.appletlogin.StationItemInfoDTO; import com.xinelu.applet.service.nurseapplogin.NurseAppLoginService; +import com.xinelu.applet.vo.nursepersonapplogin.OrderAndItemVO; import com.xinelu.common.annotation.MobileRequestAuthorization; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.custominterface.Query; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.regex.RegexUtil; @@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; import java.util.Objects; ; @@ -80,5 +83,20 @@ public class NurseAppLoginController extends BaseController { } return nurseAppLoginService.nurseAppPersonal(patientId); } + + /** + * App查询预约服务订单 + * + * @param patientId 用户id + * @param orderStatus 预约订单状态 + * @return 结果 + */ + @MobileRequestAuthorization + @GetMapping("/appServiceOrder") + public TableDataInfo selectAppServiceOrder(Long patientId, String orderStatus) { + startPage(); + List appointmentOrderDetails = nurseAppLoginService.selectAppServiceOrderItem(patientId, orderStatus); + return getDataTable(appointmentOrderDetails); + } } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java index a05879c..dd681ca 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/chatrecord/ChatRecordDTO.java @@ -42,6 +42,7 @@ public class ChatRecordDTO extends BaseEntity implements Serializable { /** * 发送时间,时间格式:yyyy-MM-dd HH:mm:ss */ + @NotNull(message = "接收时间不能为空", groups = {Insert.class}) private Date sendTime; /** diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/consultationInfo/ConsultationInfoDTO.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/consultationInfo/ConsultationInfoDTO.java index 8b3befc..88b658b 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/consultationInfo/ConsultationInfoDTO.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/dto/consultationInfo/ConsultationInfoDTO.java @@ -128,6 +128,10 @@ public class ConsultationInfoDTO extends BaseEntity implements Serializable { @Length(max = 100, message = "病历不能超过100位", groups = {Insert.class, Update.class}) private String medicalRecord; + /** + * 状态 + */ + private Integer status; /** * 问诊资料文件 diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/nurseapplogin/NurseAppLoginMapper.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/nurseapplogin/NurseAppLoginMapper.java index 206c24e..b2c35d8 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/nurseapplogin/NurseAppLoginMapper.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/mapper/nurseapplogin/NurseAppLoginMapper.java @@ -2,6 +2,7 @@ package com.xinelu.applet.mapper.nurseapplogin; import com.xinelu.applet.vo.nurseapplogin.PatientAndDiseaseVO; +import com.xinelu.applet.vo.nursepersonapplogin.OrderAndItemVO; import com.xinelu.manage.domain.goodsOrder.GoodsOrder; import org.apache.ibatis.annotations.Param; @@ -22,6 +23,15 @@ public interface NurseAppLoginMapper { */ PatientAndDiseaseVO getPatientDiseaseByPatientId(@Param("patientId") Long patientId); + /** + * 预约查询预约订单明细 + * + * @param patientId 预约订单明细主键 + * @param orderStatus 预约状态 + * @return 预约订单明细 + */ + List selectAppointmentOrderDetailsByPatientId(@Param("patientId") Long patientId, @Param("orderStatus") String orderStatus); + /** * 查询信息完善标识符 * diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/AppletLoginService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/AppletLoginService.java index 8a9a3bb..967c72b 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/AppletLoginService.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/AppletLoginService.java @@ -52,4 +52,19 @@ public interface AppletLoginService { * @return 护理人列表集合 */ AjaxResult existPatientInfo(String openId); + + /** + * 查询省级区域信息信息 + * + * @return 省级区域信息集合 + */ + AjaxResult getProvinceAreaInfo(); + + /** + * 根据父区域编码查询其下属区域信息 + * + * @param areaCode 父级区域编码 + * @return 下属区域信息集合 + */ + AjaxResult getSubordinateAreaInfo(String areaCode); } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/impl/AppletLoginServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/impl/AppletLoginServiceImpl.java index 9b2790e..3f5d240 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/impl/AppletLoginServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/appletlogin/impl/AppletLoginServiceImpl.java @@ -26,10 +26,12 @@ import com.xinelu.manage.domain.appointmentorder.AppointmentOrder; import com.xinelu.manage.domain.appointmentorderdetails.AppointmentOrderDetails; import com.xinelu.manage.domain.appointmentorderprocessrecord.AppointmentOrderProcessRecord; import com.xinelu.manage.domain.patientinfo.PatientInfo; +import com.xinelu.manage.domain.sysarea.SysArea; import com.xinelu.manage.mapper.appointmentorder.AppointmentOrderMapper; import com.xinelu.manage.mapper.appointmentorderdetails.AppointmentOrderDetailsMapper; import com.xinelu.manage.mapper.appointmentorderprocessrecord.AppointmentOrderProcessRecordMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; +import com.xinelu.manage.mapper.sysarea.SysAreaMapper; import com.xinelu.manage.vo.patientinfo.PatientInfoVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -88,6 +90,9 @@ public class AppletLoginServiceImpl implements AppletLoginService { */ private static final String OK = "ok"; + @Resource + private SysAreaMapper sysAreaMapper; + /** * 提前预约时间半天标识 */ @@ -308,6 +313,31 @@ public class AppletLoginServiceImpl implements AppletLoginService { return AjaxResult.success("NOT_LOGIN"); } + /** + * 查询省级区域信息信息 + * + * @return 省级区域信息集合 + */ + @Override + public AjaxResult getProvinceAreaInfo() { + SysArea area = new SysArea(); + area.setAreaLevel(1); + area.setRemoteSigns(0); + return AjaxResult.success(sysAreaMapper.selectSysAreaList(area)); + } + + /** + * 根据父级区域编码查询其下属区域信息 + * + * @param areaCode 父级区域编码 + * @return 下属区域信息集合 + */ + @Override + public AjaxResult getSubordinateAreaInfo(String areaCode) { + //查询出下级区域集合 + return AjaxResult.success(sysAreaMapper.getCityInfoList(areaCode, RemoteSignsEnum.REMOTE.getInfo())); + } + /** * 校验预约服务时间 * diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/NurseAppLoginService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/NurseAppLoginService.java index c5a43f5..a0365ac 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/NurseAppLoginService.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/NurseAppLoginService.java @@ -1,8 +1,11 @@ package com.xinelu.applet.service.nurseapplogin; import com.xinelu.applet.dto.appletlogin.StationItemInfoDTO; +import com.xinelu.applet.vo.nursepersonapplogin.OrderAndItemVO; import com.xinelu.common.core.domain.AjaxResult; +import java.util.List; + /** * @Description APP登录注册业务层 * @Author zh @@ -33,4 +36,13 @@ public interface NurseAppLoginService { * @return 结果 */ AjaxResult nurseAppPersonal(Long patientId); + + /** + * App查询预约服务订单 + * + * @param patientId 用户id + * @param orderStatus 预约订单状态 + * @return 结果 + */ + List selectAppServiceOrderItem(Long patientId, String orderStatus); } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/impl/NurseAppLoginServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/impl/NurseAppLoginServiceImpl.java index e985b3c..fb36d7a 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/impl/NurseAppLoginServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nurseapplogin/impl/NurseAppLoginServiceImpl.java @@ -8,6 +8,7 @@ import com.xinelu.applet.utils.AppointmentTimeUtil; import com.xinelu.applet.vo.appletlogin.NurserStationItemConsumableVO; import com.xinelu.applet.vo.appletlogin.NurserStationItemInfoVO; import com.xinelu.applet.vo.nurseapplogin.PatientAndDiseaseVO; +import com.xinelu.applet.vo.nursepersonapplogin.OrderAndItemVO; import com.xinelu.applet.vo.specialdisease.WeekDaysVO; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.enums.AppointmentTimeIntervalEnum; @@ -26,10 +27,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalTime; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -180,4 +178,20 @@ public class NurseAppLoginServiceImpl implements NurseAppLoginService { patientDisease.setEvaluatedCount(evaluatedCount); return AjaxResult.success(patientDisease); } + + /** + * App查询预约服务订单 + * + * @param patientId 用户id + * @param orderStatus 预约订单状态 + * @return 结果 + */ + @Override + public List selectAppServiceOrderItem(Long patientId, String orderStatus) { + List appointmentOrderDetails = new ArrayList<>(); + if (Objects.isNull(patientId) && StringUtils.isBlank(orderStatus)) { + return appointmentOrderDetails; + } + return nurseAppLoginMapper.selectAppointmentOrderDetailsByPatientId(patientId, orderStatus); + } } \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/resources/mapper/applet/consultationInfo/ConsultationInfoMapper.xml b/xinelu-nurse-applet/src/main/resources/mapper/applet/consultationInfo/ConsultationInfoMapper.xml index 1b11751..e7ac6a4 100644 --- a/xinelu-nurse-applet/src/main/resources/mapper/applet/consultationInfo/ConsultationInfoMapper.xml +++ b/xinelu-nurse-applet/src/main/resources/mapper/applet/consultationInfo/ConsultationInfoMapper.xml @@ -68,17 +68,17 @@ ci.doctor_id, ci.doctor_name, ci.problem_description, - COUNT(cr.id) as messageCount - FROM - consultation_info ci - LEFT JOIN chat_record cr ON cr.consultation_id=ci.id AND read_status='0' + ci.create_time, + (SELECT COUNT(cr.id) FROM chat_record cr WHERE cr.consultation_id = ci.id AND read_status = '0' and sender_id= ci.doctor_id and sender_id= ci.patient_id - + ) AS messageCount + FROM + consultation_info ci and ci.patient_id = #{patientId} @@ -143,7 +143,7 @@ SELECT file_url FROM consultation_file WHERE del_flag='0' AND consultation_id=#{id} - + insert into consultation_info id, @@ -246,7 +246,7 @@ insert into consultation_file(consultation_id, file_url) values - (#{consultationId},#{item.fileUrl}) + (#{consultationId},#{item}) diff --git a/xinelu-nurse-applet/src/main/resources/mapper/applet/nurseapplogin/NurseAppLoginMapper.xml b/xinelu-nurse-applet/src/main/resources/mapper/applet/nurseapplogin/NurseAppLoginMapper.xml index f894d49..3641690 100644 --- a/xinelu-nurse-applet/src/main/resources/mapper/applet/nurseapplogin/NurseAppLoginMapper.xml +++ b/xinelu-nurse-applet/src/main/resources/mapper/applet/nurseapplogin/NurseAppLoginMapper.xml @@ -65,6 +65,40 @@ + +