模板解析功能提交
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.njcn.algorithm.api;
|
||||
|
||||
import com.njcn.algorithm.api.fallback.CsEdDataFeignClientFallbackFactory;
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.po.CsEdDataPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsEdDataVO;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.ALGORITHM_BOOT, path = "/dict", fallbackFactory = CsEdDataFeignClientFallbackFactory.class,contextId = "edData")
|
||||
public interface CsDictFeignClient {
|
||||
|
||||
@PostMapping("/getOwnAndFatherData")
|
||||
HttpResult<CsDictDTO> getOwnAndFatherData(@RequestParam("name")String name);
|
||||
|
||||
}
|
||||
@@ -5,12 +5,20 @@ import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
|
||||
import com.njcn.algorithm.pojo.param.CsDevModelQueryListParm;
|
||||
import com.njcn.algorithm.pojo.po.CsDevModelPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
@@ -24,4 +32,7 @@ public interface DevModelFeignClient {
|
||||
|
||||
@PostMapping("/queryDevModelOne")
|
||||
HttpResult<CsDevModelPageVO> queryDevModelOne(@RequestBody CsDevModelQueryListParm csDevModelQueryListParm);
|
||||
|
||||
@PostMapping("/findModel")
|
||||
HttpResult<CsDevModelPO> findModel(@RequestParam("devType") String devType, @RequestParam("version") String version, @RequestParam("time") String time);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.njcn.algorithm.api.fallback;
|
||||
|
||||
import com.njcn.algorithm.api.CsDictFeignClient;
|
||||
import com.njcn.algorithm.api.CsEdDataFeignClient;
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.po.CsEdDataPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsEdDataVO;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CsDictFeignClientFallbackFactory implements FallbackFactory<CsDictFeignClient> {
|
||||
@Override
|
||||
public CsDictFeignClient create(Throwable cause) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (cause.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) cause.getCause();
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new CsDictFeignClient() {
|
||||
|
||||
@Override
|
||||
public HttpResult<CsDictDTO> getOwnAndFatherData(String name) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取指标自身和父级信息",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -46,6 +46,12 @@ public class DevModelFeignClientFallbackFactory implements FallbackFactory<DevMo
|
||||
log.error("{}异常,降级处理,异常为:{}","查询模板版本信息",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<CsDevModelPO> findModel(String devType, String version, String time) {
|
||||
log.error("{}异常,降级处理,异常为:{}","根据条件查询模板",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.algorithm.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 类的介绍:
|
||||
*
|
||||
* @author xuyang
|
||||
* @version 1.0.0
|
||||
* @createTime 2023/5/18 11:08
|
||||
*/
|
||||
@Data
|
||||
public class CsDictDTO implements Serializable {
|
||||
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String fatherId;
|
||||
|
||||
private String fatherName;
|
||||
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -43,7 +44,7 @@ public class CsDevModelAddParm {
|
||||
@ApiModelProperty(value = "版本日期")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date versionDate;
|
||||
private LocalDateTime versionDate;
|
||||
|
||||
/**
|
||||
* 装置模板文件路径
|
||||
@@ -51,5 +52,6 @@ public class CsDevModelAddParm {
|
||||
@ApiModelProperty(value = "装置模板文件路径")
|
||||
private String filePath;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "系统软件表Id")
|
||||
private String softInfoId;
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -52,7 +53,7 @@ public class CsDevModelPO extends BaseEntity {
|
||||
* 版本日期
|
||||
*/
|
||||
@TableField(value = "version_date")
|
||||
private Date versionDate;
|
||||
private LocalDateTime versionDate;
|
||||
|
||||
/**
|
||||
* 装置模板文件路径
|
||||
@@ -66,4 +67,7 @@ public class CsDevModelPO extends BaseEntity {
|
||||
*/
|
||||
@TableField(value = "status")
|
||||
private String status;
|
||||
|
||||
@TableField(value = "soft_info_id")
|
||||
private String softInfoId;
|
||||
}
|
||||
@@ -16,14 +16,12 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
@@ -88,6 +86,21 @@ public class DevModelController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDevModelPageVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/findModel")
|
||||
@ApiOperation("根据条件查询模板")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "devType", value = "装置类型", required = true),
|
||||
@ApiImplicitParam(name = "version", value = "版本", required = true),
|
||||
@ApiImplicitParam(name = "time", value = "时间", required = true)
|
||||
})
|
||||
public HttpResult<CsDevModelPO> findModel(@RequestParam("devType") String devType,@RequestParam("version") String version,@RequestParam("time") String time){
|
||||
System.out.println(devType);
|
||||
System.out.println(version);
|
||||
System.out.println(time);
|
||||
String methodDescribe = getMethodDescribe("findModel");
|
||||
CsDevModelPO csDevModelPo = csDevModelService.findModel(devType,version,time);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDevModelPo, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,26 @@
|
||||
package com.njcn.algorithm.controller.dict;
|
||||
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.vo.CsDictVO;
|
||||
import com.njcn.algorithm.service.CsDictService;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
@@ -18,10 +32,10 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/dict")
|
||||
@Api(tags = "字典表/表结构更改弃用")
|
||||
@Api(tags = "表名/指标字典表")
|
||||
@AllArgsConstructor
|
||||
public class DictDataController extends BaseController {
|
||||
// private final CsDictService csDictService;
|
||||
private final CsDictService csDictService;
|
||||
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
// @PostMapping("/addDict")
|
||||
// @ApiOperation("新增字典")
|
||||
@@ -42,4 +56,16 @@ public class DictDataController extends BaseController {
|
||||
//
|
||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDictVOList, methodDescribe);
|
||||
// }
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getOwnAndFatherData")
|
||||
@ApiOperation("查询自身和父级信息")
|
||||
@ApiImplicitParam(name = "name", value = "指标名称", required = true)
|
||||
public HttpResult<CsDictDTO> getOwnAndFatherData(@RequestParam("name")String name){
|
||||
String methodDescribe = getMethodDescribe("getOwnAndFatherData");
|
||||
CsDictDTO data = csDictService.getOwnAndFatherData(name);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.algorithm.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.po.CsDictPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -13,4 +15,6 @@ import com.njcn.algorithm.pojo.po.CsDictPO;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsDictMapper extends BaseMapper<CsDictPO> {
|
||||
|
||||
CsDictDTO getOwnAndFatherData(@Param("name") String name);
|
||||
}
|
||||
@@ -20,4 +20,31 @@
|
||||
id, pid, `name`, another_name, `state`, sort, create_by, create_time, update_by,
|
||||
update_time
|
||||
</sql>
|
||||
|
||||
<select id="getOwnAndFatherData" resultType="com.njcn.algorithm.pojo.dto.CsDictDTO">
|
||||
select
|
||||
id,
|
||||
(
|
||||
select
|
||||
id
|
||||
from
|
||||
cs_dict
|
||||
where
|
||||
id = t0.pid
|
||||
and state = 1) fatherId,
|
||||
(
|
||||
select
|
||||
name
|
||||
from
|
||||
cs_dict
|
||||
where
|
||||
id = t0.pid
|
||||
and state = 1) fatherName,
|
||||
another_name name
|
||||
from
|
||||
cs_dict t0
|
||||
where
|
||||
name = #{name}
|
||||
and state = 1
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -8,6 +8,7 @@ import com.njcn.algorithm.pojo.param.CsDevModelQueryListParm;
|
||||
import com.njcn.algorithm.pojo.param.CsDevModelQueryParm;
|
||||
import com.njcn.algorithm.pojo.po.CsDevModelPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -53,4 +54,6 @@ public interface CsDevModelService extends IService<CsDevModelPO>{
|
||||
* @param projectEquipmentQueryParm
|
||||
*/
|
||||
CsDevModelPageVO queryDevModelOne(CsDevModelQueryListParm projectEquipmentQueryParm);
|
||||
|
||||
CsDevModelPO findModel(String devType, String version, String time);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.algorithm.service;
|
||||
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.param.CsDictAddParm;
|
||||
import com.njcn.algorithm.pojo.po.CsDictPO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@@ -22,4 +23,10 @@ public interface CsDictService extends IService<CsDictPO>{
|
||||
Boolean addDict(List<CsDictAddParm> csDictAddParms);
|
||||
|
||||
List<CsDictVO> queryDictData(String dictType);
|
||||
|
||||
/**
|
||||
* 获取当前资源的信息以及父级信息
|
||||
* @return
|
||||
*/
|
||||
CsDictDTO getOwnAndFatherData(String name);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.njcn.algorithm.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.algorithm.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.algorithm.mapper.CsDevModelMapper;
|
||||
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
|
||||
import com.njcn.algorithm.pojo.param.CsDevModelAuditParm;
|
||||
@@ -11,10 +14,15 @@ import com.njcn.algorithm.pojo.param.CsDevModelQueryParm;
|
||||
import com.njcn.algorithm.pojo.po.CsDevModelPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
|
||||
import com.njcn.algorithm.service.CsDevModelService;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
@@ -60,4 +68,14 @@ public class CsDevModelServiceImpl extends ServiceImpl<CsDevModelMapper, CsDevMo
|
||||
CsDevModelPageVO result = this.getBaseMapper ().queryOne(csDevModelQueryListParm);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CsDevModelPO findModel(String devType, String version, String time) {
|
||||
LambdaQueryWrapper<CsDevModelPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(CsDevModelPO::getDevType,devType)
|
||||
.eq(CsDevModelPO::getVersionNo,version)
|
||||
.eq(CsDevModelPO::getVersionDate, LocalDateTime.parse(time, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)))
|
||||
.eq(CsDevModelPO::getStatus,1);
|
||||
return this.baseMapper.selectOne(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.algorithm.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.algorithm.mapper.CsDictMapper;
|
||||
import com.njcn.algorithm.pojo.dto.CsDictDTO;
|
||||
import com.njcn.algorithm.pojo.param.CsDictAddParm;
|
||||
import com.njcn.algorithm.pojo.po.CsDictPO;
|
||||
import com.njcn.algorithm.pojo.vo.CsDictVO;
|
||||
@@ -83,4 +84,13 @@ public class CsDictServiceImpl extends ServiceImpl<CsDictMapper, CsDictPO> imple
|
||||
return csDictVO;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CsDictDTO getOwnAndFatherData(String name) {
|
||||
CsDictDTO csDictDTO = this.baseMapper.getOwnAndFatherData(name);
|
||||
if (Objects.isNull(csDictDTO)){
|
||||
throw new BusinessException(AlgorithmResponseEnum.DICT_DATA_ERROR);
|
||||
}
|
||||
return csDictDTO;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user