From 1c3fdca7d7160199e295759b8eec50203556d462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=97=AD?= <17615834396@163.com> Date: Sun, 8 Oct 2023 13:29:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0app=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../applet/controller/newapp/NewAppLoginController.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/newapp/NewAppLoginController.java diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/newapp/NewAppLoginController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/newapp/NewAppLoginController.java new file mode 100644 index 0000000..386fa41 --- /dev/null +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/newapp/NewAppLoginController.java @@ -0,0 +1,4 @@ +package com.xinelu.applet.controller.newapp; + +public class NewAppLoginController { +} From 0c1b72c9a53346a4edc02a75734a784fcf996d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=81=92?= <3226558941@qq.com> Date: Sun, 8 Oct 2023 17:33:19 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 45 +++++++++++++++++++ .../appletlogin/AppletLoginController.java | 14 ++++++ .../appletlogin/AppletLoginService.java | 8 ++++ .../impl/AppletLoginServiceImpl.java | 15 +++++++ 4 files changed, 82 insertions(+) diff --git a/xinelu-admin/src/main/resources/application.yml b/xinelu-admin/src/main/resources/application.yml index d5bd514..08d8550 100644 --- a/xinelu-admin/src/main/resources/application.yml +++ b/xinelu-admin/src/main/resources/application.yml @@ -234,3 +234,48 @@ trtc: sdksecretkey: 83ab78d1a8513af6626d58cc2bacd7b28bfb2af06515fa02b0204129ebb53422 secretid: AKIDOBpP2ICALat0wP4lcIiAMtZ7XgUJ5vMO secretkey: zxjJhGcx75lECyweHgphKYefWCkBPSHt + +# 微信小程序参数配置信息 +applet-chat-config: + # 微信小程序id,wxdec3416aa3d60cab + applet-id: wxdc32268eca6b78f9 + # 微信小程序密钥,f58e19be0380c2ebc6e9e9684c0dacce + secret: 0d0e41432908750460aef2bf0aa871ae + # 微信小程序返回国家语言 + lang: zh_CN + # 微信小程序授权类型 + grant-type: authorization_code + # 微信小程序事件回调令牌 + token: uI1NGHesp7ylIYVYQvp0TlcDmUTKCHj2 + # 微信小程序事件回调消息加密密钥 + encoding-aes-key: 5rbyhMBpdnxTEVT54zeHMNcXi3ccilQZ209QqGi89EW + +# 护理员微信小程序参数配置信息 +nurse-applet-chat-config: + # 微信小程序id,wxa4f2b43d2ccb9908 + applet-id: wxa4f2b43d2ccb9908 + # 微信小程序密钥, + secret: faeba9fc043cfdcb088f43be1747e054 + # 微信小程序返回国家语言 + lang: zh_CN + # 微信小程序授权类型 + grant-type: authorization_code + # 微信小程序事件回调令牌 + token: Yw3vfW1ILpc34qAVDtTpB2hesAMCpvW0 + # 微信小程序事件回调消息加密密钥 + encoding-aes-key: Lr2uq0F3ds36ZA4AUv1h3Pki0JO1Ql0QeG0z1r4A3at + +# 小程序首页路径 +applet-page-config: + # 首页跳转路径 + page-url: pages/startup/startup + # 个人中心-优惠券页面跳转路径 + coupon-page-url: pages/coupon/coupon + # 商品订单页面跳转路径 + goods-order-page-url: pages/CommodityOrder/CommodityOrder + # 预约订单页面跳转路径 + appoint-order-page-url: pages/Nursingstationserviceorder/Nursingstationserviceorder + # 积分页面跳转路径 + integral-page-url: pages/integral/integral + # 护理结构详情页面跳转路径 + nursestation-details-page-url: pages/nursestation/nursestation \ No newline at end of file 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 34c1cd6..90ec4f9 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 @@ -102,4 +102,18 @@ public class AppletLoginController extends BaseController { } return appletLoginService.nurseAppointment(dto); } + + /** + * 根据openid判断当前用户信息是否存在,微信小程序登录页使用 + * + * @param openId 微信用户的openid + * @return 护理人列表集合, 标识,LOGIN:已登录,NOT_LOGIN:未登录 + */ + @GetMapping("/existPatientInfo") + public AjaxResult existPatientInfo(String openId) { + if (StringUtils.isBlank(openId)) { + return AjaxResult.error("会员用户微信唯一标识不存在!"); + } + return appletLoginService.existPatientInfo(openId); + } } 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 799240c..8a9a3bb 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 @@ -44,4 +44,12 @@ public interface AppletLoginService { * @return 预约结果 */ AjaxResult nurseAppointment(AppointmentInfoDTO dto); + + /** + * 根据openid判断当前用户信息是否存在,微信小程序登录页使用 + * + * @param openId 微信用户的openid + * @return 护理人列表集合 + */ + AjaxResult existPatientInfo(String openId); } 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 f6be79d..9b2790e 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 @@ -293,6 +293,21 @@ public class AppletLoginServiceImpl implements AppletLoginService { return AjaxResult.success(appointmentOrderMapper.getAppointmentOrderByOrderNo(orderNo)); } + /** + * 根据openid判断当前用户信息是否存在,微信小程序登录页使用 + * + * @param openId 微信用户的openid + * @return 护理人列表集合 + */ + @Override + public AjaxResult existPatientInfo(String openId) { + PatientInfo patientInfo = appletLoginMapper.getPatientInfoByOpenId(openId); + if (Objects.nonNull(patientInfo) && StringUtils.isNotBlank(patientInfo.getOpenid())) { + return AjaxResult.success("LOGIN"); + } + return AjaxResult.success("NOT_LOGIN"); + } + /** * 校验预约服务时间 * 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 3/3] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=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 @@ + +