提交 2c3e3187 authored 作者: 黄承天's avatar 黄承天

[设置模块]增加统计图设置Vo返回类型以及排序查询

上级 5ae61b77
package com.tykj.setting.controller; package com.tykj.setting.controller;
import com.tykj.base.result.ResultUtil; import com.tykj.base.result.ResultUtil;
import com.tykj.setting.entity.vo.StatisticsSetting; import com.tykj.setting.entity.vo.StatisticsSettingVo;
import com.tykj.setting.service.StatisticsSettingService; import com.tykj.setting.service.StatisticsSettingService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -19,15 +19,15 @@ public class StatisticsSettingController { ...@@ -19,15 +19,15 @@ public class StatisticsSettingController {
@PostMapping @PostMapping
@ApiOperation("新增统计图设置") @ApiOperation("新增统计图设置")
public ResponseEntity save(@RequestBody StatisticsSetting statisticsSetting){ public ResponseEntity save(@RequestBody StatisticsSettingVo statisticsSettingVo){
statisticsSettingService.save(statisticsSetting); statisticsSettingService.save(statisticsSettingVo);
return ResultUtil.success("", "保存成功"); return ResultUtil.success("", "保存成功");
} }
@PutMapping @PutMapping
@ApiOperation("更新统计图设置") @ApiOperation("更新统计图设置")
public ResponseEntity update(@RequestBody StatisticsSetting statisticsSetting){ public ResponseEntity update(@RequestBody StatisticsSettingVo statisticsSettingVo){
statisticsSettingService.update(statisticsSetting); statisticsSettingService.update(statisticsSettingVo);
return ResultUtil.success("", "更新成功"); return ResultUtil.success("", "更新成功");
} }
...@@ -38,7 +38,7 @@ public class StatisticsSettingController { ...@@ -38,7 +38,7 @@ public class StatisticsSettingController {
} }
@GetMapping("/limit/{limit}") @GetMapping("/limit/{limit}")
@ApiOperation("指定数量查找序号前几个统计图设置") @ApiOperation("指定数量查找序号前几个统计图设置 按序号排序")
public ResponseEntity findLimit(@PathVariable Integer limit){ public ResponseEntity findLimit(@PathVariable Integer limit){
return ResultUtil.success(statisticsSettingService.findByLimit(limit),"查找成功"); return ResultUtil.success(statisticsSettingService.findByLimit(limit),"查找成功");
} }
......
package com.tykj.setting.entity.vo; package com.tykj.setting.entity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -30,7 +30,7 @@ public class StatisticsSetting { ...@@ -30,7 +30,7 @@ public class StatisticsSetting {
@ApiModelProperty("序号") @ApiModelProperty("序号")
private Integer order; private Integer order;
@ApiModelProperty("参数内容") @ApiModelProperty("参数内容 json格式")
private String params; private String params;
} }
package com.tykj.setting.entity.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class StatisticsParam {
private String name;
private String sql;
private String title;
}
package com.tykj.setting.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class StatisticsSettingVo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("主键")
private Integer id;
@ApiModelProperty("名称 ")
private String name;
@ApiModelProperty("类型")
private Integer type;
@ApiModelProperty("序号")
private Integer order;
@ApiModelProperty("参数内容")
private List<StatisticsParam> params;
}
package com.tykj.setting.repository; package com.tykj.setting.repository;
import com.tykj.setting.entity.vo.StatisticsSetting; import com.tykj.setting.entity.StatisticsSetting;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List; import java.util.List;
......
package com.tykj.setting.service; package com.tykj.setting.service;
import com.tykj.setting.entity.vo.StatisticsSetting; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.tykj.setting.entity.StatisticsSetting;
import com.tykj.setting.entity.vo.StatisticsParam;
import com.tykj.setting.entity.vo.StatisticsSettingVo;
import com.tykj.setting.repository.StatisticsSettingRepository; import com.tykj.setting.repository.StatisticsSettingRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.stream.Collectors;
@Service @Service
public class StatisticsSettingService { public class StatisticsSettingService {
...@@ -15,34 +22,44 @@ public class StatisticsSettingService { ...@@ -15,34 +22,44 @@ public class StatisticsSettingService {
@Autowired @Autowired
private StatisticsSettingRepository statisticsSettingRepository; private StatisticsSettingRepository statisticsSettingRepository;
public void save(StatisticsSetting statisticsSetting) { public void save(StatisticsSettingVo statisticsSettingVo) {
boolean newData = Objects.isNull(statisticsSetting.getId()); boolean newData = Objects.isNull(statisticsSettingVo.getId());
if (newData) { if (newData) {
StatisticsSetting statisticsSetting = statisticsSetting(statisticsSettingVo);
handleAndSave(statisticsSetting); handleAndSave(statisticsSetting);
} else { } else {
throw new RuntimeException("新增数据不可附带id"); throw new RuntimeException("新增数据不可附带id");
} }
} }
public void update(StatisticsSetting statisticsSetting) { public void update(StatisticsSettingVo statisticsSettingVo) {
boolean exist = Objects.nonNull(statisticsSetting.getId()) && statisticsSettingRepository.existsById(statisticsSetting.getId()); boolean exist = Objects.nonNull(statisticsSettingVo.getId()) && statisticsSettingRepository.existsById(statisticsSettingVo.getId());
if (exist) { if (exist) {
StatisticsSetting statisticsSetting = statisticsSetting(statisticsSettingVo);
handleAndSave(statisticsSetting); handleAndSave(statisticsSetting);
} else { } else {
throw new RuntimeException("未找到该id的数据"); throw new RuntimeException("未找到该id的数据");
} }
} }
public List<StatisticsSetting> findByLimit(Integer limit) { public List<StatisticsSettingVo> findByLimit(Integer limit) {
return statisticsSettingRepository.findAllByOrderLessThanEqual(limit); List<StatisticsSetting> result = statisticsSettingRepository.findAllByOrderLessThanEqual(limit);
return result.stream()
.map(this::statisticsSettingVo)
.sorted(Comparator.comparingInt(StatisticsSettingVo::getOrder))
.collect(Collectors.toList());
} }
public List<StatisticsSetting> findAll() { public List<StatisticsSettingVo> findAll() {
return statisticsSettingRepository.findAll(); return statisticsSettingRepository.findAll().stream()
.map(this::statisticsSettingVo)
.collect(Collectors.toList());
} }
public StatisticsSetting findById(Integer id) { public StatisticsSettingVo findById(Integer id) {
return statisticsSettingRepository.findById(id).orElseThrow(() -> new RuntimeException("未找到该id的数据")); return statisticsSettingRepository.findById(id)
.map(this::statisticsSettingVo)
.orElseThrow(() -> new RuntimeException("未找到该id的数据"));
} }
public void deleteById(Integer id) { public void deleteById(Integer id) {
...@@ -74,4 +91,37 @@ public class StatisticsSettingService { ...@@ -74,4 +91,37 @@ public class StatisticsSettingService {
statisticsSettingRepository.save(statisticsSetting); statisticsSettingRepository.save(statisticsSetting);
} }
private StatisticsSetting statisticsSetting(StatisticsSettingVo statisticsSettingVo) {
String params = "[]";
try {
params = new ObjectMapper().writeValueAsString(statisticsSettingVo.getParams());
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return new StatisticsSetting(
statisticsSettingVo.getId(),
statisticsSettingVo.getName(),
statisticsSettingVo.getType(),
statisticsSettingVo.getOrder(),
params
);
}
private StatisticsSettingVo statisticsSettingVo(StatisticsSetting statisticsSetting) {
List<StatisticsParam> params = new ArrayList<>();
try {
params = new ObjectMapper().readValue(statisticsSetting.getParams(), new TypeReference<List<StatisticsParam>>() {
});
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return new StatisticsSettingVo(
statisticsSetting.getId(),
statisticsSetting.getName(),
statisticsSetting.getType(),
statisticsSetting.getOrder(),
params
);
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论