Commit e0b65d27 authored by 韩桐桐's avatar 韩桐桐

fix(ys): 救援案例管理列表排序功能补充

parent 085d46b6
package com.yeejoin.amos.boot.module.ys.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyCase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ys.api.vo.SortVo;
import org.springframework.data.repository.query.Param;
/**
......@@ -15,5 +16,6 @@ import org.springframework.data.repository.query.Param;
public interface YsEmergencyCaseMapper extends BaseMapper<YsEmergencyCase> {
Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(@Param(value = "page") Page<YsEmergencyCaseDto> page,
@Param(value = "sort") SortVo sort,
@Param(value = "dto") YsEmergencyCaseDto dto);
}
......@@ -2,8 +2,6 @@ package com.yeejoin.amos.boot.module.ys.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
......@@ -23,7 +21,7 @@ public interface IYsEmergencyCaseService {
@Transactional(rollbackFor = Exception.class)
Boolean saveOrUpdate(YsEmergencyCaseDto dto, AgencyUserModel userModel);
Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page, YsEmergencyCaseDto dto);
Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page,String sort, YsEmergencyCaseDto dto);
Boolean deleteById(String sequenceNbr);
......
package com.yeejoin.amos.boot.module.ys.api.vo;
import lombok.Builder;
import lombok.Data;
/**
* @description: 排序对象
**/
@Data
@Builder
public class SortVo {
String field;
String sortType;
}
......@@ -24,6 +24,9 @@
</if>
</where>
ORDER BY
<if test="sort != null">
tyep.${sort.field} ${sort.sortType},
</if>
tyep.create_date DESC
</select>
......
......@@ -3,12 +3,7 @@ package com.yeejoin.amos.boot.module.ys.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyPlanDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyExpertsService;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyCaseService;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyRehearsalService;
import com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyCaseServiceImpl;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
......@@ -23,7 +18,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
......@@ -123,12 +117,14 @@ public class YsEmergencyCaseController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<YsEmergencyCaseDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size,YsEmergencyCaseDto dto) {
public ResponseModel<Page<YsEmergencyCaseDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "sort", required = false) String sort,
YsEmergencyCaseDto dto) {
Page<YsEmergencyCaseDto> page = new Page<YsEmergencyCaseDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(ysEmergencyCaseServiceImpl.queryForYsEmergencyCasePage(page,dto));
return ResponseHelper.buildResponse(ysEmergencyCaseServiceImpl.queryForYsEmergencyCasePage(page, sort, dto));
}
/**
......
package com.yeejoin.amos.boot.module.ys.biz.service.impl;
import com.yeejoin.amos.boot.module.ys.api.vo.SortVo;
import com.yeejoin.amos.boot.module.ys.biz.service.CommonService;
import org.springframework.stereotype.Service;
import java.util.Optional;
/**
* 公共服务实现类
*
......@@ -12,4 +15,47 @@ import org.springframework.stereotype.Service;
@Service
public class CommonServiceImpl implements CommonService {
/**
* 排序 :页面列表排序功能支持,将 "字段,ascend" 或 "字段,descend" 转化为对应JSONObject
*
* @param sort "字段,ascend" 或 "字段,descend"
* @return JSONObject
*/
public SortVo sortFieldConversion(String sort) {
Optional<String> optionalSort = Optional.ofNullable(sort);
Optional<SortVo> optionalSortMap = optionalSort.filter(s -> !s.isEmpty())
.map(s -> {
String[] sortParts = s.split(",");
if (sortParts.length == 2) {
String field = sortParts[0];
String sortSituation = sortParts[1].contains("asc") ? "ASC" : "DESC";
return SortVo.builder()
.field(convertToUnderline(field))
.sortType(sortSituation)
.build();
}
return null;
});
return optionalSortMap.orElse(null);
}
/**
* 驼峰转下划线
*
* @param str
* @return
*/
public static String convertToUnderline(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isUpperCase(c)) {
sb.append("_").append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyCaseMapper;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyCaseService;
import com.yeejoin.amos.boot.module.ys.api.vo.CaseImportVo;
import com.yeejoin.amos.boot.module.ys.api.vo.CaseVo;
import com.yeejoin.amos.boot.module.ys.api.vo.SortVo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -43,22 +44,18 @@ import java.util.List;
* @date 2024-09-24
*/
@Service
public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,YsEmergencyCase,YsEmergencyCaseMapper> implements IYsEmergencyCaseService {
public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto, YsEmergencyCase, YsEmergencyCaseMapper> implements IYsEmergencyCaseService {
@Autowired
private YsEmergencyCaseMapper ysEmergencyCaseMapper;
@Autowired
private CommonServiceImpl commonService;
/**
* 分页查询
*/
public Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<YsEmergencyCaseDto> queryForYsEmergencyCaseList() {
return this.queryForList("" , false);
return this.queryForList("", false);
}
@Override
......@@ -80,8 +77,9 @@ public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,Y
@Override
public Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page, YsEmergencyCaseDto dto) {
return ysEmergencyCaseMapper.queryForYsEmergencyCasePage(page, dto);
public Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page, String sort, YsEmergencyCaseDto dto) {
SortVo sortMap = commonService.sortFieldConversion(sort);
return ysEmergencyCaseMapper.queryForYsEmergencyCasePage(page, sortMap, dto);
}
......@@ -118,6 +116,7 @@ public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,Y
}
return caseDto;
}
/**
* 列表数据导出
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment