Commit bb98a8cb by 冯之健

结果查询接口

parent 92d6eb3b
Pipeline #1467 failed with stages
in 0 seconds
......@@ -8,18 +8,34 @@
package com.link.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
import com.link.annotation.Login;
import com.link.annotation.LoginUser;
import com.link.common.constant.Constant;
import com.link.common.page.PageData;
import com.link.common.utils.Result;
import com.link.dto.AgentnodeDTO;
import com.link.dto.BdajobConfigDTO;
import com.link.dto.BdajobDTO;
import com.link.dto.OoziejobresultDTO;
import com.link.entity.UserEntity;
import com.link.service.AgentnodeService;
import com.link.service.BdajobConfigService;
import com.link.service.BdajobService;
import com.link.service.OoziejobresultService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -29,6 +45,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -47,10 +66,18 @@ public class ApiController {
private BdajobService bdajobService;
@Autowired
private OoziejobresultService ooziejobresultService;
@Autowired
private BdajobConfigService bdajobConfigService;
@Login
@GetMapping("getAgentnode")
@ApiOperation("获取节点")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String")
})
public Result<PageData<AgentnodeDTO>> getAgentnode(@ApiIgnore @RequestParam Map<String,Object> params){
PageData<AgentnodeDTO> page = agentnodeService.page(params);
return new Result<PageData<AgentnodeDTO>>().ok(page);
......@@ -59,17 +86,77 @@ public class ApiController {
@Login
@GetMapping("getBdajob")
@ApiOperation("获取应用")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String")
})
public Result<PageData<BdajobDTO>> getBdajob(@ApiIgnore @RequestParam Map<String,Object> params){
PageData<BdajobDTO> page = bdajobService.page(params);
Map<String,Object> paramsMap = new HashMap<>();
for(BdajobDTO bdajobDto:page.getList()){
paramsMap.clear();
paramsMap.put("jobId",bdajobDto.getJobId());
List<BdajobConfigDTO> bdajobConfigDtoList = bdajobConfigService.list(paramsMap);
bdajobDto.setBdajobConfigDtoList(bdajobConfigDtoList);
}
return new Result<PageData<BdajobDTO>>().ok(page);
}
@Login
@GetMapping("getOoziejobresult")
@ApiOperation("获取结果")
public Result<PageData<OoziejobresultDTO>> getOoziejobresult(@ApiIgnore @RequestParam Map<String,Object> params){
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "nodeId", value = "节点id(节点信息的id)", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "jobId", value = "应用id(应用信息的jobid)", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "beginTime", value = "开始时间(yyyy-MM-dd HH:mm:ss)", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "endTime", value = "结束时间(yyyy-MM-dd HH:mm:ss)", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "fieldNames", value = "指标(多个逗号隔开)", paramType = "query", dataType="String")
})
public Result<PageData<Object>> getOoziejobresult(@ApiIgnore @RequestParam Map<String,Object> params){
PageData<OoziejobresultDTO> page = ooziejobresultService.getPage(params);
return new Result<PageData<OoziejobresultDTO>>().ok(page);
List<Object> resultList = new ArrayList<>();
String fieldNames = Convert.toStr(params.get("fieldNames"));
String[] fieldNameArr = StrUtil.split(fieldNames,",");
PageData<Object> resultPage = new PageData<>(new ArrayList<>(),0);
if(ArrayUtil.isNotEmpty(fieldNameArr)){
for(OoziejobresultDTO ooziejobresultDTO:page.getList()){
String result = ooziejobresultDTO.getResult();
if(StrUtil.isNotBlank(result)){
if(JSON.isValid(result)){
if(JSON.isValidObject(result)){
JSONObject jsonObject = JSON.parseObject(result);
Map resultMap = (MapUtil.getAny(jsonObject,fieldNameArr));
resultList.add(resultMap);
}else{
JSONArray jsonArray = JSON.parseArray(result);
List<Object> jsonArrayList = new ArrayList<>();
if(CollUtil.isNotEmpty(jsonArray)){
//只过滤第一层
for(Object o:jsonArray){
if(o instanceof JSONObject){
jsonArrayList.add(MapUtil.getAny((JSONObject)o,fieldNameArr));
}else{
jsonArrayList.add(o);
}
}
}
resultList.add(jsonArrayList);
}
}
}
}
resultPage = new PageData<>(resultList,page.getTotal());
}
return new Result<PageData<Object>>().ok(resultPage);
}
}
\ No newline at end of file
package com.link.dao;
import com.link.common.dao.BaseDao;
import com.link.entity.BdajobConfigEntity;
import com.link.entity.BdajobEntity;
import org.apache.ibatis.annotations.Mapper;
/**
*
*
* @author Mr.Feng zhijian.feng@hrtuoyu.com
* @since 1.0.0 2020-04-13
*/
@Mapper
public interface BdajobConfigDao extends BaseDao<BdajobConfigEntity> {
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ public class AgentnodeDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "省节点id")
private Long id;
private String id;
@ApiModelProperty(value = "节点名称")
private String name;
......
package com.link.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author Mr.Feng zhijian.feng@hrtuoyu.com
* @since 1.0.0 2020-04-13
*/
@Data
@ApiModel(value = "")
public class BdajobConfigDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("应用id")
private String jobId;
@ApiModelProperty("字段名")
private String fieldName;
@ApiModelProperty("字段描述")
private String fieldDesc;
@ApiModelProperty("创建时间")
private Date createTime;
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
......@@ -58,5 +59,8 @@ public class BdajobDTO implements Serializable {
@ApiModelProperty(value = "发布账户")
private String publishAccount;
@ApiModelProperty(value = "应用指标集合")
private List<BdajobConfigDTO> bdajobConfigDtoList;
}
\ No newline at end of file
......@@ -16,7 +16,10 @@ import java.util.Date;
@TableName("agentnode")
public class AgentnodeEntity {
private static final long serialVersionUID = 1L;
/**
* 省节点id
*/
private String id;
/**
* 节点名称
*/
......
package com.link.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* @author Mr.Feng zhijian.feng@hrtuoyu.com
* @since 1.0.0 2020-04-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("bdajob_config")
public class BdajobConfigEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 应用id
*/
private String jobId;
/**
* 字段名
*/
private String fieldName;
/**
* 字段描述
*/
private String fieldDesc;
/**
* 创建时间
*/
private Date createTime;
}
\ No newline at end of file
package com.link.service;
import com.link.common.service.CrudService;
import com.link.dto.BdajobConfigDTO;
import com.link.dto.BdajobDTO;
import com.link.entity.BdajobConfigEntity;
import com.link.entity.BdajobEntity;
/**
*
*
* @author Mr.Feng zhijian.feng@hrtuoyu.com
* @since 1.0.0 2020-04-13
*/
public interface BdajobConfigService extends CrudService<BdajobConfigEntity, BdajobConfigDTO> {
}
\ No newline at end of file
package com.link.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.link.common.service.impl.CrudServiceImpl;
import com.link.dao.BdajobConfigDao;
import com.link.dao.BdajobDao;
import com.link.dto.BdajobConfigDTO;
import com.link.dto.BdajobDTO;
import com.link.entity.BdajobConfigEntity;
import com.link.entity.BdajobEntity;
import com.link.service.BdajobConfigService;
import com.link.service.BdajobService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @author Mr.Feng zhijian.feng@hrtuoyu.com
* @since 1.0.0 2020-04-13
*/
@Service
public class BdajobConfigServiceImpl extends CrudServiceImpl<BdajobConfigDao, BdajobConfigEntity, BdajobConfigDTO> implements BdajobConfigService {
@Override
public QueryWrapper<BdajobConfigEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get("id");
String jobId = Convert.toStr(params.get("jobId"));
QueryWrapper<BdajobConfigEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), "id", id);
wrapper.eq(StrUtil.isNotBlank(jobId), "job_id", jobId);
return wrapper;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.dao.BdajobConfigDao">
</mapper>
\ No newline at end of file
......@@ -9,10 +9,10 @@
left join ooziejob ooziejob on t.apppath = ooziejob.path and t.nodeid = ooziejob.id
<where>
<if test="params != null and params.nodeId != null and params.nodeId != ''">
and t.nodeid = #{nodeId}
and t.nodeid = #{params.nodeId}
</if>
<if test="params != null and params.jobId != null and params.jobId != ''">
and ooziejob.jobid = #{jobId}
and ooziejob.jobid = #{params.jobId}
</if>
<if test="params != null and params.beginTime != null and params.beginTime != ''">
and t.createdtime &gt;= #{params.beginTime}
......
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