提交 4a920d43 authored 作者: 马晨俊's avatar 马晨俊

合并分支 'lj-project' 到 'master'

Lj project 查看合并请求 !48
......@@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zjty</groupId>
......@@ -37,6 +37,13 @@
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
......
......@@ -11,7 +11,11 @@ import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -38,17 +42,26 @@ public class AopIntercept {
@Around("doPointCut()")
public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
long startMillis = System.currentTimeMillis();
Object proceed = joinPoint.proceed();
long endMillis = System.currentTimeMillis();
long time = (endMillis - startMillis);
log.info("评估总耗时{}毫秒",time);
log.info("PersonAspect2 ==> before method : {}", joinPoint.getSignature().getName());
log.info("注解的类型名称为{}",joinPoint.getSignature().getDeclaringTypeName());
log.info("方法修饰符个数为{}",joinPoint.getSignature().getModifiers());
log.info("方法名称为{}",joinPoint.getSignature().getName());
log.info("方法参数{}",joinPoint.getArgs());
return proceed;
AuthAnnotation authAnnotation = ((MethodSignature)joinPoint.getSignature()).getMethod().getAnnotation(AuthAnnotation.class);
String[] code = authAnnotation.code();
if(user!=null){
List<String> authorityCode = user.getAuthorityCode();
for (String s : code) {
if (authorityCode.contains(s)) {
long startMillis = System.currentTimeMillis();
Object proceed = joinPoint.proceed();
long endMillis = System.currentTimeMillis();
long time = (endMillis - startMillis);
log.info("评估总耗时{}毫秒", time);
log.info("PersonAspect2 ==> before method : {}", joinPoint.getSignature().getName());
log.info("注解的类型名称为{}", joinPoint.getSignature().getDeclaringTypeName());
log.info("方法修饰符个数为{}", joinPoint.getSignature().getModifiers());
log.info("方法名称为{}", joinPoint.getSignature().getName());
log.info("方法参数{}", joinPoint.getArgs());
return proceed;
}
}
}
return ResponseEntity.status(403).build();
}
}
......@@ -15,7 +15,7 @@ import java.io.IOException;
* <p>@author : Mcj
*/
@Component
@WebFilter(filterName = "MyCorsFilter", urlPatterns = "/*")
@WebFilter(filterName = "MyCorsFilter", urlPatterns = "/**")
@Order(2)
public class FpCorsFilter implements Filter {
@Override
......@@ -25,7 +25,9 @@ public class FpCorsFilter implements Filter {
HttpServletResponse response = (HttpServletResponse) res;
// 设置响应头的权限信息 request.getHeader("Origin")
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
......
......@@ -10,6 +10,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
/**
* @author Mcj
......@@ -25,12 +26,11 @@ public class LoginInterceptor implements HandlerInterceptor {
private AopIntercept aopIntercept;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) {
String sessionId = request.getHeader("sessionId");
String sessionId = request.getHeader("session");
String url = "http://120.55.57.35:12345/user/getLogin/"+sessionId;
ServerResponse user = restTemplate.getForObject(url, ServerResponse.class);
if(user==null){
if(Objects.requireNonNull(user).getData()==null){
//不符合条件的给出提示信息,并转发到登录页面
request.setAttribute("msg", "您还没有登录,请先登录!");
response.setStatus(403);
return false;
}
......
......@@ -6,10 +6,7 @@ import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.*;
import java.util.List;
......@@ -23,12 +20,18 @@ public class MvcConfig extends WebMvcConfigurationSupport {
// 多个拦截器组成一个拦截器链
// addPathPatterns 用于添加拦截规则,/**表示拦截所有请求
// excludePathPatterns 用户排除拦截
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/doc.html");
;
super.addInterceptors(registry);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
......
package com.zjty.inspect.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
......@@ -13,8 +16,10 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
//
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class Swagger2Configuration {
@Bean
/*@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
......@@ -22,15 +27,36 @@ public class Swagger2Configuration {
.apis(RequestHandlerSelectors.basePackage("com.zjty.inspect"))
.paths(PathSelectors.any())
.build();
}
}*/
// private ApiInfo apiInfo() {
// return new ApiInfoBuilder()
// .title("评估api文档")
// .description("评估api文档")
// .termsOfServiceUrl("/")
// .version("1.0")
// .build();
// }
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.zjty.inspect"))
.paths(PathSelectors.any())
.build();
return docket;
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("评估api文档")
.description("评估api文档")
// .termsOfServiceUrl("/")
.title("评估APIs文档")
.description("评估APIs文档")
.termsOfServiceUrl("/")
.version("1.0")
.build();
}
}
package com.zjty.inspect.controller;
import com.zjty.inspect.aop.AuthAnnotation;
import com.zjty.inspect.entity.Config;
import com.zjty.inspect.entity.RuleQo;
import com.zjty.inspect.service.ConfigService;
......@@ -38,6 +39,7 @@ public class ConfigController {
*/
@PostMapping("/updates")
@ApiOperation("根据id修改参数,需要传id和value")
@AuthAnnotation(code = {"1300"})
public ResponseEntity update(@RequestBody List<Config> configs){
configService.updateConfig(configs);
return ResponseEntity.ok(200);
......
package com.zjty.inspect.controller;
import com.alibaba.fastjson.JSON;
import com.zjty.inspect.entity.AssessmentReport;
import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.PageResult;
import com.zjty.inspect.entity.Reform;
import com.zjty.inspect.entity.*;
import com.zjty.inspect.service.EvaluationService;
import com.zjty.inspect.utils.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -16,6 +14,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
......@@ -25,6 +25,8 @@ public class EvaluationController {
@Autowired
private EvaluationService evaluationService;
/**
* 新增评估报告
* @param evaluation 评估报告
......@@ -64,6 +66,28 @@ public class EvaluationController {
}
return ResponseEntity.ok(null);
}
@ApiOperation("根据id查询输入")
@GetMapping(value = "/all/{id}")
public ResponseEntity getInId(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
if(evaluation!=null){
return ResponseEntity.ok(evaluation);
}
return ResponseEntity.ok(null);
}
@ApiOperation("根据报告id查询excel输入")
@GetMapping(value = "/in/excel/{id}")
public ResponseEntity exportInName(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
if(evaluation!=null){
List<ExcelDataTemp> excelDataTemp = ExcelUtil.parseExcel2Entity(evaluation);
return ResponseEntity.ok(excelDataTemp);
}else{
return ResponseEntity.ok(new ArrayList<ExcelDataTemp>());
}
}
/**
* 修改评估报告
* @param evaluation 规则封装
......@@ -105,6 +129,4 @@ public class EvaluationController {
Page<Evaluation> pageList = evaluationService.findSearch(searchMap, page, size);
return ResponseEntity.ok(new PageResult<Evaluation>(pageList.getTotalElements(), pageList.getContent()) );
}
}
......@@ -2,26 +2,17 @@ package com.zjty.inspect.controller;
import com.alibaba.fastjson.JSON;
import com.zjty.inspect.dao.ConfigParamDao;
import com.zjty.inspect.dao.TechnologyDao;
import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.LanguageEnum;
import com.zjty.inspect.service.*;
import com.zjty.inspect.utils.*;
import freemarker.template.TemplateException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItem;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.*;
import java.io.File;
......@@ -37,6 +28,7 @@ import java.util.*;
@RequestMapping("/inspect")
@Api(value = "评估接口管理接口", description = "评估管理接口,提供页面的增、删、改、查")
public class InspectController {
@Autowired
private InspectService inspectService;
@Autowired
......@@ -50,6 +42,7 @@ public class InspectController {
@Autowired
private ConfigParamDao configParamDao;
//应用类型转换:小型0
Integer[] small = {3, 4};
//应用类型转换:中型2
......@@ -125,7 +118,6 @@ public class InspectController {
@PostMapping("/rapidAssessment")
public ResponseEntity rapidAssessment(@RequestBody Reform reform) throws IOException {
//输入参数
String in = JSON.toJSONString(reform);
Evaluation evaluation = new Evaluation();
evaluation.setInEva(in);
......@@ -206,11 +198,6 @@ public class InspectController {
reportVo.setDatabaseType(null);
ReportVo inspect = inspectService.inspect(reportVo, inspectParameter);
log.info("inspect:代码评估完成");
Report report = new Report();
String random = RandomUtil.getRandom();
report.setId(RandomUtil.getRandom());
report.setHtmlAddress(reportVo.getHtmlAddress());
reportService.saveReport(report);
/*
马晨俊运算结束
*/
......@@ -228,7 +215,12 @@ public class InspectController {
//架构
assessmentReport.setFramework(inspect.getFramework());
//语言
assessmentReport.setLanguage(inspect.getLanguage());
if ("".equals(reform.getDevelopLanguageSystem().getName())) {
assessmentReport.setLanguage(inspect.getLanguage());
} else {
LanguageEnum byName = LanguageEnum.getByName(reform.getDevelopLanguageSystem().getName());
assessmentReport.setLanguage(byName.getCode());
}
//适配还是改造
assessmentReport.setType(reform.getMode());
SysScale sysScale = new SysScale();
......@@ -370,17 +362,22 @@ public class InspectController {
workLoadUtil.result(reform, assessmentReport, f, 1.5);
//输出参数
assessmentReport.setLocalContact(reform.getLocalContact());
String out = JSON.toJSONString(assessmentReport);
evaluation.setOutEva(out);
evaluation.setUsername(reform.getUsername());
evaluation.setProjectName(reform.getProjectName());
evaluation.setAuthority(reform.getAuthority());
Evaluation save = evaluationService.save(evaluation);
if(save==null){
return ResponseEntity.status(400).build();
}
return ResponseEntity.ok(save.getId());
}
@PostMapping("/uploads")
private ResponseEntity uploads(@RequestParam(value = "file") MultipartFile multfile, String s) {
private ResponseEntity uploads(@RequestParam(value = "file") MultipartFile multfile) {
try {
File file = FileUtil.saveToLocal(multfile);
String name = file.getName();
......@@ -388,7 +385,7 @@ public class InspectController {
return ResponseEntity.ok(new com.zjty.inspect.entity.File(name, path));
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.ok("上传失败");
return ResponseEntity.status(500).build();
}
}
......@@ -401,10 +398,11 @@ public class InspectController {
return ResponseEntity.status(400).build();
}
}
@PostMapping("/importExcelToRapidAssessment")
private ResponseEntity uploadFileToInspect(MultipartFile file) throws IOException {
Reform reform = ExcelUtil.parseExcel(file);
ResponseEntity responseEntity = this.rapidAssessment(reform);
return responseEntity;
private ResponseEntity uploadFileToInspect(MultipartFile file, String username) throws IOException {
Reform reform = ExcelUtil.parseExcel(file.getInputStream(),file.getOriginalFilename());
reform.setUsername(username);
return ResponseEntity.ok(reform);
}
}
......@@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
......@@ -21,7 +22,7 @@ import java.util.Map;
* @author Mcj
* @date 2020-02-26 14:42
*/
@Slf4j
@RestController
@RequestMapping("/rule")
@Api(value = "规则页面管理接口",description = "规则页面管理接口,提供页面的增、删、改、查")
......@@ -38,7 +39,9 @@ public class RuleController {
*/
@PostMapping
@ApiOperation("新增规则")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity rule(@RequestBody Rule rule){
log.info("规则{}",rule);
Rule rule1 = ruleService.addRulePlus(rule);
if(rule1!=null){
return ResponseEntity.ok(rule1);
......@@ -52,6 +55,7 @@ public class RuleController {
*/
@PostMapping(value = "/update")
@ApiOperation("修改规则")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity update(@RequestBody Rule rule){
ruleService.upRulePlus(rule);
return ResponseEntity.ok(200);
......@@ -62,13 +66,15 @@ public class RuleController {
* @return
*/
@ApiOperation("根据数据封装删除规则")
@DeleteMapping("/{id}")
@DeleteMapping(value = "/{id}")
@AuthAnnotation(code = {"1200","1400"})
public ResponseEntity deleteByQo(@PathVariable String id){
ruleService.deleteRulePlus(id);
return ResponseEntity.ok(200);
}
/**
* 分页+多条件查询
* @param searchMap 查询条件封装
......@@ -99,6 +105,7 @@ public class RuleController {
}
@PostMapping("/importRules")
@ApiOperation("导入所有规则")
@AuthAnnotation(code = {"1200"})
public ResponseEntity importRules(@RequestParam("file") MultipartFile file){
ruleService.importRules(file);
return null;
......
......@@ -60,6 +60,7 @@ public class TechnologyController {
*/
@PostMapping("/add")
@ApiOperation("新添加关键技术")
@AuthAnnotation(code = {"1100"})
public ResponseEntity addTechnologies(@RequestBody Technology technology){
technologyService.add(technology);
return ResponseEntity.ok(200);
......@@ -67,6 +68,7 @@ public class TechnologyController {
}
@PostMapping(value = "/{id}")
@ApiOperation("修改关键技术")
@AuthAnnotation(code = {"1100"})
public ResponseEntity update(@RequestBody Technology technology,@PathVariable String id){
technology.setId(id);
technologyService.update(technology);
......
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -21,10 +22,12 @@ public class Apply {
/**
* 费用
*/
@ApiModelProperty(value = "费用")
private double cost = -1;
/**
* 原因
*/
@ApiModelProperty(value = "原因")
private String reason = "-1";
}
......@@ -30,7 +30,20 @@ public class AssessmentReport {
* 单位名称
*/
private String orgName;
/**
* 单位联系方式
*/
private String orgPhone;
/**
* 本地开发单位联系人
*/
private String localContact;
/**
* 本地开发单位联系方式
*/
private String localPhone;
/**
* 系统名称
*/
......
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("枚举公共类")
public class BaseDes {
@ApiModelProperty(value = "code")
private Integer code;
@ApiModelProperty(value = "code对应的名称")
private String name;
@ApiModelProperty(value = "备注")
private String des;
@ApiModelProperty(value = "版本号")
private String version;
}
......@@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -24,17 +25,24 @@ public class Browser {
/**
* 兼容的浏览器
*/
private List<CompatibleBrowser> compatibleBrowsers;
@ApiModelProperty(value = "兼容的浏览器")
private List<BaseDes> compatibleBrowsers = new ArrayList<>();
/**
* 浏览器插件
*/
@ApiModelProperty(value = "浏览器插件")
private List<BaseDes> browserPlugs = new ArrayList<>();
/**
* 插件安装情况int 1:是 2:否
*/
@ApiModelProperty(value = "插件安装情况int",example = "1")
@ApiModelProperty(value = "插件安装情况 1:是 2:否",example = "1")
private Integer PlugInUnit = -1;
/**
* 其他兼容的浏览器
*/
@ApiModelProperty(value = "其他兼容的浏览器")
private String otherBrowser;
......
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.BrowserPlugEnum;
import lombok.Data;
@Data
public class BrowserPlug {
private BrowserPlugEnum browserPlugEnum;
private String version;
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.CSTechnologyEnum;
import lombok.Data;
@Data
public class CSDevTechnology {
private CSTechnologyEnum csTechnologyEnum;
//版本
private String version;
//备注
private String des;
}
......@@ -8,10 +8,13 @@ import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "master_category")
@ApiModel(value = "类型")
public class Category {
@Id
......
......@@ -6,13 +6,14 @@ import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 系数计算
*
* @author Mcj
*/
@Table(name = "master_coefficient_model")
@Entity
@Data
@ApiModel(value = "系数计算")
......
......@@ -9,11 +9,13 @@ import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "master_config")
@ApiModel(value = "配置")
public class Config {
@Id
......
......@@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -25,11 +26,13 @@ public class Database {
/**
* 数据库类型 枚举
*/
private List<DatabaseType> databaseType;
@ApiModelProperty(value = "数据库类型")
private List<DatabaseType> databaseType = new ArrayList<>();
/**
* 其他
*/
@ApiModelProperty(value = "其他")
private String otherType;
/**
......@@ -104,5 +107,6 @@ public class Database {
/**
* 其他内容
*/
@ApiModelProperty(value = "其他内容")
private String otherContent;
}
......@@ -27,15 +27,43 @@ public class Details {
/**
* 操作系统 枚举
*/
@ApiModelProperty(value = "操作系统 枚举")
private OperateSystem operateSystem = OperateSystem.NONE;
@ApiModelProperty(value = "操作系统 code")
private Integer code;
/**
* 台数
*/
@ApiModelProperty(value = "台数")
private String num;
/**
* CPU核数
*/
@ApiModelProperty(value = "CPU核数")
private String cpuNum;
/**
* 单核主频
*/
@ApiModelProperty(value = "单核主频")
private String ghz;
/**
* 服务器总空间
*/
@ApiModelProperty(value = "服务器总空间")
private String space;
/**
* 其他
*/
@ApiModelProperty(value = "其他")
private String other;
/**
* 版本
*/
@ApiModelProperty(value = "版本")
private String edition;
@ApiModelProperty(value = "内存")
private String memory;
}
package com.zjty.inspect.entity;
import lombok.Data;
/**
* 应用主要开发架构
*/
@Data
public class DevFramework {
//架构名称
// private FrameWorkEnum frameWork;
private String name;
//
private Integer code;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.LanguageEnum;
import lombok.Data;
@Data
public class DevLanguage {
private LanguageEnum languageEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DevelopLanguageSystem {
//原应用主要开发架构
@ApiModelProperty(value = "原应用主要开发架构")
private List<BaseDes> devFrameworks = new ArrayList<>();
//bs原应用浏览器前端开发技术
@ApiModelProperty(value = "bs原应用浏览器前端开发技术")
private List<BaseDes> fontDevTechnologies = new ArrayList<>();
//cs前端开发技术
@ApiModelProperty(value = "cs前端开发技术")
private List<BaseDes> csDevTechnologies = new ArrayList<>();
//封装方式
@ApiModelProperty(value = "封装方式")
private List<BaseDes> opGAs = new ArrayList<>();
//主开发语言
@ApiModelProperty(value = "主开发语言id")
private Integer code;
@ApiModelProperty(value = "主开发语言名称")
private String name;
// private MainLanguageEnum mainLanguageEnum;
//开发语言
@ApiModelProperty(value = "其他开发语言名称")
private List<BaseDes> devLanguages = new ArrayList<>();
}
......@@ -13,10 +13,12 @@ import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp;
import java.util.Date;
@Entity
@Table(name = "master_evaluation")
@NoArgsConstructor
@AllArgsConstructor
@Data
......
package com.zjty.inspect.entity;
import lombok.Data;
import javax.persistence.Entity;
/**
* @author Mcj
* @date 2020-04-11 15:08
*/
@Data
public class ExcelDataEntity {
private String name;
private String value;
private String remark;
private String version;
}
package com.zjty.inspect.entity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Mcj
* @date 2020-04-11 15:07
*/
@Data
public class ExcelDataTemp {
private String name;
private List<ExcelDataEntity> arrayList = new ArrayList();
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.FontTechnologyEnum;
import lombok.Data;
@Data
public class FontDevTechnology {
private FontTechnologyEnum fontTechnologyEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LocalSystemDep {
//本地操作系统依赖名称
@ApiModelProperty(value = "本地操作系统依赖名称")
private String name;
//金额
@ApiModelProperty(value = "金额")
private double money;
//备注
@ApiModelProperty(value = "备注")
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.MicroServiceEnum;
import lombok.Data;
@Data
public class MicroService {
private MicroServiceEnum microServiceEnum;
private String version;
private String des;
}
......@@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -25,13 +26,23 @@ public class Middleware {
/**
* 原文件情况 枚举
*/
private List<MiddlewareEnum> middlewareEnums;
@ApiModelProperty(value = "原文件情况")
private List<BaseDes> middlewareEnums = new ArrayList<>();
/**
* 原应用第三方api
*/
@ApiModelProperty(value = "原应用第三方api")
private List<OtherApi> otherApis = new ArrayList<>();
/**
* 其他中间件
*/
@ApiModelProperty(value = "其他中间件")
private String otherMiddleware;
/**
* 额外微服务
*/
@ApiModelProperty(value = "额外微服务")
private List<BaseDes> microServices = new ArrayList<>();
/*
更多需求
*/
......
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.OpgaEnum;
import lombok.Data;
@Data
public class OpGA {
private OpgaEnum opgaEnum;
//版本
private String version;
//备注
private String des;
}
package com.zjty.inspect.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "第三方api类")
@Data
public class OtherApi {
@ApiModelProperty(value = "第三方api code")
private String code;
//第三方api名称
@ApiModelProperty(value = "第三方api名称")
private String apiName;
//版本号
@ApiModelProperty(value = "版本号")
private String version;
//备注
@ApiModelProperty(value = "备注")
private String des;
}
package com.zjty.inspect.entity;
import com.zjty.inspect.enums.ApplicationType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -8,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -22,9 +20,6 @@ import java.util.List;
@NoArgsConstructor
@ApiModel(value = "应用系统改造替换表单")
public class Reform {
/*
基础
*/
/**
* admin 是否是管理员
......@@ -57,43 +52,57 @@ public class Reform {
/**
* 系统名称
*/
@ApiModelProperty(value = "系统名称")
private String projectName;
/**
* 代码地址
*/
@ApiModelProperty(value = "代码地址")
private String codeUrl;
/**
* 文件名称
*/
@ApiModelProperty(value = "文件名称")
private String codeName;
/**
* git地址
*/
@ApiModelProperty(value = "git地址")
private String gitUrl;
/**
* 模块数
* 模块数 -1不清楚
*/
@ApiModelProperty(value = "模块数",example = "1")
private Integer moduleNum = -1;
/**
* 原开发费用
* 原开发费用 -1不清楚
*/
@ApiModelProperty(value = "原开发费用",example = "1")
private Integer cost = -1;
/**
* 开发单位是否在本地int 1:是 2:否
* 开发单位是否在本地int 1:是 2:否 -1不清楚
*/
@ApiModelProperty(value = "开发单位是否在本地int",example = "1")
private Integer address = -1;
/**
* 本地开发单位联系方式
*/
@ApiModelProperty(value = "本地开发单位联系人")
private String localContact;
/**
* 本地开发单位联系方式
*/
@ApiModelProperty(value = "本地开发单位联系方式")
private String localPhone;
/**
* 是否为涉密信息系统 int 1:是 2:否
*/
......@@ -101,12 +110,13 @@ public class Reform {
private Integer secret = -1;
/**
* 容灾能力 int 1:是 2:否
* 容灾能力 int 1:是 2:否 -1不清楚
*/
@ApiModelProperty(value = "容灾能力",example = "1")
private Integer disasterTolerance = -1;
/**
* -1不清楚
* 安全能力
* 1:无
* 2:弱
......@@ -116,7 +126,7 @@ public class Reform {
private Integer safe = -1;
/**
* 架构
* 架构 -1不清楚
*/
@ApiModelProperty(value = "架构",example = "1")
private Integer framework = -1;
......@@ -124,22 +134,23 @@ public class Reform {
/**
* 该应用类型
*/
@ApiModelProperty(value = "该应用类型")
private List<Integer> applicationType = new ArrayList<>();
/**
* 运行时间
* 运行时间 -1不清楚
*/
@ApiModelProperty(value = "运行时间",example = "1")
private Integer time = -1;
/**
* 数据库表数量
* 数据库表数量 -1不清楚
*/
@ApiModelProperty(value = "数据库表数量",example = "1")
private Integer tableNum = -1;
/**
* 数据库数据量
* 数据库数据量 -1不清楚
*/
@ApiModelProperty(value = "数据库数据量",example = "1")
private Integer databaseNum = -1;
......@@ -150,32 +161,75 @@ public class Reform {
/**
* 系统部署架构
*/
@ApiModelProperty(value = "系统部署架构")
private SystemStructure systemStructure = new SystemStructure();
/**
* 前端浏览器相关
*/
@ApiModelProperty(value = "前端浏览器相关")
private Browser browser = new Browser();
/**
* 中间件/API
*/
@ApiModelProperty(value = "中间件")
private Middleware middleware = new Middleware();
/**
* 数据库相关
*/
@ApiModelProperty(value = "数据库相关")
private Database database = new Database();
/**
* 迁移策略 1:休息日 2:晚间切换 3:短暂停止
* 迁移策略 1:休息日或晚间切换 2:暂停服务 3:平滑过渡 -1不清楚
*/
@ApiModelProperty(value = "迁移策略",example = "1")
private Integer strategy = -1;
@ApiModelProperty(value = "RTO")
private Integer rto = -1;
@ApiModelProperty(value = "RPO")
private Integer rpo = -1;
/**
* 额外申请
*/
@ApiModelProperty(value = "额外申请")
private Apply apply = new Apply();
/**
* 单位名称
*/
@ApiModelProperty(value = "单位名称")
private String unitName;
/**
* 单位联系方式
*/
private String unitPhone;
/**
* 单位联系人
*/
private String unitContent;
/**
* 原应用是否通过等级保护/分级保护应用测评
* -1、我不清楚 1、是 2、否
*/
@ApiModelProperty(value = "原应用是否通过等级保护/分级保护应用测评 -1、我不清楚 1、是 2、否")
private Integer gradeProtection=-1;
/**
* 开发周期
*/
@ApiModelProperty(value = "开发周期")
private Integer cycle;
/**
* 原开发语言体系
*/
@ApiModelProperty(value = "原开发语言体系")
private DevelopLanguageSystem developLanguageSystem=new DevelopLanguageSystem();
/**
* 本地操作系统依赖
*/
@ApiModelProperty(value = "本地操作系统依赖")
private LocalSystemDep localSystemDep=new LocalSystemDep();
}
......@@ -14,6 +14,7 @@ import java.sql.Timestamp;
* 报告
* @author mcj
*/
@Table(name = "master_report")
@Entity
@Data
@NoArgsConstructor
......
......@@ -22,6 +22,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "master_rule")
@ApiModel(value = "规则类")
public class Rule {
......
......@@ -9,13 +9,14 @@ import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* @author Mcj
* @date 2020-02-27 14:42
*/
@Table(name = "master_rule_collection")
@Data
@Entity
@ApiModel(value = "规则类")
......
......@@ -22,27 +22,44 @@ public class SystemStructure {
/**
* 应用服务器
*/
private Details application;
@ApiModelProperty(value = "ECS(安装主程序的弹性计算服务器或虚拟机)")
private Details application = new Details();
/**
* 数据库服务器
*/
private Details database;
@ApiModelProperty(value = "RDS(关系型数据库服务器或虚拟机)")
private Details database = new Details();
@ApiModelProperty(value = "NAS(存储或备份一体设备)")
private Details nas = new Details();
/**
* SLB
*/
private Details slb;
@ApiModelProperty(value = "SLB")
private Details slb = new Details();
/**
* cdn
*/
@ApiModelProperty(value = "cdn")
private Details cdn = new Details();
/**
* V2/P/S(访问代理服务设备)
*/
@ApiModelProperty(value = "V2/P/S(访问代理服务设备)")
private Details vps = new Details();
/**
* 存储
*/
private Details storage;
@ApiModelProperty(value = "存储")
private Details storage = new Details();
/**
* 其他服务设备
*/
private Details otherEquipment;
@ApiModelProperty(value = "其他服务设备")
private Details otherEquipment = new Details();
/*
更多需求
......@@ -51,13 +68,13 @@ public class SystemStructure {
/**
* 分布式 int 1:是 2:否
*/
@ApiModelProperty(value = "权限",example = "1")
@ApiModelProperty(value = "分布式 int 1:是 2:否",example = "1")
private Integer distributed = -1;
/**
* 负载均衡 int 1:是 2:否
*/
@ApiModelProperty(value = "权限",example = "1")
@ApiModelProperty(value = "负载均衡 int 1:是 2:否",example = "1")
private Integer loadBalance = -1;
/**
......@@ -72,5 +89,6 @@ public class SystemStructure {
/**
* 其他需求
*/
@ApiModelProperty(value = "其他需求")
private String otherDemand;
}
......@@ -9,6 +9,7 @@ import org.hibernate.annotations.GenerationTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp;
/**
......@@ -16,7 +17,7 @@ import java.sql.Timestamp;
* @author Mcj
* @date 2020-02-26 14:18
*/
@Table(name = "master_technology")
@Entity
@Data
@ApiModel(description = "关键技术类")
......
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* <h4>Description : 应用类型</h4>
*
* @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 16:54
*/
@Getter
public enum ApplicationType {
OA,
MAIL,
youjian,
taishi,
shipin,
shuju,
menhu,
shenqin,
ditu,
threed,
other,
OA(0,"办公OA应用类"),
MENHU(1,"门户、信息发布、综合入口服务类"),
CAIGOU(2,"采购、招投标等采购管理服务类"),
XM(3,"项目建设跟踪、过程管理等项目管理服务类"),
KG(4,"库管、资产、自然资源、空间等资产分配管理服务类"),
CW(5,"财务、审计、税务等财税服务类"),
HYTJ(6,"行业统计、发布等统计服务类"),
RYSJ(7,"人员、事件、案件、空间等台账管理服务类"),
SBTBSP(8,"申报、填报、审批等公共行政服务类"),
OTHERWINDOWS(9,"其他重要窗口服务类"),
WENYIN(10,"文印、印刷、制版、排版等工具类"),
MAIL(11,"邮件、FTP、云盘、ICQ等在线传输工具类"),
GIS(12,"地图、定位等GIS服务类"),
THRED(13,"3D、模型等视觉建模应用类"),
VIDEO(14,"视频、图形等流媒体应用类"),
NET(15,"网络安全等常规安管应用类"),
baomi(16,"保密监管等特种安全应用类"),
SUANFA(17,"提供给行业的算法、API、库、组件、插件等功能型接口类"),
JISJ(18,"信息化计算资源、存储资源、网络资源等分配管理应用类"),
ANFANG(19,"信息化基础设施、机房设施、安防设施等分配管理应用类"),
DATASJI(20,"数据收集、分析、态势感知等大数据应用类"),
XINHAOJIESHOU(21,"信号接收、中继、转发等信号处理平台"),
ZHIHUI(22,"多信源、多信道、多流程的指挥调度类平台"),
DIAODU(23,"多信源、多信道、多流程的监控调度类平台"),
XIAOXIN(24,"具备上述多项功能的小型平台"),
ZHONXIN(25,"具备上述多项功能的中型平台"),
DAXIN(26,"具备上述多项功能的特大型平台"),
NONE(-1,"无")
;
private Integer code;
private String name;
ApplicationType() {
}
ApplicationType(Integer code, String name) {
this.code = code;
this.name = name;
}
private static Map<String,ApplicationType> applicationTypeHashMap=new HashMap<>();
private static Map<Integer,ApplicationType> applicationTypeCodeHashMap=new HashMap<>();
static {
for (ApplicationType applicationType : ApplicationType.values()) {
applicationTypeHashMap.put(applicationType.name,applicationType);
applicationTypeCodeHashMap.put(applicationType.code,applicationType);
}
}
public static ApplicationType getByName(String name){
ApplicationType applicationType = applicationTypeHashMap.get(name);
if(applicationType==null){
return NONE;
}
return applicationType;
}
public static ApplicationType getByCode(Integer code){
ApplicationType applicationType = applicationTypeCodeHashMap.get(code);
if(applicationType==null){
return NONE;
}
return applicationType;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "浏览器插件")
@Getter
public enum BrowserPlugEnum {
NONE(-1,"无"),
DOWNLOAD(1,"下载/上传"),
PRINT(2,"打印调用"),
SCAN(3,"扫描调用"),
YIWEIMA(4,"一维码/二维码调用"),
OCR(5,"OCR调用:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
MOBILE(6,"移动设备同步:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
TEXT(7,"在线文本编辑类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
TABLE(8,"在线表单编辑类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
CHART(9,"在线统计图表展现类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
VIDEO(10,"在线视频播放类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
THREED(11,"在线3D建模、渲染、展现:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
GIS(12,"在线GIS类:请在备注中填写插件名,如需填写多个,请以逗号分隔"),
PERIPHERAL(13,"外设调用"),
ANIMATION(14,"动画"),
FLASH(14,"Flash"),
OTHER(13,"其他:请在备注中填写插件名和版本,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,BrowserPlugEnum> browserPlugEnumMap=new HashMap<>();
private static Map<Integer,BrowserPlugEnum> browserPlugCodeEnumMap=new HashMap<>();
static {
for (BrowserPlugEnum browserPlugEnum : BrowserPlugEnum.values()) {
browserPlugEnumMap.put(browserPlugEnum.getName(),browserPlugEnum);
browserPlugCodeEnumMap.put(browserPlugEnum.getCode(),browserPlugEnum);
}
}
BrowserPlugEnum() {
}
BrowserPlugEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static BrowserPlugEnum getByName(String name){
BrowserPlugEnum browserPlugEnum = browserPlugEnumMap.get(name);
if(browserPlugEnum==null){
return NONE;
}
return browserPlugEnum;
}
public static BrowserPlugEnum getByCode(Integer code){
BrowserPlugEnum browserPlugEnum = browserPlugCodeEnumMap.get(code);
if(browserPlugEnum==null){
return NONE;
}
return browserPlugEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "C/S前端开发技术或框架(B/S应用不需要填)")
@Getter
public enum CSTechnologyEnum {
BUSHEJI(1,"不涉及"),
NONE(-1,"无"),
C(2,"VC/C++/C#"),
VB(3,"VB"),
DELPHI(4,"Delphi"),
GO(5,"Go"),
QT(6,"QT"),
JVM(7,"JVM"),
NODEJS(8,"Node JS"),
JAVAAPPLET(9,"Java Applet"),
QITA(10,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,CSTechnologyEnum> csTechnologyEnumMap=new HashMap<>();
private static Map<Integer,CSTechnologyEnum> csTechnologyEnumCodeMap=new HashMap<>();
static {
for (CSTechnologyEnum csTechnologyEnum : CSTechnologyEnum.values()) {
csTechnologyEnumMap.put(csTechnologyEnum.getName(),csTechnologyEnum);
csTechnologyEnumCodeMap.put(csTechnologyEnum.getCode(),csTechnologyEnum);
}
}
CSTechnologyEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static CSTechnologyEnum getByName(String name){
CSTechnologyEnum csTechnologyEnum = csTechnologyEnumMap.get(name);
if(csTechnologyEnum==null){
return NONE;
}
return csTechnologyEnum;
}
public static CSTechnologyEnum getByCode(Integer code){
CSTechnologyEnum csTechnologyEnum = csTechnologyEnumCodeMap.get(code);
if(csTechnologyEnum==null){
return NONE;
}
return csTechnologyEnum;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* <h4>Description : 兼容的浏览器</h4>
*
* @author : czq
* @Date : 2020-03-05 17:25
*/
@Getter
public enum CompatibleBrowser {
IETRIDENT,
CHROMEWEBKIT,
FIREFOX,
OPERA,
SECURE,
NONE,
SANLIUL(1, "360安全浏览器(Trident/Blink内核)"),
SAFARI(2, "Safari(webkit内核)"),
OTHER(3, "其他:请在备注中填写,如需填写多个,请以逗号分隔"),
IETRIDENT(4, "IE(Trident内核)"),
CHROMEWEBKIT(5, "Chrome(Webkit/Blink内核)"),
CHROMIUM(6, "Chrome(Chromium内核)"),
FIREFOX(7, "Firefox(Gecko内核)"),
OPERA(8, "Opera(Blink内核)"),
SECURE(9, "secure"),
NONE(-1, "无");
private Integer code;
private String name;
private static Map<String, CompatibleBrowser> compatibleBrowserMap=new HashMap<>();
private static Map<Integer, CompatibleBrowser> compatibleBrowserCodeMap=new HashMap<>();
static {
for (CompatibleBrowser compatibleBrowser : CompatibleBrowser.values()) {
compatibleBrowserMap.put(compatibleBrowser.getName(),compatibleBrowser);
compatibleBrowserCodeMap.put(compatibleBrowser.getCode(),compatibleBrowser);
}
}
CompatibleBrowser(Integer code, String name) {
this.code = code;
this.name = name;
}
}
public static CompatibleBrowser getByName(String name) {
CompatibleBrowser compatibleBrowser = compatibleBrowserMap.get(name);
if(compatibleBrowser==null){
return NONE;
}
return compatibleBrowser;
}
public static CompatibleBrowser getByCode(Integer code) {
CompatibleBrowser compatibleBrowser = compatibleBrowserCodeMap.get(code);
if(compatibleBrowser==null){
return NONE;
}
return compatibleBrowser;
}
}
\ No newline at end of file
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* <h4>Description : inspect</h4>
*
* @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 18:02
*/
@Getter
public enum DatabaseType {
ORACLE,
SQLSERVER,
DB2,
MYSQL,
SYBASE,
NONE,
ACCESS(1,"ACCESS"),
POSTGRESQL(2,"PostgreSQL"),
SQLSERVER(3,"SQL Server"),
ORACLE(4,"Oracle"),
MYSQL(5,"MySQL"),
SYBASE(6,"SyBase"),
DB2(7,"DB2"),
MARIADB(8,"MariaDB"),
MONGODB(9,"MongoDB"),
COUCHBASE(10,"Couchbase"),
AMAZON(11,"Amazon"),
DYNAMODB(12,"DynamoDB"),
COUCHDB(13,"CouchDB"),
MARKLOGIC(14,"MarkLogic"),
NEO4J(15,"Neo4j"),
ORIENTDB(16,"OrientDB"),
TITAN(17,"Titan"),
VIRTUOSO(18,"Virtuoso"),
ARANGODB(19,"ArangoDB "),
HANGAO(20,"瀚高"),
DAMENG(21,"达梦"),
SHENTONG(22,"神通"),
JINCHANG(23,"人大金仓"),
OTHER(24,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
NONE(-1,"无");
private Integer code;
private String name;
DatabaseType() {
}
private static Map<String, DatabaseType> databaseTypeMap=new HashMap<>();
private static Map<Integer, DatabaseType> databaseTypeCodeMap=new HashMap<>();
static {
for (DatabaseType databaseType : DatabaseType.values()) {
databaseTypeMap.put(databaseType.getName(),databaseType);
databaseTypeCodeMap.put(databaseType.getCode(),databaseType);
}
}
DatabaseType(Integer code, String name) {
this.code = code;
this.name = name;
}
public static DatabaseType getByName(String name) {
DatabaseType databaseType = databaseTypeMap.get(name);
if(databaseType==null){
return NONE;
}
return databaseType;
}
public static DatabaseType getByCode(Integer code) {
DatabaseType databaseType = databaseTypeCodeMap.get(code);
if(databaseType==null){
return NONE;
}
return databaseType;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "bs浏览器技术名称")
@Getter
public enum FontTechnologyEnum {
BUSHEJI("不涉及",1),
NONE("无",-1),
JS("JS",2),
CSS("CSS",3),
ASP("ASP",4),
HTML("HTML",5),
JQUERY("JQuery框架",6),
ANGULAR("Angular框架",8),
VUE("VUE框架",9),
REACT("React框架",10),
QUCIK("QucikUI框架",11),
LAY("LayUI框架",12),
AVALON("Avalon框架",13),
DOJO("Dojo框架",14),
EMBER("Ember框架",15),
AURELIA("Aurelia框架",16),
QITA("其他:请在备注中填写,如需填写多个,请以逗号分隔",17);
//描述
private String name;
//序号
private Integer code;
FontTechnologyEnum() {
}
private static Map<String,FontTechnologyEnum> fontTechnologyEnumMap=new HashMap<>();
private static Map<Integer,FontTechnologyEnum> fontTechnologyEnumCodeMap=new HashMap<>();
static {
for (FontTechnologyEnum fontTechnologyEnum : FontTechnologyEnum.values()) {
fontTechnologyEnumMap.put(fontTechnologyEnum.getName(),fontTechnologyEnum);
fontTechnologyEnumCodeMap.put(fontTechnologyEnum.code,fontTechnologyEnum);
}
}
FontTechnologyEnum(String name, int code) {
this.name = name;
this.code = code;
}
public static FontTechnologyEnum getByName(String name){
FontTechnologyEnum fontTechnologyEnum = fontTechnologyEnumMap.get(name);
if(fontTechnologyEnum==null){
return NONE;
}
return fontTechnologyEnum;
}
public static FontTechnologyEnum getByCode(Integer code){
FontTechnologyEnum fontTechnologyEnum = fontTechnologyEnumCodeMap.get(code);
if(fontTechnologyEnum==null){
return NONE;
}
return fontTechnologyEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "主开发架构")
@Getter
public enum FrameWorkEnum {
NONE(-1,"无"),
NET(1,".NET体系下的框架"),
JEE(2,"J2EE体系下的框架"),
PHP(3,"ThinkPHP"),
YII(4,"Yii"),
CODEIGNITER(5,"CodeIgniter"),
LARAVEL(6,"Laravel"),
DJANGO(7,"Django"),
TORNADO(8,"Tornado"),
FLASK(9,"Flask"),
TWISTED(10,"Twisted"),
SCRAPY(11,"Scrapy"),
BOTTLE(12,"Bottle"),
WEBPY(13,"Webpy"),
FALCON(14,"Falcon"),
QITA(15,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
FrameWorkEnum() {
}
private static Map<String,FrameWorkEnum> frameWorkEnumMap=new HashMap<>();
private static Map<Integer,FrameWorkEnum> frameWorkEnumCodeMap=new HashMap<>();
static {
for (FrameWorkEnum frameWorkEnum : FrameWorkEnum.values()) {
frameWorkEnumMap.put(frameWorkEnum.getName(),frameWorkEnum);
frameWorkEnumCodeMap.put(frameWorkEnum.getCode(),frameWorkEnum);
}
}
FrameWorkEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static FrameWorkEnum getByName(String name){
FrameWorkEnum frameWorkEnum = frameWorkEnumMap.get(name);
if(frameWorkEnum==null){
return NONE;
}
return frameWorkEnum;
}
public static FrameWorkEnum getByCode(Integer code){
FrameWorkEnum frameWorkEnum = frameWorkEnumCodeMap.get(code);
if(frameWorkEnum==null){
return NONE;
}
return frameWorkEnum;
}
}
......@@ -5,8 +5,8 @@ public enum Framework {
/**
* 架构
*/
分离型架构("分离型架构",1),
混合型架构("混合型架构",2);
SEPARATE("分离型架构",1),
MIXTURE("混合型架构",2);
Framework(String name,Integer status){
this.name=name;
......
package com.zjty.inspect.enums;
/**
*
*
* @author mcj
*/
public enum Language {
/**
* 语言
*/
JAVA("java",1),
PYTHON("python",3),
JAVASCRIPT("js",5),
GO("go",6),
HTML("html",7),
C("c#",8),
C("c++",9),
UNKNOW("unknowun",10);
Language(String name,Integer status){
this.name=name;
this.status=status;
}
private String name;
private Integer status;
public String getName() {
return name;
}
public Integer getStatus() {
return status;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "其他开发语言")
@Getter
public enum LanguageEnum {
NONE(-1,"无"),
C(1,"VC/C++/C#"),
VB(2,"VB"),
DELPHI(3,"Delphi"),
PHP(4,"PHP"),
JAVA(5,"JAVA"),
PYTHON(6,"Python"),
GO(7,"Go"),
RUST(8,"Rust"),
RUBY(9,"Ruby"),
PERL(10,"Perl"),
MATLAB(11,"Matlab"),
QITA(12,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
JAVASCRIPT(13,"JavaScript"),
HTML(14,"HTML"),
;
private Integer code;
private String name;
LanguageEnum() {
}
private static Map<String,LanguageEnum> languageEnumMap=new HashMap<>();
private static Map<Integer,LanguageEnum> languageEnumCodeMap=new HashMap<>();
static {
for (LanguageEnum languageEnum : LanguageEnum.values()) {
languageEnumMap.put(languageEnum.getName(),languageEnum);
languageEnumCodeMap.put(languageEnum.getCode(),languageEnum);
}
}
LanguageEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static LanguageEnum getByName(String name){
LanguageEnum languageEnum = languageEnumMap.get(name);
if(languageEnum==null){
return NONE;
}
return languageEnum;
}
public static LanguageEnum getByCode(Integer code){
LanguageEnum languageEnum = languageEnumCodeMap.get(code);
if(languageEnum==null){
return NONE;
}
return languageEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "主语言枚举类")
@Getter
public enum MainLanguageEnum {
C(1,"VC/C++/C#"),
VB(2,"VB"),
DELPHI(3,"Delphi"),
PHP(4,"PHP"),
JAVA(5,"JAVA"),
PYTHON(6,"Python"),
GO(7,"Go"),
RUST(8,"Rust"),
RUBY(9,"Ruby"),
PERL(10,"Perl"),
MATLAB(11,"Matlab"),
QITA(12,"其他:请在备注中填写,如需填写多个,请以逗号分隔"),
NONE(-1,"无");
private Integer code;
private String name;
MainLanguageEnum() {
}
private static Map<String,MainLanguageEnum> mainLanguageEnumMap=new HashMap<>();
private static Map<Integer,MainLanguageEnum> mainLanguageEnumCodeMap=new HashMap<>();
static {
for (MainLanguageEnum mainLanguageEnum : MainLanguageEnum.values()) {
mainLanguageEnumMap.put(mainLanguageEnum.getName(),mainLanguageEnum);
mainLanguageEnumCodeMap.put(mainLanguageEnum.getCode(),mainLanguageEnum);
}
}
MainLanguageEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MainLanguageEnum getByName(String name){
MainLanguageEnum mainLanguageEnum = mainLanguageEnumMap.get(name);
if(mainLanguageEnum==null){
return NONE;
}
return mainLanguageEnum;
}
public static MainLanguageEnum getByCode(Integer code){
MainLanguageEnum mainLanguageEnum = mainLanguageEnumMap.get(code);
if(mainLanguageEnum==null){
return NONE;
}
return mainLanguageEnum;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "微服务")
@Getter
public enum MicroServiceEnum {
NONE(-1,"无"),
FLUME(0,"Flume"),
ZOOKEEPER(1,"Zookeeper"),
RIBBON(2,"Ribbon"),
HYSTIX(3,"Hystix"),
HBASE(4,"HBASE"),
HIVE(5,"Hive"),
SPARKSTROM(6,"Spark Strom"),
RESTTEMPLATE(7,"RestTemplate"),
KVM(8,"KVM"),
OPENSTACK(9,"Openstack"),
KUBERNETES(10,"Kubernetes"),
DOCKER(11,"Docker"),
EXMOBI(12,"Exmobi"),
DATAV(13,"DataV"),
RAYDATA(14,"RayData"),
BIANMU(15,"编目服务:请在备注中填写,如需填写多个,请以逗号分隔"),
DITU(16,"地图类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
TUBIAO(17,"图表视图类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
SHIBIE(18,"识别类微服务:请在备注中填写"),
NEIRONG(19,"内容审查类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
FENXI(20,"智能分析类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
DATA(21,"数据引用类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
IOQUICK(22,"流媒体加速类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
JIAMI(23,"加密类微服务:请在备注中填写,如需填写多个,请以逗号分隔"),
OTHER(24,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
MicroServiceEnum() {
}
private static Map<String,MicroServiceEnum> microServiceEnumMap=new HashMap<>();
static {
for (MicroServiceEnum microServiceEnum : MicroServiceEnum.values()) {
microServiceEnumMap.put(microServiceEnum.getName(),microServiceEnum);
}
}
MicroServiceEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MicroServiceEnum getByName(String name){
MicroServiceEnum microServiceEnum = microServiceEnumMap.get(name);
if(microServiceEnum == null){
return NONE;
}
return microServiceEnum;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* <h4>Description : inspect</h4>
*
* @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 17:53
*/
@Getter
public enum MiddlewareEnum {
TOMCAT,
JBOSS,
NGNIX,
WEBSPHERE,
WEBLOGIC,
NONE,
NONE(-1, "无"),
IIS(0, "IIS"),
TOMCAT(1, "Tomcat"),
NGNIX(2, "Ngnix"),
WEBSPHERE(3, "Websphere"),
WEBLOGIC(4, "Weblogic"),
JBOSS(5, "JBOSS"),
JONAS(6, "JOnAS"),
HADOOP(7, "Hadoop"),
KAFKA(8, "Kafka"),
SPARK(9, "Spark"),
LVS(10, "LVS"),
LHA(11, "LHA"),
GERONIMO(12, "Geronimo"),
JINDIE(13, "金蝶"),
DONGFANGTONG(14, "东方通"),
OTHER(15, "其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String, MiddlewareEnum> middlewareEnumMap = new HashMap<>();
private static Map<Integer, MiddlewareEnum> middlewareEnumCodeMap = new HashMap<>();
static {
for (MiddlewareEnum middlewareEnum : MiddlewareEnum.values()) {
middlewareEnumMap.put(middlewareEnum.getName(), middlewareEnum);
middlewareEnumCodeMap.put(middlewareEnum.getCode(), middlewareEnum);
}
}
MiddlewareEnum() {
}
MiddlewareEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static MiddlewareEnum getByName(String name) {
MiddlewareEnum middlewareEnum = middlewareEnumMap.get(name);
if(middlewareEnum==null){
return NONE;
}
return middlewareEnum;
}
public static MiddlewareEnum getByCode(Integer code) {
MiddlewareEnum middlewareEnum = middlewareEnumCodeMap.get(code);
if(middlewareEnum==null){
return NONE;
}
return middlewareEnum;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* <h4>Description : 操作系统</h4>
*
* @author : M@tr!x [xhyrzldf@foxmail.com]
* @Date : 2020-03-05 17:03
*/
@Getter
public enum OperateSystem {
CENTEROSREALES,
WINSERVER2006,
WINSERVER2012,
REDHATREALES,
UBUNTU,
AIX,
NONE,
WINDOWSXP10(1,"Windows(XP-Win10)"),
WINDOWSSERVER200816(2,"WindowsServer(2008-2016)"),
WINDOWSSERVER201620(3,"WindowsServer(2016-2020)"),
REDHATORACLELINUX(4,"Redhat/OracleLinux系列"),
CENTOS(5,"CentOS系列"),
UBUNTU(6,"Ubuntu系列"),
SUSE(7,"SUSE系列"),
DEBIAN(8,"Debian系列"),
FEDORA(9,"Fedora系列"),
MAGEIA(10,"Mageia系例"),
LEDE(11,"LEDE系列"),
OPENWRT(12,"Openwrt GNU版本"),
DEEPIN(13,"Deepin GNU版本"),
UOS(14,"UOS GNU版本"),
WINNINGKIRIN(15,"中标麒麟 GNU版本"),
MILKYKIRIN(16,"银河麒麟 GNU版本"),
ZHONGKEFANGDE(17,"中科方德 GNU版本"),
XINZIDIAN(18,"新支点 GNU版本"),
PUHUA(19,"普华 GNU版本"),
APPLEUNIXGNU(20,"Apple-UnixGNU版本"),
IBMAIX(21,"IBM-AIX系列"),
HPUX(22,"HP-UX系列"),
SUNSOLARIS(23,"SUN-Solaris系列"),
MPISIRIX(24,"MPIS-Irix系列"),
NONE(-1,"无");
private Integer code;
private String name;
OperateSystem() {
}
private static Map<String, OperateSystem> operateSystemMap=new HashMap<>();
private static Map<Integer, OperateSystem> operateSystemCodeMap=new HashMap<>();
static {
for (OperateSystem operateSystem : OperateSystem.values()) {
operateSystemMap.put(operateSystem.getName(),operateSystem);
operateSystemCodeMap.put(operateSystem.getCode(),operateSystem);
}
}
OperateSystem(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OperateSystem getByName(String name){
OperateSystem operateSystem = operateSystemMap.get(name);
if(operateSystem==null){
return NONE;
}
return operateSystem;
}
public static OperateSystem getByCode(String name){
OperateSystem operateSystem = operateSystemCodeMap.get(name);
if(operateSystem==null){
return NONE;
}
return operateSystem;
}
}
package com.zjty.inspect.enums;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@ApiModel(value = "打包方式")
@Getter
public enum OpgaEnum {
NONE(-1,"无"),
SETUPINSHEILD(1,"SetUp/InstallSheild封装"),
MAVEN(2,"Maven打包方式"),
GRADLE(3,"Gradle打包方式"),
QITA(4,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,OpgaEnum> opgaEnumMap=new HashMap<>();
private static Map<Integer,OpgaEnum> opgaEnumCodeMap=new HashMap<>();
static {
for (OpgaEnum opgaEnum : OpgaEnum.values()) {
opgaEnumMap.put(opgaEnum.getName(),opgaEnum);
opgaEnumCodeMap.put(opgaEnum.getCode(),opgaEnum);
}
}
OpgaEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OpgaEnum getByName(String name){
OpgaEnum opgaEnum = opgaEnumMap.get(name);
if(opgaEnum==null){
return NONE;
}
return opgaEnum;
}
public static OpgaEnum getByCode(Integer code){
OpgaEnum opgaEnum = opgaEnumCodeMap.get(code);
if(opgaEnum==null){
return NONE;
}
return opgaEnum;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum OtherApiEnum {
NONE(-1,"无"),
JNDI(0,"JNDI"),
ML(1,"其他命名与目录类API:请在备注中填写,如需填写多个,请以逗号分隔"),
JMS(2,"JMS"),
RestFul(3,"RestFul"),
XX(4,"其他消息类API:请在备注中填写,如需填写多个,请以逗号分隔"),
AMQP(5,"AMQP"),
KAFKA(6,"Kafka API"),
MQTT(7,"MQTT"),
ROUTE(8,"其他消息路由类API:请在备注中填写,如需填写多个,请以逗号分隔"),
ES(9,"ES"),
YQ(10,"其他搜索引擎类API:请在备注中填写,如需填写多个,请以逗号分隔"),
LOGSTASH(11,"Logstash"),
LOG(12,"其他分析日志类API:请在备注中填写,如需填写多个,请以逗号分隔"),
KIBANA(13,"Kibana"),
FXKS(14,"其他分析可视化类API:请在备注中填写,如需填写多个,请以逗号分隔"),
REDIS(15,"Redis"),
JIQ(16,"其他集群类API:请在备注中填写,如需填写多个,请以逗号分隔"),
ARCGIS(17,"ARCGIS"),
GIS(18,"其他GIS类API:请在备注中填写,如需填写多个,请以逗号分隔"),
EDIT(19,"在线编辑API:请在备注中填写,如需填写多个,请以逗号分隔"),
TUBIAO(20,"统计图表类API:请在备注中填写,如需填写多个,请以逗号分隔"),
BF(21,"播放类API:请在备注中填写,如需填写多个,请以逗号分隔"),
YJ(22,"硬件驱动类API:请在备注中填写,如需填写多个,请以逗号分隔"),
OCR(23,"OCR识别类API:请在备注中填写,如需填写多个,请以逗号分隔"),
JIAMI(24,"加密类API:请在备注中填写,如需填写多个,请以逗号分隔"),
OTHER(25,"其他:请在备注中填写,如需填写多个,请以逗号分隔");
private Integer code;
private String name;
private static Map<String,OtherApiEnum> otherApiEnumMap=new HashMap<>();
private static Map<Integer,OtherApiEnum> otherApiCodeEnumMap=new HashMap<>();
static {
for (OtherApiEnum otherApiEnum : OtherApiEnum.values()) {
otherApiEnumMap.put(otherApiEnum.getName(),otherApiEnum);
}
for (OtherApiEnum otherApiEnum : OtherApiEnum.values()) {
otherApiCodeEnumMap.put(otherApiEnum.getCode(),otherApiEnum);
}
}
OtherApiEnum() {
}
OtherApiEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static OtherApiEnum getByName(String name){
OtherApiEnum otherApiEnum = otherApiEnumMap.get(name);
if(otherApiEnum==null){
return NONE;
}
return otherApiEnum;
}
public static OtherApiEnum getByCode(Integer code){
OtherApiEnum otherApiEnum = otherApiCodeEnumMap.get(code);
if(otherApiEnum==null){
return NONE;
}
return otherApiEnum;
}
}
......@@ -5,8 +5,8 @@ public enum RecastMethod {
/**
* 架构
*/
适配重构("适配重构",1),
代码修改("代码修改",2);
RECONSITUTION("适配重构",1),
MODIFICATION("代码修改",2);
RecastMethod(String name, Integer status){
this.name=name;
......
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum RpoEnum {
QLM(0,"与RTO时间的前60秒同步"),
QLF(1,"与RTO时间的前60分钟同步"),
QSS(2,"与RTO时间的前10小时同步"),
QESS(3,"与RTO时间的前24小时同步"),
HFQ(4,"允许丢失恢复期间所产生的数据"),
GJ(5,"允许丢失割接准备时期+恢复期间所产生的数据"),
GJALL(6,"允许丢失割接前备份以外的所有数据"),
NONE(-1,"无");
private static Map<String,RpoEnum> rpoEnumHashMap=new HashMap<>();
private static Map<Integer,RpoEnum> rpoCodeEnumHashMap=new HashMap<>();
static {
for (RpoEnum rpoEnum : RpoEnum.values()) {
rpoEnumHashMap.put(rpoEnum.getName(),rpoEnum);
rpoCodeEnumHashMap.put(rpoEnum.getCode(),rpoEnum);
}
}
public static RpoEnum getByName(String name){
RpoEnum rpoEnum = rpoEnumHashMap.get(name);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
public static RpoEnum getByCode(Integer code){
RpoEnum rpoEnum = rpoCodeEnumHashMap.get(code);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
private Integer code;
private String name;
RpoEnum() {
}
RpoEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}
package com.zjty.inspect.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum RtoEnum {
YI(0,"1-60秒"),
//平滑过渡
SHI(1,"10分钟内"),
SAN(2,"30分钟内"),
LIU(3,"60分钟内"),
Y(4,"1-5小时"),
WU(5,"5-10小时"),
ERS(6,"24小时内"),
SIB(7,"48小时内"),
//暂停服务
QI(8,"72小时内"),
//休息日或晚间替换
ZH(9,"一周内"),
NONE(-1,"无");
private Integer code;
private String name;
RtoEnum() {
}
private static Map<String,RtoEnum> rtoEnumHashMap=new HashMap<>();
private static Map<Integer,RtoEnum> rtoCodeEnumHashMap=new HashMap<>();
static {
for (RtoEnum rtoEnum : RtoEnum.values()) {
rtoEnumHashMap.put(rtoEnum.getName(),rtoEnum);
rtoCodeEnumHashMap.put(rtoEnum.getCode(),rtoEnum);
}
}
public static RtoEnum getByName(String name){
RtoEnum rpoEnum = rtoEnumHashMap.get(name);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
public static RtoEnum getByCode(Integer code){
RtoEnum rpoEnum = rtoEnumHashMap.get(code);
if(rpoEnum==null){
return NONE;
}
return rpoEnum;
}
RtoEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}
......@@ -4,7 +4,7 @@ import com.zjty.inspect.dao.*;
import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.DependenceManagement;
import com.zjty.inspect.enums.Framework;
import com.zjty.inspect.enums.Language;
import com.zjty.inspect.enums.LanguageEnum;
import com.zjty.inspect.enums.RecastMethod;
import com.zjty.inspect.service.RuleService;
import com.zjty.inspect.utils.*;
......@@ -17,7 +17,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.nio.charset.MalformedInputException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
......@@ -112,7 +111,7 @@ public class Inspector {
* key:properties
* value:[{/Users/path},{/Users/path}]
*/
private Map<String, Language> suffixLanguageMapping = new HashMap<>(16);
private Map<String, LanguageEnum> suffixLanguageMapping = new HashMap<>(16);
/**
* 规则列表
......@@ -264,22 +263,22 @@ public class Inspector {
//统计文件最多的
for (Map.Entry<String, Counter> entry : languageMatchMap.entrySet()) {
if (entry.getValue().getNumber() > maxnum) {
Language language = suffixLanguageMapping.get(entry.getKey());
LanguageEnum language = suffixLanguageMapping.get(entry.getKey());
most = language.name();
mostStatus = language.getStatus();
mostStatus = language.getCode();
maxnum = entry.getValue().getNumber();
}
}
//设置语言
report.setLanguage(most == null ? Language.UNKNOW.getStatus() : mostStatus);
report.setLanguage(most == null ? LanguageEnum.NONE.getCode() : mostStatus);
//设置架构
report.setFramework(languageMatchMap.get("jsp").i > 0 ? Framework.混合型架构.getStatus() : Framework.分离型架构.getStatus());
report.setFramework(languageMatchMap.get("jsp").i > 0 ? Framework.MIXTURE.getStatus() : Framework.SEPARATE.getStatus());
//设置是否需要重构
if (languageMatchMap.get("jsp").i == 0 & languageMatchMap.get("java").i == 0) {
report.setRecastMethod(RecastMethod.适配重构.getStatus());
report.setRecastMethod(RecastMethod.RECONSITUTION.getStatus());
log.info("inspect:代码解析完成,建议进行适配重构");
} else {
report.setRecastMethod(RecastMethod.代码修改.getStatus());
report.setRecastMethod(RecastMethod.MODIFICATION.getStatus());
log.info("inspect:代码解析完成,建议进行代码修改");
}
}
......
package com.zjty.inspect.service;
import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.Rule;
import org.springframework.data.domain.Page;
import java.util.List;
import java.util.Map;
public interface EvaluationService {
......@@ -15,5 +13,4 @@ public interface EvaluationService {
Page<Evaluation> findSearch(Map searchMap, int page, int size);
Evaluation findById(String id);
Evaluation findByName(String name);
}
......@@ -2,11 +2,10 @@ package com.zjty.inspect.service.impl;
import com.zjty.inspect.dao.EvaluationDao;
import com.zjty.inspect.entity.Evaluation;
import com.zjty.inspect.entity.Rule;
import com.zjty.inspect.service.EvaluationService;
import com.zjty.inspect.utils.TimeUtil;
import com.zjty.inspect.utils.UUIDUtil;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
......@@ -25,40 +24,43 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
public class EvaluationServiceImpl implements EvaluationService {
@Autowired
private EvaluationDao evaluationDao;
@Override
public Evaluation save(Evaluation evaluation) {
if(StringUtils.isEmpty(evaluation.getInEva())) {
log.info("evaluation为:{}",evaluation);
if (StringUtils.isEmpty(evaluation.getInEva())) {
return null;
}
if(StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
if (StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
return null;
}
if(StringUtil.isNullOrEmpty(evaluation.getUsername())){
if (StringUtil.isNullOrEmpty(evaluation.getUsername())) {
return null;
}
if(StringUtil.isNullOrEmpty(evaluation.getProjectName())){
if (StringUtil.isNullOrEmpty(evaluation.getProjectName())) {
return null;
}
String uuid = UUIDUtil.getUUID();
evaluation.setId(uuid);
return evaluationDao.save(evaluation);
String uuid = UUIDUtil.getUUID();
evaluation.setId(uuid);
return evaluationDao.save(evaluation);
}
@Override
public void update(Evaluation evaluation) {
Evaluation evaluation1 = evaluationDao.findByUsernameAndIdNot(evaluation.getUsername(),evaluation.getId());
if(evaluation1!=null){
Evaluation evaluation1 = evaluationDao.findByUsernameAndIdNot(evaluation.getUsername(), evaluation.getId());
if (evaluation1 != null) {
return;
}
if(StringUtil.isNullOrEmpty(evaluation.getInEva())) {
if (StringUtil.isNullOrEmpty(evaluation.getInEva())) {
return;
}
if(StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
if (StringUtil.isNullOrEmpty(evaluation.getOutEva())) {
return;
}
evaluationDao.save(evaluation);
......@@ -73,14 +75,14 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override
public Page<Evaluation> findSearch(Map searchMap, int page, int size) {
Specification<Evaluation> specification = createSpecification(searchMap);
PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.Direction.DESC,"createDate");
PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.Direction.DESC, "createDate");
return evaluationDao.findAll(specification, pageRequest);
}
@Override
public Evaluation findById(String id) {
Optional<Evaluation> evaluation = evaluationDao.findById(id);
if(evaluation.isPresent()){
if (evaluation.isPresent()) {
return evaluation.get();
}
return null;
......@@ -89,14 +91,12 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override
public Evaluation findByName(String name) {
Evaluation evaluation = evaluationDao.findByUsernameAndMaxCreateDate(name);
if(evaluation!=null){
if (evaluation != null) {
return evaluation;
}
return null;
}
/**
* 动态条件构建
*
......
......@@ -2,25 +2,22 @@ package com.zjty.inspect.service.impl;
import com.zjty.inspect.dao.ReportDao;
import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.Language;
import com.zjty.inspect.enums.LanguageEnum;
import com.zjty.inspect.service.InspectService;
import com.zjty.inspect.inspect.Inspector;
import com.zjty.inspect.service.ParameterService;
import com.zjty.inspect.service.TechnologyService;
import com.zjty.inspect.utils.FileUtil;
import com.zjty.inspect.utils.FreemarkerUtils;
import com.zjty.inspect.utils.RandomUtil;
import com.zjty.inspect.utils.TimeUtil;
import freemarker.cache.StringTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
......@@ -48,18 +45,18 @@ public class InspectServiceImpl implements InspectService {
@Override
public ReportVo inspect(ReportVo reportVo,InspectParameter inspectParameter) throws IOException {
//统计文件后缀数量
Map<String, Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java", Language.JAVA);
suffixLanguageMapping.put("aspx", Language.C);
suffixLanguageMapping.put("cs", Language.C);
suffixLanguageMapping.put("resx", Language.C);
suffixLanguageMapping.put("vue", Language.JAVASCRIPT);
suffixLanguageMapping.put("cpp", Language.C);
suffixLanguageMapping.put("py", Language.PYTHON);
suffixLanguageMapping.put("jsp", Language.JAVA);
suffixLanguageMapping.put("go", Language.GO);
suffixLanguageMapping.put("js", Language.JAVASCRIPT);
suffixLanguageMapping.put("html", Language.HTML);
Map<String, LanguageEnum> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java", LanguageEnum.JAVA);
suffixLanguageMapping.put("aspx", LanguageEnum.C);
suffixLanguageMapping.put("cs", LanguageEnum.C);
suffixLanguageMapping.put("resx", LanguageEnum.C);
suffixLanguageMapping.put("vue", LanguageEnum.JAVASCRIPT);
suffixLanguageMapping.put("cpp", LanguageEnum.C);
suffixLanguageMapping.put("py", LanguageEnum.PYTHON);
suffixLanguageMapping.put("jsp", LanguageEnum.JAVA);
suffixLanguageMapping.put("go", LanguageEnum.GO);
suffixLanguageMapping.put("js", LanguageEnum.JAVASCRIPT);
suffixLanguageMapping.put("html", LanguageEnum.HTML);
//构造成员变量
inspector.setInspectParameter(inspectParameter);
//构造报告vo
......@@ -106,6 +103,7 @@ public class InspectServiceImpl implements InspectService {
return null;
}
//执行静态化
@Override
public String generateHtml(String templateContent,Map model ){
//创建配置对象
......
......@@ -63,12 +63,11 @@ public class BudgetUitl {
inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1)));
Double moneyRate = inspectParameter.getMoneyRate();
System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter));
int mouth = inspectParameter.getYears();
int year = inspectParameter.getYears();
if(inspectParameter.getYears()==-1){
mouth=1;
year=1;
}
double pow = Math.pow(moneyRate, mouth);
double pow = Math.pow(moneyRate, year);
//带修正系数资金
ArrayList<String> strings = new ArrayList<>();
strings.add("安全能力");
......
......@@ -12,6 +12,7 @@ import java.text.NumberFormat;
import java.text.ParsePosition;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 应用系统改造替换工作量根据表单计算
......@@ -50,8 +51,9 @@ public class WorkLoadUtil {
Browser browser = reform.getBrowser();
if(browser!=null) {
//如果原浏览器包含IE,+10
List<CompatibleBrowser> compatibleBrowsers = browser.getCompatibleBrowsers();
if (compatibleBrowsers!=null&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT)) {
List<BaseDes> compatibleBrowsers = browser.getCompatibleBrowsers();
List<String> names = compatibleBrowsers.stream().map(BaseDes::getName).collect(Collectors.toList());
if (!names.isEmpty()&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT.toString())) {
score += 10;
logger.info("包含IE+10:" + score);
}
......@@ -102,11 +104,12 @@ public class WorkLoadUtil {
*/
Middleware middleware = reform.getMiddleware();
if(middleware!=null) {
List<MiddlewareEnum> middlewareEnums = middleware.getMiddlewareEnums();
List<BaseDes> middlewareEnums = middleware.getMiddlewareEnums();
int effectMidNum = 0;
if(middlewareEnums!=null) {
effectMidNum = middlewareEnums.size();
if (middlewareEnums.contains(MiddlewareEnum.TOMCAT)) {
List<String> names = middlewareEnums.stream().map(BaseDes::getName).collect(Collectors.toList());
if (names.contains(MiddlewareEnum.TOMCAT.getName())) {
effectMidNum--;
}
}
......@@ -289,9 +292,10 @@ public class WorkLoadUtil {
(1.0+(browserDifficulty.getMedia()!=null&&browserDifficulty.getMedia()==1?1.0:0)/100)*
(1.0+(browserDifficulty.getFlash()!=null&&browserDifficulty.getFlash()==1?1.0:0)/100)*
(1.0+(browserDifficulty.getOtherDemand()!=null&&browserDifficulty.getOtherDemand()==1?1.0:0)/100);
List<CompatibleBrowser> compatibleBrowsers = reform.getBrowser().getCompatibleBrowsers();
List<BaseDes> compatibleBrowsers = reform.getBrowser().getCompatibleBrowsers();
List<String> names = compatibleBrowsers.stream().map(BaseDes::getName).collect(Collectors.toList());
//if (compatibleBrowsers!=null&&compatibleBrowsers.contains(CompatibleBrowser.IETRIDENT)) {
if (compatibleBrowsers==null||!compatibleBrowsers.contains(CompatibleBrowser.FIREFOX)) {
if (names.isEmpty()||!compatibleBrowsers.contains(CompatibleBrowser.FIREFOX.toString())) {
eBrowser*=1.1;
logger.info("浏览器难度包含IE");
}
......@@ -324,12 +328,12 @@ public class WorkLoadUtil {
(1.0+(middlewareDifficulty.getRoute()==1?10.0:0)/100);
Middleware middleware = reform.getMiddleware();
if(middleware!=null) {
List<MiddlewareEnum> middlewareEnums = middleware.getMiddlewareEnums();
List<BaseDes> middlewareEnums = middleware.getMiddlewareEnums();
if(middlewareEnums!=null) {
for (MiddlewareEnum middlewareEnum : middlewareEnums) {
if (middlewareEnum != MiddlewareEnum.TOMCAT) {
for (BaseDes middlewareEnum : middlewareEnums) {
if (middlewareEnum.getName() != MiddlewareEnum.TOMCAT.getName()) {
emiddle *= 1.05;
logger.info("中间件:" + middlewareEnum);
logger.info("中间件:" + middlewareEnum.getName());
}
}
}
......@@ -494,7 +498,10 @@ public class WorkLoadUtil {
String workloadDes = "本系统通过选择"+type+"方式部署到国产化安全自主可控环境上。代码层面的关键工作量包含"+nf.format(totalWorkload)+"人工月(包含对不可预见的估算)";
report.getWorkload().setDes(workloadDes);
double multipleHardrage = totalWorkload*r/f;
report.getDifficultyAssessment().setDes("本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"+Double.valueOf(nf.format(multipleHardrage)));
if(Double.isNaN(multipleHardrage)){
multipleHardrage = 0;
}
//report.getDifficultyAssessment().setDes("本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"+Double.valueOf(nf.format(multipleHardrage)));
report.setDifficulty(Double.valueOf(nf.format(multipleHardrage)));
/**
* 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值
......
......@@ -51,6 +51,7 @@ spring.jackson.time-zone=GMT
# mysql\u6570\u636E\u5E93\u914D\u7F6E
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
#spring.datasource.url=jdbc:mysql://120.55.57.35:3306/adaptation?characterEncoding=utf-8
......
......@@ -4,7 +4,7 @@
#spring.profiles.active=prod
# \u670D\u52A1\u5668\u76F8\u5173\u914D\u7F6E
server.port=8079
server.port=8078
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
# \u65E5\u5FD7\u6587\u4EF6\u76F8\u5173\u914D\u7F6E
# logging.level.org.hibernate.sql=debug
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论