From c33fc3ae525dcb7fdf122fe537139d695c80e718 Mon Sep 17 00:00:00 2001 From: fjj <–1066869486@qq.com> Date: Fri, 19 Jan 2024 21:33:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doctor-modules/doctor-health/pom.xml | 21 ++++++++ .../doctor/controller/InquiryController.java | 54 ++++++++++++++++--- .../controller/UserVideoController.java | 4 +- .../java/doctor/convert/VideoConvert.java | 22 ++++++++ .../java/doctor/mapper/InquiryMapper.java | 5 ++ .../java/doctor/mapper/UserVideoMapper.java | 3 +- .../java/doctor/service/InquiryService.java | 11 ++++ .../java/doctor/service/UserVideoService.java | 3 +- .../impl/HealthUserVideoServiceImpl.java | 3 +- .../service/impl/InquiryServiceImpl.java | 36 +++++++++++++ .../service/impl/UserVideoServiceImpl.java | 5 +- .../resources/mapper/doctor/InquiryMapper.xml | 20 +++++++ .../mapper/doctor/UserVideoMapper.xml | 2 +- 13 files changed, 175 insertions(+), 14 deletions(-) create mode 100644 doctor-modules/doctor-health/src/main/java/doctor/convert/VideoConvert.java diff --git a/doctor-modules/doctor-health/pom.xml b/doctor-modules/doctor-health/pom.xml index a082a43..526539b 100644 --- a/doctor-modules/doctor-health/pom.xml +++ b/doctor-modules/doctor-health/pom.xml @@ -12,6 +12,11 @@ doctor-health + + 1.18.12 + 1.4.2.Final + + @@ -97,6 +102,22 @@ spring-boot-starter-mail + + org.mapstruct + mapstruct + ${mapstruct.version} + + + org.mapstruct + mapstruct-jdk8 + ${mapstruct.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + diff --git a/doctor-modules/doctor-health/src/main/java/doctor/controller/InquiryController.java b/doctor-modules/doctor-health/src/main/java/doctor/controller/InquiryController.java index 814704b..69dc8d8 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/controller/InquiryController.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/controller/InquiryController.java @@ -1,13 +1,12 @@ package doctor.controller; import doctor.common.core.domain.HealthR; +import doctor.domain.vo.DoctorVo; import doctor.domain.vo.InquiryDetailsRecordVo; import doctor.service.InquiryService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.boot.actuate.health.Health; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -20,16 +19,59 @@ import static com.github.pagehelper.page.PageMethod.startPage; * @Date: 2024-01-12 19:09 */ @RestController -@RequestMapping("/user/inquiry/verify/v1") +@RequestMapping("/user/inquiry") public class InquiryController { @Autowired private InquiryService inquiryService; //历史问诊记录列表 - @GetMapping("/findHistoryInquiryRecord") + @GetMapping("/verify/v1/findHistoryInquiryRecord") public HealthR> findHistoryInquiryRecord(@RequestParam Integer page,@RequestParam Integer count){ startPage(page,count); List inquiryDetailsRecordVoList = inquiryService.findHistoryInquiryRecord(); return HealthR.ok(inquiryDetailsRecordVoList); } + @GetMapping("/v1/findDoctorInfo") + public HealthR findDoctorInfo(@RequestHeader Integer userId, + @RequestHeader String sessionId, + @RequestParam Integer doctorId) { + DoctorVo doctorVo = inquiryService.findDoctorInfo(doctorId); + return HealthR.ok(doctorVo); + } + + //咨询医生 + @PutMapping("/verify/v1/consultDoctor") + public HealthR consultDoctor(@RequestHeader Integer userId, + @RequestHeader String sessionId, + @RequestParam Integer doctorId){ + String doctorUserName = inquiryService.consultDoctor(userId,doctorId); + return HealthR.ok(doctorUserName); + } + + //关注医生 + @PostMapping("/verify/v1/followDoctor") + public HealthR followDoctor(@RequestHeader Integer userId, + @RequestHeader String sessionId, + @RequestParam Integer doctorId) { + inquiryService.followDoctor(userId,doctorId); + return HealthR.ok(); + } + + //取消关注医生 + @DeleteMapping("/verify/v1/cancelFollow") + public HealthR cancelFollow(@RequestHeader Integer userId, + @RequestHeader String sessionId, + @RequestParam Integer doctorId){ + inquiryService.cancelFollow(userId,doctorId); + return HealthR.ok(); + } + + //结束问诊 + @PutMapping("/verify/v1/endInquiry") + public HealthR endInquiry(@RequestHeader Integer userId, + @RequestHeader String sessionId, + @RequestParam Integer recordId) { + inquiryService.endInquiry(userId,recordId); + return HealthR.ok(); + } } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/controller/UserVideoController.java b/doctor-modules/doctor-health/src/main/java/doctor/controller/UserVideoController.java index d2d1343..c01ad46 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/controller/UserVideoController.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/controller/UserVideoController.java @@ -55,8 +55,8 @@ public class UserVideoController { //我的钱包 @GetMapping("/findUserWallet") - public HealthR> findUserWallet(){ - List userWallets = userVideoService.findUserWallet(); + public HealthR> findUserWallet(@RequestHeader Integer userId){ + List userWallets = userVideoService.findUserWallet(userId); return HealthR.ok(userWallets); } //用户消费记录 diff --git a/doctor-modules/doctor-health/src/main/java/doctor/convert/VideoConvert.java b/doctor-modules/doctor-health/src/main/java/doctor/convert/VideoConvert.java new file mode 100644 index 0000000..517085e --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/convert/VideoConvert.java @@ -0,0 +1,22 @@ +package doctor.convert; + +import doctor.domain.entity.VideoEntity; +import doctor.domain.vo.VideoVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.w3c.dom.stylesheets.LinkStyle; + +import java.util.List; + +@Mapper +public interface VideoConvert { + VideoConvert INSTANCE = Mappers.getMapper(VideoConvert.class); + + VideoVo videoEntityToVideoVo(VideoEntity videoEntity); + + VideoEntity videoVoToVideoEntity(VideoVo videoVo); + + List videoVoListToVideoEntityList(List videoVoList); + + List videoEntityListToVideoVoList(List videoEntityList); +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/mapper/InquiryMapper.java b/doctor-modules/doctor-health/src/main/java/doctor/mapper/InquiryMapper.java index 081f354..05b979d 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/mapper/InquiryMapper.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/mapper/InquiryMapper.java @@ -2,6 +2,7 @@ package doctor.mapper; import doctor.domain.entity.InquiryDetailsRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,4 +15,8 @@ import java.util.List; @Mapper public interface InquiryMapper { List findHistoryInquiryRecord(); + + void consultDoctor(@Param("userId") Integer userId, @Param("doctorId") Integer doctorId); + + String findDoctorUserNameByDoctorId(@Param("doctorId") Integer doctorId); } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/mapper/UserVideoMapper.java b/doctor-modules/doctor-health/src/main/java/doctor/mapper/UserVideoMapper.java index 419d357..c55aa77 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/mapper/UserVideoMapper.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/mapper/UserVideoMapper.java @@ -5,6 +5,7 @@ import doctor.domain.dto.UserTaskRecordDto; import doctor.domain.entity.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.springframework.web.bind.annotation.RequestHeader; import java.util.List; @@ -24,7 +25,7 @@ public interface UserVideoMapper { void deleteVideoBuy(@Param("videoId") Integer videoId); - List findUserWallet(); + List findUserWallet(Integer userId); List findUserConsumptionRecordList(); diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/InquiryService.java b/doctor-modules/doctor-health/src/main/java/doctor/service/InquiryService.java index 41e58c6..4c32a84 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/InquiryService.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/InquiryService.java @@ -1,5 +1,6 @@ package doctor.service; +import doctor.domain.vo.DoctorVo; import doctor.domain.vo.InquiryDetailsRecordVo; import java.util.List; @@ -12,4 +13,14 @@ import java.util.List; */ public interface InquiryService { List findHistoryInquiryRecord(); + + DoctorVo findDoctorInfo(Integer doctorId); + + String consultDoctor(Integer userId, Integer doctorId); + + void followDoctor(Integer userId, Integer doctorId); + + void cancelFollow(Integer userId, Integer doctorId); + + void endInquiry(Integer userId, Integer recordId); } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/UserVideoService.java b/doctor-modules/doctor-health/src/main/java/doctor/service/UserVideoService.java index 7afe516..a61b36e 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/UserVideoService.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/UserVideoService.java @@ -3,6 +3,7 @@ package doctor.service; import doctor.domain.dto.UserArchivesDto; import doctor.domain.entity.*; import doctor.domain.vo.*; +import org.springframework.web.bind.annotation.RequestHeader; import java.util.List; @@ -21,7 +22,7 @@ public interface UserVideoService { void deleteVideoBuy(Integer videoId); - List findUserWallet(); + List findUserWallet(Integer userId); List findVideoCollectionList(Integer userId); diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthUserVideoServiceImpl.java b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthUserVideoServiceImpl.java index bd32a87..ab0c1ce 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthUserVideoServiceImpl.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthUserVideoServiceImpl.java @@ -3,6 +3,7 @@ package doctor.service.impl; import doctor.common.security.service.TokenService; import doctor.common.security.utils.SecurityUtils; +import doctor.convert.VideoConvert; import doctor.domain.entity.UserVideoBuyEntity; import doctor.domain.entity.UserVideoCollectionEntity; import doctor.domain.entity.VideoCategoryEntity; @@ -37,7 +38,7 @@ public class HealthUserVideoServiceImpl implements HealthUserVideoService { @Override public List findVideoVoList(Integer categoryId, Integer userId) { List videoVoList = healthUserVideoMapper.findVideoVoList(categoryId); - List videoVos = ConvertUtil.entityToVoList(videoVoList, VideoVo.class); + List videoVos = VideoConvert.INSTANCE.videoEntityListToVideoVoList(videoVoList); videoVos.forEach(video -> { UserVideoCollectionEntity userVideoCollection = healthUserVideoMapper.selectWhetherCollectionByUserIdAndVideoId(userId,video.getId()); if(userVideoCollection!=null){ diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/InquiryServiceImpl.java b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/InquiryServiceImpl.java index 00d24bc..e206164 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/InquiryServiceImpl.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/InquiryServiceImpl.java @@ -1,10 +1,13 @@ package doctor.service.impl; import doctor.domain.entity.InquiryDetailsRecordEntity; +import doctor.domain.vo.DoctorVo; import doctor.domain.vo.InquiryDetailsRecordVo; import doctor.mapper.InquiryMapper; import doctor.service.InquiryService; import doctor.util.ConvertUtil; +import doctor.util.RSAUtils; +import doctor.util.RsaKey; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,4 +29,37 @@ public class InquiryServiceImpl implements InquiryService { List inquiryDetailsRecordVos = ConvertUtil.entityToVoList(inquiryDetailsRecordEntity, InquiryDetailsRecordVo.class); return inquiryDetailsRecordVos; } + + @Override + public DoctorVo findDoctorInfo(Integer doctorId) { + + return null; + } + + @Override + public String consultDoctor(Integer userId, Integer doctorId) { + inquiryMapper.consultDoctor(userId,doctorId); + String doctorUserName = inquiryMapper.findDoctorUserNameByDoctorId(doctorId); + try { + String s = RSAUtils.rsaDecrypt(doctorUserName, RsaKey.PUBLIC_KEY); + return s; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public void followDoctor(Integer userId, Integer doctorId) { + + } + + @Override + public void cancelFollow(Integer userId, Integer doctorId) { + + } + + @Override + public void endInquiry(Integer userId, Integer recordId) { + + } } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/UserVideoServiceImpl.java b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/UserVideoServiceImpl.java index e9fb540..86b9ee4 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/UserVideoServiceImpl.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/UserVideoServiceImpl.java @@ -9,6 +9,7 @@ import doctor.service.UserVideoService; import doctor.util.ConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestHeader; import java.util.List; @@ -141,8 +142,8 @@ public class UserVideoServiceImpl implements UserVideoService { } @Override - public List findUserWallet() { - return userVideoMapper.findUserWallet(); + public List findUserWallet(Integer userId) { + return userVideoMapper.findUserWallet(userId); } diff --git a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/InquiryMapper.xml b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/InquiryMapper.xml index 0da48d0..c16948d 100644 --- a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/InquiryMapper.xml +++ b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/InquiryMapper.xml @@ -3,10 +3,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + insert into inquiry_record( + user_id, + doctor_id, + status, + show_status, + inquiry_time, + create_time + )values ( + #{userId}, + #{doctorId}, + 1, + 1, + now(), + now() + ) + + diff --git a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/UserVideoMapper.xml b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/UserVideoMapper.xml index de61012..64d8bda 100644 --- a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/UserVideoMapper.xml +++ b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/UserVideoMapper.xml @@ -88,7 +88,7 @@ weight = #{weight}