From d1c73e30d5c5b6c56541ed67074ac208371d8592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=81=92?= <3226558941@qq.com> Date: Mon, 9 Oct 2023 10:40:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E4=BB=A3=E7=A0=81=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NurseAppLoginController.java | 15 +++++++ .../nurseapplogin/NurseAppLoginMapper.java | 9 ++++ .../nurseapplogin/NurseAppLoginService.java | 8 ++++ .../impl/NurseAppLoginServiceImpl.java | 42 +++++++++++++++++++ .../nurseapplogin/NurseAppLoginMapper.xml | 11 +++++ 5 files changed, 85 insertions(+) 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 3e0450a..3929cf1 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 @@ -65,5 +65,20 @@ public class NurseAppLoginController extends BaseController { } return nurseAppLoginService.getAppStationItemAndConsumableInfo(itemInfoDTO); } + + /** + * APP个人中心查询 + * + * @param patientId 用户编号id + * @return 结果 + */ + @MobileRequestAuthorization + @GetMapping("/appPersonal") + public AjaxResult nurseAppPersonal(Long patientId) { + if (Objects.isNull(patientId)) { + return AjaxResult.error("用户信息不能为空!"); + } + return nurseAppLoginService.nurseAppPersonal(patientId); + } } 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 64dbc33..206c24e 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.manage.domain.goodsOrder.GoodsOrder; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -28,4 +29,12 @@ public interface NurseAppLoginMapper { * @return 数量 */ Integer getLoginFlagByPatientId(@Param("patientId") Long patientId); + + /** + * 通过用户id查询用户所有订单 + * + * @param patientId id + * @return GoodsOrder + */ + List selectGoodsOrderListByPatient(Long patientId); } 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 71d0cc3..c5a43f5 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 @@ -25,4 +25,12 @@ public interface NurseAppLoginService { * @return 护理项目信息集合 */ AjaxResult getAppStationItemAndConsumableInfo(StationItemInfoDTO itemInfoDTO); + + /** + * 个人中心 + * + * @param patientId 会员id + * @return 结果 + */ + AjaxResult nurseAppPersonal(Long patientId); } 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 3a4f01a..e985b3c 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 @@ -11,6 +11,9 @@ import com.xinelu.applet.vo.nurseapplogin.PatientAndDiseaseVO; import com.xinelu.applet.vo.specialdisease.WeekDaysVO; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.enums.AppointmentTimeIntervalEnum; +import com.xinelu.common.enums.GooodsOrderStatusEnum; +import com.xinelu.common.utils.AgeUtil; +import com.xinelu.manage.domain.goodsOrder.GoodsOrder; import com.xinelu.manage.mapper.sysarea.SysAreaMapper; import com.xinelu.manage.vo.sysarea.SysAreaVO; import com.xinelu.system.domain.SysConfig; @@ -138,4 +141,43 @@ public class NurseAppLoginServiceImpl implements NurseAppLoginService { itemInfo.setAppointmentTimeList(appointmentTimeList); return AjaxResult.success(itemInfo); } + + /** + * 个人中心查询 + * + * @param patientId 会员id + * @return 结果 + */ + @Override + public AjaxResult nurseAppPersonal(Long patientId) { + PatientAndDiseaseVO patientDisease = nurseAppLoginMapper.getPatientDiseaseByPatientId(patientId); + if (Objects.nonNull(patientDisease) && Objects.nonNull(patientDisease.getBirthDate())) { + patientDisease.setAge(AgeUtil.getAgeMonth(String.valueOf(patientDisease.getBirthDate()))); + } + if (Objects.nonNull(patientDisease) && StringUtils.isNotBlank(patientDisease.getAreaCode())) { + SysAreaVO codeName = sysAreaMapper.getSubordinateRegionsFindSuperiorRegions(patientDisease.getAreaCode()); + String provinceName = StringUtils.isBlank(codeName.getProvinceName()) ? "" : codeName.getProvinceName(); + String cityName = StringUtils.isBlank(codeName.getCityName()) ? "" : codeName.getCityName(); + String regionName = StringUtils.isBlank(codeName.getRegionName()) ? "" : codeName.getRegionName(); + String streetName = StringUtils.isBlank(codeName.getStreetName()) ? "" : codeName.getStreetName(); + patientDisease.setAreaName(provinceName + cityName + regionName + streetName); + } else { + patientDisease.setAreaName(""); + } + //查询所有商品订单 + List goodsOrders = nurseAppLoginMapper.selectGoodsOrderListByPatient(patientId); + if (CollectionUtils.isEmpty(goodsOrders)) { + return AjaxResult.success(patientDisease); + } + //计算待付款订单、待收货订单、待评价订单、已完成订单数量 + long waitPayCount = goodsOrders.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getOrderStatus())).filter(item -> GooodsOrderStatusEnum.WAIT_PAY.getInfo().equals(item.getOrderStatus())).count(); + long waitReceivedGoodsCount = goodsOrders.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getOrderStatus())).filter(item -> GooodsOrderStatusEnum.WAIT_RECEIVED_GOODS.getInfo().equals(item.getOrderStatus())).count(); + long receivedGoodsCount = goodsOrders.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getOrderStatus())).filter(item -> GooodsOrderStatusEnum.RECEIVED_GOODS.getInfo().equals(item.getOrderStatus())).count(); + long evaluatedCount = goodsOrders.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getOrderStatus())).filter(item -> GooodsOrderStatusEnum.EVALUATED.getInfo().equals(item.getOrderStatus())).count(); + patientDisease.setWaitPayCount(waitPayCount); + patientDisease.setWaitReceivedGoodsCount(waitReceivedGoodsCount); + patientDisease.setReceivedGoodsCount(receivedGoodsCount); + patientDisease.setEvaluatedCount(evaluatedCount); + return AjaxResult.success(patientDisease); + } } \ No newline at end of file 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 f9e2506..f894d49 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 @@ -75,4 +75,15 @@ + +