From a5af4b41ad4384f5ef0260582a7a6d0e6acba7e5 Mon Sep 17 00:00:00 2001 From: Shi Xu Chao <2184233957@qq.com> Date: Sat, 4 Nov 2023 12:29:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/grail/domain/model/User.java | 20 +++++++++++++ grail-patient-doctor-server/pom.xml | 6 +++- .../doctor/controller/DoctorController.java | 9 ++++++ .../com/grail/doctor/mapper/DoctorMapper.java | 4 +++ .../com/grail/doctor/mapper/UserMapper.java | 17 +++++++++++ .../grail/doctor/service/DoctorService.java | 2 ++ .../service/impl/DoctorServiceImpl.java | 29 +++++++++++++++++++ .../main/resources/mapper/DoctorMapper.xml | 16 ++++++++++ .../src/main/resources/mapper/UserMapper.xml | 16 ++++++++++ 9 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 grail-patient-doctor-common/src/main/java/com/grail/domain/model/User.java create mode 100644 grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/UserMapper.java create mode 100644 grail-patient-doctor-server/src/main/resources/mapper/UserMapper.xml diff --git a/grail-patient-doctor-common/src/main/java/com/grail/domain/model/User.java b/grail-patient-doctor-common/src/main/java/com/grail/domain/model/User.java new file mode 100644 index 0000000..9ec38cf --- /dev/null +++ b/grail-patient-doctor-common/src/main/java/com/grail/domain/model/User.java @@ -0,0 +1,20 @@ +package com.grail.domain.model; + +import lombok.Data; + +import java.util.List; + +/** + * @Author: + * @Date: + * @Description + */ +@Data +public class User { + + private Integer userId; + + private String username; + + private List doctorList; +} diff --git a/grail-patient-doctor-server/pom.xml b/grail-patient-doctor-server/pom.xml index eb63291..26223d6 100644 --- a/grail-patient-doctor-server/pom.xml +++ b/grail-patient-doctor-server/pom.xml @@ -87,7 +87,11 @@ grail-patient-doctor-common 3.6.3 - + + com.aliyun + cloudauth20190307 + 2.1.0 + diff --git a/grail-patient-doctor-server/src/main/java/com/grail/doctor/controller/DoctorController.java b/grail-patient-doctor-server/src/main/java/com/grail/doctor/controller/DoctorController.java index b1a9acd..349c6d2 100644 --- a/grail-patient-doctor-server/src/main/java/com/grail/doctor/controller/DoctorController.java +++ b/grail-patient-doctor-server/src/main/java/com/grail/doctor/controller/DoctorController.java @@ -98,4 +98,13 @@ public class DoctorController { JSON.toJSONString(result.getData())); return result; } + + @GetMapping("/doctorUser") + private R doctorUser(){ + R r=doctorService.doctorUser(); + log.info("功能:一对多列表展示 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(), + JSON.toJSONString(r.getData())); + return r; + } + } diff --git a/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/DoctorMapper.java b/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/DoctorMapper.java index 2fffe5f..93c5f2e 100644 --- a/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/DoctorMapper.java +++ b/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/DoctorMapper.java @@ -1,6 +1,8 @@ package com.grail.doctor.mapper; import com.grail.domain.Vo; +import com.grail.domain.model.Doctor; +import com.grail.domain.model.User; import com.grail.domain.request.DoctorRequest; import com.grail.domain.response.DoctorResponse; import org.apache.ibatis.annotations.Mapper; @@ -24,4 +26,6 @@ public interface DoctorMapper { Integer doctorDelete(@Param("doctorId") String doctorId); DoctorRequest doctorFind(@Param("doctorId") Integer doctorId); + + List doctorAdmin(@Param("userId") Integer userId); } diff --git a/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/UserMapper.java b/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/UserMapper.java new file mode 100644 index 0000000..a198059 --- /dev/null +++ b/grail-patient-doctor-server/src/main/java/com/grail/doctor/mapper/UserMapper.java @@ -0,0 +1,17 @@ +package com.grail.doctor.mapper; + +import com.grail.domain.model.User; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @Author: + * @Date: + * @Description + */ +@Mapper +public interface UserMapper { + List userList(); + +} diff --git a/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/DoctorService.java b/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/DoctorService.java index 05ee51e..b630096 100644 --- a/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/DoctorService.java +++ b/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/DoctorService.java @@ -21,4 +21,6 @@ public interface DoctorService { R doctorDelete(String doctorId); R doctorFind(Integer doctorId); + + R doctorUser(); } diff --git a/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/impl/DoctorServiceImpl.java b/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/impl/DoctorServiceImpl.java index b3a6cfc..80a0305 100644 --- a/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/impl/DoctorServiceImpl.java +++ b/grail-patient-doctor-server/src/main/java/com/grail/doctor/service/impl/DoctorServiceImpl.java @@ -2,9 +2,13 @@ package com.grail.doctor.service.impl; import com.grail.common.core.domain.R; import com.grail.common.core.domain.Result; +import com.grail.common.redis.service.RedisService; import com.grail.doctor.mapper.DoctorMapper; +import com.grail.doctor.mapper.UserMapper; import com.grail.doctor.service.DoctorService; import com.grail.domain.Vo; +import com.grail.domain.model.Doctor; +import com.grail.domain.model.User; import com.grail.domain.request.DoctorRequest; import com.grail.domain.response.DoctorResponse; import org.springframework.beans.factory.annotation.Autowired; @@ -22,6 +26,16 @@ public class DoctorServiceImpl implements DoctorService { @Autowired public DoctorMapper doctorMapper; + + + @Autowired + public RedisService redisService; + + @Autowired + public UserMapper userMapper; + + private static final String DOCTOR="doctor"; + @Override public R doctorList(Vo vo) { List doctorRequestList=doctorMapper.doctorList(vo); @@ -51,4 +65,19 @@ public class DoctorServiceImpl implements DoctorService { DoctorRequest doctorFind=doctorMapper.doctorFind(doctorId); return R.ok(doctorFind); } + + @Override + public R doctorUser() { + if (redisService.hasKey(DOCTOR)){ + List userList=redisService.getCacheList(DOCTOR); + } + List userList=userMapper.userList(); + + userList.forEach(item->{ + List doctorList=doctorMapper.doctorAdmin(item.getUserId()); + item.setDoctorList(doctorList); + }); + redisService.setCacheList(DOCTOR,userList); + return R.ok(userList); + } } diff --git a/grail-patient-doctor-server/src/main/resources/mapper/DoctorMapper.xml b/grail-patient-doctor-server/src/main/resources/mapper/DoctorMapper.xml index 9c9686d..902f970 100644 --- a/grail-patient-doctor-server/src/main/resources/mapper/DoctorMapper.xml +++ b/grail-patient-doctor-server/src/main/resources/mapper/DoctorMapper.xml @@ -76,4 +76,20 @@ + diff --git a/grail-patient-doctor-server/src/main/resources/mapper/UserMapper.xml b/grail-patient-doctor-server/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..ab783e5 --- /dev/null +++ b/grail-patient-doctor-server/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,16 @@ + + + + + +