大型更改

master
sikadi 2023-10-30 20:08:36 +08:00
parent eadba9b418
commit 80e93541f8
18 changed files with 142 additions and 207 deletions

View File

@ -13,10 +13,6 @@ import java.util.Date;
**/ **/
@Data @Data
public class DiseaseDetatil { public class DiseaseDetatil {
/**
* idid
**/
private Integer diseaseDetailId;
/** /**
* id * id

View File

@ -36,6 +36,15 @@ public class Homepage {
/** /**
* *
**/ **/
List<ListHomepage> homepageList; private List<ListHomepage> homepageList;
/**
*
**/
private List<DiseaseDetatil> diseaseDetatilList;
/**
*
**/
private List<MedicineDetail> medicineDetailList;
} }

View File

@ -32,16 +32,6 @@ public class ListHomepage {
**/ **/
private String picture; private String picture;
/**
*
**/
List<DiseaseDetatil> diseaseDetatils;
/**
*
**/
List<MedicineDetail> medicineDetailList;
} }

View File

@ -13,10 +13,6 @@ import java.util.Date;
**/ **/
@Data @Data
public class MedicineDetail { public class MedicineDetail {
/**
* id
**/
private Integer medicineDetailId;
/** /**
* id * id

View File

@ -9,16 +9,7 @@ import lombok.Data;
**/ **/
@Data @Data
public class HomepageRequest { public class HomepageRequest {
private Integer homepageId=0;
private Integer homepagePid=1;
private Integer diseaseDetatilId = 3 ;
private Integer medicineId = 11;
private Integer homepageId=3;
} }

View File

@ -52,7 +52,16 @@ public class DiseaseDetatilController {
} }
@PostMapping("/DrseaseDetaillAdd")
public R DrseaseDetaillAdd (@RequestBody DiseaseDetatil diseaseDetatil){
log.info("功能:添加病症,URI:{},方法:{},参数;{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(diseaseDetatil));
int i = diseaseDetatilServer.DrseaseDetaillAdd(diseaseDetatil);
log.info("功能:添加病症,URI:{},方法:{}",request.getRequestURI(),request.getMethod());
return i>0?R.ok("成功"):R.fail("失败");
}

View File

@ -35,65 +35,35 @@ public class HomepageController {
/** /**
* *
* @author: ZhuoXin * @author: ZhuoXin
* @date: 2023/10/25 19:05 * @date: 2023/10/30 19:05
* @param: [homepageId] * @param: []
* @return: com.grail.common.core.domain.R * @return: com.grail.common.core.domain.R
**/ **/
@GetMapping("/homepageList") @GetMapping("/homepageList")
public R homepageList(){ public R homepageList(){
log.info("功能:展示对应的三级页,URI:{},方法:{}", log.info("功能:点击科室或药品出现对应的内容,URI:{},方法:{}",request.getRequestURI(),request.getMethod());
request.getRequestURI(),
request.getMethod());
List<Homepage> list = homepageServer.homepageList(); List<Homepage> homepages = homepageServer.homepageList();
log.info("功能:展示对应的三级页,URI:{},方法:{},响应:{}", log.info("功能:点击科室或药品出现对应的内容,URI:{},方法:{},响应:{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(homepages));
request.getRequestURI(),
request.getMethod(), return R.ok(homepages);
JSON.toJSONString(list));
}
@PostMapping("/homepageMedicineDisease")
public R homepageMedicineDisease(@RequestBody HomepageRequest homepageRequest){
log.info("功能:查看病症详情和药品详情,URI:{},方法:{},参数{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(homepageRequest));
Homepage list = homepageServer.homepageMedicineDiseaseList(homepageRequest);
log.info("功能:查看病症详情和药品详情,URI:{},方法:{},响应:{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(list));
return R.ok(list); return R.ok(list);
} }
/**
*
* @author: ZhuoXin
* @date: 2023/10/29 8:25
* @param: [homepageRequest]
* @return: java.util.List<com.grail.interrogation.domain.Homepage>
**/
@GetMapping("/homepagePidList")
public R<List<Homepage>> homepagePidList(){
log.info("功能:病症或科室,URI:{},方法:{}",request.getRequestURI(),request.getMethod());
List<Homepage> list =homepageServer.homepagePidList();
log.info("功能:病症或科室,URI:{},方法:{},响应:{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(list));
return R.ok(list);
}
/**
*
* @author: ZhuoXin
* @date: 2023/10/29 8:43
* @param: [homepageRequest]
* @return: com.grail.common.core.domain.R
**/
@PostMapping("/homepageSumList")
public R homepageSumList(@RequestBody HomepageRequest homepageRequest){
log.info("功能:科室和病症,URI:{},方法:{},参数:{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(homepageRequest));
ListHomepage list = homepageServer.homepageSumList(homepageRequest);
log.info("功能:科室和病症,URI:{},方法:{},响应:{}",request.getRequestURI(),request.getMethod(),JSON.toJSONString(list));
return R.ok(list);
}
} }

View File

@ -1,14 +1,12 @@
package com.grail.interrogation.controller; package com.grail.interrogation.controller;
import com.dtflys.forest.annotation.Get;
import com.grail.common.core.domain.R; import com.grail.common.core.domain.R;
import com.grail.interrogation.domain.MedicineDetail; import com.grail.interrogation.domain.MedicineDetail;
import com.grail.interrogation.service.MedicineDetailServer; import com.grail.interrogation.service.MedicineDetailServer;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* *

View File

@ -13,5 +13,9 @@ import java.util.List;
**/ **/
@Mapper @Mapper
public interface DiseaseDetatilMapper { public interface DiseaseDetatilMapper {
List<DiseaseDetatil> diseaseDetatilList(@Param("id") Integer id);
int DrseaseDetaillAdd(DiseaseDetatil diseaseDetatil);
List<DiseaseDetatil> List(@Param("id") Integer id);
} }

View File

@ -4,6 +4,7 @@ import com.grail.interrogation.domain.DiseaseDetatil;
import com.grail.interrogation.domain.Homepage; import com.grail.interrogation.domain.Homepage;
import com.grail.interrogation.domain.ListHomepage; import com.grail.interrogation.domain.ListHomepage;
import com.grail.interrogation.domain.request.HomepageRequest; import com.grail.interrogation.domain.request.HomepageRequest;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -18,10 +19,10 @@ import java.util.List;
public interface HomepageMapper { public interface HomepageMapper {
List<Homepage> homepageList(); List<Homepage> homepageList(@Param("i") Integer i);
List<ListHomepage> homepageSubquery(@Param("id") Integer id); List<ListHomepage> homepageListPid(@Param("pid") Integer pid);
ListHomepage homepageSumList(HomepageRequest homepageRequest); Homepage homepageId(HomepageRequest homepageRequest);
} }

View File

@ -13,8 +13,10 @@ import java.util.List;
**/ **/
@Mapper @Mapper
public interface MedicineDetailMapper { public interface MedicineDetailMapper {
List<MedicineDetail> medicineDetailList(@Param("id") Integer id);
int medicineDetailAdd(MedicineDetail medicineDetail); int medicineDetailAdd(MedicineDetail medicineDetail);
List<MedicineDetail> List(@Param("id") Integer id);
} }

View File

@ -21,4 +21,14 @@ public interface DiseaseDetatilServer {
* @return: java.util.List<com.grail.interrogation.domain.HealthType> * @return: java.util.List<com.grail.interrogation.domain.HealthType>
**/ **/
List<HealthType> healthType(); List<HealthType> healthType();
/**
*
* @param diseaseDetatil
* @author: ZhuoXin
* @date: 2023/10/30 9:21
* @param: []
* @return: int
*/
int DrseaseDetaillAdd(DiseaseDetatil diseaseDetatil);
} }

View File

@ -13,29 +13,8 @@ import java.util.List;
**/ **/
public interface HomepageServer { public interface HomepageServer {
/**
*
* @author: ZhuoXin
* @date: 2023/10/25 20:02
* @param: [homepageId]
* @return: com.grail.interrogation.domain.Homepage
**/
List<Homepage> homepageList(); List<Homepage> homepageList();
/** Homepage homepageMedicineDiseaseList(HomepageRequest homepageRequest);
*
* @author: ZhuoXin
* @date: 2023/10/29 8:29
* @param: [homepageRequest]
* @return: java.util.List<com.grail.interrogation.domain.Homepage>
**/
List<Homepage> homepagePidList();
/**
* @author: ZhuoXin
* @date: 2023/10/29 8:44
* @param: [homepageRequest]
* @return: java.util.List<com.grail.interrogation.domain.Homepage>
**/
ListHomepage homepageSumList(HomepageRequest homepageRequest);
} }

View File

@ -1,13 +1,11 @@
package com.grail.interrogation.service.impl; package com.grail.interrogation.service.impl;
import com.grail.common.core.domain.R; import com.grail.common.core.domain.R;
import com.grail.common.security.utils.SecurityUtils;
import com.grail.interrogation.domain.DiseaseDetatil; import com.grail.interrogation.domain.DiseaseDetatil;
import com.grail.interrogation.domain.HealthType; import com.grail.interrogation.domain.HealthType;
import com.grail.interrogation.mapper.DiseaseDetatilMapper; import com.grail.interrogation.mapper.DiseaseDetatilMapper;
import com.grail.interrogation.remote.RemoteHealthTypeService; import com.grail.interrogation.remote.RemoteHealthTypeService;
import com.grail.interrogation.service.DiseaseDetatilServer; import com.grail.interrogation.service.DiseaseDetatilServer;
import com.grail.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,11 +26,15 @@ public class DiseaseDetatilServerImpl implements DiseaseDetatilServer {
@Override @Override
public List<HealthType> healthType() { public List<HealthType> healthType() {
R r = remoteHealthTypeService.healthTypeList(); R r = remoteHealthTypeService.healthTypeList();
return (List<HealthType>) r.getData(); return (List<HealthType>) r.getData();
} }
@Override
public int DrseaseDetaillAdd(DiseaseDetatil diseaseDetatil) {
int i = diseaseDetatilMapper.DrseaseDetaillAdd(diseaseDetatil);
return i;
}
} }

View File

@ -1,5 +1,6 @@
package com.grail.interrogation.service.impl; package com.grail.interrogation.service.impl;
import com.grail.common.core.domain.R;
import com.grail.interrogation.domain.DiseaseDetatil; import com.grail.interrogation.domain.DiseaseDetatil;
import com.grail.interrogation.domain.Homepage; import com.grail.interrogation.domain.Homepage;
import com.grail.interrogation.domain.ListHomepage; import com.grail.interrogation.domain.ListHomepage;
@ -36,80 +37,42 @@ public class HomepageServerImpl implements HomepageServer {
private static final String REDIS_HOMEPAGE="redis-homepage"; private static final String REDIS_HOMEPAGE="redis-homepage";
/** /**
* *
* @author: ZhuoXin * @author: ZhuoXin
* @date: 2023/10/25 20:24 * @date: 2023/10/30 19:06
* @param: [homepageId] * @param: []
* @return: com.grail.interrogation.domain.Homepage * @return: java.util.List<com.grail.interrogation.domain.Homepage>
**/ **/
@Override @Override
public List<Homepage> homepageList() { public List<Homepage> homepageList() {
// 从redis里存储数据
if(redisService.hasKey(REDIS_HOMEPAGE)){ if(redisService.hasKey(REDIS_HOMEPAGE)){
List<Homepage> cacheList = redisService.getCacheList(REDIS_HOMEPAGE); List<Homepage> cacheList = redisService.getCacheList(REDIS_HOMEPAGE);
return cacheList; return cacheList;
} }
//查询到就对应科室或者病症 List<Homepage> homepages = homepageMapper.homepageList(0);
List<Homepage> list = homepageMapper.homepageList();
// 循环 homepages.forEach( item -> {
for (Homepage item : list) { List<ListHomepage> listHomepages = homepageMapper.homepageListPid(item.getId());
// 再用id去查询他们的pid
List<ListHomepage> listHomepages = homepageMapper.homepageSubquery(item.getId());
// 再次循环
for (ListHomepage items : listHomepages) {
// 通过if判断
if(2 == items.getPid()){
// 病症的列表
List<DiseaseDetatil> diseaseDetatils = diseaseDetatilMapper.diseaseDetatilList(items.getId());
// 赋值到病症列表里
items.setDiseaseDetatils(diseaseDetatils);
}else {
// 药品的列表
List<MedicineDetail> medicineDetailList = medicineDetailMapper.medicineDetailList(items.getId());
// 赋值到药品列表里
items.setMedicineDetailList(medicineDetailList);
}
}
// 将他们赋值进去
item.setHomepageList(listHomepages); item.setHomepageList(listHomepages);
} } );
redisService.setCacheList(REDIS_HOMEPAGE,list); redisService.setCacheList(REDIS_HOMEPAGE,homepages);
return homepages;
return list;
} }
@Override @Override
public List<Homepage> homepagePidList() { public Homepage homepageMedicineDiseaseList(HomepageRequest homepageRequest) {
return homepageMapper.homepageList(); Homepage homepage = homepageMapper.homepageId(homepageRequest);
}
/** if(1 == homepage.getPid()){
* @author: ZhuoXin List<MedicineDetail> list = medicineDetailMapper.List(homepage.getId());
* @date: 2023/10/29 8:56 homepage.setMedicineDetailList(list);
* @param: [homepageRequest]
* @return: java.util.List<com.grail.interrogation.domain.Homepage>
**/
@Override
public ListHomepage homepageSumList(HomepageRequest homepageRequest) {
ListHomepage listHomepages = homepageMapper.homepageSumList(homepageRequest);
if(1== listHomepages.getPid()){
// 药品的列表
List<MedicineDetail> medicineDetailList = medicineDetailMapper.medicineDetailList(listHomepages.getId());
// 赋值到药品列表里
listHomepages.setMedicineDetailList(medicineDetailList);
}else { }else {
List<DiseaseDetatil> diseaseDetatils = diseaseDetatilMapper.diseaseDetatilList(listHomepages.getId()); List<DiseaseDetatil> list = diseaseDetatilMapper.List(homepage.getId());
// 赋值到病症列表里 homepage.setDiseaseDetatilList(list);
listHomepages.setDiseaseDetatils(diseaseDetatils);
} }
return homepage;
homepageMapper.homepageList();
return listHomepages;
} }
} }

View File

@ -5,8 +5,7 @@
<mapper namespace="com.grail.interrogation.mapper.DiseaseDetatilMapper"> <mapper namespace="com.grail.interrogation.mapper.DiseaseDetatilMapper">
<resultMap id="map" type="com.grail.interrogation.domain.DiseaseDetatil"> <resultMap id="map" type="com.grail.interrogation.domain.DiseaseDetatil">
<id property="diseaseDetailId" column="disease_detail_id"></id> <id property="diseaseId" column="disease_id"></id>
<result property="diseaseId" column="disease_id"></result>
<result property="diseaseName" column="disease_name"></result> <result property="diseaseName" column="disease_name"></result>
<result property="pathology" column="pathology"></result> <result property="pathology" column="pathology"></result>
<result property="symptom" column="symptom"></result> <result property="symptom" column="symptom"></result>
@ -19,10 +18,26 @@
<result property="image" column="image"></result> <result property="image" column="image"></result>
<result property="status" column="status"></result> <result property="status" column="status"></result>
</resultMap> </resultMap>
<insert id="DrseaseDetaillAdd">
insert into tb_disease_detatil (disease_name,pathology,symptom,attention,western_treatment,createId,create_date,image,status)
values (#{diseaseName},#{pathology},#{symptom},#{attention},#{westernTreatment},#{createId},now(),#{image},#{status});
</insert>
<select id="diseaseDetatilList" resultType="com.grail.interrogation.domain.DiseaseDetatil"> <select id="List" resultMap="map">
select SELECT
disease_detail_id,disease_id,disease_name,pathology,symptom,attention,western_treatment,create_id,create_date,update_id,update_date,image,status disease_id,
from tb_disease_detatil where status = 3 and disease_detail_id = #{id} disease_name,
</select> pathology,
symptom,
attention,
western_treatment,
image,
`status`
FROM
tb_disease_detatil a
LEFT JOIN homepage_middle_disease b ON a.disease_id = b.middle_disease
WHERE
a.`status` = 3
AND b.middle_homepage = #{id}
</select>
</mapper> </mapper>

View File

@ -10,14 +10,16 @@
<result property="pid" column="pid"></result> <result property="pid" column="pid"></result>
</resultMap> </resultMap>
<select id="homepageList" resultMap="homepage"> <select id="homepageList" resultMap="homepage">
SELECT id , homepage , picture , pid from t_homepage where pid = 0 select id , homepage , picture , pid
from t_homepage where pid = #{i}
</select> </select>
<select id="homepageSubquery" resultType="com.grail.interrogation.domain.ListHomepage"> <select id="homepageListPid" resultType="com.grail.interrogation.domain.ListHomepage">
SELECT id , homepage , picture , pid FROM t_homepage WHERE pid = #{id} select id , homepage , picture , pid
from t_homepage where pid = #{pid}
</select> </select>
<select id="homepageSumList" resultType="com.grail.interrogation.domain.ListHomepage"> <select id="homepageId" resultMap="homepage">
select id , homepage , picture , pid from t_homepage WHERE id = #{homepagePid} select id , homepage , picture , pid
from t_homepage where id = #{homepageId}
</select> </select>
</mapper> </mapper>

View File

@ -5,7 +5,6 @@
<mapper namespace="com.grail.interrogation.mapper.MedicineDetailMapper"> <mapper namespace="com.grail.interrogation.mapper.MedicineDetailMapper">
<resultMap id="map" type="com.grail.interrogation.domain.MedicineDetail"> <resultMap id="map" type="com.grail.interrogation.domain.MedicineDetail">
<id property="medicineId" column="medicine_id"></id> <id property="medicineId" column="medicine_id"></id>
<result property="medicineDetailId" column="medicine_detail_id"></result>
<result property="ingredient" column="ingredient"></result> <result property="ingredient" column="ingredient"></result>
<result property="medicineName" column="medicine_name"></result> <result property="medicineName" column="medicine_name"></result>
<result property="medicineAvoid" column="medicine_avoid"></result> <result property="medicineAvoid" column="medicine_avoid"></result>
@ -25,7 +24,6 @@
<insert id="medicineDetailAdd"> <insert id="medicineDetailAdd">
insert into tb_medicine_detail ( insert into tb_medicine_detail (
medicine_detail_id,
ingredient, ingredient,
medicine_name, medicine_name,
medicine_avoid, medicine_avoid,
@ -39,28 +37,28 @@
status, status,
image image
) )
values (#{medicineDetailId},#{ingredient},#{medicineName},#{medicineAvoid},#{usageAndDosage},#{characterTwo},#{packageSpecification},#{adverseReaction},#{createId},now(),#{status},#{image}); values (#{ingredient},#{medicineName},#{medicineAvoid},#{usageAndDosage},#{characterTwo},#{packageSpecification},#{adverseReaction},#{createId},now(),#{status},#{image});
</insert> </insert>
<select id="List" resultMap="map">
<select id="medicineDetailList" resultType="com.grail.interrogation.domain.MedicineDetail"> SELECT
select medicine_id,
medicine_detail_id, medicine_name,
medicine_id, ingredient,
medicine_name, medicine_avoid,
ingredient, major_function,
medicine_avoid, usage_and_dosage,
major_function, character_two,
usage_and_dosage, package_specification,
character_two, adverse_reaction,
package_specification, `status`,
adverse_reaction, image
create_id, FROM
create_time, tb_medicine_detail a
update_id, LEFT JOIN homepage_middle_medicine b ON a.medicine_id = b.middle_medicine
update_time, WHERE
status, b.middle_homepage = #{id}
image AND
from tb_medicine_detail where status=3 and medicine_detail_id = #{id} a.`status` = 3
</select> </select>
</mapper> </mapper>