Commit 5ad3a698 authored by 王锦盛's avatar 王锦盛

1、框架调整优化;2、模型发布管理版本模块接口添加

parent 3deb8c21
......@@ -232,7 +232,7 @@
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.pms.ocp.StartApp</mainClass>
<mainClass>com.nx.umms.UmmsApplication</mainClass>
</configuration>
</plugin>
</plugins>
......
package com.pms.ocp;
package com.nx.umms;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
......@@ -19,13 +19,13 @@ import java.util.TimeZone;
*/
@SpringBootApplication
@MapperScan(basePackages = {"com.pms.ocp.mapper"})
@MapperScan(basePackages = {"com.nx.umms.mapper"})
@ConfigurationPropertiesScan
@EnableOpenApi
public class OcpApplication {
public class UmmsApplication {
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
SpringApplication.run(OcpApplication.class, args);
SpringApplication.run(UmmsApplication.class, args);
}
/**
......
package com.pms.ocp.common.aspectj;
package com.nx.umms.common.aspectj;
import java.lang.annotation.*;
......
package com.pms.ocp.common.aspectj;
package com.nx.umms.common.aspectj;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.pms.ocp.model.entity.ModelAudit;
import com.pms.ocp.service.ModelAuditService;
import com.nx.umms.model.entity.ModelAudit;
import com.nx.umms.service.ModelAuditService;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
......@@ -42,7 +42,7 @@ public class OperLogAspect {
private static Logger logger = LoggerFactory.getLogger(OperLogAspect.class);
@Pointcut("@annotation(com.pms.ocp.common.aspectj.OperLog)")
@Pointcut("@annotation(com.nx.umms.common.aspectj.OperLog)")
public void logPointCut() {
}
......
package com.pms.ocp.common.component;
package com.nx.umms.common.component;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
......
package com.pms.ocp.common.component;
package com.nx.umms.common.component;
import java.io.IOException;
import java.util.UUID;
......
package com.pms.ocp.common.config;
package com.nx.umms.common.config;
import com.pms.ocp.common.component.LogbackFilter;
import com.nx.umms.common.component.LogbackFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......
package com.pms.ocp.common.config;
package com.nx.umms.common.config;
import lombok.Data;
......
package com.pms.ocp.common.config;
package com.nx.umms.common.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
......@@ -38,13 +38,13 @@ public class SwaggerConfig {
// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
.apiInfo(apiInfo())
//分组名称
.groupName("运营管控平台-模型应用服务库管理1.0版本")
.groupName("宁夏统一模型管理系统")
// 设置哪些接口暴露给Swagger展示
.select()
// 扫描所有有注解的api,用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
.apis(RequestHandlerSelectors.basePackage("com.pms.ocp"))
.apis(RequestHandlerSelectors.basePackage("com.nx.umms"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
......@@ -57,9 +57,9 @@ public class SwaggerConfig {
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("运营管控平台_接口文档")
.title("宁夏统一模型管理系统")
// 描述
.description("关于模型库、应用库、服务库各管理接口文档")
.description("关于宁夏统一模型管理系统接口文档")
// 作者信息
.contact(new Contact("", "", ""))
// 版本
......
package com.pms.ocp.common.constants;
package com.nx.umms.common.constants;
public interface AnalysisConstant {
interface exportOcpApiAuditName{
......
package com.pms.ocp.common.constants;
package com.nx.umms.common.constants;
public enum ChooseDateType {
ONE_WEEK(1, "最近一周"),
......
package com.pms.ocp.common.constants;
package com.nx.umms.common.constants;
import java.math.BigDecimal;
......
package com.pms.ocp.common.constants;
package com.nx.umms.common.constants;
import java.io.UnsupportedEncodingException;
import java.util.*;
......
package com.pms.ocp.common.handler;
package com.nx.umms.common.handler;
import org.apache.ibatis.type.LocalDateTimeTypeHandler;
......
package com.pms.ocp.common.handler;
package com.nx.umms.common.handler;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import org.apache.commons.lang3.StringUtils;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
......@@ -16,7 +17,7 @@ import java.util.Map;
* @Date: 2022/3/12 13:29
* @Description:数据结构处理工具类
*/
public class DataStructureHandleUtils {
public class DataHandleUtils {
/**
* List<Map<String, Object>> 到 List<T> 数据转换
*/
......@@ -76,4 +77,47 @@ public class DataStructureHandleUtils {
return null;
}
/**
* 从List<A> copy到List<B>
*
* @param sourceList 原List
* @param targetClazz 目标对象
* @param <T>
* @return
*/
public static <T> List<T> copy(List<?> sourceList, Class<T> targetClazz) {
String oldOb = JSON.toJSONString(sourceList);
return JSON.parseArray(oldOb, targetClazz);
}
/**
* 从对象A copy到 对象B
*
* @param ob A
* @param clazz B.class
* @return B
*/
public static <T> T copy(Object ob, Class<T> clazz) {
String oldOb = JSON.toJSONString(ob);
return JSON.parseObject(oldOb, clazz);
}
/**
* 判断对象是否为null
* @param object
* @return
*/
public static boolean isNullOrEmpty(Object object) {
if (object == null) {
return true;
}
if (object instanceof List) {
return ((List) object).size() == 0;
}
if (object instanceof String) {
return ((String) object).trim().equals("");
}
return false;
}
}
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.pms.ocp.common.constants.ResultCode;
import com.pms.ocp.common.exception.BeagleException;
import com.pms.ocp.common.exception.ServiceException;
import com.nx.umms.common.utils.res.BusinessException;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
......@@ -276,13 +275,13 @@ public class ExcelUtils {
*/
public static void checkFile(MultipartFile file) {
if (file == null) {
throw new ServiceException(ResultCode.FILE_NOT_EXISTS);
throw new BusinessException(ResultCodeEnum.FILE_NOT_EXISTS);
}
String fileName = file.getOriginalFilename();
assert fileName != null;
if (!fileName.endsWith(XLS) && !fileName.endsWith(XLS_X)) {
throw new ServiceException(ResultCode.FILE_NOT_EXISTS);
throw new BusinessException(ResultCodeEnum.FILE_MUST_IS_EXCEL);
}
}
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import lombok.Data;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import java.util.Random;
......
package com.pms.ocp.common.utils;
package com.nx.umms.common.utils;
import com.pms.ocp.model.entity.TreeNode;
import com.nx.umms.model.entity.TreeNode;
import java.util.*;
......
package com.nx.umms.common.utils.res;
import lombok.Data;
/**
* @Auther: wangjian
* @Date: 2022/3/11 16:31
* @Description:
*/
@Data
public class BusinessException extends RuntimeException {
/**
* 自定义异常枚举类
*/
private ResultCodeEnum resultCodeEnum;
/**
* 错误码
*/
private Integer errorCode;
/**
* 错误信息
*/
private String errorMessage;
public BusinessException() {
super();
}
public BusinessException(ResultCodeEnum resultCodeEnum) {
super("{code:" + resultCodeEnum.getCode() + ",errorMsg:" + resultCodeEnum.getMessage() + "}");
this.resultCodeEnum = resultCodeEnum;
this.errorCode = resultCodeEnum.getCode();
this.errorMessage = resultCodeEnum.getMessage();
}
public BusinessException(ResultCodeEnum resultCodeEnum, Throwable cause) {
super(resultCodeEnum.getMessage(), cause);
}
public BusinessException(int code, String errorMessage) {
super("{code:" + code + ",errorMsg:" + errorMessage + "}");
this.errorCode = code;
this.errorMessage = errorMessage;
}
}
package com.nx.umms.common.utils.res;
import com.nx.umms.common.utils.BeagleStringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* @Auther: wangjian
* @Date: 2022/3/28 17:42
* @Description:全局异常处理器
*/
@Slf4j
@RestControllerAdvice
public class OverallExceptionHandler {
/**
* 默认全局异常处理。
*
* @param exception
* @return ResultData
*/
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public ResultVO<String> exception(Exception exception) {
log.error("全局异常信息 ex={}", exception.getMessage(), exception);
return ResultVO.fail(ResultCodeEnum.SYSTEM_ERROR, exception.getMessage());
}
/**
* 业务异常处理。
*
* @param businessException
* @return ResultData
*/
@ExceptionHandler(value = BusinessException.class)
public ResultVO beagleExceptionHandler(BusinessException businessException) {
log.error("发生业务异常!原因是:{}", businessException.getErrorMessage());
ResultVO resultVO = new ResultVO();
if (BeagleStringUtils.isBlank(businessException.getErrorMessage())) {
resultVO.setResultCodeEnum(ResultCodeEnum.SYSTEM_ERROR);
} else {
resultVO.setCode(businessException.getErrorCode());
resultVO.setMessage(businessException.getErrorMessage());
}
return resultVO;
}
}
package com.nx.umms.common.utils.res;
/**
* @Auther: wangjian
* @Date: 2022/3/28 17:13
* @Description:定义状态码枚举值
*/
public enum ResultCodeEnum {
/**
* 操作成功
**/
SUCCESS(200, "操作成功", true),
/**
* 操作失败
**/
RC999(999, "操作失败", false),
/**
* 服务限流
**/
RC200(200, "服务开启限流保护,请稍后再试!", false),
/**
* 服务降级
**/
RC201(201, "服务开启降级保护,请稍后再试!", false),
/**
* 热点参数限流
**/
RC202(202, "热点参数限流,请稍后再试!", false),
/**
* 系统规则不满足
**/
RC203(203, "系统规则不满足要求,请稍后再试!", false),
/**
* 授权规则不通过
**/
RC204(204, "授权规则不通过,请稍后再试!", false),
/**
* access_denied
**/
RC403(403, "无访问权限,请联系管理员授予权限", false),
/**
* access_denied
**/
RC401(401, "匿名用户访问无权限资源时的异常", false),
/**
* 系统异常
*/
SYSTEM_ERROR(500, "系统异常,请稍后重试", false),
INVALID_TOKEN(2001, "访问令牌不合法", false),
ACCESS_DENIED(2003, "没有权限访问该资源", false),
CLIENT_AUTHENTICATION_FAILED(1001, "客户端认证失败", false),
USERNAME_OR_PASSWORD_ERROR(1002, "用户名或密码错误", false),
UNSUPPORTED_GRANT_TYPE(1003, "不支持的认证模式", false),
/**
* 必填参数为空
*/
REQUIRED_PARAMETER_EMPTY(0, "必填参数为空", false),
/**
* 参数类型错误
*/
PARAMETER_TYPE_ERROR(0, "Parameter type error", false),
/**
* 未登录
*/
NOT_LOGIN(401001, "用户未登录", false),
/**
* 用户名或密码错误
*/
LOGIN_FAIL(401002, "用户名或密码错误", false),
/**
* 无权限访问
*/
NO_PERMISSION(401003, "无权限访问", false),
/**
* 系统异常
*/
UNKNOWN(9999, "System abnormal", false),
/**
* 数据异常
*/
NO_DATA(200, "数据库无数据", false),
UP_DATA_FAIL(401005, "更新失败", false),
INSERT_FAIL(401006, "插入数据失败", false),
DELETE_FAIL(401007, "修改失败", false),
DATA_REPETITION(250, "分类编码或分类名称重复", false),
/* ============================ 文件处理 错误码 ========================== **/
FILE_NOT_EXISTS(21001, "文件不存在", false),
FILE_MUST_IS_EXCEL(21002, "文件类型必须是excel", false),
UPLOAD_EXCEPTION(21003, "上传过程出现异常", false),
EXCEL_RULE_NOT_EXISTS(21004, "excel校验规则不存在", false),
EXCEL_TEMPLATE_NOT_EXISTS(21005, "excel模板不存在", false),
EXCEL_TEMPLATE_NOT_CORRECT(21009, "excel模板不对,请重新下载", false),
EXCEL_DATA_NOT_EXISTS(21006, "excle数据不存在", false),
EXCEL_NOT_CORRECT(21007, "excel不正确", false),
EXCEL_PARSE_CORRECT(21010, "excel解析错误", false),
CURRENT_MONTH_NOT_EXISTS(21008, "当前年月数据不存在", false),
BATCH_NOT_NEED(21009, "无需批量操作!", false),
CELL_IS_NULL(21010, "值不能为空", false),
CELL_FORMAT_ERROR(21011, "值格式不正确", false),
CELL_MIN_LENGTH_ERROR(21012, "值小于最小长度", false),
CELL_MAX_LENGTH_ERROR(21013, "值大于最大长度", false),
CELL_REGULAR_ERROR(21014, "值正则验证不通过", false),
CELL_OPTION_ERROR(21015, "值不在选项集范围内", false),
ROW_DUPLICATE_ERROR(21016, "行重复性校验未通过", false),
CELL_DATE_FORMAT_ERROR(21017, "日期范围格式不正确", false),
DATA_MISSING_UNITS(21018, "数据缺少单位级别编码", false),
PICTURE_NAME_ILLEGAL(21019, "图片名称不合法,请重新上传", false),
FILE_MUST_IS_PIC(21020, "图片格式不合法,请重新上传!", false),
NAME_CONFLICT(21021, "该组织机构下名称重复,请修改名称!", false),
ENCRYPT_ERROR_CODE(21022, "解密失败", false),
/* ===========================后台系统======================== **/
RECORD_NOT_EXIST(10001, "相关记录不存在!", false),
SYS_USER_INVALID(10002, "用户登录已过期!", false),
PERMISSION_NOT(10003, "无访问权限!", false),
ACCOUNT_NOT(10004, "账号异常!", false),
SHIRO_ERROR(10005, "鉴权/授权过程出错!", false),
MENU_EXIST(10006, "菜单定义已存在!", false),
ROLE_EXIST(10007, "角色定义已存在!", false),
CODE_EXIST(10008, "编码已存在!", false),
NAME_EXIST(10009, "名称已存在!", false),
NO_DELETE(10010, "无法删除,有关联数据!", false),
NO_REQUEST_DATA(10011, "前端未传入分类编码!", false),
USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!", false),
USER_ORGANIZATION_INFO_ERROR(10024, "用户组织机构信息有误!", false),
TOKEN_INVALID(9997, "登录失效,请重新登录!", false);
/**
* 自定义状态码
**/
private final int code;
/**
* 自定义描述
**/
private final Boolean status;
/**
* 自定义描述
**/
private final String message;
ResultCodeEnum(int code, String message, boolean status) {
this.code = code;
this.message = message;
this.status = status;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public Boolean getStatus() {
return status;
}
}
package com.nx.umms.common.utils.res;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @Auther: wangjian
* @Date: 2022/3/28 17:09
* @Description:统一返回对象
*/
@ApiModel(value = "返回对象", description = "返回对象")
@Data
public class ResultVO<T> {
// code 状态值:由后端统一定义各种返回结果的状态码
// message 描述:本次接口调用的结果描述
// data 数据:本次返回的数据。
/**
* 结果状态 ,具体状态码参见ResultData.java
*/
private Integer code;
/**
* 描述:本次接口调用的结果描述
*/
private String message;
private boolean status;
/**
* 数据:本次返回的数据
*/
private T data;
/**
* 接口调用时间
*/
private Long timestamp;
public ResultVO() {
this.timestamp = System.currentTimeMillis();
}
public ResultVO(ResultCodeEnum codeEnum) {
this.setCode(codeEnum.getCode());
this.setMessage(codeEnum.getMessage());
this.setStatus(codeEnum.getStatus());
}
public static <T> ResultVO<T> success() {
return new ResultVO<>(ResultCodeEnum.SUCCESS);
}
public static <T> ResultVO<T> success(T data) {
ResultVO<T> resultVO = new ResultVO<>();
resultVO.setCode(ResultCodeEnum.SUCCESS.getCode());
resultVO.setMessage(ResultCodeEnum.SUCCESS.getMessage());
resultVO.setStatus(ResultCodeEnum.SUCCESS.getStatus());
resultVO.setData(data);
return resultVO;
}
public static <T> ResultVO<T> fail(int code, String message, boolean status) {
ResultVO<T> resultVO = new ResultVO<>();
resultVO.setCode(code);
resultVO.setMessage(message);
resultVO.setStatus(status);
return resultVO;
}
public static <T> ResultVO<T> fail(ResultCodeEnum resultCodeEnum, String message) {
int code = resultCodeEnum.getCode();
boolean status = resultCodeEnum.getStatus();
return fail(code, message, status);
}
public static <T> ResultVO<T> fail(ResultCodeEnum resultCodeEnum) {
return new ResultVO<T>(resultCodeEnum);
}
public void setResultCodeEnum(ResultCodeEnum resultCodeEnum) {
this.code = resultCodeEnum.getCode();
this.message = resultCodeEnum.getMessage();
this.status = resultCodeEnum.getStatus();
}
}
package com.pms.ocp.controller;
package com.nx.umms.controller;
import com.pms.ocp.common.constants.ResultCode;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelClassifyService;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.model.vo.OcpModelGroupVO;
import com.nx.umms.service.ModelClassifyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -29,26 +29,26 @@ public class ModelClassifyController {
/**
* 模型分类导航
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@ApiOperation("模型分类导航")
@GetMapping("/navigation")
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation() {
public ResultVO<List<OcpModelGroupVO>> getModelNavigation() {
return modelClassifyService.getModelNavigation();
}
/**
* 右侧子类详情列表
*
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@ApiOperation("右侧子类详情列表")
@GetMapping("/subclassDetailsList")
public ResponseVO subclassDetailsList(@RequestParam int currentPage,
public ResultVO subclassDetailsList(@RequestParam int currentPage,
@RequestParam int pageSize,
@RequestParam(required = false,defaultValue = "") String parentGroupCode,
@RequestParam(required = false,defaultValue = "") String subclassGroupName
......@@ -60,13 +60,13 @@ public class ModelClassifyController {
* 新增
*
* @param list 新增分类列表
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@ApiOperation("新增")
@PostMapping("/insert")
public ResponseVO insert(@RequestBody List<ModelClassify> list) {
public ResultVO insert(@RequestBody List<ModelClassify> list) {
return modelClassifyService.insert(list);
}
......@@ -74,13 +74,13 @@ public class ModelClassifyController {
* 修改
*
* @param list 修改list
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@ApiOperation("修改")
@PostMapping("/update")
public ResponseVO update(@RequestBody List<ModelClassify> list) {
public ResultVO update(@RequestBody List<ModelClassify> list) {
return modelClassifyService.update(list);
}
......@@ -89,27 +89,27 @@ public class ModelClassifyController {
**/
@ApiOperation("删除模型分类")
@PostMapping("/delete")
public ResponseVO delete(@RequestBody ModelClassify modelClassify) {
public ResultVO delete(@RequestBody ModelClassify modelClassify) {
Integer integer = modelClassifyService.deleteModelClassify(modelClassify.getObjId(), modelClassify.getModelGroupCode(), modelClassify.getGroupCompanyCode());
if (integer.intValue() == -1) {
ResponseVO.ok(ResultCode.NO_DELETE);
ResultVO.success(ResultCodeEnum.NO_DELETE);
}else if (integer.intValue() == 0){
ResponseVO.error("前端未传入分类编码!!!");
ResultVO.fail(ResultCodeEnum.NO_REQUEST_DATA);
}
return ResponseVO.ok(integer);
return ResultVO.success(integer);
}
/**
* 删除
*
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
//@ApiOperation("删除")
@GetMapping("/delete")
public ResponseVO delete(String modelGroupCode) {
public ResultVO delete(String modelGroupCode) {
return modelClassifyService.delete(modelGroupCode);
}
}
package com.nx.umms.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.nx.umms.common.utils.DataHandleUtils;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.dto.ModelVersionDTO;
import com.nx.umms.model.entity.ModelVersion;
import com.nx.umms.model.vo.ModelVersionVO;
import com.nx.umms.service.ModelVersionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Auther: wangjian
* @Date: 2022/3/25 15:25
* @Description:模型发布管理接口
*/
@Slf4j
@RequestMapping("/model-issue/v1")
@RestController
@Api(tags = "模型发布管理接口")
public class ModelIssueManageController {
@Autowired
private ModelVersionService modelVersionService;
/**
* 模型版本-增加
*
* @return
*/
@ApiOperation("模型版本-增加")
@PostMapping("/create/modelVersion")
public ResultVO createModelVersion(@RequestBody ModelVersionDTO modelVersionDTO) {
if (DataHandleUtils.isNullOrEmpty(modelVersionDTO)) {
ResultVO.fail(ResultCodeEnum.REQUIRED_PARAMETER_EMPTY);
}
return ResultVO.success(modelVersionService.createModelVersion(modelVersionDTO));
}
/**
* 模型版本-查询列表
*
* @return
*/
@ApiOperation("模型版本-查询列表")
@GetMapping("/get/modelVersion/list")
public ResultVO getModelVersionList(@ApiParam(value = "模型版本编号") @RequestParam(value = "mvId", required = false) String mvId,
@ApiParam(value = "模型版本编码") @RequestParam(value = "versionCode", required = false) String versionCode,
@ApiParam(value = "当前页") @RequestParam(value = "currentPage") Integer currentPage,
@ApiParam(value = "每页数量") @RequestParam(value = "pageSize") Integer pageSize) {
PageHelper.startPage(currentPage, pageSize);
List<ModelVersionVO> modelVersionVOList = modelVersionService.getModelVersionList(mvId, versionCode);
PageInfo<ModelVersionVO> pageInfo = new PageInfo<>(modelVersionVOList);
// return ResultData(pageInfo);
return ResultVO.success(pageInfo);
}
/**
* 模型版本-查询
*
* @return
*/
@ApiOperation("模型版本-查询")
@GetMapping("/get/modelVersion")
public ResultVO getModelVersion(@ApiParam(value = "模型版本编号") @RequestParam(value = "mvId", required = false) String mvId,
@ApiParam(value = "模型版本号") @RequestParam(value = "versionNumber", required = false) String versionNumber) {
ModelVersion modelVersion = modelVersionService.getModelVersion(mvId, versionNumber);
if (modelVersion == null) {
return ResultVO.success(ResultCodeEnum.NO_DATA);
}
ModelVersionVO modelVersionVO = new ModelVersionVO();
BeanUtils.copyProperties(modelVersion, modelVersionVO);
return ResultVO.success(modelVersionVO);
}
/**
* 模型版本-删除
*
* @return
*/
@ApiOperation("模型版本-删除")
@PostMapping("/delete/modelVersion")
public ResultVO deleteModelVersion(@ApiParam(value = "模型版本编号") @RequestParam(value = "mvId", required = false) String mvId,
@ApiParam(value = "版本编码") @RequestParam(value = "versionCode", required = false) String versionCode) {
return ResultVO.success(modelVersionService.deleteModelVersion(mvId, versionCode));
}
/**
* 模型版本-修改
*
* @return
*/
@ApiOperation("模型版本-修改")
@PostMapping("/update/modelVersion")
public ResultVO updateModel(@RequestBody ModelVersionDTO modelVersionDTO) {
if (DataHandleUtils.isNullOrEmpty(modelVersionDTO)) {
ResultVO.fail(ResultCodeEnum.ACCESS_DENIED.REQUIRED_PARAMETER_EMPTY);
}
return ResultVO.success(modelVersionService.updateModelVersion(modelVersionDTO));
}
// /**
// * 模型版本-查询列表
// *
// * @return
// */
// @ApiOperation("模型版本-查询")
// @GetMapping("/get/model/list")
// public ResultVO getModelList(@ApiParam(value = "模型订阅编号") @RequestParam(value = "objId", required = false) String objId,
// @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode,
// @ApiParam(value = "归属省编码数组EQ: ddas232, 2e1ssda, 3232") @RequestParam(value = "ownerCompanyCodes", required = false) List<String> ownerCompanyCodes,
// @ApiParam(value = "归属分类编码数组") @RequestParam(value = "modelGroupCodes", required = false) List<String> modelGroupCodes,
// @ApiParam(value = "当前页") @RequestParam(value = "currentPage", required = false) Integer currentPage,
// @ApiParam(value = "每页数量") @RequestParam(value = "pageSize", required = false) Integer pageSize) {
//
// PageHelper.startPage(currentPage, pageSize);
// List<Model> modelList = modelService.getModelList(objId, modelCode, ownerCompanyCodes, modelGroupCodes);
// PageInfo<Model> pageInfo = new PageInfo<>(modelList);
// return ResultVO.ok(pageInfo);
// }
}
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelAudit;
import com.nx.umms.model.entity.ModelAudit;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.nx.umms.model.vo.OcpModelGroupVO;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.Model;
import com.nx.umms.model.entity.Model;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelProperty;
import com.pms.ocp.model.vo.ModelPropertyVO;
import com.nx.umms.model.entity.ModelProperty;
import com.nx.umms.model.vo.ModelPropertyVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelRelation;
import com.nx.umms.model.entity.ModelRelation;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelSubscribe;
import com.pms.ocp.model.entity.TreeNode;
import com.nx.umms.model.entity.ModelSubscribe;
import com.nx.umms.model.entity.TreeNode;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelClassify;
import com.nx.umms.model.entity.ModelClassify;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nx.umms.model.entity.ModelVersion;
import org.apache.ibatis.annotations.Mapper;
/**
* @Auther: wangjian
* @Date: 2022/3/25 17:29
* @Description:模型版本数据层接口
*/
@Mapper
public interface ModelVersionMapper extends BaseMapper<ModelVersion> {
}
package com.pms.ocp.mapper;
package com.nx.umms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.ModelClassify;
import com.nx.umms.model.entity.ModelClassify;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.pms.ocp.model.dto;
package com.nx.umms.model.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.model.dto;
package com.nx.umms.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
......
package com.pms.ocp.model.dto;
package com.nx.umms.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
......
package com.pms.ocp.model.dto;
package com.nx.umms.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
......
package com.nx.umms.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Auther: wangjian
* @Date: 2022/3/28 13:45
* @Description:
*/
@ApiModel("模型版本展示对象")
@Data
public class ModelVersionDTO {
/**
* 版本编号
*/
@ApiModelProperty("版本编号")
private String mvId;
/**
* 版本编码
*/
@ApiModelProperty("版本编码")
private String versionCode;
/**
* 版本号
*/
@ApiModelProperty("版本号")
private String versionNumber;
/**
* 版本描述
*/
@ApiModelProperty("版本描述")
private String versionDescription;
/**
* 创建者
*/
@ApiModelProperty("创建者")
private String createBy;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
/**
* 更新者
*/
@ApiModelProperty("更新者")
private String updateBy;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
}
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package com.nx.umms.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* @Auther: wangjian
* @Date: 2022/3/25 17:30
* @Description:模型版本对象
*/
@Data
@Accessors(chain = true)
@TableName("ocp_model_version")
public class ModelVersion {
/**
* 模型分类编号
*/
@TableId(value = "mv_id", type = IdType.ASSIGN_ID)
private String mvId;
/**
* 版本号
*/
private String versionNumber;
/**
* 版本编码
*/
private String versionCode;
/**
* 版本描述
*/
private String versionDescription;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.pms.ocp.model.entity;
package com.nx.umms.model.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package com.pms.ocp.model.vo;
package com.nx.umms.model.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package com.pms.ocp.model.vo;
package com.nx.umms.model.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
......
package com.pms.ocp.model.vo;
package com.nx.umms.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
......
package com.pms.ocp.model.vo;
package com.nx.umms.model.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.nx.umms.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Auther: wangjian
* @Date: 2022/3/25 17:20
* @Description:模型版本展示对象
*/
@ApiModel("模型版本展示对象")
@Data
public class ModelVersionVO {
/**
* 版本编号
*/
@ApiModelProperty("版本编号")
private String mvId;
/**
* 版本编码
*/
@ApiModelProperty("版本编码")
private String versionCode;
/**
* 版本号
*/
@ApiModelProperty("版本号")
private String versionNumber;
/**
* 版本描述
*/
@ApiModelProperty("版本描述")
private String versionDescription;
/**
* 创建者
*/
@ApiModelProperty("创建者")
private String createBy;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
/**
* 更新者
*/
@ApiModelProperty("更新者")
private String updateBy;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
}
package com.pms.ocp.model.vo;
package com.nx.umms.model.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.entity.ModelAudit;
import com.nx.umms.model.entity.ModelAudit;
import java.util.List;
......
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.pms.ocp.model.vo.ResponseVO;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.model.vo.OcpModelGroupVO;
import java.util.List;
......@@ -12,15 +12,15 @@ import java.util.List;
* @date 2022/3/8 15:19
*/
public interface ModelClassifyService {
ResponseVO<List<OcpModelGroupVO>> getModelNavigation();
ResultVO<List<OcpModelGroupVO>> getModelNavigation();
ResponseVO insert(List<ModelClassify> list);
ResultVO insert(List<ModelClassify> list);
ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName);
ResultVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName);
ResponseVO update(List<ModelClassify> list);
ResultVO update(List<ModelClassify> list);
ResponseVO delete(String modelGroupCode);
ResultVO delete(String modelGroupCode);
/**
* 删除模型分类
......
package com.nx.umms.service;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.entity.ModelClassify;
public interface ModelGroupService {
ResultVO getModelType();
ResultVO createModelType(ModelClassify modelClassify);
ResultVO deleteModelType(String modelTypeId);
ResultVO updateModelType(ModelClassify modelClassify);
}
package com.pms.ocp.service;
package com.nx.umms.service;
import com.github.pagehelper.PageInfo;
import com.pms.ocp.model.dto.ModelPropertyDTO;
import com.pms.ocp.model.entity.ModelProperty;
import com.pms.ocp.model.vo.ModelPropertyVO;
import com.nx.umms.model.dto.ModelPropertyDTO;
import com.nx.umms.model.entity.ModelProperty;
import com.nx.umms.model.vo.ModelPropertyVO;
import java.util.List;
......
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.dto.ModelRelationDTO;
import com.pms.ocp.model.entity.ModelRelation;
import com.pms.ocp.model.vo.ModelRelationVO;
import com.nx.umms.model.dto.ModelRelationDTO;
import com.nx.umms.model.entity.ModelRelation;
import com.nx.umms.model.vo.ModelRelationVO;
import java.util.List;
......
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.dto.ModelDTO;
import com.pms.ocp.model.entity.Model;
import com.pms.ocp.model.vo.ResponseVO;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.dto.ModelDTO;
import com.nx.umms.model.entity.Model;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
......@@ -65,5 +65,5 @@ public interface ModelService {
*/
Model getModel(String objId, String modelCode);
ResponseVO getModeBaselList(String belongLevel, String modelCode, Integer currentPage, Integer pageSize, String searchCondition);
ResultVO getModeBaselList(String belongLevel, String modelCode, Integer currentPage, Integer pageSize, String searchCondition);
}
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.dto.ModelSubscribeDTO;
import com.pms.ocp.model.entity.ModelSubscribe;
import com.pms.ocp.model.vo.ResponseVO;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.model.dto.ModelSubscribeDTO;
import com.nx.umms.model.entity.ModelSubscribe;
import java.util.List;
......@@ -61,6 +61,6 @@ public interface ModelSubscribeService {
*/
ModelSubscribeDTO getModelSubscribe(String modelId);
ResponseVO modelListNavigation(String searchCondition);
ResultVO modelListNavigation(String searchCondition);
}
package com.pms.ocp.service;
package com.nx.umms.service;
import com.pms.ocp.model.entity.ModelClassify;
import com.nx.umms.model.entity.ModelClassify;
import java.util.List;
......
package com.nx.umms.service;
import com.nx.umms.model.dto.ModelVersionDTO;
import com.nx.umms.model.entity.ModelVersion;
import com.nx.umms.model.vo.ModelVersionVO;
import java.util.List;
/**
* @Auther: wangjian
* @Date: 2022/3/28 09:39
* @Description:模型版本业务层接口
*/
public interface ModelVersionService {
/**
* 创建模型版本
*
* @param modelVersionDTO
* @return
*/
Integer createModelVersion(ModelVersionDTO modelVersionDTO);
/**
* 删除模型版本
*
* @param mvId
* @param versionCode
* @return
*/
Integer deleteModelVersion(String mvId, String versionCode);
/**
* 批量删除模型版本
*
* @param ids
* @return
*/
Integer deleteBatchModelVersion(List<String> ids);
/**
* 更新模型版本
*
* @param modelVersionDTO
* @return
*/
Integer updateModelVersion(ModelVersionDTO modelVersionDTO);
/**
* 获取模型版本
*
* @param
* @return
*/
List<ModelVersionVO> getModelVersionList(String mvId, String versionNumber);
/**
* 获取模型版本列表
*
* @param mvId
* @param versionNumber
* @return
*/
ModelVersion getModelVersion(String mvId, String versionNumber);
}
package com.pms.ocp.service;
package com.nx.umms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pms.ocp.model.entity.ModelClassify;
import com.nx.umms.model.entity.ModelClassify;
/**
* @author huxiuwu
......
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.mapper.ModelAuditMapper;
import com.pms.ocp.model.entity.ModelAudit;
import com.pms.ocp.service.ModelAuditService;
import com.nx.umms.mapper.ModelAuditMapper;
import com.nx.umms.model.entity.ModelAudit;
import com.nx.umms.service.ModelAuditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.CodeEnum;
import com.pms.ocp.common.utils.PageUtil;
import com.pms.ocp.mapper.ModelClassifyMapper;
import com.pms.ocp.mapper.OcpModelGroupMapper;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelClassifyService;
import com.pms.ocp.service.OcpModelGroupService;
import com.nx.umms.common.utils.PageUtil;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.mapper.ModelClassifyMapper;
import com.nx.umms.mapper.OcpModelGroupMapper;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.model.vo.OcpModelGroupVO;
import com.nx.umms.service.ModelClassifyService;
import com.nx.umms.service.OcpModelGroupService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
......@@ -41,20 +41,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* currentPage pageSize
* 模型分类-导航树
*
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @return List<com.nx.umms.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/8
**/
@Override
public ResponseVO<List<OcpModelGroupVO>> getModelNavigation() {
public ResultVO<List<OcpModelGroupVO>> getModelNavigation() {
//根据是否传入搜索条件创建构造器进行查询
List<OcpModelGroupVO> modelTypeList = this.selectByCondition(null, null);
if (CollectionUtil.isEmpty(modelTypeList)) {
return ResponseVO.error(CodeEnum.NO_DATA);
return ResultVO.fail(ResultCodeEnum.NO_DATA);
}
//对模型分类信息进行处理
List<OcpModelGroupVO> resultList = this.build(modelTypeList);
return ResponseVO.ok(resultList);
return ResultVO.success(resultList);
}
/**
......@@ -63,12 +63,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* 所以第一次查询查询到所有并将其转换为key为其分类编码,value为其本身
* 的map.第二次是根据搜素框的值进行模糊查询
*
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/9 <PageInfo<OcpModelGroupVO>>
**/
@Override
public ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) {
public ResultVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) {
//查询所有
List<OcpModelGroupVO> ocpModelGroupVOList = this.selectByCondition(null,null);
//将查询到所有数据的list转换为key为分类code,value为本身的map
......@@ -82,27 +82,27 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
List<OcpModelGroupVO> sortList = childrenList.stream().sorted(Comparator.comparing(OcpModelGroupVO::getGroupCtime).reversed()).collect(Collectors.toList());
PageUtil<OcpModelGroupVO> pageUtil = new PageUtil<>();
pageUtil.startPage(currentPage, pageSize, sortList);
return ResponseVO.ok(pageUtil);
return ResultVO.success(pageUtil);
}
/**
* 修改
*
* @param list 修改list
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/9
**/
@Override
public ResponseVO update(List<ModelClassify> list) {
public ResultVO update(List<ModelClassify> list) {
if (getModelClassify(list,()->new QueryWrapper<ModelClassify>().ne("obj_id",list.get(0).getObjId()))){
return ResponseVO.error(CodeEnum.DATA_REPETITION);
return ResultVO.fail(ResultCodeEnum.DATA_REPETITION);
}
boolean isUpdateSucceed = ocpService.saveOrUpdateBatch(list);
if (!isUpdateSucceed) {
ResponseVO.error(CodeEnum.UP_DATA_FAIL);
ResultVO.fail(ResultCodeEnum.UP_DATA_FAIL);
}
return ResponseVO.ok();
return ResultVO.success();
}
private boolean getModelClassify(List<ModelClassify> list,Supplier<QueryWrapper<ModelClassify>> supplier) {
......@@ -118,36 +118,36 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
/**
* 删除
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/9
**/
@Override
public ResponseVO delete(String modelGroupCode) {
public ResultVO delete(String modelGroupCode) {
if (!ocpService.removeById(modelGroupCode)) {
return ResponseVO.error(CodeEnum.DELETE_FAIL);
return ResultVO.fail(ResultCodeEnum.DELETE_FAIL);
}
return ResponseVO.ok();
return ResultVO.success();
}
/**
* 新增
*
* @param list 新增分类列表
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/9
**/
@Override
public ResponseVO insert(List<ModelClassify> list) {
public ResultVO insert(List<ModelClassify> list) {
if (getModelClassify(list,()->new QueryWrapper<ModelClassify>())){
return ResponseVO.error(CodeEnum.DATA_REPETITION);
return ResultVO.fail(ResultCodeEnum.DATA_REPETITION);
}
boolean result = ocpService.saveBatch(list);
if (!result) {
return ResponseVO.error(CodeEnum.INSERT_FAIL);
return ResultVO.fail(ResultCodeEnum.INSERT_FAIL);
}
return ResponseVO.ok(list);
return ResultVO.success(list);
}
/**
......@@ -184,7 +184,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* 构建树节点
*
* @param treeNodes 需要构建的list
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @return List<com.nx.umms.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/10
**/
......@@ -221,7 +221,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @author huxiuwu
* @date 2022/3/10
* @param searchCondition
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @return List<com.nx.umms.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/10
**/
......
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.CodeEnum;
import com.pms.ocp.mapper.ModelTypeMapper;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelGroupService;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.mapper.ModelTypeMapper;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.service.ModelGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -20,46 +20,47 @@ public class ModelGroupServiceImpl implements ModelGroupService {
/**
* 获取模型类型
*
* @return
*/
@Override
public ResponseVO getModelType() {
public ResultVO getModelType() {
QueryWrapper<ModelClassify> wrapper = new QueryWrapper<>();
List<ModelClassify> modelClassifyList = modelTypeMapper.selectList(wrapper);
if(CollectionUtils.isEmpty(modelClassifyList)){
return ResponseVO.error("查询列表为空");
}else{
return ResponseVO.ok(modelClassifyList);
if (CollectionUtils.isEmpty(modelClassifyList)) {
return ResultVO.fail(ResultCodeEnum.NO_DATA);
} else {
return ResultVO.success(modelClassifyList);
}
}
@Override
public ResponseVO createModelType(ModelClassify modelClassify) {
public ResultVO createModelType(ModelClassify modelClassify) {
int result = modelTypeMapper.insert(modelClassify);
if(result>0){
return ResponseVO.error(CodeEnum.SUCCESS);
}else{
return ResponseVO.ok(CodeEnum.INSERT_FAIL);
if (result > 0) {
return ResultVO.fail(ResultCodeEnum.SUCCESS);
} else {
return ResultVO.success(ResultCodeEnum.INSERT_FAIL);
}
}
@Override
public ResponseVO deleteModelType(String modelTypeId) {
public ResultVO deleteModelType(String modelTypeId) {
int result = modelTypeMapper.deleteById(modelTypeId);
if (result > 0) {
return ResponseVO.error(CodeEnum.SUCCESS);
return ResultVO.fail(ResultCodeEnum.ACCESS_DENIED.SUCCESS);
} else {
return ResponseVO.ok(CodeEnum.UNKNOWN);
return ResultVO.success(ResultCodeEnum.UNKNOWN);
}
}
@Override
public ResponseVO updateModelType(ModelClassify modelClassify) {
public ResultVO updateModelType(ModelClassify modelClassify) {
int result = modelTypeMapper.updateById(modelClassify);
if (result > 0) {
return ResponseVO.error(CodeEnum.SUCCESS);
return ResultVO.fail(ResultCodeEnum.SUCCESS);
} else {
return ResponseVO.ok(CodeEnum.UP_DATA_FAIL);
return ResultVO.success(ResultCodeEnum.UP_DATA_FAIL);
}
}
}
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pms.ocp.mapper.ModelPropertyMapper;
import com.pms.ocp.model.dto.ModelPropertyDTO;
import com.pms.ocp.model.entity.Model;
import com.pms.ocp.model.entity.ModelProperty;
import com.pms.ocp.model.vo.ModelPropertyVO;
import com.pms.ocp.service.ModelPropertyService;
import com.pms.ocp.service.ModelService;
import com.nx.umms.mapper.ModelPropertyMapper;
import com.nx.umms.model.dto.ModelPropertyDTO;
import com.nx.umms.model.entity.ModelProperty;
import com.nx.umms.model.vo.ModelPropertyVO;
import com.nx.umms.service.ModelPropertyService;
import com.nx.umms.service.ModelService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Auther: wangjian
......
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.mapper.ModelRelationMapper;
import com.pms.ocp.model.dto.ModelRelationDTO;
import com.pms.ocp.model.entity.ModelRelation;
import com.pms.ocp.model.vo.ModelRelationVO;
import com.pms.ocp.service.ModelRelationService;
import com.nx.umms.mapper.ModelRelationMapper;
import com.nx.umms.model.dto.ModelRelationDTO;
import com.nx.umms.model.entity.ModelRelation;
import com.nx.umms.model.vo.ModelRelationVO;
import com.nx.umms.service.ModelRelationService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.common.constants.Constant;
import com.pms.ocp.common.utils.ExcelUtils;
import com.pms.ocp.common.utils.PageUtil;
import com.pms.ocp.mapper.ModelMapper;
import com.pms.ocp.mapper.ModelPropertyMapper;
import com.pms.ocp.model.dto.ModelDTO;
import com.pms.ocp.model.entity.Model;
import com.pms.ocp.model.entity.ModelProperty;
import com.pms.ocp.model.vo.ModelVO;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelService;
import com.nx.umms.common.constants.Constant;
import com.nx.umms.common.utils.ExcelUtils;
import com.nx.umms.common.utils.PageUtil;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.mapper.ModelMapper;
import com.nx.umms.mapper.ModelPropertyMapper;
import com.nx.umms.model.dto.ModelDTO;
import com.nx.umms.model.entity.Model;
import com.nx.umms.model.entity.ModelProperty;
import com.nx.umms.model.vo.ModelVO;
import com.nx.umms.service.ModelService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -209,11 +209,11 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
* @param currentPage 当前页
* @param pageSize 每页数量
* @param searchCondition 搜索条件
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
**/
@Override
public ResponseVO getModeBaselList(String belongLevel, String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
ResponseVO result;
public ResultVO getModeBaselList(String belongLevel, String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
ResultVO result;
switch (belongLevel) {
case Constant.Character.STRINGTWO:
result = this.getModelInfoList(modelCode, currentPage, pageSize, searchCondition);
......@@ -222,7 +222,7 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
result = this.getPropertyList(modelCode, currentPage, pageSize, searchCondition);
break;
default:
return ResponseVO.ok();
return ResultVO.success();
}
return result;
}
......@@ -232,11 +232,11 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
* @param currentPage 当前页
* @param pageSize 每页数量
* @param searchCondition 搜索条件
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/17
**/
private ResponseVO getModelInfoList(String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
private ResultVO getModelInfoList(String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
QueryWrapper<Model> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("model_group_code", modelCode)
.like(StringUtils.isNotEmpty(searchCondition), "model_name", searchCondition)
......@@ -244,7 +244,7 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
List<Model> modelList = modelMapper.selectList(queryWrapper);
PageUtil<Model> pageUtil = new PageUtil<>();
pageUtil.startPage(currentPage, pageSize, modelList);
return ResponseVO.ok(pageUtil);
return ResultVO.success(pageUtil);
}
/**
......@@ -252,11 +252,11 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
* @param currentPage 当前页
* @param pageSize 每页数量
* @param searchCondition 搜索条件
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResultVO
* @author huxiuwu
* @date 2022/3/17
**/
private ResponseVO getPropertyList(String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
private ResultVO getPropertyList(String modelCode, Integer currentPage, Integer pageSize, String searchCondition) {
QueryWrapper<ModelProperty> proWrapper = new QueryWrapper<>();
//查询模型名称
QueryWrapper<Model> modelWrapper = new QueryWrapper<>();
......@@ -271,6 +271,6 @@ public class ModelServiceImpl extends ServiceImpl<ModelMapper, Model> implements
);
PageUtil<ModelProperty> pageUtil = new PageUtil<>();
pageUtil.startPage(currentPage, pageSize, modelPropertiesList);
return ResponseVO.ok(pageUtil);
return ResultVO.success(pageUtil);
}
}
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.CodeEnum;
import com.pms.ocp.common.utils.TreeUtils;
import com.pms.ocp.mapper.ModelSubscribeMapper;
import com.pms.ocp.model.dto.ModelSubscribeDTO;
import com.pms.ocp.model.entity.ModelSubscribe;
import com.pms.ocp.model.entity.TreeNode;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelSubscribeService;
import com.nx.umms.common.utils.TreeUtils;
import com.nx.umms.common.utils.res.ResultCodeEnum;
import com.nx.umms.common.utils.res.ResultVO;
import com.nx.umms.mapper.ModelSubscribeMapper;
import com.nx.umms.model.dto.ModelSubscribeDTO;
import com.nx.umms.model.entity.ModelSubscribe;
import com.nx.umms.model.entity.TreeNode;
import com.nx.umms.service.ModelSubscribeService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -94,14 +94,14 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
* @author huxiuwu
* @date 2022/3/11
*
* @return pms.ocp.model.vo.ResponseVO
* @return nx.umms.model.vo.ResponseVO
**/
@Override
public ResponseVO modelListNavigation(String searchCondition) {
public ResultVO modelListNavigation(String searchCondition) {
//查询模型和模型属性表列表
List<TreeNode> modelProperList = modelSubscribeMapper.selectModelAndModelGroup(searchCondition);
if (CollectionUtil.isEmpty(modelProperList)){
return ResponseVO.error(CodeEnum.NO_DATA);
return ResultVO.fail(ResultCodeEnum.NO_DATA);
}
List<TreeNode> modelGroupList = TreeUtils.build(modelProperList);
//查询组织机构表
......@@ -119,6 +119,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
});
});
List<TreeNode> result = TreeUtils.build(organList);
return ResponseVO.ok(result);
return ResultVO.success(result);
}
}
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.service.ModelTypeService;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.service.ModelTypeService;
import org.springframework.stereotype.Service;
import java.util.List;
......
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.nx.umms.common.utils.DataHandleUtils;
import com.nx.umms.mapper.ModelVersionMapper;
import com.nx.umms.model.dto.ModelVersionDTO;
import com.nx.umms.model.entity.ModelVersion;
import com.nx.umms.model.vo.ModelVersionVO;
import com.nx.umms.service.ModelVersionService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Auther: wangjian
* @Date: 2022/3/28 13:33
* @Description:
*/
@Service
public class ModelVersionServiceImpl implements ModelVersionService {
@Autowired
private ModelVersionMapper modelVersionMapper;
@Override
public Integer createModelVersion(ModelVersionDTO modelVersionDTO) {
ModelVersion modelVersion = new ModelVersion();
BeanUtils.copyProperties(modelVersionDTO, modelVersion);
modelVersion.setCreateTime(LocalDateTime.now());
return modelVersionMapper.insert(modelVersion);
}
@Override
public Integer deleteModelVersion(String mvId, String versionCode) {
QueryWrapper<ModelVersion> queryWrapper = new QueryWrapper();
if (StringUtils.isNotEmpty(mvId)) {
queryWrapper.lambda().eq(ModelVersion::getMvId, mvId);
}
if (StringUtils.isNotEmpty(versionCode)) {
queryWrapper.lambda().eq(ModelVersion::getVersionCode, versionCode);
}
return modelVersionMapper.delete(queryWrapper);
}
@Override
public Integer deleteBatchModelVersion(List<String> ids) {
return modelVersionMapper.deleteBatchIds(ids);
}
@Override
public Integer updateModelVersion(ModelVersionDTO modelVersionDTO) {
ModelVersion modelVersion = new ModelVersion();
BeanUtils.copyProperties(modelVersionDTO, modelVersion);
modelVersion.setUpdateTime(LocalDateTime.now());
UpdateWrapper<ModelVersion> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda().eq(ModelVersion::getMvId, modelVersion.getMvId());
return modelVersionMapper.update(modelVersion, updateWrapper);
}
@Override
public List<ModelVersionVO> getModelVersionList(String mvId, String versionNumber) {
QueryWrapper<ModelVersion> queryWrapper = new QueryWrapper();
if (StringUtils.isNotEmpty(mvId)) {
queryWrapper.lambda().eq(ModelVersion::getMvId, mvId);
}
if (StringUtils.isNotEmpty(versionNumber)) {
queryWrapper.lambda().eq(ModelVersion::getVersionNumber, versionNumber);
}
List<ModelVersion> modelVersionList = modelVersionMapper.selectList(queryWrapper);
List<ModelVersionVO> modelVersionVOList = modelVersionList.stream().map(t -> {
ModelVersionVO modelVersionVO = new ModelVersionVO();
BeanUtils.copyProperties(t, modelVersionVO);
return modelVersionVO;
}).collect(Collectors.toList());
return modelVersionVOList;
}
@Override
public ModelVersion getModelVersion(String mvId, String versionNumber) {
QueryWrapper<ModelVersion> queryWrapper = new QueryWrapper();
if (StringUtils.isNotEmpty(mvId)) {
queryWrapper.lambda().eq(ModelVersion::getMvId, mvId);
}
if (StringUtils.isNotEmpty(versionNumber)) {
queryWrapper.lambda().eq(ModelVersion::getVersionNumber, versionNumber);
}
ModelVersionVO modelVersionVO = new ModelVersionVO();
ModelVersion modelVersion = modelVersionMapper.selectOne(queryWrapper);
// if (DataHandleUtils.isNullOrEmpty(modelVersion) && StringUtils.isEmpty(modelVersion.getVersionCode())){
//
// }
// BeanUtils.copyProperties(modelVersion, modelVersionVO);
return modelVersion;
}
}
package com.pms.ocp.service.impl;
package com.nx.umms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.mapper.OcpModelGroupMapper;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.service.OcpModelGroupService;
import com.nx.umms.mapper.OcpModelGroupMapper;
import com.nx.umms.model.entity.ModelClassify;
import com.nx.umms.service.OcpModelGroupService;
import org.springframework.stereotype.Service;
/**
......
package com.pms.ocp.common.constants;
import lombok.Getter;
/**
* @author wuwanli
* @version 1.0
* @date 2021/8/4
*/
public enum CodeEnum {
/**
* 处理成功
*/
SUCCESS("200", "处理成功", true),
/**
* 必填参数为空
*/
REQUIRED_PARAMETER_EMPTY("0", "必填参数为空", false),
/**
* 参数类型错误
*/
PARAMETER_TYPE_ERROR("0", "Parameter type error", false),
/**
* 未登录
*/
NOT_LOGIN("401001", "用户未登录", false),
/**
* 用户名或密码错误
*/
LOGIN_FAIL("401002", "用户名或密码错误", false),
/**
* 无权限访问
*/
NO_PERMISSION("401003", "无权限访问", false),
/**
* 系统异常
*/
UNKNOWN("9999", "System abnormal", false),
/**
* 数据异常
*/
NO_DATA("200", "数据库无数据", false),
UP_DATA_FAIL("401005", "更新失败", false),
INSERT_FAIL("401006", "插入数据失败", false),
DELETE_FAIL("401007", "修改失败", false),
DATA_REPETITION("250", "分类编码或分类名称重复", false);
/**
* 构造函数
*
* @param code 响应码
* @param desc 响应描述
*/
CodeEnum(String code, String desc, boolean success) {
this.code = code;
this.desc = desc;
this.success = success;
}
@Getter
private final String code;
@Getter
private final String desc;
@Getter
private final boolean success;
}
\ No newline at end of file
package com.pms.ocp.common.constants;
import com.pms.ocp.common.exception.ServiceException;
import org.apache.poi.ss.usermodel.Workbook;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.Locale;
import java.util.regex.Pattern;
public class ExportUtils {
/**
* 校验Header Manipulation
* @param header 参数
* @return 数据
*/
public static String headerManipulation(String header) {
if(StringUtils.isNullOrEmpty(header)){
return header;
}
String regex = "[`~!@#$%^&*()\\+\\=\\{}|:\"?><【】\\/r\\/n]";
Pattern pattern = Pattern.compile(regex);
pattern.matcher(header).replaceAll("").trim();
return header;
}
/**
* 流导出文件至浏览器
*
* @param response
* @param in
* @param fileName
*/
public static void exportWorld(HttpServletResponse response, InputStream in, String fileName) {
OutputStream out = null;
try {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setContentType("application/msword;charset=UTF-8");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
out = response.getOutputStream();
//定义缓存
byte[] buffer = new byte[1024];
int i;
while ((i = in.read(buffer)) != Constant.Number.MINUS_ZERO) {
out.write(buffer, Constant.Number.ZERO, i);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(com.pms.ocp.common.constants.ResultCode.INTERNAL_SERVER_ERROR);
} finally {
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
;
}
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* Workbook导出浏览器
* 文件导出添加跨域 Access-Control-Allow-Origin
* @param response
* @param fileName
* @param workbook
*/
public static void exportExcel(HttpServletResponse response, String fileName, Workbook workbook) {
try {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(ResultCode.INTERNAL_SERVER_ERROR);
}
}
/**
* 图片导出
*
* @param response
* @param in
* @param fileName
*/
public static void exportPic(HttpServletResponse response, InputStream in, String fileName) {
try {
if (in != null) {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
String fileExtensionName = fileName.substring(fileName.lastIndexOf(".") + 1).toUpperCase(Locale.ENGLISH);
switch (fileExtensionName) {
case "JEPG":
case "JPG":
response.setContentType("image/jepg;charset=UTF-8");
break;
case "PNG":
response.setContentType("image/png;charset=UTF-8");
break;
case "BMP":
response.setContentType("application/x-bmp;charset=UTF-8");
break;
default:
response.setContentType("application/octet-stream;charset=UTF-8");
break;
}
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
int i;
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.flush();
out.close();
in.close();
}
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(ResultCode.INTERNAL_SERVER_ERROR);
}
}
}
package com.pms.ocp.common.constants;
/**
* 异常枚举类
*/
public enum ResultCode {
/* ============================ 通用错误码 ========================== **/
/**
* 禁止访问 303
**/
PARAMS_NOT(303, "缺少参数"),
/**
* 存在错误参数 304
*/
PARAMS_NOT_RIGHT(304, "存在错误参数"),
/**
* 存在错误测试数据 305
*/
DATA_ERROR(305, "存在错误测试数据"),
/**
* 存在错误测试数据 305
*/
SERVER_ERROR(306, "服务异常"),
/**
* 校验失败 307
**/
VERIFICATION_FAIL(307, "校验失败"),
/**
* 错误请求 400
**/
BAD_REQUEST(400, "错误请求"),
/**
* 未经授权 401
**/
UNAUTHORIZED(401, "未经授权"),
/**
* 禁止访问 403
**/
FORBIDDEN(403, "禁止访问"),
/**
* 连接超时
**/
TIME_OUT(408, "连接超时"),
/**
* Feign连接错误
**/
FEIGN_CONNECT_ERROR(409, "feignClient 连接错误:%s"),
/**
* Feign连接错误
**/
BAD_REQUEST_METHOD(410, "不合法的请求方式"),
/**
* 操作异常 500
**/
INTERNAL_SERVER_ERROR(500, "操作异常"),
/**
* SQL异常
**/
SQL_ERROR_EXCEPTION(501, "SQL执行异常!"),
/**
* 操作失败
**/
OPERATION_FAILURE(507, "操作失败"),
/**
* 日期格式处理异常
**/
DATE_FORMAT_EXCEPTION(508, "日期格式处理异常"),
/**
* 项目启动文件异常
*/
SYSTEM_PROFILE_EXCEPTION(509, "错误的项目启动文件"),
/* ============================ 业务/错误码 start========================== **/
/* ===========================后台系统======================== **/
RECORD_NOT_EXIST(10001, "相关记录不存在!"),
SYS_USER_INVALID(10002, "用户登录已过期!"),
PERMISSION_NOT(10003, "无访问权限!"),
ACCOUNT_NOT(10004, "账号异常!"),
SHIRO_ERROR(10005, "鉴权/授权过程出错!"),
MENU_EXIST(10006, "菜单定义已存在!"),
ROLE_EXIST(10007, "角色定义已存在!"),
CODE_EXIST(10008, "编码已存在!"),
NAME_EXIST(10009, "名称已存在!"),
NO_DELETE(10010, "无法删除,有关联数据!"),
USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!"),
USER_ORGANIZATION_INFO_ERROR(10024,"用户组织机构信息有误!"),
TOKEN_INVALID(9997, "登录失效,请重新登录!"),
/* ============================ 文件处理 错误码 ========================== **/
FILE_NOT_EXISTS(21001, "文件不存在"),
FILE_MUST_IS_EXCEL(21002, "文件类型必须是excel"),
UPLOAD_EXCEPTION(21003, "上传过程出现异常"),
EXCEL_RULE_NOT_EXISTS(21004, "excel校验规则不存在"),
EXCEL_TEMPLATE_NOT_EXISTS(21005, "excel模板不存在"),
EXCEL_TEMPLATE_NOT_CORRECT(21009, "excel模板不对,请重新下载"),
EXCEL_DATA_NOT_EXISTS(21006, "excle数据不存在"),
EXCEL_NOT_CORRECT(21007, "excel不正确"),
EXCEL_PARSE_CORRECT(21010,"excel解析错误"),
CURRENT_MONTH_NOT_EXISTS(21008, "当前年月数据不存在"),
BATCH_NOT_NEED(21009, "无需批量操作!"),
CELL_IS_NULL(21010, "值不能为空"),
CELL_FORMAT_ERROR(21011, "值格式不正确"),
CELL_MIN_LENGTH_ERROR(21012, "值小于最小长度"),
CELL_MAX_LENGTH_ERROR(21013, "值大于最大长度"),
CELL_REGULAR_ERROR(21014, "值正则验证不通过"),
CELL_OPTION_ERROR(21015, "值不在选项集范围内"),
ROW_DUPLICATE_ERROR(21016, "行重复性校验未通过"),
CELL_DATE_FORMAT_ERROR(21017,"日期范围格式不正确"),
DATA_MISSING_UNITS(21018, "数据缺少单位级别编码"),
PICTURE_NAME_ILLEGAL(21019, "图片名称不合法,请重新上传"),
FILE_MUST_IS_PIC(21020, "图片格式不合法,请重新上传!"),
NAME_CONFLICT(21021, "该组织机构下名称重复,请修改名称!"),
ENCRYPT_ERROR_CODE(21022, "解密失败"),
/* ===========================JoyhrError======================== **/
SIGN_ERROR(80001,"签名验证错误!"),
METHOD_ERROR(80002,"方法不存在!"),
/* ===========================CrmHookError======================== **/
CRM_MEMBER_FOUND_ERROR(81001,"会员信息已存在"),
CRM_MEMBER_NOT_FOUND_ERROR(81002,"会员信息不存在"),
/* =============主系统更改Error ================= **/
MASTER_DATA_RELY_ERROR(90001,"切换系统与中台数据存在数据不匹配"),
RELY_DATA_NOT_MATCH_BASE(90002,"切换系统依赖数据与中台数据存在不匹配数据"),
BUS_DATA_NOT_MATCH_BASE(90003,"切换系统业务数据与中台数据存在不匹配数据"),
DATA_MAPPING_NOT_MATCH_BASE(90004,"切换系统数据映射中数据与中台数据存在不匹配数据"),
/* =============中台大平台系统 ================= **/
LOGIN_TIME_OUT(130001,"登录失效或未登录,请重新登录"),
VERFICATION_CODE_ERROR(130002,"验证码不正确"),
NO_USER(130003,"用户不存在"),
PASSWORD_ERROR(130004,"密码不正确"),
MOBILE_USED(130005,"该手机号码已被注册"),
BANK_ACCOUNT_USED(130006,"该银行账号已被使用"),
OPEN_GOODS_FAIL(130009,"开通失败,请重新开通或联系相关人员"),
PROBATION_GOODS_FAIL(130010,"试用失败,请重新试用或联系相关人员"),
END_GOODS_FAIL(130011,"停用失败,请重新停用或联系相关人员"),
FIND_ORDER_LIST_FAIL(130012,"查询订单列表失败,请重新查询或联系相关人员"),
FIND_BILL_FAIL(130013,"查询账单列表失败,请重新查询或联系相关人员"),
FIND_SIX_MONTH_BILL(130014,"查询近6个月消费失败"),
FIND_MONTH_GOODS(130015,"查询该月份消费情况失败"),
/* =============数据维护 ================= **/
TOTAL_SYNC_RECORD_EXITS(110001,"已执行过全量同步!"),
TOTAL_SYNC_RECORD_NOT_EXITS(110002,"还没执行全量同步!");
public final int statusCode;
public String msg;
ResultCode(int statusCode, String msg) {
this.statusCode = statusCode;
this.msg = msg;
}
public int getStatusCode() {
return statusCode;
}
public String getMessage() {
return msg;
}
public void setMessage(String msg) {
this.msg = msg;
}
}
package com.pms.ocp.common.exception;
import lombok.Getter;
/**
* @author wuwanli
* @date 2021/8/3
*/
public class BeagleException extends RuntimeException {
/**
* 错误码
*/
@Getter
protected String errorCode;
/**
* 错误信息
*/
@Getter
protected String errorMsg;
public BeagleException() {
super();
}
public BeagleException(String errorMsg) {
super(errorMsg);
this.errorMsg = errorMsg;
}
public BeagleException(String errorCode, String errorMsg) {
super(errorMsg);
this.errorCode = errorCode;
this.errorMsg = errorMsg;
}
public BeagleException(String errorMsg, Throwable cause) {
super(errorMsg, cause);
}
public BeagleException(String errorCode, String errorMsg, Throwable cause) {
super(errorCode, cause);
this.errorCode = errorCode;
this.errorMsg = errorMsg;
}
}
package com.pms.ocp.common.exception;
import com.pms.ocp.common.utils.BeagleStringUtils;
import com.pms.ocp.model.vo.BaseResponse;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import com.pms.ocp.common.constants.CodeEnum;
import lombok.extern.slf4j.Slf4j;
/**
* @author wuwanli
* @version 1.0
* @date 2021/8/5
*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = BeagleException.class)
public BaseResponse beagleExceptionHandler(BeagleException beagleException) {
log.error("GlobalExceptionHandler.beagleExceptionHandler", beagleException);
BaseResponse baseResponse = new BaseResponse();
if (BeagleStringUtils.isBlank(beagleException.getErrorCode())) {
baseResponse.setResponseCode(CodeEnum.UNKNOWN);
} else {
baseResponse.setCode(beagleException.getErrorCode());
baseResponse.setDesc(beagleException.getErrorMsg());
}
return baseResponse;
}
@ExceptionHandler(value = Exception.class)
public BaseResponse exceptionHandler(Exception exception) {
log.error("GlobalExceptionHandler.exceptionHandler", exception);
return new BaseResponse(CodeEnum.UNKNOWN);
}
}
package com.pms.ocp.common.exception;
import com.pms.ocp.common.constants.ResultCode;
/**
* @Auther: wangjian
* @Date: 2022/3/11 16:31
* @Description:
*/
public class ServiceException extends RuntimeException {
/**
* 自定义异常枚举类
*/
private ResultCode resultCode;
/**
* 错误码
*/
private int code;
/**
* 错误信息
*/
private String errorMsg;
public ServiceException() {
super();
}
public ServiceException(ResultCode resultCode) {
super("{code:" + resultCode.getStatusCode() + ",errorMsg:" + resultCode.getMessage() + "}");
this.resultCode = resultCode;
this.code = resultCode.getStatusCode();
this.errorMsg = resultCode.getMessage();
}
public ServiceException(int code, String errorMsg) {
super("{code:" + code + ",errorMsg:" + errorMsg + "}");
this.code = code;
this.errorMsg = errorMsg;
}
public ResultCode getErrorEnum() {
return resultCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
package com.pms.ocp.common.utils;
import com.pms.ocp.model.vo.Menu;
import java.util.ArrayList;
import java.util.List;
/**
* @author guofanfan
* 树形
*/
public class MenuTree {
private List<Menu> menuList = new ArrayList<Menu>();
public MenuTree(List<Menu> menuList) {
this.menuList=menuList;
}
//建立树形结构
public List<Menu> builTree(){
List<Menu> treeMenus =new ArrayList<Menu>();
for(Menu menuNode : getRootNode()) {
menuNode=buildChilTree(menuNode);
treeMenus.add(menuNode);
}
return treeMenus;
}
//递归,建立子树形结构
private Menu buildChilTree(Menu pNode){
List<Menu> chilMenus =new ArrayList<Menu>();
for(Menu menuNode : menuList) {
if(menuNode.getParentId().equals(pNode.getId())) {
chilMenus.add(buildChilTree(menuNode));
}
}
pNode.setChildren(chilMenus);
return pNode;
}
//获取根节点
private List<Menu> getRootNode() {
List<Menu> rootMenuLists =new ArrayList<Menu>();
for(Menu menuNode : menuList) {
if("0".equals(menuNode.getParentId())) {
rootMenuLists.add(menuNode);
}
}
return rootMenuLists;
}
}
\ No newline at end of file
package com.pms.ocp.controller;
import com.github.pagehelper.PageInfo;
import com.pms.ocp.common.utils.ExcelUtils;
import com.pms.ocp.common.utils.FileExport;
import com.pms.ocp.common.utils.FileUtil;
import com.pms.ocp.model.dto.ApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.entity.OcpApiGroup;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ApiBasicManagementService;
import com.pms.ocp.service.ApiDetailsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author guofanfan
*/
@Slf4j
@RequestMapping("/api/basic")
@RestController
@Api(tags = "服务库服务基础管理接口")
public class ApiBasicManagementController {
@Autowired
private ApiDetailsService apiDetailsService;
@Autowired
private ApiBasicManagementService apiBasicManagementService;
@ApiOperation("条件查询")
@GetMapping("/queryOcpApiBaseDto")
public ResponseVO<List<OcpApiBaseVo>> queryOcpApiBaseDto(@RequestParam(required = false) String apiCode,
@RequestParam(required = false) String keyword,
@RequestParam(required = false) String apiUnits,
@RequestParam(required = false) Timestamp startTime,
@RequestParam(required = false) Timestamp endTime,
@RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) Integer pageNum
) {
List<OcpApiBaseVo> list = apiBasicManagementService.queryOcpApiBaseDto(apiCode, keyword, apiUnits, startTime, endTime, pageSize
, pageNum);
return ResponseVO.ok(list);
}
@ApiOperation("导入功能")
@PostMapping("/import")
public ResponseVO ApiImport(@RequestParam(required = false) MultipartFile file,
HttpServletRequest request) throws Exception {
if (file == null) {
return ResponseVO.ok("导入数据不能为空");
}
System.out.println(file);//用来检查前端是否把文件传过来
//解析excel,
List<OcpApiBaseVo> personList = FileUtil.importExcel(file, 0, 1, OcpApiBaseVo.class);
System.out.println("导入数据一共【" + personList.size() + "】行");
apiBasicManagementService.apiImport(personList);
return ResponseVO.ok();
}
@ApiOperation("导出功能")
@GetMapping("/export")
public ResponseVO ApiExport(HttpServletResponse response,
@RequestParam(required = false) String apiCodes,
@RequestParam(required = false) String excelFileName) throws Exception {
if (StringUtils.isEmpty(apiCodes)) {
return ResponseVO.ok("请选择你要导出的数据");
}
List<OcpApiBaseVo> ocpApiBaseVoList = apiBasicManagementService.selectApiExport(apiCodes);
if (StringUtils.isEmpty(excelFileName)) {
excelFileName = "服务列表-";
}
//导出excel
ExcelUtils.exportExcel(response, excelFileName + LocalDate.now(), ocpApiBaseVoList, OcpApiBaseVo.class);
return ResponseVO.ok();
}
// @ApiOperation("下载模板")
//// @GetMapping("/download")
// @GetMapping(value = "/download", produces = "text/plain;charset=UTF-8")
// public void ApiDownload(HttpServletResponse response) throws IOException {
// String filePate = getClass().getResource("/template/233.xls").getPath();
// InputStream bis = new BufferedInputStream(new FileInputStream(new File(filePate)));
// //假如以中文名下载的话,设置下载文件名称
// String filename = "导入模板.xls";
// //转码,免得文件中文名中文乱码
// filename = URLEncoder.encode(filename, "UTF-8");
// //设置文件下载头
// response.addHeader("Content-Disposition", "attachment;filename=" + filename);
//// response.setHeader("Content-Length",bis.available()+"");
// //1.设置文件ContentType类型,这样设置.会自动判断下载文件类型
// response.setContentType("multipart/form-data");
// response.setCharacterEncoding("UTF-8");
//// response.setContentType("application/x-download");
// BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
// int len = 0;
// byte[] bytes = new byte[65536];
//// bytes=bytes.toString().getBytes("GBK");
// while ((len = bis.read(bytes)) != -1) {
// out.write(bytes,0,len);
// out.flush();
// }
// out.close();
//
// }
//@GetMapping("/downloadExcel")
//public void downloadExcel(HttpServletResponse response,HttpServletRequest request){
// try {
// String filename="233.xls";
// String encoding = "UTF-8";
// /** 获取浏览器相关的信息 */
// String userAgent = request.getHeader("user-agent");
// /** 判断是否为msie浏览器 */
// if (userAgent.toLowerCase().indexOf("msie") != -1){
// encoding = "gbk";
// }
// response.setHeader("Content-disposition", "attachment;filename=" + filename);
// response.setContentType("application/vnd.ms-excel;charset=UTF-8");
// String filePath = getClass().getResource("/template/" + filename).getPath();
// FileInputStream input = new FileInputStream(filePath);
// OutputStream outputStream = response.getOutputStream();
// byte[] b = new byte[2048];
// int len;
// while ((len=input.read(b))!=-1){
// outputStream.write(b,0,len);
// }
// response.setHeader("Content-Length",String.valueOf(input.getChannel().size()));
// input.close();
// }catch (Exception ex){
// log.error("xx:",ex);
// }
//}
@ApiOperation("下载模块")
@GetMapping("/downloadExcel")
public void downloadExcel(HttpServletResponse response, HttpServletRequest request) {
String[] excelHeader = {"序号", "服务编码", "服务中文名称", "所属集群", "所属命名空间", "接口URL", "状态", "注册时间", "建设单位"};
List<Object> list = new ArrayList<>();
FileExport.exportExcel(excelHeader, list, "XXX模板", response, request);
}
@ApiOperation("服务注册")
@PostMapping("/add")
public ResponseVO addOcpApiBase(@RequestBody OcpApiBase ocpApiBase) {
apiBasicManagementService.addOcpApiBase(ocpApiBase);
return ResponseVO.ok();
}
@ApiOperation("服务订阅")
@GetMapping("/login")
public ResponseVO ApiLogin(@RequestParam(required = false) String apiPromotion,
@RequestParam(required = false) String apiCodes) {
if (StringUtils.isEmpty(apiPromotion)) {
return ResponseVO.error("不能为空");
} else if (apiPromotion.equals("0")) {
return ResponseVO.error("统招");
} else {
apiBasicManagementService.apiLogin(apiCodes);
return ResponseVO.ok();
}
}
@ApiOperation("服务发布")
@GetMapping("/issue")
public ResponseVO ApiIssue(@RequestParam(required = false) String apiPromotion,
@RequestParam(required = false) String apiCodes) {
if (StringUtils.isEmpty(apiPromotion)) {
return ResponseVO.error("不能为空");
} else if (apiPromotion.equals("0")) {
return ResponseVO.error("统招");
} else {
return apiBasicManagementService.apiIssue(apiCodes);
}
}
@ApiOperation("服务列表")
@GetMapping("/apiListQuery")
public ResponseVO<PageInfo<OcpApiBaseVo>> apiListQuery(HttpServletRequest request, ApiBaseDto ApiBaseReq) {
return apiBasicManagementService.getBaseByGroupCode(ApiBaseReq);
}
/* @ApiOperation("服务树一级")
@GetMapping("/apiBaseTree")
public ResponseVO<List<OcpApiGroup>> apiBaseTree(String apiGroupCompanyCode, Integer apiGroupPromotionType) {
List<OcpApiGroup> apiTreeGroupDtos = apiBasicManagementService.apiBaseTreeOther(apiGroupCompanyCode,null,apiGroupPromotionType);
return ResponseVO.ok(apiTreeGroupDtos);
}*/
@ApiOperation("服务分类层级")
@GetMapping("/apiBaseTreeOther")
public ResponseVO<List<OcpApiGroup>> apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupCode, Integer apiGroupPromotionType) {
List<OcpApiGroup> apiTreeGroupDtos = apiBasicManagementService.apiBaseTreeOther(apiGroupCompanyCode, apiGroupCode, apiGroupPromotionType);
return ResponseVO.ok(apiTreeGroupDtos);
}
@ApiOperation("服务树列表")
@GetMapping("/apiBaseTreeList")
public ResponseVO<List<OcpApiBase>> apiBaseTreeList(String apiGroupCompanyCode, String apiGroupCode) {
List<OcpApiBase> apiBaseList = apiBasicManagementService.apiBaseTreeApiList(apiGroupCompanyCode, apiGroupCode);
return ResponseVO.ok(apiBaseList);
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.dto.ApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ApiDetailsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RequestMapping("/api-base/v1")
@RestController
@Api(tags = "服务库服务详情接口")
public class ApiDetailsController {
@Autowired
private ApiDetailsService apiDetailsService;
@ApiOperation("服务库服务详情-查询")
@GetMapping("/query")
public ResponseVO<OcpApiBaseVo> getApiDetails(String apiCode) {
return apiDetailsService.getApiDetails(apiCode);
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.entity.OcpTenantGroup;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.AppArrangeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
* @className: AppArrangeController
* @Dscription:应用分类管理接口
* * @atuthor: pei-chenxi
* * @DateTime: 2022/3/9 14:15e
*/
@Slf4j
@RestController
@RequestMapping("/app-arrange/vl")
@Api(tags = "应用分类管理接口")
public class AppArrangeController {
@Autowired
private AppArrangeService appArrangeService;
@PostMapping("/update/app")
@ApiOperation("应用分类修改")
public ResponseVO updateApp(@RequestBody OcpTenantGroup ocpTenantGroup){
boolean flag = appArrangeService.updateApp(ocpTenantGroup);
if (flag){
return ResponseVO.ok();
}
return ResponseVO.error("您输入的分类编码重复,请重新输入");
}
}
package com.pms.ocp.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pms.ocp.common.config.PageParam;
import com.pms.ocp.model.dto.ApiTreeGroupDto;
import com.pms.ocp.model.dto.OcpApiGroupDtos;
import com.pms.ocp.model.dto.PageGroupDto;
import com.pms.ocp.model.entity.OcpApiGroup;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpApiTreeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author zhaochengming
*/
@Slf4j
@RequestMapping("/api-group/v1")
@RestController
@Api(tags = "服务树管理接口")
public class OcpApiTreeController {
@Autowired
private OcpApiTreeService service;
/**
* 服务树分类
* @return
*/
@GetMapping("/getTree")
@ApiOperation("服务树分类")
public ResponseVO< List<OcpApiGroup>> getTree(OcpApiGroup ocpApiGroup){
List<OcpApiGroup> byGroup = service.getByGroup(ocpApiGroup.getApiGroupPromotionType(), ocpApiGroup.getApiGroupCode());
return ResponseVO.ok(byGroup);
}
@PostMapping("/instertree")
@ApiOperation("服务树分类--新增")
public ResponseVO inseter(@RequestBody OcpApiGroup ocpApiGroup){
OcpApiGroup ocpApiGroup1 = service.insertTree(ocpApiGroup);
return ResponseVO.ok(ocpApiGroup1);
}
@GetMapping("/getone")
@ApiOperation("服务树分类--分级数据")
public ResponseVO<Page<OcpApiGroup>> getOne(PageGroupDto pageGroupDto){
Page<OcpApiGroup> onePages = service.getOnePages(pageGroupDto);
return ResponseVO.ok(onePages);
}
@PostMapping("/updatatree")
@ApiOperation("服务树分类--修改")
public ResponseVO updataTree(@RequestBody OcpApiGroup ocpApiGroup){
boolean flag = service.updataOcpTree(ocpApiGroup);
if (flag){
return ResponseVO.ok();
}
return ResponseVO.error("您输入的服务编码重复,请重新输入");
}
@PostMapping("/deletetree")
@ApiOperation("服务树分类--删除")
public ResponseVO deleteTree(@RequestBody OcpApiGroup ocpApiGroup){
boolean tree = service.deleteOcpTree(ocpApiGroup);
if (tree){
return ResponseVO.ok("删除成功!");
}else {
return ResponseVO.error("请先删除下级目录");
}
}
}
package com.pms.ocp.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pms.ocp.model.dto.*;
import com.pms.ocp.model.entity.OcpApiGroup;
import com.pms.ocp.model.entity.OcpTenantGroup;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.TenantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Set;
/**
* @author zhaochengming
*/
@Slf4j
@RequestMapping("/api-tenant/v1")
@RestController
@Api(tags = "应用树管理接口")
public class OcpTenantController {
@Autowired
private TenantService tenantService;
/**
* 应用树分类
* @return
*/
@GetMapping("/tenantOnetree")
@ApiModelProperty("应用树分类")
private List<OcpTenantGroup> getTenantTree(OcpTenantGroup ocpTenantGroup) {
List<OcpTenantGroup> tree= tenantService.getTree(ocpTenantGroup.getTenantGroupCompanyCode(),ocpTenantGroup.getTenantGroupCode(),ocpTenantGroup.getLevel());
return tree;
}
@GetMapping("/tenantselect")
@ApiModelProperty("应用树分类--查询")
private ResponseVO<Page<OcpTenantGroup>> getselect(String tenantGroupCode,String tenantGroupCompanyCode,int currentPage,int pageSize,String keyword,String lev ){
Page<OcpTenantGroup> tree= tenantService.getselects(tenantGroupCode,tenantGroupCompanyCode,currentPage,pageSize,keyword,lev);
return ResponseVO.ok(tree);
}
@PostMapping("/tenantinster")
@ApiModelProperty("新增应用")
public ResponseVO tenantInster(@RequestBody TenanBaseDto TenanBaseDto){
OcpTenantGroup tenanInster = tenantService.getTenanInster(TenanBaseDto);
if ("1".equals(tenanInster.getNum())){
return ResponseVO.error("1");
}
return ResponseVO.ok(tenanInster);
}
@PostMapping("/tenantupdata")
@ApiModelProperty("修改应用")
public ResponseVO tenantUpdata(@RequestBody OcpTenantGroup ocpTenantGroup){
boolean falg = tenantService.getTenantUpdata(ocpTenantGroup);
if (falg){
return ResponseVO.ok("修改成功!");
}
return ResponseVO.error("应用code已经存在!");
}
@PostMapping("/tenantdelete")
@ApiModelProperty("删除服务")
public ResponseVO tenantDelete(@RequestBody OcpTenantGroup ocpTenantGroup){
boolean falg = tenantService.gettenantDelete(ocpTenantGroup);
if (falg){
return ResponseVO.ok("删除成功!");
}
return ResponseVO.error("应用下存在服务,请先删除下级应该!");
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.entity.*;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Slf4j
@RequestMapping("/api")
@RestController
@Api(tags = "服务接口")
public class PmsApiDetailsController {
@Autowired
private PmsApiSubsService pmsApiSubsService;
@Autowired
private PmsApiAuditService pmsApiAuditService;
@Autowired
private PmsApiTenantRelService pmsApiTenantRelService;
@Autowired
private PmsApiModelRelService pmsApiModelRelService;
@ApiOperation("服务订阅记录-查询")
@PostMapping("/getocpapisublist")
public ResponseVO<List<PmsApiSubs>> getOcpApiSubsList(PmsApiSubs pmsApiSubs) {
return pmsApiSubsService.getPmsApiSubsList(pmsApiSubs);
}
@ApiOperation("服务大事记-查询")
@PostMapping("/getocpapiauditlist")
public ResponseVO<List<PmsApiAudit>> getPmsApiAuditList(PmsApiAudit pmsApiAudit) {
return pmsApiAuditService.getOcpApiAuditList(pmsApiAudit);
}
// @ApiOperation("服务大事记-查询详情")
// @PostMapping("/getocpapidetails")
// public ResponseVO<List<OcpApiAudit>> getOcpApiDetails(@RequestBody OcpApiAudit ocpApiAudit){
// return ocpApiAuditService.sById(ocpApiAudit);
// }
@ApiOperation("服务大事记-查询详情-变更内容")
@PostMapping("/getocpapi")
public ResponseVO<List<PmsApiAudit>> getOcpApi(@RequestBody PmsApiAudit pmsApiAudit){
return pmsApiAuditService.OaaById(pmsApiAudit);
}
@ApiOperation("服务大事记-历史版本")
@PostMapping("/versionid")
public ResponseVO<List<PmsApiAudit>> versionId(@RequestBody PmsApiAudit pmsApiAudit){
return pmsApiAuditService.versionId(pmsApiAudit);
}
@ApiOperation("服务与应用拓扑图-查询")
@PostMapping("/getoatrlist")
public ResponseVO<List<PmsApiTenantRel>> getOatrList(@RequestBody PmsApiTenantRel pmsApiTenantRel) {
return pmsApiTenantRelService.getOatrList(pmsApiTenantRel);
}
@ApiOperation("服务与模型拓扑图-查询")
@PostMapping("/getoamrlist")
public ResponseVO<List<PmsApiModelRel>> getOamrList(@RequestBody PmsApiModelRel pmsApiModelRel) {
return pmsApiModelRelService.getOamrList(pmsApiModelRel);
}
@ApiOperation("服务大事记-导出")
@PostMapping("/export")
public void exportExcel(@RequestBody PmsApiAudit pmsApiAudit, HttpServletRequest request, HttpServletResponse response) {
pmsApiAuditService.exportExcel(pmsApiAudit,request,response);
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.entity.*;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Result;
import java.util.List;
@Slf4j
@RequestMapping("/tenant")
@RestController
@Api(tags = "应用接口")
public class PmsTenantDetailsController {
@Autowired
private PmsTenantBaseService pmsTenantBaseService;
@Autowired
private PmsTenantAuditService pmsTenantAuditService;
@Autowired
private PmsTenantSubsService pmsTenantSubsService;
@Autowired
private PmsApiTenantRelService pmsApiTenantRelService;
@ApiOperation("应用基础信息-查询")
@PostMapping("/getotbList")
public ResponseVO<List<PmsTenantBase>> getOtbList(@RequestBody PmsTenantBase pmsTenantBase){
return pmsTenantBaseService.getOtbList(pmsTenantBase);
}
@ApiOperation("应用大事记-查询")
@PostMapping("/getotaList")
public ResponseVO<List<PmsTenantAudit>> getOtaList(PmsTenantAudit pmsTenantAudit) {
return pmsTenantAuditService.getOtaList(pmsTenantAudit);
}
@ApiOperation("应用订阅记录-查询")
@PostMapping("/getOcpTenantList")
public ResponseVO<List<PmsTenantSubs>> getOcpTenantList(PmsTenantSubs pmsTenantSubs) {
return pmsTenantSubsService.getOcpTenantList(pmsTenantSubs);
}
@ApiOperation("应用与服务拓扑图-查询")
@PostMapping("/getOcpTenantApiList")
public ResponseVO<List<PmsApiTenantRel>> getOcpTenantApiList(@RequestBody PmsApiTenantRel pmsApiTenantRel) {
return pmsApiTenantRelService.getTenantApiList(pmsApiTenantRel);
}
@ApiOperation("应用大事记-导出")
@PostMapping("/export")
public void exportExcel(@RequestBody PmsTenantAudit pmsTenantAudit, HttpServletRequest request, HttpServletResponse response) {
pmsTenantAuditService.exportExcel(pmsTenantAudit,request,response);
}
@ApiOperation("应用大事记-查询详情-变更内容")
@PostMapping("/getocpTent")
public ResponseVO<List<PmsTenantAudit>> getOcpTenant(@RequestBody PmsTenantAudit pmsTenantAudit){
return pmsTenantAuditService.OtaById(pmsTenantAudit);
}
@ApiOperation("应用大事记-查询详情-历史版本")
@PostMapping("/versionId")
public ResponseVO<List<PmsTenantAudit>> versionId(@RequestBody PmsTenantAudit pmsTenantAudit){
return pmsTenantAuditService.versionId(pmsTenantAudit);
}
}
package com.pms.ocp.controller;
import com.github.pagehelper.PageInfo;
import com.pms.ocp.model.dto.*;
import com.pms.ocp.model.entity.OcpTenantBase;
import com.pms.ocp.model.entity.OcpTenantGroup;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.TenantBasicManagementService;
import com.pms.ocp.service.TenantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp;
import java.util.List;
/**
* @author guofanfan
*/
@Slf4j
@RequestMapping("/tenant/basic")
@RestController
@Api(tags = "应用库服务基础管理接口")
public class TenantBasicManagementController {
@Autowired
private TenantBasicManagementService tenantBasicManagementService;
@Autowired
private TenantService tenantService;
@ApiOperation("条件查询")
@GetMapping("/queryOcpTenantBaseDto")
public ResponseVO<List<OcpTenantBaseDto>> queryOcpTenantBaseDto(
@RequestParam(required = false) String tenantGroupCode,
@RequestParam(required = false) String tenantCode,
@RequestParam(required = false) String keyword,
@RequestParam(required = false) String tenantUnit,
@RequestParam(required = false) Timestamp startTime,
@RequestParam(required = false) Timestamp endTime,
@RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) Integer pageNum
) {
List<OcpTenantBaseDto> ocpTenantBaseDto = tenantBasicManagementService.queryOcpTenantBaseDto(tenantGroupCode, tenantCode, keyword, tenantUnit, startTime, endTime, pageSize, pageNum);
return ResponseVO.ok(ocpTenantBaseDto);
}
@ApiOperation("应用发布")
@GetMapping("/issue")
public ResponseVO TenantIssue(
@RequestParam(required = false) String tenantCodes) {
return tenantBasicManagementService.tenantIssue(tenantCodes);
}
@ApiOperation("应用订阅")
@GetMapping("/login")
public ResponseVO TenantLogin(
@RequestParam(required = false) String tenantCodes,
@RequestParam(required = false) String companyCode) {
return tenantBasicManagementService.tenantLogin(tenantCodes, companyCode);
}
@ApiOperation("应用下线")
@GetMapping("/cancel")
public ResponseVO TenantCancel(
@RequestParam(required = false) String tenantCodes) {
return tenantBasicManagementService.tenantCancel(tenantCodes);
}
@ApiOperation("应用注册")
@PostMapping("/apply/register")
public ResponseVO TenantRegister(@RequestBody(required = false) OcpTenantBaseDto ocpTenantBaseDto) {
return tenantBasicManagementService.applyRegister(ocpTenantBaseDto);
}
@ApiOperation("应用树层级")
@GetMapping("/tenantBaseTreeOther")
public ResponseVO<List<GroupDto>> tenantBaseTreeOther(@RequestParam(required = false) String tenantGroupCode, @RequestParam(required = false) String tenantGroupCompanyCode
) {
List<GroupDto> ocpApiGroups = tenantBasicManagementService.tenantBaseTreeOther(tenantGroupCode, tenantGroupCompanyCode);
return ResponseVO.ok(ocpApiGroups);
}
@ApiOperation("应用树底层")
@GetMapping("/tenantBaseTree")
public ResponseVO<List<OcpTenantBase>> tenantBaseTree(@RequestParam(required = false) String tenantGroupCode,
@RequestParam(required = false) String tenantGroupCompanyCode) {
if (StringUtils.isEmpty(tenantGroupCode)) {
return ResponseVO.error("code为空");
}
List<OcpTenantBase> ocpTenantBases = tenantBasicManagementService.tenantBaseTree(tenantGroupCode, tenantGroupCompanyCode);
return ResponseVO.ok(ocpTenantBases);
}
@ApiOperation("应用列表")
@GetMapping("/tenantListQuery")
public ResponseVO<PageInfo<OcpTenantBaseDto>> tenantListQuery(HttpServletRequest request, TenantDto tenantDto) {
return tenantBasicManagementService.getBaseByGroupCode(tenantDto);
}
@ApiOperation("注册查询信息")
@GetMapping("/select/register")
public ResponseVO<OcpTenantGroup> selectRegister(@RequestParam(required = false) String tenantGroupCode, @RequestParam(required = false) String tenantGroupCompanyCode) {
OcpTenantGroup ocpTenantGroup = tenantBasicManagementService.selectRegister(tenantGroupCode, tenantGroupCompanyCode);
return ResponseVO.ok(ocpTenantGroup);
}
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.sql.Timestamp;
import java.util.List;
/**
* @author guofanfan
*/
@Mapper
public interface ApiBasicManagementMapper extends BaseMapper<OcpApiBase> {
List<OcpApiBaseVo> selectApiExport(List<String> list);
List<OcpApiBaseVo> queryOcpApiBaseDto(@Param("keyword") String keyword,@Param("apiUnit") String apiUnit, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("apiCode") String apiCode, @Param("pageSize") int pageSize, @Param("pageNum") int pageNum);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ApiDetailsMapper extends BaseMapper<OcpApiBase> {
OcpApiBaseVo selectByCode(@Param("apiCode") String apiCode);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpTenantGroup;
import org.apache.ibatis.annotations.Mapper;
/**
* @className: AppArrangeMapper
* @Description:应用分类数据层
* @atuthor: pei-chenxi
* @DateTime: 2022/3/9 14:18
*/
@Mapper
public interface AppArrangeMapper extends BaseMapper<OcpTenantGroup> {
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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