From ced9d38e44db7e212fe5f5fe352f6660ed3fb8d8 Mon Sep 17 00:00:00 2001 From: itcast Date: Wed, 9 Mar 2022 19:51:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=BA=93=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=AE=A1=E7=90=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 + src/main/java/com/pms/ocp/OcpApplication.java | 6 +- .../com/pms/ocp/common/utils/ExcelUtils.java | 4 +- .../com/pms/ocp/common/utils/FileExport.java | 209 ++++++++++++++++++ .../com/pms/ocp/common/utils/FileUtil.java | 34 +++ .../ApiBasicManagementController.java | 196 ++++++++++++++++ .../ocp/mapper/ApiBasicManagementMapper.java | 18 ++ .../com/pms/ocp/mapper/ApiDetailsMapper.java | 6 + .../pms/ocp/mapper/OcpApiExtentMapper.java | 9 + .../com/pms/ocp/mapper/OcpApiSubsMapper.java | 9 + .../com/pms/ocp/model/dto/ApiBaseDto.java | 40 ++++ .../com/pms/ocp/model/dto/OcpApiBaseDto.java | 24 ++ .../pms/ocp/model/dto/OcpTenantBaseDto.java | 23 ++ .../pms/ocp/model/entity/ModelProperty.java | 2 + .../com/pms/ocp/model/entity/OcpApiBase.java | 2 +- .../pms/ocp/model/entity/OcpTenantBase.java | 9 +- .../pms/ocp/model/entity/OcpTenantSubs.java | 13 +- .../com/pms/ocp/model/vo/OcpApiBaseVo.java | 49 ++++ .../service/ApiBasicManagementService.java | 57 +++++ .../pms/ocp/service/ApiDetailsService.java | 8 + .../pms/ocp/service/OcpApiExtentService.java | 7 + .../pms/ocp/service/OcpApiSubsService.java | 7 + .../impl/ApiBasicManagementServiceImpl.java | 157 +++++++++++++ .../service/impl/ApiDetailsServiceImpl.java | 28 +++ .../service/impl/OcpApiExtentServiceImpl.java | 11 + .../service/impl/OcpApiSubsServiceImpl.java | 11 + src/main/resources/application-local.yml | 10 +- .../mapper/ApiBasicManagementMapper.xml | 60 +++++ .../resources/mapper/ApiDetailsMapper.xml | 7 + 29 files changed, 998 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/pms/ocp/common/utils/FileExport.java create mode 100644 src/main/java/com/pms/ocp/common/utils/FileUtil.java create mode 100644 src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java create mode 100644 src/main/java/com/pms/ocp/mapper/ApiBasicManagementMapper.java create mode 100644 src/main/java/com/pms/ocp/mapper/OcpApiExtentMapper.java create mode 100644 src/main/java/com/pms/ocp/mapper/OcpApiSubsMapper.java create mode 100644 src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java create mode 100644 src/main/java/com/pms/ocp/model/dto/OcpApiBaseDto.java create mode 100644 src/main/java/com/pms/ocp/model/dto/OcpTenantBaseDto.java create mode 100644 src/main/java/com/pms/ocp/model/vo/OcpApiBaseVo.java create mode 100644 src/main/java/com/pms/ocp/service/ApiBasicManagementService.java create mode 100644 src/main/java/com/pms/ocp/service/OcpApiExtentService.java create mode 100644 src/main/java/com/pms/ocp/service/OcpApiSubsService.java create mode 100644 src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java create mode 100644 src/main/java/com/pms/ocp/service/impl/OcpApiExtentServiceImpl.java create mode 100644 src/main/java/com/pms/ocp/service/impl/OcpApiSubsServiceImpl.java create mode 100644 src/main/resources/mapper/ApiBasicManagementMapper.xml create mode 100644 src/main/resources/mapper/ApiDetailsMapper.xml diff --git a/pom.xml b/pom.xml index 5f64143..94fd1e3 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,10 @@ 1.2.62 + + + + diff --git a/src/main/java/com/pms/ocp/OcpApplication.java b/src/main/java/com/pms/ocp/OcpApplication.java index be0f6a4..d964a52 100644 --- a/src/main/java/com/pms/ocp/OcpApplication.java +++ b/src/main/java/com/pms/ocp/OcpApplication.java @@ -20,11 +20,11 @@ import java.util.TimeZone; @SpringBootApplication @MapperScan(basePackages = {"com.pms.ocp.mapper"}) -//@ConfigurationPropertiesScan -//@EnableOpenApi +@ConfigurationPropertiesScan +@EnableOpenApi public class OcpApplication { public static void main(String[] args) { -// TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); + TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); SpringApplication.run(OcpApplication.class, args); } diff --git a/src/main/java/com/pms/ocp/common/utils/ExcelUtils.java b/src/main/java/com/pms/ocp/common/utils/ExcelUtils.java index 702429d..1e1c066 100644 --- a/src/main/java/com/pms/ocp/common/utils/ExcelUtils.java +++ b/src/main/java/com/pms/ocp/common/utils/ExcelUtils.java @@ -76,9 +76,11 @@ public class ExcelUtils { //当前日期 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); fileName = df.format(new Date()); + } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(fileName, fileName, ExcelType.XSSF), pojoClass, list); response.setCharacterEncoding("UTF-8"); + response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls"); ServletOutputStream out = response.getOutputStream(); @@ -104,7 +106,6 @@ public class ExcelUtils { exportExcel(response, fileName, targetList, targetClass); } - /** * Excel导出----设置title---sheetName---要求Collection list是Class pojoClass类型的 * @@ -128,5 +129,4 @@ public class ExcelUtils { out.flush(); } - } diff --git a/src/main/java/com/pms/ocp/common/utils/FileExport.java b/src/main/java/com/pms/ocp/common/utils/FileExport.java new file mode 100644 index 0000000..2d3d9f9 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/utils/FileExport.java @@ -0,0 +1,209 @@ +package com.pms.ocp.common.utils; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import org.apache.poi.ss.formula.functions.T; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 文件导出工具 + * @author abc + * @date 2019/01/08 + */ +public class FileExport { + + private static final Logger logger = LoggerFactory.getLogger(FileExport.class); + + /** CSV文件列分隔符 */ + private static final String CSV_COLUMN_SEPARATOR = ","; + + private static final String CSV_COLUM_TABLE = "\t"; + + /** CSV文件列分隔符 */ + private static final String CSV_RN = "\r\n"; + + /** + * 导出Excel文件 + * + * @param excelHeader + * 导出文件中表格头 + * @param list + * 导出的内容 + * @param response + * HttpServletResponse对象,用来获得输出流向客户端写导出的文件 + * @param sheetName + * Excel的sheet名称,加上时间戳作为导出文件的名称 + */ + public static void exportExcel(String [] excelHeader, List list, String sheetName, HttpServletResponse response, HttpServletRequest request) { + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sheet = wb.createSheet(sheetName); + HSSFRow row = sheet.createRow((int) 0); + /******设置单元格是否显示网格线******/ + sheet.setDisplayGridlines(true); + + /******设置头单元格样式******/ + HSSFCellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + Font fontHeader = wb.createFont(); + fontHeader.setBold(true); + fontHeader.setFontHeight((short) 240); + style.setFont(fontHeader); + style.setBorderBottom(BorderStyle.THIN); + style.setBorderLeft(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + style.setBorderTop(BorderStyle.THIN); + + /******设置头内容******/ + for (int i = 0; i < excelHeader.length; i++) { + HSSFCell cell = row.createCell(i); + cell.setCellValue(" " +excelHeader[i] + " "); + cell.setCellStyle(style); + } + + /******设置内容单元格样式******/ + HSSFCellStyle styleCell = wb.createCellStyle(); + Font fontCell = wb.createFont(); +// fontCell.setColor(HSSFColor.BLACK.index); +// fontCell.setColor(HSSFColor.B); + styleCell.setAlignment(HorizontalAlignment.CENTER); + styleCell.setFont(fontCell); + styleCell.setBorderBottom(BorderStyle.THIN); + styleCell.setBorderLeft(BorderStyle.THIN); + styleCell.setBorderRight(BorderStyle.THIN); + styleCell.setBorderTop(BorderStyle.THIN); + /******设置单元格内容******/ + for (int i = 0; i < list.size(); i++) { + row = sheet.createRow(i + 1); + /******设置行高******/ + row.setHeightInPoints(20); + Object[] obj = (Object[]) list.get(i); + for (int j = 0; j < excelHeader.length; j++) { + styleCell.setWrapText(false); + HSSFCell cell = row.createCell(j); + if (obj[j] != null){ + cell.setCellValue(obj[j].toString()); + }else{ + cell.setCellValue(""); + } +// if(obj[j].toString().length()>20) +// styleCell.setWrapText(true); + cell.setCellStyle(styleCell); + sheet.autoSizeColumn(j); + } + } + + OutputStream ouputStream = null; + try { + + String encoding = "UTF-8"; + /** 获取浏览器相关的信息 */ + String userAgent = request.getHeader("user-agent"); + /** 判断是否为msie浏览器 */ + if (userAgent.toLowerCase().indexOf("msie") != -1){ + encoding = "gbk"; + } + + response.setCharacterEncoding(encoding); + response.setContentType("application/vnd.ms-excel"); + String fileName = sheetName; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHMMSS"); + fileName += (dateFormat.format(new Date())).toString()+".xls"; + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, encoding)); + ouputStream = response.getOutputStream(); + wb.write(ouputStream); + ouputStream.flush(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if(ouputStream!=null) { + ouputStream.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + /** + * 导出CSV文件 + * @param dataList 集合数据 + * @param colNames 表头部数据 + * @param mapKey 查找的对应数据 + */ + public static boolean doExport(List> dataList, String colNames, String mapKey, OutputStream os) { + try { + StringBuffer buf = new StringBuffer(); + + String[] colNamesArr = null; + String[] mapKeyArr = null; + + colNamesArr = colNames.split(","); + mapKeyArr = mapKey.split(","); + + /******完成数据csv文件的封装******/ + /******输出列头******/ + for (int i = 0; i < colNamesArr.length; i++) { + buf.append(colNamesArr[i]).append(CSV_COLUMN_SEPARATOR); + } + buf.append(CSV_RN); + + if (null != dataList) { + /******输出数据******/ + for (int i = 0; i < dataList.size(); i++) { + for (int j = 0; j < mapKeyArr.length; j++) { + buf.append(dataList.get(i).get(mapKeyArr[j])).append(CSV_COLUM_TABLE).append(CSV_COLUMN_SEPARATOR); + } + buf.append(CSV_RN); + } + } + /******写出响应******/ + os.write(buf.toString().getBytes("GBK")); + os.flush(); + return true; + } catch (Exception e) { + logger.error("doExport错误...", e); + } + return false; + } + + /** + * 设置响应格式 + * @param fileName + * @param response + * @throws UnsupportedEncodingException + */ + public static void responseSetProperties(String fileName, HttpServletResponse response) throws UnsupportedEncodingException { + /******设置文件后缀******/ + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + String fn = fileName + sdf.format(new Date()).toString() + ".csv"; + /******读取字符编码******/ + String utf = "UTF-8"; + + /******设置响应******/ + response.setContentType("application/ms-txt.numberformat:@"); + response.setCharacterEncoding(utf); + response.setHeader("Pragma", "public"); + response.setHeader("Cache-Control", "max-age=30"); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fn, utf)); + } +} diff --git a/src/main/java/com/pms/ocp/common/utils/FileUtil.java b/src/main/java/com/pms/ocp/common/utils/FileUtil.java new file mode 100644 index 0000000..33758d1 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/utils/FileUtil.java @@ -0,0 +1,34 @@ +package com.pms.ocp.common.utils; + +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.NoSuchElementException; + +/** + * 导入工具类 + */ +public class FileUtil { + public static List importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class pojoClass) + throws Exception { + if (file == null) { + return null; + } + ImportParams params = new ImportParams(); + params.setTitleRows(titleRows); + params.setHeadRows(headerRows); + List list = null; + try { + list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params); + } catch (NoSuchElementException e) { + throw new Exception("excel文件不能为空"); + } catch (Exception e) { + throw new Exception(e.getMessage()); + } + return list; + } + + +} diff --git a/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java new file mode 100644 index 0000000..905fc22 --- /dev/null +++ b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java @@ -0,0 +1,196 @@ +package com.pms.ocp.controller; + + +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.OcpApiBaseDto; +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.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.io.*; +import java.net.URLEncoder; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Slf4j +@RequestMapping("/api/basic") +@RestController +@Api(tags = "服务库服务基础管理接口") +public class ApiBasicManagementController { + @Autowired + private ApiDetailsService apiDetailsService; + @Autowired + private ApiBasicManagementService apiBasicManagementService; + + @ApiOperation("条件查询") + @GetMapping("/queryOcpApiBaseDto") + public ResponseVO 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) int pageSize, + @RequestParam(required = false) int pageNum + ) { + OcpApiBaseDto ocpApiBaseDto = apiBasicManagementService.queryOcpApiBaseDto(apiCode, keyword, apiUnits, startTime, endTime, pageSize + , pageNum); + return ResponseVO.ok(ocpApiBaseDto); + } + + @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 personList = FileUtil.importExcel(file, 0, 1, OcpApiBaseVo.class); + //也可以使用FileUtil.importExcel(filePath,1,1,FileEntity.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 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 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("服务订阅") + @PostMapping("/login") + public ResponseVO ApiLogin(@RequestParam(required = false) String apiPromotion, + @RequestParam(required = false) String apiCodes) { + if (StringUtils.isEmpty(apiPromotion) || apiPromotion.equals("0")) { + return ResponseVO.error("统招"); + } else { + apiBasicManagementService.apiLogin(apiCodes); + return ResponseVO.ok(); + } + + } + + @ApiOperation("服务发布") + @PostMapping("/issue") + public ResponseVO ApiIssue(@RequestParam(required = false) String apiPromotion, + @RequestParam(required = false) String apiCodes) { + if (StringUtils.isEmpty(apiPromotion) || apiPromotion.equals("0")) { + return ResponseVO.error("统招"); + } else { + apiBasicManagementService.apiIssue(apiCodes); + return ResponseVO.ok(); + } + + } + +} diff --git a/src/main/java/com/pms/ocp/mapper/ApiBasicManagementMapper.java b/src/main/java/com/pms/ocp/mapper/ApiBasicManagementMapper.java new file mode 100644 index 0000000..28d247d --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/ApiBasicManagementMapper.java @@ -0,0 +1,18 @@ +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; + +@Mapper +public interface ApiBasicManagementMapper extends BaseMapper { + List selectApiExport(List list); + + OcpApiBaseDto queryOcpApiBaseDto(@Param("keyword") String keyword,@Param("list") List list, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("apiCode") String apiCode, @Param("pageSize") int pageSize, @Param("pageNum") int pageNum); +} diff --git a/src/main/java/com/pms/ocp/mapper/ApiDetailsMapper.java b/src/main/java/com/pms/ocp/mapper/ApiDetailsMapper.java index 8bc0025..bd94f41 100644 --- a/src/main/java/com/pms/ocp/mapper/ApiDetailsMapper.java +++ b/src/main/java/com/pms/ocp/mapper/ApiDetailsMapper.java @@ -2,9 +2,15 @@ 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 { + + } diff --git a/src/main/java/com/pms/ocp/mapper/OcpApiExtentMapper.java b/src/main/java/com/pms/ocp/mapper/OcpApiExtentMapper.java new file mode 100644 index 0000000..d523997 --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/OcpApiExtentMapper.java @@ -0,0 +1,9 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.OcpApiExtent; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OcpApiExtentMapper extends BaseMapper { +} diff --git a/src/main/java/com/pms/ocp/mapper/OcpApiSubsMapper.java b/src/main/java/com/pms/ocp/mapper/OcpApiSubsMapper.java new file mode 100644 index 0000000..2eaf28e --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/OcpApiSubsMapper.java @@ -0,0 +1,9 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.OcpApiSubs; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OcpApiSubsMapper extends BaseMapper { +} diff --git a/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java b/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java new file mode 100644 index 0000000..0334243 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java @@ -0,0 +1,40 @@ +package com.pms.ocp.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.sql.Timestamp; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ApiBaseDto implements Serializable { + /** + * 服务编码 + */ + private String ApiCode; + /** + * 建设单位 + */ + private String apiUnit; + /** + * 注册时段-开始 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Timestamp startTime; + /** + * 注册时段-结束 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Timestamp endTime; + /** + * 关键字 + */ + private String keyword; +} diff --git a/src/main/java/com/pms/ocp/model/dto/OcpApiBaseDto.java b/src/main/java/com/pms/ocp/model/dto/OcpApiBaseDto.java new file mode 100644 index 0000000..31e2a5e --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/OcpApiBaseDto.java @@ -0,0 +1,24 @@ +package com.pms.ocp.model.dto; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.pms.ocp.model.entity.OcpApiBase; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "服务基础信息表dto") +public class OcpApiBaseDto extends OcpApiBase implements Serializable { + @ApiModelProperty("所属集群") + private String clusterName; + @ApiModelProperty("所属命名空间") + private String spaceName; + @ApiModelProperty( "状态") + private String apiState; +} diff --git a/src/main/java/com/pms/ocp/model/dto/OcpTenantBaseDto.java b/src/main/java/com/pms/ocp/model/dto/OcpTenantBaseDto.java new file mode 100644 index 0000000..ca71b79 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/OcpTenantBaseDto.java @@ -0,0 +1,23 @@ +package com.pms.ocp.model.dto; + +import com.pms.ocp.model.entity.OcpTenantBase; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "应用信息表dto") +public class OcpTenantBaseDto extends OcpTenantBase implements Serializable { + @ApiModelProperty("应用分类名称") + private String tenantGroupName; + @ApiModelProperty("集群名称") + private String clusterName; + @ApiModelProperty("命名空间") + private String spaceName; +} diff --git a/src/main/java/com/pms/ocp/model/entity/ModelProperty.java b/src/main/java/com/pms/ocp/model/entity/ModelProperty.java index 31a6e01..ff930b3 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelProperty.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelProperty.java @@ -3,7 +3,9 @@ package com.pms.ocp.model.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; /** * @Auther: wangjian diff --git a/src/main/java/com/pms/ocp/model/entity/OcpApiBase.java b/src/main/java/com/pms/ocp/model/entity/OcpApiBase.java index 7e91195..0daacad 100644 --- a/src/main/java/com/pms/ocp/model/entity/OcpApiBase.java +++ b/src/main/java/com/pms/ocp/model/entity/OcpApiBase.java @@ -24,7 +24,7 @@ public class OcpApiBase { private String apiCode; @ApiModelProperty("服务接口中文名称") - private String apiName; + private String apiName; @ApiModelProperty("服务分类代码") private String apiGroupCode; diff --git a/src/main/java/com/pms/ocp/model/entity/OcpTenantBase.java b/src/main/java/com/pms/ocp/model/entity/OcpTenantBase.java index 547e415..747ab9f 100644 --- a/src/main/java/com/pms/ocp/model/entity/OcpTenantBase.java +++ b/src/main/java/com/pms/ocp/model/entity/OcpTenantBase.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; +import java.sql.Timestamp; import java.util.Date; /** @@ -79,13 +80,13 @@ public class OcpTenantBase implements Serializable { * 创建时间 */ @ApiModelProperty("创建时间") - private Date tenantCtime; + private Timestamp tenantCtime; /** * 最后更新时间 */ @ApiModelProperty("最后更新时间") - private Date tenantMtime; + private Timestamp tenantMtime; /** * 部署名称 @@ -285,7 +286,7 @@ public class OcpTenantBase implements Serializable { /** * 创建时间 */ - public void setTenantCtime(Date tenantCtime) { + public void setTenantCtime(Timestamp tenantCtime) { this.tenantCtime = tenantCtime; } @@ -299,7 +300,7 @@ public class OcpTenantBase implements Serializable { /** * 最后更新时间 */ - public void setTenantMtime(Date tenantMtime) { + public void setTenantMtime(Timestamp tenantMtime) { this.tenantMtime = tenantMtime; } diff --git a/src/main/java/com/pms/ocp/model/entity/OcpTenantSubs.java b/src/main/java/com/pms/ocp/model/entity/OcpTenantSubs.java index f176f09..7a3b263 100644 --- a/src/main/java/com/pms/ocp/model/entity/OcpTenantSubs.java +++ b/src/main/java/com/pms/ocp/model/entity/OcpTenantSubs.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; +import java.sql.Timestamp; import java.util.Date; /** @@ -43,13 +44,13 @@ public class OcpTenantSubs implements Serializable { * 服务订阅创建时间 */ @ApiModelProperty("服务订阅创建时间") - private Date subsLogTenantCtime; + private Timestamp subsLogTenantCtime; /** * 服务订阅修改时间 */ @ApiModelProperty("服务订阅修改时间") - private Date subsLogTenantMtime; + private Timestamp subsLogTenantMtime; /** * 服务订阅创建用户ID @@ -61,7 +62,7 @@ public class OcpTenantSubs implements Serializable { * 服务订阅添加时间 */ @ApiModelProperty("服务订阅添加时间") - private Date subsLogTenantAtime; + private Timestamp subsLogTenantAtime; /** * 是否删除0-否,1-是 @@ -123,7 +124,7 @@ public class OcpTenantSubs implements Serializable { /** * 服务订阅创建时间 */ - public void setSubsLogTenantCtime(Date subsLogTenantCtime) { + public void setSubsLogTenantCtime(Timestamp subsLogTenantCtime) { this.subsLogTenantCtime = subsLogTenantCtime; } @@ -137,7 +138,7 @@ public class OcpTenantSubs implements Serializable { /** * 服务订阅修改时间 */ - public void setSubsLogTenantMtime(Date subsLogTenantMtime) { + public void setSubsLogTenantMtime(Timestamp subsLogTenantMtime) { this.subsLogTenantMtime = subsLogTenantMtime; } @@ -165,7 +166,7 @@ public class OcpTenantSubs implements Serializable { /** * 服务订阅添加时间 */ - public void setSubsLogTenantAtime(Date subsLogTenantAtime) { + public void setSubsLogTenantAtime(Timestamp subsLogTenantAtime) { this.subsLogTenantAtime = subsLogTenantAtime; } diff --git a/src/main/java/com/pms/ocp/model/vo/OcpApiBaseVo.java b/src/main/java/com/pms/ocp/model/vo/OcpApiBaseVo.java new file mode 100644 index 0000000..3f866ba --- /dev/null +++ b/src/main/java/com/pms/ocp/model/vo/OcpApiBaseVo.java @@ -0,0 +1,49 @@ +package com.pms.ocp.model.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.beans.factory.annotation.Value; + +import java.io.Serializable; +import java.sql.Timestamp; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "服务列表信息vo") +public class OcpApiBaseVo implements Serializable { + @ApiModelProperty(value = "序号") + @Excel(name = "序号") + private String objId; + @ApiModelProperty(value = "服务编码") + @Excel(name = "服务编码") + private String apiCode; + @ApiModelProperty(value = "服务中文名称") + @Excel(name = "服务中文名称") + private String apiName; + @ApiModelProperty(value = "所属集群") + @Excel(name = "所属集群") + private String clusterName; + @ApiModelProperty(value = "所属命名空间") + @Excel(name = "所属命名空间") + private String spaceName; + @ApiModelProperty(value = "接口URL") + @Excel(name = "接口URL") + private String apiUrl; + @ApiModelProperty(value = "状态") + @Excel(name = "状态") + private String apiState; + @ApiModelProperty(value = "注册时间") + @Excel(name = "注册时间") + private Timestamp apiCtime; + @ApiModelProperty(value = "建设单位") + @Excel(name = "建设单位") + private String apiUnit; + +} + diff --git a/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java new file mode 100644 index 0000000..672e46f --- /dev/null +++ b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java @@ -0,0 +1,57 @@ +package com.pms.ocp.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.pms.ocp.model.dto.ApiBaseDto; +import com.pms.ocp.model.dto.OcpApiBaseDto; +import com.pms.ocp.model.entity.OcpApiBase; +import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.model.vo.OcpApiBaseVo; + +import java.sql.Timestamp; +import java.util.List; + +public interface ApiBasicManagementService extends IService { + /** + * 导出的查询 + * @param apiCode + * @return + */ + List selectApiExport(String apiCodes); + + + + /** + * 服务注册 + * @param ocpApiBase + */ + void addOcpApiBase(OcpApiBase ocpApiBase); + + /** + * 服务订阅 + * @param apiCodes + */ + void apiLogin(String apiCodes); + + /** + * 条件查询 + * @param apiCode + * @param keyword + * @param apiUnit + * @param startTime + * @param endTime + * @return + */ +// OcpApiBaseDto queryOcpApiBaseDto(ApiBaseDto apiBaseDto); + OcpApiBaseDto queryOcpApiBaseDto(String apiCode, String keyword, String apiUnits, Timestamp startTime, Timestamp endTime,int pageSize,int pageNum); + /** + * 导入的添加到数据库 + * @param personList + */ + void apiImport(List personList); + + /** + * 服务发布 + * @param apiCodes + */ + void apiIssue(String apiCodes); +} diff --git a/src/main/java/com/pms/ocp/service/ApiDetailsService.java b/src/main/java/com/pms/ocp/service/ApiDetailsService.java index f6b6f09..fb31a5b 100644 --- a/src/main/java/com/pms/ocp/service/ApiDetailsService.java +++ b/src/main/java/com/pms/ocp/service/ApiDetailsService.java @@ -1,7 +1,13 @@ package com.pms.ocp.service; +import com.pms.ocp.model.entity.OcpApiBase; +import com.pms.ocp.model.vo.OcpApiBaseVo; import com.pms.ocp.model.vo.ResponseVO; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; public interface ApiDetailsService{ /** @@ -10,4 +16,6 @@ public interface ApiDetailsService{ * @return */ ResponseVO getApiDetails(String objId); + + } diff --git a/src/main/java/com/pms/ocp/service/OcpApiExtentService.java b/src/main/java/com/pms/ocp/service/OcpApiExtentService.java new file mode 100644 index 0000000..532dc2e --- /dev/null +++ b/src/main/java/com/pms/ocp/service/OcpApiExtentService.java @@ -0,0 +1,7 @@ +package com.pms.ocp.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.pms.ocp.model.entity.OcpApiExtent; + +public interface OcpApiExtentService extends IService { +} diff --git a/src/main/java/com/pms/ocp/service/OcpApiSubsService.java b/src/main/java/com/pms/ocp/service/OcpApiSubsService.java new file mode 100644 index 0000000..bc4cf89 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/OcpApiSubsService.java @@ -0,0 +1,7 @@ +package com.pms.ocp.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.pms.ocp.model.entity.OcpApiSubs; + +public interface OcpApiSubsService extends IService { +} diff --git a/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java new file mode 100644 index 0000000..9be1b6d --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java @@ -0,0 +1,157 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.pms.ocp.common.exception.BeagleException; +import com.pms.ocp.mapper.ApiBasicManagementMapper; +import com.pms.ocp.mapper.OcpApiExtentMapper; +import com.pms.ocp.model.dto.ApiBaseDto; +import com.pms.ocp.model.dto.OcpApiBaseDto; +import com.pms.ocp.model.entity.OcpApiBase; +import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.model.entity.OcpApiSubs; +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.OcpApiExtentService; +import com.pms.ocp.service.OcpApiSubsService; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.time.LocalDateTime; + +import java.util.Arrays; + +import java.util.List; + +@Service +public class ApiBasicManagementServiceImpl extends ServiceImpl + implements ApiBasicManagementService { + @Autowired + private ApiBasicManagementMapper apiBasicManagementMapper; + @Autowired + private OcpApiSubsService ocpApiSubsService; + @Autowired + private OcpApiExtentService ocpApiExtentService; + @Autowired + private OcpApiExtentMapper ocpApiExtentMapper; + + /** + * 导出查询 + * + * @param apiCodes + * @return + */ + public List selectApiExport(String apiCodes) { + String[] split = apiCodes.split(","); + List list = Arrays.asList(split); + return apiBasicManagementMapper.selectApiExport(list); + + } + + /** + * 服务注册 + * + * @param ocpApiBase + */ + public void addOcpApiBase(OcpApiBase ocpApiBase) { + apiBasicManagementMapper.insert(ocpApiBase); + } + + /** + * 服务订阅 + * + * @param apiCodes + */ + public void apiLogin(String apiCodes) { + String[] split = apiCodes.split(","); + List apiCode = Arrays.asList(split); + for (String s : apiCode) { + OcpApiSubs ocpApiSubs = new OcpApiSubs(); + ocpApiSubs.setApiCode(s); + ocpApiSubs.setSubsLogApiCtime(Timestamp.valueOf(LocalDateTime.now())); + ocpApiSubs.setSubsLogApiMtime(Timestamp.valueOf(LocalDateTime.now())); + ocpApiSubs.setSubsLogApiUserId(null); + ocpApiSubs.setSubsLogApiAtime(Timestamp.valueOf(LocalDateTime.now())); + ocpApiSubs.setSubsCompanyCode(null); + ocpApiSubsService.save(ocpApiSubs); + } + } + + /** + * 条件查询 + * + * @param apiCode + * @param keyword + * @param apiUnits + * @param startTime + * @param endTime + * @return + */ + public OcpApiBaseDto queryOcpApiBaseDto(String apiCode, String keyword, String apiUnits, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum) { + String[] split = apiUnits.split(","); + List list = Arrays.asList(split); + pageSize = (pageSize - 1) * pageNum; + OcpApiBaseDto ocpApiBaseDto = apiBasicManagementMapper.queryOcpApiBaseDto(keyword, list, startTime, endTime, apiCode, pageSize, pageNum); + return ocpApiBaseDto; + } + + /** + * 导入添加到数据库 + * + * @param personList + */ + public void apiImport(List personList) { + for (OcpApiBaseVo ocpApiBaseVo : personList) { + String apiCode = ocpApiBaseVo.getApiCode(); + Timestamp apiCtime = ocpApiBaseVo.getApiCtime(); + String apiName = ocpApiBaseVo.getApiName(); + String apiUnit = ocpApiBaseVo.getApiUnit(); + String apiUrl = ocpApiBaseVo.getApiUrl(); + String apiState = ocpApiBaseVo.getApiState(); + String spaceName = ocpApiBaseVo.getSpaceName(); + String clusterName = ocpApiBaseVo.getClusterName(); + OcpApiBase ocpApiBase = new OcpApiBase(); + ocpApiBase.setApiCode(apiCode); + ocpApiBase.setApiGroupCode("1"); + ocpApiBase.setApiCtime(apiCtime); + ocpApiBase.setApiName(apiName); + ocpApiBase.setApiUnit(apiUnit); + ocpApiBase.setApiUrl(apiUrl); + this.save(ocpApiBase); + OcpApiExtent ocpApiExtent = new OcpApiExtent(); + ocpApiExtent.setApiCode(apiCode); + ocpApiExtent.setApiState(apiState); + ocpApiExtent.setSpaceName(spaceName); + ocpApiExtent.setClusterName(clusterName); + ocpApiExtentService.save(ocpApiExtent); + + } + } + + /** + * 服务发布 + * + * @param apiCodes + */ + public void apiIssue(String apiCodes) { + String[] split = apiCodes.split(","); + List list = Arrays.asList(split); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(OcpApiExtent::getApiCode, list); + List ocpApiExtents = ocpApiExtentMapper.selectList(lambdaQueryWrapper); + for (OcpApiExtent ocpApiExtent : ocpApiExtents) { + if (ocpApiExtent.getApiState().equals("1")) { + throw new BeagleException("已发布"); + } else { + ocpApiExtent.setApiState("1"); + ocpApiExtentMapper.updateById(ocpApiExtent); + } + } + + } + +} diff --git a/src/main/java/com/pms/ocp/service/impl/ApiDetailsServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ApiDetailsServiceImpl.java index 520db9c..8ce618a 100644 --- a/src/main/java/com/pms/ocp/service/impl/ApiDetailsServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ApiDetailsServiceImpl.java @@ -1,19 +1,47 @@ package com.pms.ocp.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.pms.ocp.mapper.ApiDetailsMapper; import com.pms.ocp.model.entity.OcpApiBase; +import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.model.entity.OcpApiSubs; +import com.pms.ocp.model.vo.OcpApiBaseVo; import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.service.ApiDetailsService; +import com.pms.ocp.service.OcpApiExtentService; +import com.pms.ocp.service.OcpApiSubsService; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; @Service public class ApiDetailsServiceImpl implements ApiDetailsService { + + @Autowired private ApiDetailsMapper apiDetailsMapper; + + @Override public ResponseVO getApiDetails(String objId) { OcpApiBase ocpApiBase = apiDetailsMapper.selectById(objId); return ResponseVO.ok(ocpApiBase); } + + } diff --git a/src/main/java/com/pms/ocp/service/impl/OcpApiExtentServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/OcpApiExtentServiceImpl.java new file mode 100644 index 0000000..de21384 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/OcpApiExtentServiceImpl.java @@ -0,0 +1,11 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.pms.ocp.mapper.OcpApiExtentMapper; +import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.service.OcpApiExtentService; +import org.springframework.stereotype.Service; + +@Service +public class OcpApiExtentServiceImpl extends ServiceImpl implements OcpApiExtentService { +} diff --git a/src/main/java/com/pms/ocp/service/impl/OcpApiSubsServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/OcpApiSubsServiceImpl.java new file mode 100644 index 0000000..81cae19 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/OcpApiSubsServiceImpl.java @@ -0,0 +1,11 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.pms.ocp.mapper.OcpApiSubsMapper; +import com.pms.ocp.model.entity.OcpApiSubs; +import com.pms.ocp.service.OcpApiSubsService; +import org.springframework.stereotype.Service; + +@Service +public class OcpApiSubsServiceImpl extends ServiceImpl implements OcpApiSubsService { +} diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 3f5e0b3..fff10d7 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -1,14 +1,12 @@ spring: datasource: driver-class-name: org.postgresql.Driver -# jdbc-url: jdbc:postgresql://192.168.43.20:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true -# jdbc-url: jdbc:postgresql://172.20.10.9:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true - url: jdbc:postgresql://localhost:5432/pms3?stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true username: postgres - password: 1234qwer + password: root type: com.zaxxer.hikari.HikariDataSource - - +# jdbc-url: jdbc:postgresql://192.168.43.20:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true +# jdbc-url: jdbc:postgresql://172.20.10.9:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true + url: jdbc:postgresql://localhost:5432/server?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true knife4j: enable: true diff --git a/src/main/resources/mapper/ApiBasicManagementMapper.xml b/src/main/resources/mapper/ApiBasicManagementMapper.xml new file mode 100644 index 0000000..1b77744 --- /dev/null +++ b/src/main/resources/mapper/ApiBasicManagementMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/ApiDetailsMapper.xml b/src/main/resources/mapper/ApiDetailsMapper.xml new file mode 100644 index 0000000..af871c8 --- /dev/null +++ b/src/main/resources/mapper/ApiDetailsMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file -- 2.26.0