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}