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

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

上级 5ae61b77
package com.tykj.setting.controller;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -19,15 +19,15 @@ public class StatisticsSettingController {
@PostMapping
@ApiOperation("新增统计图设置")
public ResponseEntity save(@RequestBody StatisticsSetting statisticsSetting){
statisticsSettingService.save(statisticsSetting);
public ResponseEntity save(@RequestBody StatisticsSettingVo statisticsSettingVo){
statisticsSettingService.save(statisticsSettingVo);
return ResultUtil.success("", "保存成功");
}
@PutMapping
@ApiOperation("更新统计图设置")
public ResponseEntity update(@RequestBody StatisticsSetting statisticsSetting){
statisticsSettingService.update(statisticsSetting);
public ResponseEntity update(@RequestBody StatisticsSettingVo statisticsSettingVo){
statisticsSettingService.update(statisticsSettingVo);
return ResultUtil.success("", "更新成功");
}
......@@ -38,7 +38,7 @@ public class StatisticsSettingController {
}
@GetMapping("/limit/{limit}")
@ApiOperation("指定数量查找序号前几个统计图设置")
@ApiOperation("指定数量查找序号前几个统计图设置 按序号排序")
public ResponseEntity findLimit(@PathVariable Integer limit){
return ResultUtil.success(statisticsSettingService.findByLimit(limit),"查找成功");
}
......
package com.tykj.setting.entity.vo;
package com.tykj.setting.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -30,7 +30,7 @@ public class StatisticsSetting {
@ApiModelProperty("序号")
private Integer order;
@ApiModelProperty("参数内容")
@ApiModelProperty("参数内容 json格式")
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;
import com.tykj.setting.entity.vo.StatisticsSetting;
import com.tykj.setting.entity.StatisticsSetting;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
......
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@Service
public class StatisticsSettingService {
......@@ -15,34 +22,44 @@ public class StatisticsSettingService {
@Autowired
private StatisticsSettingRepository statisticsSettingRepository;
public void save(StatisticsSetting statisticsSetting) {
boolean newData = Objects.isNull(statisticsSetting.getId());
public void save(StatisticsSettingVo statisticsSettingVo) {
boolean newData = Objects.isNull(statisticsSettingVo.getId());
if (newData) {
StatisticsSetting statisticsSetting = statisticsSetting(statisticsSettingVo);
handleAndSave(statisticsSetting);
} else {
throw new RuntimeException("新增数据不可附带id");
}
}
public void update(StatisticsSetting statisticsSetting) {
boolean exist = Objects.nonNull(statisticsSetting.getId()) && statisticsSettingRepository.existsById(statisticsSetting.getId());
public void update(StatisticsSettingVo statisticsSettingVo) {
boolean exist = Objects.nonNull(statisticsSettingVo.getId()) && statisticsSettingRepository.existsById(statisticsSettingVo.getId());
if (exist) {
StatisticsSetting statisticsSetting = statisticsSetting(statisticsSettingVo);
handleAndSave(statisticsSetting);
} else {
throw new RuntimeException("未找到该id的数据");
}
}
public List<StatisticsSetting> findByLimit(Integer limit) {
return statisticsSettingRepository.findAllByOrderLessThanEqual(limit);
public List<StatisticsSettingVo> findByLimit(Integer 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() {
return statisticsSettingRepository.findAll();
public List<StatisticsSettingVo> findAll() {
return statisticsSettingRepository.findAll().stream()
.map(this::statisticsSettingVo)
.collect(Collectors.toList());
}
public StatisticsSetting findById(Integer id) {
return statisticsSettingRepository.findById(id).orElseThrow(() -> new RuntimeException("未找到该id的数据"));
public StatisticsSettingVo findById(Integer id) {
return statisticsSettingRepository.findById(id)
.map(this::statisticsSettingVo)
.orElseThrow(() -> new RuntimeException("未找到该id的数据"));
}
public void deleteById(Integer id) {
......@@ -74,4 +91,37 @@ public class StatisticsSettingService {
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论