评论新增了标题1111444
This commit is contained in:
parent
8c8b779ab3
commit
56b1b3b7ad
@ -73,6 +73,7 @@ public class CaseExchangeController {
|
||||
UserModel user = new UserModel();
|
||||
BasicHospitalModel basicHospital = new BasicHospitalModel();
|
||||
|
||||
// 此步骤是为了在我的病例交流列表页面少查询
|
||||
String userId = (String) httpServletRequest.getAttribute("userId");
|
||||
if (userId != null) {
|
||||
user = userDao.selectById(Long.valueOf(userId));
|
||||
@ -270,43 +271,33 @@ public class CaseExchangeController {
|
||||
/**
|
||||
* 临床病例库-病例交流-列表
|
||||
*/
|
||||
// @PostMapping("/exchange/list")
|
||||
// public Response<Map<String, Object>> getCaseExchangeSearchPage(
|
||||
// @Validated()
|
||||
// @RequestBody getCaseExchangeSearchPage request
|
||||
// ) {
|
||||
// UserModel user = new UserModel();
|
||||
// BasicHospitalModel basicHospital = new BasicHospitalModel();
|
||||
//
|
||||
// String userId = (String) httpServletRequest.getAttribute("userId");
|
||||
// if (userId != null) {
|
||||
// user = userDao.selectById(Long.valueOf(userId));
|
||||
// if (user == null) {
|
||||
// return Response.error();
|
||||
// }
|
||||
//
|
||||
// // 获取当前用户所属医院
|
||||
// basicHospital = basicHospitalDao.selectById(user.getHospitalId());
|
||||
// if (basicHospital == null) {
|
||||
// return Response.error();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// request.validateForPage();
|
||||
//
|
||||
// Map<String, Object> resultMap = new HashMap<>();
|
||||
//
|
||||
// Page<CaseExchangeDto> page = new Page<>(request.getPage(), request.getPageSize());
|
||||
//
|
||||
// // 获取文章数据
|
||||
// IPage<CaseExchangeDto> resultPage = caseExchangeDao.getCaseExchangeSearchPage(
|
||||
// page,
|
||||
// request.getKeyword(),
|
||||
// request.getUserId(),
|
||||
// request.getIsSelected(),
|
||||
// request.handleOrder()
|
||||
// );
|
||||
//
|
||||
@PostMapping("/exchange/list")
|
||||
public Response<Map<String, Object>> getCaseExchangeSearchList(
|
||||
@Validated()
|
||||
@RequestBody getCaseExchangeSearchList request
|
||||
) {
|
||||
request.validateForLimit();
|
||||
|
||||
|
||||
LambdaQueryWrapper<CaseExchangeModel> selectedQueryWrapper = new LambdaQueryWrapper<>();
|
||||
selectedQueryWrapper.eq(CaseExchangeModel::getExchangeStatus, 1) // 上线状态
|
||||
.eq(CaseExchangeModel::getIsSelected, 1)
|
||||
.orderByDesc(CaseExchangeModel::getCreatedAt) // 按发布时间倒序
|
||||
.last("LIMIT 3"); // 只取2条记录
|
||||
List<CaseExchangeModel> selectedExchanges = caseExchangeDao.selectList(selectedQueryWrapper);
|
||||
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
|
||||
|
||||
// 获取文章数据
|
||||
IPage<CaseExchangeDto> resultPage = caseExchangeDao.getCaseExchangeSearchList(
|
||||
request.getLimit(),
|
||||
request.getKeyword(),
|
||||
request.getIsSelected(),
|
||||
request.handleOrder()
|
||||
);
|
||||
|
||||
// for (CaseExchangeDto dto : resultPage.getRecords()) {
|
||||
// // 查找用户所属医院
|
||||
// if (userId != null){
|
||||
@ -357,13 +348,13 @@ public class CaseExchangeController {
|
||||
// dto.setLabel(caseExchangeLabelDto);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// resultMap.put("page", resultPage.getCurrent());
|
||||
// resultMap.put("pageSize", resultPage.getSize());
|
||||
// resultMap.put("total", resultPage.getTotal());
|
||||
// resultMap.put("data", resultPage.getRecords());
|
||||
// return Response.success(resultMap);
|
||||
// }
|
||||
|
||||
resultMap.put("page", resultPage.getCurrent());
|
||||
resultMap.put("pageSize", resultPage.getSize());
|
||||
resultMap.put("total", resultPage.getTotal());
|
||||
resultMap.put("data", resultPage.getRecords());
|
||||
return Response.success(resultMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 病例交流-详情-投票数据
|
||||
|
||||
@ -20,11 +20,4 @@ public class IndexController extends BaseController {
|
||||
public Response<GetIndexClinicalDto> getIndexClinical() {
|
||||
return Response.success(indexService.GetIndexClinical());
|
||||
}
|
||||
|
||||
// 首页-病例交流
|
||||
// @GetMapping("/index/exchange")
|
||||
// public Response<GetIndexExchangeDto> getIndexExchange() {
|
||||
// return Response.success(indexService.GetIndexExchange());
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,18 @@ public interface CaseExchangeDao extends BaseMapper<CaseExchangeModel> {
|
||||
@Param("order") Map<String, String> order
|
||||
);
|
||||
|
||||
/**
|
||||
* 临床病例库-搜索
|
||||
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
||||
* @param order 排序
|
||||
*/
|
||||
IPage<CaseExchangeDto> getCaseExchangeSearchList(
|
||||
@Param("limit") Integer limit,
|
||||
@Param("keyword") String keyword,
|
||||
@Param("isSelected") Integer isSelected,
|
||||
@Param("order") Map<String, String> order
|
||||
);
|
||||
|
||||
/**
|
||||
* Inc 自增
|
||||
* @param exchangeId 文章 ID
|
||||
|
||||
@ -0,0 +1,79 @@
|
||||
package com.example.caseData.request.caseExchangeRequest;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class getCaseExchangeSearchList {
|
||||
@JsonProperty("limit")
|
||||
private Integer limit = 1;
|
||||
|
||||
// 标题/作者名称/疾病名称
|
||||
@JsonProperty("keyword")
|
||||
private String keyword;
|
||||
|
||||
// 是否被精选(0:否 1:是)
|
||||
@JsonProperty("is_selected")
|
||||
private Integer isSelected;
|
||||
|
||||
// 排序字段
|
||||
private OrderRequest order;
|
||||
|
||||
/**
|
||||
* 排序字段嵌套结构体
|
||||
*/
|
||||
@Data
|
||||
public static class OrderRequest {
|
||||
@JsonProperty("created_at")
|
||||
private String createdAt; // 创建时间
|
||||
|
||||
@JsonProperty("read_num")
|
||||
private String readNum; // 阅读量
|
||||
|
||||
@JsonProperty("push_date")
|
||||
private String pushDate; // 发表时间
|
||||
|
||||
public Map<String, String> toMap() {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (StringUtils.hasText(createdAt)) {
|
||||
map.put("a.created_at", createdAt);
|
||||
}
|
||||
|
||||
if (StringUtils.hasText(readNum)) {
|
||||
map.put("a.read_num", readNum);
|
||||
}
|
||||
|
||||
if (StringUtils.hasText(pushDate)) {
|
||||
map.put("a.push_date", pushDate);
|
||||
}
|
||||
|
||||
// 默认排序(如果用户未传递任何排序字段)
|
||||
if (map.isEmpty()) {
|
||||
map.put("a.updated_at", "desc");
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取排序字段,若无用户输入则使用默认排序
|
||||
*/
|
||||
public Map<String, String> handleOrder() {
|
||||
return order != null ? order.toMap() : new OrderRequest().toMap();
|
||||
}
|
||||
|
||||
// ✅ 校验分页参数
|
||||
public void validateForLimit() {
|
||||
// 如果 page 为空,设为默认值 1
|
||||
if (limit == null) {
|
||||
limit = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user