From 665ee7a633d11a356d442ce47fa2feb8d2826632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Thu, 21 Jan 2021 16:45:08 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E4=B8=9A=E5=8A=A1=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/rest/DataFileController.java | 1011 ----------------- .../controller/rest/DataMenuController.java | 303 ----- .../dh/controller/rest/DataPlpController.java | 258 ----- .../controller/rest/DataTraceController.java | 377 ------ .../rest/DemanSubmitController.java | 504 -------- .../rest/EstimateTaskController.java | 437 ------- .../rest/OtherInterfaceController.java | 254 ----- .../rest/ProductDemandController.java | 455 -------- .../controller/rest/VfileMenuController.java | 731 ------------ .../java/com/cetc32/dh/dto/DataMenuDTO.java | 1 - .../java/com/cetc32/dh/dto/DemandDTO.java | 2 - .../java/com/cetc32/dh/dto/EstimateDTO.java | 2 - .../java/com/cetc32/dh/entity/DataFile.java | 748 ------------ .../java/com/cetc32/dh/entity/DataMenu.java | 278 ----- .../java/com/cetc32/dh/entity/DataPlp.java | 500 -------- .../java/com/cetc32/dh/entity/DataSubmit.java | 379 ------ .../java/com/cetc32/dh/entity/DataTrace.java | 791 ------------- .../com/cetc32/dh/entity/DemandSubmit.java | 197 ---- .../com/cetc32/dh/entity/EstimateTask.java | 176 --- .../java/com/cetc32/dh/entity/FileToMenu.java | 62 - .../com/cetc32/dh/mybatis/DataFileMapper.java | 121 -- .../com/cetc32/dh/mybatis/DataMenuMapper.java | 81 -- .../com/cetc32/dh/mybatis/DataPlpMapper.java | 117 -- .../cetc32/dh/mybatis/DataSubmitMapper.java | 61 - .../cetc32/dh/mybatis/DataTraceMapper.java | 109 -- .../cetc32/dh/mybatis/DemandSubmitMapper.java | 67 -- .../cetc32/dh/mybatis/EstimateTaskMapper.java | 69 -- .../cetc32/dh/mybatis/FileToMenuMapper.java | 35 - .../com/cetc32/dh/mybatis/OptionsMapper.java | 14 - .../cetc32/dh/service/DataFileService.java | 126 -- .../cetc32/dh/service/DataMenuService.java | 117 -- .../com/cetc32/dh/service/DataPlpService.java | 95 -- .../cetc32/dh/service/DataSubmitService.java | 81 -- .../cetc32/dh/service/DataTraceService.java | 88 -- .../dh/service/DemandSubmitService.java | 65 -- .../dh/service/EstimateTaskService.java | 68 -- .../cetc32/dh/service/FileToMenuService.java | 16 - .../com/cetc32/dh/service/OptionsService.java | 9 - .../service/impl/AreaCommonServiceImpl.java | 6 - .../dh/service/impl/DataFileServiceImpl.java | 306 ----- .../dh/service/impl/DataMenuServiceImpl.java | 229 ---- .../dh/service/impl/DataPlpServiceImpl.java | 165 --- .../service/impl/DataSubmitServiceImpl.java | 195 ---- .../dh/service/impl/DataTraceServiceImpl.java | 147 --- .../impl/DemandSubmitServiceImppl.java | 142 --- .../service/impl/EstimateTaskServiceImpl.java | 139 --- .../service/impl/FileToMenuServiceImpl.java | 31 - .../cetc32/dh/service/impl/OptionsImpl.java | 20 - 48 files changed, 10185 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataFileController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataPlpController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataTraceController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DemanSubmitController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/EstimateTaskController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/OtherInterfaceController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/ProductDemandController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/VfileMenuController.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DataFile.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DataMenu.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DataPlp.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DataSubmit.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DataTrace.java delete mode 100644 src/main/java/com/cetc32/dh/entity/DemandSubmit.java delete mode 100644 src/main/java/com/cetc32/dh/entity/EstimateTask.java delete mode 100644 src/main/java/com/cetc32/dh/entity/FileToMenu.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DataFileMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DataMenuMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DataPlpMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DataSubmitMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DataTraceMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/DemandSubmitMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/EstimateTaskMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/FileToMenuMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/OptionsMapper.java delete mode 100644 src/main/java/com/cetc32/dh/service/DataFileService.java delete mode 100644 src/main/java/com/cetc32/dh/service/DataMenuService.java delete mode 100644 src/main/java/com/cetc32/dh/service/DataPlpService.java delete mode 100644 src/main/java/com/cetc32/dh/service/DataSubmitService.java delete mode 100644 src/main/java/com/cetc32/dh/service/DataTraceService.java delete mode 100644 src/main/java/com/cetc32/dh/service/DemandSubmitService.java delete mode 100644 src/main/java/com/cetc32/dh/service/EstimateTaskService.java delete mode 100644 src/main/java/com/cetc32/dh/service/FileToMenuService.java delete mode 100644 src/main/java/com/cetc32/dh/service/OptionsService.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DataMenuServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DataPlpServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DataSubmitServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DataTraceServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/DemandSubmitServiceImppl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/EstimateTaskServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/FileToMenuServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/OptionsImpl.java diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java b/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java deleted file mode 100644 index e56d4ab..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java +++ /dev/null @@ -1,1011 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * - * @Title: 数管文件、数据操作控制器文件 - * @author: 徐文远、肖小霞 - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.*; -import com.cetc32.dh.service.*; -import com.cetc32.dh.utils.FileUtil; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 数管文件、数据操作操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@RestController -@RequestMapping("/rest/import/") -public class DataFileController { - - @Autowired - DataSubmitService dataSubmitService; - @Autowired - DataFileService dataFileService; - @Autowired - FileToMenuService fileToMenuService; - @Autowired - DataMenuService dataMenuService; - @Autowired - AdminUserService adminUserService; - @Value("${upLoadPath}") - String upLoadPath; - -// /** -// * 批量文件夹上传服务器 -// * @param folder 批量文件 -// * @param dataSubmit 数据信息 -// * @return ResponseResult 网页返回结果 -// * **/ -// @ApiOperation(value="批量文件上传") -// @PostMapping("/uploadFolder") -// public ResponseResult uploadFolder(MultipartFile[] folder,DataSubmit dataSubmit) { -// dataSubmit=new DataSubmit(1,2,2,2,"SDF","DSF",3,"FG","DDD","DF",2011); -// System.out.println(uploadPath); -// System.out.println(folder.length); -// FileUtil.saveMultiFile(uploadPath, folder); -// dataSubmit.setSubtype(1); -// dataSubmit.setStatus(1); -// int count = dataSubmitService.insertDataSubmit(dataSubmit); -// if(0<=count){ -// return ResponseResult.success("数据提交成功!"); -// } -// return ResponseResult.error("数据提交失败!"); -// } - - /** - * 查询当前用户提交的所有导入请求 - * @param page 页码 - * @param results 每页显示的条数 - * @return 返回给前端分装好的结构体 - * **/ - @ApiOperation(value = "当前用户名提交的数据") - @PostMapping("/request") - public PageDataResult mySubmits(Integer page, Integer results) { - DataSubmit ds = new DataSubmit(); - ds.setSubmitor("admin"); - List list = new ArrayList<>(); - Integer count = 0; - list = dataSubmitService.selectMySubmit(ds); - count = dataSubmitService.countMineSubmit(ds); - return new PageDataResult(count, list, (page - 1) * results); - - } - - /** - * 查询当前用户可以审核的所有导入请求 - * @param page 页码 - * @param results 每页显示的条数 - * @return 返回给前端分装好的结构体 - * **/ - @ApiOperation(value = "当前用户名下需要审核及已审核的所有任务") - @PostMapping("/task") - public PageDataResult myApproves(Integer page, Integer results) { - DataSubmit ds = new DataSubmit(); - ds.setSubmitor("admin"); - List list = new ArrayList<>(); - Integer count = 0; - list = dataSubmitService.selectMyApprove(ds); - for (int i = 0; i < list.size(); i++) { - } - count = dataSubmitService.countMineApprov(ds); - return new PageDataResult(count, list, (page - 1) * results); -// return new PageDataResult(count,list); - } - - - /** - * 对已提交的文件和表单数据审核通过 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "审核通过") - @PostMapping("/accept") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult acceptSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = Integer.parseInt(ids.get(i)); - dataFile = dataFileService.queryById(id.longValue()); - dataFile.setStatus("审核通过"); - dataFile.setApprover(userName); - dataFile.setApproveTime(new Date()); - if (dataFileService.updatebyId(dataFile) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - - } - - /** - * 对已提交的文件和表单数据审核拒绝 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "拒绝请求") - @PostMapping("/reject") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult rejectSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = Integer.parseInt(ids.get(i)); - dataFile = dataFileService.queryById(id.longValue()); - dataFile.setStatus("审核拒绝"); - dataFile.setApprover(userName); - dataFile.setApproveTime(new Date()); - if (dataFileService.updatebyId(dataFile) > 0) { - String delFile = dataFile.getFilePath(); - FileUtil.deleteDir(delFile); - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批拒绝"); - return ResponseResult.error("审批失败"); - } - - - /** - * 删除已提交的数据记录 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "删除数据") - @PostMapping("/delcommon") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请删除的文件id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult delData(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer) map.get("userId"); - System.out.println(userId); -// String userName = null; -// if ((adminUserService.getUserById(userId)) != null) { -// userName = adminUserService.getUserById(userId).getSysUserName(); -// } - - for (int i = 0; i < ids.size(); i++) { - System.out.println(ids.get(i)); - Long id = Long.parseLong(ids.get(i)); - dataFile = dataFileService.queryById(id); - String delFile = dataFile.getFilePath(); - if (dataFileService.deleteById(id) > 0) { -// FileUtil.deleteDir(delFile); - sum++; - } - } - if (sum == ids.size()){ - return ResponseResult.success("删除成功"); - } - return ResponseResult.error("删除失败"); - - } - - - -// /** -// * @param page 页码 -// * @param results 每页显示条数 -// * @return 分页数据 -// * */ -// @ApiOperation(value = "所有待审核的数据") -// @PostMapping("/approvescommon") -// public PageDataResult myAprroves(@ApiParam(value = "页码") Integer page, @ApiParam(value = "每页数据条数") Integer results,@ApiParam(value = "编目id") Integer menuid) { -// if (null == page || page <= 0) -// page = 1; -// if (null == results || results <= 0) -// results = 10; -// DataFile ds = new DataFile(); -// List list = new ArrayList<>(); -// list = dataFileService.selectByStatusAndUser(ds); -// return new PageDataResult(dataFileService.countByStatusAndUser(ds), -// list, (page - 1) * results); -// } - - - /** - * 根据目录节点id和条件查询数据记录 - * @param dataFile 使用datdFile实体类接收多个参数 - * @return pdr 返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "查询数据", notes = "至少传入page,和current两个参数以及menuId编目号") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "页码", paramType = "body", dataType = "Integer", required = true, defaultValue = "1"), - @ApiImplicitParam(name = "results", value = "每页数据条数", paramType = "body", dataType = "Integer", required = true, defaultValue = "10"), - @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "文件区域", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - @ApiImplicitParam(name = "status", value = "审批状态", paramType = "body", dataType = "String", defaultValue = "") - }) - @PostMapping("/approvecommon") - public PageDataResult queryFilesByObj(@RequestBody DataFile dataFile) { - System.out.println(dataFile.getMenuId()); - Integer page = dataFile.getPage(); - Integer results = dataFile.getResults(); - - if (page == null || page <= 0) { - page = 1; - } - if (results == null || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - List dataFileList =new ArrayList(); - dataFileList=dataFileService.queryFilesByObj(offset, results, dataFile); - - for(int i=0;i regionList = Arrays.asList(dataFileList.get(i).getRegion().split(",")); - dataFileList.get(i).setRegionList(new ArrayList(regionList)); - } - } - - - return new PageDataResult(dataFileService.countFilesByObj(dataFile), dataFileList, offset); - - } - - /** - * 根据目录节点id查询已通过的数据 - * @param map - * @return pdr返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "根据目录节点id查询已通过的数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - }) - @PostMapping("/queryAccepted") - public PageDataResult queryAccepted(@RequestBody Map map) { - DataFile dataFile = new DataFile(); - Integer menuId = (Integer) map.get("menuId"); - dataFile.setMenuId(menuId); - dataFile.setStatus("审核通过"); - Integer page = dataFile.getPage(); - Integer results = dataFile.getResults(); - - if (page == null || page <= 0) { - page = 1; - } - if (results == null || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - List dataFileList =new ArrayList(); - dataFileList=dataFileService.queryFilesByObj(offset, results, dataFile); - - - return new PageDataResult(dataFileService.countFilesByObj(dataFile), dataFileList, offset); - - } - - /** - * 提交文件和表单数据 - * @param dataFile 使用dataFile实体类接收多个参数 - * @return 返回提交结果 - * */ - @ApiOperation(value = "提交数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "区域", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileDiscription", value = "文件描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "编目号", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "title", value = "文件标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "gcs", value = "图像地理坐标系", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "scanLevel", value = "图像级别(1-20)", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "scale", value = "图像比例尺", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "lan", value = "经度(左上)", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "lon", value = "纬度(左上)", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileConfig", value = "文件标识别,数据标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - @PostMapping("/subcommon") - public ResponseResult DataSub(@RequestBody DataFile dataFile) { - Integer userId=dataFile.getUserId(); - System.out.println(dataFile.getRegionList()); - if(dataFile.getRegionList()!=null){ - String region = dataFile.getRegionList().toString(); - region=region.replace("[",""); - region=region.replace("]",""); - dataFile.setRegion(region); - } - System.out.println("vvvvvv"+userId); - String upCachePath=upLoadPath+"_user"+userId; - System.out.println(upCachePath); - System.out.println(upLoadPath); - System.out.println(upCachePath); - String fileName = null; - Integer count = 0; - dataFile.setStatus("未审核"); - if((adminUserService.getUserById(userId))!=null){ - dataFile.setSubmitor(adminUserService.getUserById(userId).getSysUserName()); - } - DataFile dataFile_new = dataFile; - DataFile dataFile_new2 = dataFile; - String path_move = dataMenuService.queryById(dataFile.getMenuId().longValue()).getUrl(); - FileUtil.makeDir(path_move); -// dataSubmit.setPath(path); - File baseFile = new File(upCachePath); - if(baseFile==null){ - return ResponseResult.error("未上传文件"); - } - File[] files = baseFile.listFiles(); - File file = null; -// List pathListNew = new ArrayList<>(); - for (int i = 0; i < files.length; i++) { - file = files[i]; - if (file.isDirectory()) { - dataFile.setFileNumbers(FileUtil.getAllFile(upCachePath +File.separator+ file.getName()).size()); - dataFile.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(file))); - fileName = FileUtil.getFileName(file.getName()); - file.renameTo(new File(upCachePath +File.separator+ fileName)); - } else { - fileName = file.getName(); - dataFile.setFileSize(FileUtil.FormetFileSize(file.length())); - dataFile.setFileNumbers(1); - } - dataFile.setFileName(fileName); - String path = dataMenuService.queryById(dataFile.getMenuId().longValue()).getUrl()+File.separator+fileName; - dataFile.setFilePath(path); -// dataFile.setCreateTime(new Date()); - dataFile_new = dataFile; - if (dataFileService.insertDataFile(dataFile_new) >= 0) { - count++; - } - dataFile_new2 = dataFile_new; - dataFile_new2.setId(dataFile_new.getId() + i + 1); - dataFile_new.setId(dataFile_new2.getId()); - } - - if (FileUtil.copyFolder(upCachePath, path_move) && count == files.length) { - FileUtil.deleteDir(upCachePath); - return ResponseResult.success("表单信息提交成功!"); - } - - return ResponseResult.error("表单信息提交失败!"); - } - - - /** - * 目录/文件提交上传 - * @param file 目录,文件 - * @param userId 用户id - * @return 返回文件提交结果 - * */ - @ApiOperation(value = "提交时文件上传") - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult uploadFile(@ApiParam(value = "二进制文件流") MultipartFile[] file,String userId) { -// String filepath = "/root/upLoad"; -// userId=""; - System.out.println(file.length); - String upCachePath=upLoadPath+"_user"+userId; - System.out.println(upCachePath); - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - - } - - /** - * 文件更新上传 - * @param file 目录,文件 - * @param fileId 文件id - * @return 返回文件更新提交结果 - * */ - @ApiOperation(value = "更新时文件上传") - @RequestMapping(value = "/updateFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "fileId", value = "文件id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult updateFile(@ApiParam(value = "二进制文件流") MultipartFile[] file,String fileId) { - String upCachePath = "/root/update"+"file"+fileId; - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - } - - -// /** -// * 目录/文件上传 -// * @param file 目录,文件 -// * @return 返回提交结果 -// * */ -// @ApiOperation(value = "更新时文件上传") -// @RequestMapping(value = "/FileRename", method = RequestMethod.POST) -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), -// @ApiImplicitParam(name = "fileId", value = "文件id", paramType = "body", dataType = "Integer"), -// }) -// public ResponseResult FileRename(String old_dir,String new_dir) { -// if(FileUtil.renameTo(old_dir,new_dir)==true){ -// return ResponseResult.success("成功"); -// } -// return ResponseResult.error("失败"); -// } - - - /** - * 下载文件文件,文件夹 - * @param fileIds 选择待下载文件的id - * @return 下载结果 - */ - @ApiOperation(value = "下载文件") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "List"), - }) - @GetMapping("/downloadMulFile") - public String downloadMulFile(String[] fileIds, HttpServletResponse response) { -// System.out.println(fileIds.length+"xxxxxxxxx"); - - if (fileIds.length == 1) { - Long fileId = Long.parseLong(fileIds[0]); - System.out.println("文件号!!!!"+fileId); - String fileName = dataFileService.queryById(fileId).getFileName(); -// String filePath = dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - String filePath = dataFileService.queryById(fileId).getFilePath(); - if (!FileUtil.isDirectory(filePath)) { - FileUtil.downloadFile(response, fileName, filePath); - } - } - - String message= null; - String directory = "/root/load"; - File directoryFile = new File(directory); - if (!directoryFile.isDirectory() && !directoryFile.exists()) { - directoryFile.mkdirs(); - } - //设置最终输出zip文件的目录+文件名 - String zipFileName = "已下载文件" + ".zip"; - String strZipPath = directory + "/" + zipFileName; - File zipFile = new File(strZipPath); - //读取需要压缩的文件 - Long fileId =null; - String fileName=null; - - List fileNames = new ArrayList<>(); - List filePaths = new ArrayList<>(); - for(int i=0;i stringList = FileUtil.getAllFile(fileName); - for (int j = 0; j < stringList.size(); j++) { - fileNames.add(stringList.get(j)); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } else { - fileNames.add(fileName); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } - } - - ZipOutputStream zipStream = null; - FileInputStream zipSource = null; - BufferedInputStream bufferStream = null; - try { - //构造最终压缩包的输出流 - zipStream = new ZipOutputStream(new FileOutputStream(zipFile)); - for (int i = 0; i < fileNames.size(); i++) { - //解码获取真实路径与文件名 -// String realFilePath = java.net.URLDecoder.decode(fileNames.get(i), "UTF-8"); - String realFilePath = fileNames.get(i); - System.out.println(realFilePath); - File file = new File(realFilePath); - //TODO:未对文件不存在时进行操作,后期优化。 - if (file.exists()) { - zipSource = new FileInputStream(file);//将需要压缩的文件格式化为输入流 - /** - * 压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样这里的name就是文件名, - * 文件名和之前的重复就会导致文件被覆盖 - */ -// ZipEntry zipEntry = new ZipEntry("("+i+")"+fileNames.get(i).split("/")[fileNames.get(i).split("/").length-1]);//在压缩目录中文件的名字 - ZipEntry zipEntry = new ZipEntry(fileNames.get(i).replace(filePaths.get(i),""));//在压缩目录中文件的名字 - zipStream.putNextEntry(zipEntry);//定位该压缩条目位置,开始写入文件到压缩包中 - bufferStream = new BufferedInputStream(zipSource, 1024 * 10); - int read = 0; - byte[] buf = new byte[1024 * 10]; - while ((read = bufferStream.read(buf, 0, 1024 * 10)) != -1) { - zipStream.write(buf, 0, read); - } - }else{ - message=message+file.getName()+"不存在!"+"\n"; - System.out.println(file.getName()+"不存在!"); - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - //关闭流 - try { - if (null != bufferStream) bufferStream.close(); - if (null != zipStream) { - zipStream.flush(); - zipStream.close(); - } - if (null != zipSource) zipSource.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - //判断系统压缩文件是否存在:true-把该压缩文件通过流输出给客户端后删除该压缩文件 false-未处理 - if (zipFile.exists()) { - System.out.println(zipFileName); - System.out.println(strZipPath); - FileUtil.downloadFile(response, zipFileName, strZipPath); - FileUtil.deleteDir(directory); - } - if(message==null){ - message="全部文件下载成功!"; - } - return message; - - } - - - - - /** - * 清空文件提交上传缓冲区 - * @param userId 用户id - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空上传历史上传") - @RequestMapping(value = "/clearUploadFile", method = RequestMethod.POST) - @ApiImplicitParam(name = "userId", value = "当前用户id") - public ResponseResult clearUploadFile(String userId) { - String upCachePath=upLoadPath+"_user"+userId; - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - - - /** - * 清空文件更新上传缓冲区 - * @param map - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空更新历史上传") - @RequestMapping(value = "/clearUpdate", method = RequestMethod.POST) - @ApiImplicitParam(name = "fileId", value = "文件id") - public ResponseResult clearUpdateile(@RequestBody Map map) { - Long fileId = Long.parseLong((String)map.get("fileId")); - String upCachePath="/root/update"+"file"+fileId; - System.out.println(upCachePath); - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - -// /** -// * 显示文件夹中文件详情 -// * @return 返回文件夹中文件结果 -// * */ -// @ApiOperation(value = "显示文件夹中的文件") -// @PostMapping("/showFiles") -// @ApiImplicitParam(name = "fileId", value = "文件id号", paramType = "body", dataType = "String") -// public ResponseResult showFiles(@RequestBody String fileId) { -// System.out.println(fileId); -// if(dataFileService.queryById(Long.parseLong(fileId))!=null){ -// String filePath = dataFileService.queryById(Long.parseLong(fileId)).getFilePath(); -// String fileName = dataFileService.queryById(Long.parseLong(fileId)).getFileName(); -// String whole_dir = filePath+File.separator+fileName; -// List stringList = FileUtil.getAllFile(whole_dir); -// List fileNames = new ArrayList(); -// for(int i=0;i map) { - Boolean flag = true; - Long fileId = Long.parseLong((String)map.get("fileId")); - String fileTime =(String) map.get("fileTime"); - String lan = (String)map.get("lan"); - String lon = (String)map.get("lon"); - String gcs = (String)map.get("gcs"); - String fileConfig = (String)map.get("fileConfig"); - String scale =(String) map.get("scale"); - String region =null; - if((List)map.get("regionList")!=null){ - region = ((List)map.get("regionList")).toString(); - } -// String region = (String)map.get("region"); - String area = (String)map.get("area"); - Integer scanLevel = ((Integer)map.get("scanLevel")); - Integer userId = ((Integer)map.get("userId")); - - DataFile dataFile = dataFileService.queryById(fileId); - String old_filePath = dataFile.getFilePath(); -// if((adminUserService.getUserById(userId))!=null){ -// String userName = adminUserService.getUserById(userId).getSysUserName(); -// dataFile.setApprover(userName); -// } - if(fileTime!=null&&fileTime!=dataFile.getFileTime()){ - dataFile.setFileTime(fileTime); - } - if(fileConfig!=null&&fileConfig!=dataFile.getFileConfig()){ - dataFile.setFileConfig(fileConfig); - } - if(region!=null&&!region.trim().isEmpty()){ - region=region.replace("[",""); - region=region.replace("]",""); - dataFile.setRegion(region); - } - if(area!=null&&area!=dataFile.getArea()){ - dataFile.setArea(area); - } - if(region!=null&®ion!=dataFile.getRegion()){ - dataFile.setRegion(region); - } - - if(lan!=null&&lan!=dataFile.getLan()){ - dataFile.setLan(lan); - } - if(lon!=null&&lon!=dataFile.getLon()){ - dataFile.setLon(lon); - } - if(gcs!=null&&gcs!=dataFile.getGcs()){ - dataFile.setGcs(gcs); - } - if(scale!=null&&scale!=dataFile.getScale()){ - dataFile.setScale(scale); - } - if(scanLevel!=null&&scanLevel!=dataFile.getScanLevel()){ - dataFile.setScanLevel(scanLevel); - } - String updateCachePath="/root/update"+"file"+fileId; - System.out.println(updateCachePath); - System.out.println(updateCachePath); - File updateCache = new File(updateCachePath); - if(updateCache.exists()){ - File[] files=updateCache.listFiles(); - if(files.length>1){ - return ResponseResult.error("上传文件或文件夹只允许一个,上传个数超出范围!"); - } - } - if(updateCache.exists()&&flag==true) { - if (updateCache.listFiles().length == 1) { - FileUtil.deleteDir(dataFile.getFilePath()); - File[] files = updateCache.listFiles(); - String path_whole = dataFile.getFilePath(); - String path = path_whole.substring(0, path_whole.lastIndexOf("/")); - System.out.println(files[0].getName()+"!!!!!!!!!!!!!"); - if(files[0].getName().contains(".")){ - flag = files[0].renameTo(new File(path +File.separator + files[0].getName())); - }else{ - String fileName = FileUtil.getFileName(files[0].getName()); - flag = files[0].renameTo(new File(updateCachePath +File.separator+ fileName)); - if(flag){ - flag=FileUtil.copyFolder(updateCachePath, old_filePath.substring(0,old_filePath.lastIndexOf("/"))); - } - } - if (flag) { - if(!files[0].getName().contains(".")){ - dataFile.setFileName(FileUtil.getFileName(files[0].getName())); - }else{ - dataFile.setFileName(files[0].getName()); - } - dataFile.setFilePath(path + File.separator + dataFile.getFileName()); - if (files[0].getName().contains(".")) { - dataFile.setFileSize(FileUtil.FormetFileSize(files[0].length())); - dataFile.setFileNumbers(1); - } else { - dataFile.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(new File(dataFile.getFilePath())))); - dataFile.setFileNumbers(FileUtil.getAllFile(dataFile.getFilePath()).size()); - } - - } - FileUtil.deleteDir(updateCachePath); - } - } - if (dataFileService.updatebyId(dataFile) > 0) { - FileUtil.deleteDir(old_filePath); - return ResponseResult.success("信息修改成功"); - } - return ResponseResult.error("信息修改失败"); - } - - - - -} - - - -// /** -// * @param page 页码 -// * @param results 每页显示条数 -// * @return 分页数据 -// * */ -// @ApiOperation(value = "所有待审核的数据") -// @PostMapping("/approves") -// public PageDataResult myAprroves(@ApiParam(value = "页码") Integer page, @ApiParam(value = "每页数据条数") Integer results) { -// if (null == page || page <= 0) -// page = 1; -// if (null == results || results <= 0) -// results = 10; -// DataSubmit ds = new DataSubmit(); -// ds.setStatus(0); -// List list = new ArrayList<>(); -// list = dataSubmitService.selectReadyApprove(ds); -// List list_new = new ArrayList<>(); -// for (int i = 0; i < list.size(); i++) { -// String menuName = dataMenuService.queryById(list.get(i).getMenuid()).getMenuName(); -// list.get(i).setMenuName(menuName); -// } -// return new PageDataResult(dataSubmitService.countReadyApprove(ds), -// list, (page - 1) * results); -// } - - -// /** -// * 提交数据 -// // * @param dataSubmit 数据信息 -// * @return 返回提交结果 -// * */ -// @ApiOperation(value = "提交数据", notes = "id不传参数") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "id", value = "记录id号(不传参)", paramType = "body", dataType = "Integer", required = false), -// @ApiImplicitParam(name = "subtype", value = "提交类型", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "plevel", value = "文件等级", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "status", value = "文件状态", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "submitor", value = "提交者", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "menuid", value = "编目号", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "year", value = "年份", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "title", value = "标题", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "area", value = "区域", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "path", value = "提交路径(不传参)", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), -// }) -// @PostMapping("/sub") -// public ResponseResult DataSub(@RequestBody DataSubmit dataSubmit) { -// String userId=dataSubmit.getUserId(); -// String upCachePath=upLoadPath+"_user"+userId; -// System.out.println("文件类型"+dataSubmit.getFileType()); -// String fileName = null; -// Integer count = 0; -// dataSubmit.setSubtype("1"); -// dataSubmit.setStatus(0); -// dataSubmit.setApprover("审核人"); -// if((adminUserService.getUserById(Integer.parseInt(userId)))!=null){ -// dataSubmit.setSubmitor(adminUserService.getUserById(Integer.parseInt(userId)).getSysUserName()); -// } -// DataSubmit dataSubmit_new = dataSubmit; -// DataSubmit dataSubmit_new2 = dataSubmit; -// String path_move = dataMenuService.queryById(dataSubmit.getMenuid()).getUrl(); -//// dataSubmit.setPath(path); -// File baseFile = new File(upCachePath); -// File[] files = baseFile.listFiles(); -// File file = null; -//// List pathListNew = new ArrayList<>(); -// for (int i = 0; i < files.length; i++) { -// file = files[i]; -// if (file.isDirectory()) { -// dataSubmit.setFileNumbers(FileUtil.getAllFile(upCachePath +File.separator+ file.getName()).size()); -// dataSubmit.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(file))); -// fileName = FileUtil.getFileName(file.getName()); -// file.renameTo(new File(upCachePath +File.separator+ fileName)); -// } else { -// fileName = file.getName(); -// dataSubmit.setFileSize(FileUtil.FormetFileSize(file.length())); -// dataSubmit.setFileNumbers(1); -// } -// dataSubmit.setTitle(fileName); -// String path = dataMenuService.queryById(dataSubmit.getMenuid()).getUrl()+File.separator+fileName; -// dataSubmit.setPath(path); -// dataSubmit.setSubtime(new Date()); -// dataSubmit_new = dataSubmit; -// if (dataSubmitService.insertDataSubmit(dataSubmit_new) >= 0) { -// count++; -// } -// dataSubmit_new2 = dataSubmit_new; -// dataSubmit_new2.setId(dataSubmit_new.getId() + i + 1); -// dataSubmit_new.setId(dataSubmit_new2.getId()); -// } -// -// if (FileUtil.copyFolder(upCachePath, path_move) && count == files.length) { -// FileUtil.deleteDir(upCachePath); -// return ResponseResult.success("表单信息提交成功!"); -// } -// -// return ResponseResult.error("表单信息提交失败!"); -// } - - - // /** -// * 拒绝导入请求 -// * @param map -// * @return 返回执行结果 -// * **/ -// @ApiOperation(value = "拒绝请求") -// @PostMapping("/reject") -// @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = "") -// public ResponseResult rejectSubmit(@RequestBody Map map) { -// List ids = new ArrayList<>(); -// ids = (List) map.get("ids"); -// DataSubmit dataSubmit = null; -// int sum = 0; -// for (int i = 0; i < ids.size(); i++) { -// Integer id = ids.get(i); -// dataSubmit = dataSubmitService.queryById(id); -// if (dataSubmitService.rejectSubmit(dataSubmit) > 0) { -//// String delFile = dataSubmit.getPath() + File.separator + dataSubmit.getTitle(); -// String delFile = dataSubmit.getPath() ; -// System.out.println(delFile); -// FileUtil.deleteDir(delFile); -// sum = sum + 1; -// } -// } -// if (sum == ids.size()) -// return ResponseResult.success("已审批拒绝"); -// return ResponseResult.error("审批失败"); -// } - -// /** -// * 拒绝导入请求 -// * @return 返回执行结果 -// * **/ -// @ApiOperation(value = "审核通过") -// @PostMapping("/accept") -// @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = "") -// public ResponseResult acceptSubmit(@RequestBody Map map) { -// System.out.println(map); -// List ids = new ArrayList<>(); -// ids = (List) map.get("ids"); -// DataSubmit dataSubmit = null; -// DataFile dataFile = new DataFile(); -// DataFile new_dataFile = null; -// FileToMenu fileToMenu = new FileToMenu(); -// int sum = 0; -// for (int i = 0; i < ids.size(); i++) { -// Integer id = ids.get(i); -// dataSubmit = dataSubmitService.queryById(id); -// dataSubmit.setReviewTime(new Date()); -// System.out.println(dataSubmit); -// dataFile.setFileName(dataSubmit.getTitle()); -// dataFile.setFilePath(dataSubmit.getPath()); -// dataFile.setRegion(dataSubmit.getArea()); -//// dataFile.setFileYear(dataSubmit.getYear()); -// dataFile.setFileDiscription(dataSubmit.getFileDiscription()); -// dataFile.setFileNumbers(dataSubmit.getFileNumbers()); -// dataFile.setFileSize(dataSubmit.getFileSize()); -// dataFile.setFileSecurity(dataSubmit.getPlevel().toString()); -// dataFile.setApprover(dataSubmit.getApprover()); -// dataFile.setSubmitor(dataSubmit.getSubmitor()); -// dataFile.setFileType(dataSubmit.getFileType()); -// if (i != 0) { -// dataFile.setId(dataFile.getId() + i); -// } -// int flag_file = dataFileService.insertDataFile(dataFile); -// new_dataFile = dataFile; -// System.out.println(new_dataFile); -// fileToMenu.setFileId(new_dataFile.getId()); -// fileToMenu.setMenuId(dataSubmit.getMenuid()); -// int flag_filetomenu = fileToMenuService.insert(fileToMenu); -// if (flag_file > 0 && flag_filetomenu > 0) { -// if (dataSubmitService.acceptSubmit(dataSubmit) > 0) { -// sum = sum + 1; -// } -// } -// } -// if (sum == ids.size()) -// return ResponseResult.success("已审批通过"); -// return ResponseResult.error("审批失败"); -// } - - - diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java b/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java deleted file mode 100644 index 8c1bf72..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java +++ /dev/null @@ -1,303 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 数据管理目录、编目操作控制器文件 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import com.cetc32.dh.service.DataMenuService; -import com.cetc32.dh.dto.DataMenuDTO; -import com.cetc32.dh.utils.FileUtil; -import com.mysql.cj.protocol.x.XMessage; -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.web.bind.annotation.*; -import java.io.File; -import java.util.*; - -/** - * 数据管理目录目录、编目操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@Slf4j -@RestController -@RequestMapping("/rest/datamng/menu") -public class DataMenuController { - - @Autowired - private DataMenuService dataMenuService; - - /** - * 统计编目节点的个数 - * @return 返回查询个数结果 - * @return 返回查询个数结果 - * 备注:无 - */ - @PostMapping(value = "/count") - public ResponseResult count() { - Integer count = dataMenuService.count(); - return ResponseResult.success(count); - } - - /** - * 插入编目节点 - * @param dataMenu - * @return 返回插入节点 - * 备注:无 - */ - //@PostMapping(value = "/insert") - public ResponseResult insert(DataMenu dataMenu) { -// DataMenu dataMenu=new DataMenu(2L,"test7",2L,"test7","test7"); - Integer count = dataMenuService.insertDataMenu(dataMenu); - return ResponseResult.success(count); - } - - /** - * 根据编目id查询目录节点 - * @param id - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/select") - public ResponseResult select(Long id) { - - DataMenu dataMenu = dataMenuService.queryById(id); - if(dataMenu==null){ - return ResponseResult.error("没有id="+id+"的datamenu!"); - } - return ResponseResult.success(dataMenu); - } - - /** - * 根据编目id删除目录节点(单个) - * @param id - * @return 返回删除结果 - * 备注:无 - */ - //@PostMapping(value = "/deleteOne") - public ResponseResult delete(Long id) { - Integer count = dataMenuService.deleteById(id); - return ResponseResult.success(count); - } - - /** - * 查询父节点为pid的所有编目节点 - * @param pid - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/queryByPid") - public ResponseResult queryByPid(Long pid) { - DataMenu dataMenu = dataMenuService.queryByPid(pid); - return ResponseResult.success(dataMenu); - } - - /** - * 查询编目节点menuId下的所有文件 - * @param menuId - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/showFilesById") - public ResponseResult showFilesById(Long menuId) { - List dataFileList=dataMenuService.showFilesByMenuId(menuId); - return ResponseResult.success(dataFileList); - } - - /** - * 查询目录树节点中以id为父节点的所有编目节点 - * @param id - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/queryMenusByPIdSatisfyId") - public ResponseResult queryMenusByPIdSatisfyId(Long id) { - List dataMenuList = dataMenuService.queryByPIdSatisfyId(id); - return ResponseResult.success(dataMenuList); - } - - /** - * 添加一个编目节点 - * @param dataMenu - * @return 返回添加结果 - * 备注:无 - */ - @ApiOperation(value = "新增编目") - @PostMapping(value = "/addOneMenu") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pid", value = "父编目号", paramType = "body", dataType = "Integer", required = true), - @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", required = true), - @ApiImplicitParam(name = "htmlUrl", value = "前端网页Url", paramType = "body", dataType = "String", required = true), - @ApiImplicitParam(name = "icon", value = "编目图表", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "discription", value = "编目描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult addOneMenu(@RequestBody DataMenu dataMenu ) { -// dataMenu = new DataMenu(null, "test7", null, "test15", "test15"); - HashMap hashMap =new HashMap(); - if (dataMenu.getPid() == null) { - dataMenu.setPid(0L); - } - if(dataMenu.getPid()==0){ - dataMenu.setAddkids(true); - }else{ - dataMenu.setAddkids(false); - } - String path = dataMenuService.queryById(dataMenu.getPid()).getUrl(); - String url = path+ File.separator+dataMenu.getMenuName(); - dataMenu.setUrl(url); - UUID uuid = UUID.randomUUID(); - dataMenu.setKey(uuid.toString()); - dataMenu.setDisabled(false); - String message=dataMenuService.addDataMenu(dataMenu); - if(message.contains("成功")){ - hashMap.put("key",uuid); - Long id =(dataMenuService.queryByKey(uuid.toString())).getId(); - hashMap.put("id",id); - return ResponseResult.success(hashMap); - } - return ResponseResult.error("添加失败!"); - } - - /** - * 根据编目节点id,更新编目节点 - * @param dataMenu - * @return 返回更新结果 - * 备注:无 - */ - //@PostMapping(value = "/updateDataMenu") - public ResponseResult updateDataMenu(DataMenu dataMenu) { -// dataMenu=new DataMenu(5L,"test5",1L,"test5","test5555"); - Integer count = dataMenuService.updatebyId(dataMenu); - return ResponseResult.success(count); - } - - /** - * 根据目录节点id,删除目录树(包括子树) - * @param map - * @return 返回删除结果 - * 备注:无 - */ - @ApiOperation(value = "删除目录树") - @PostMapping(value = "/deleteMenuTree") - @ApiImplicitParams({ - @ApiImplicitParam(name = "keys", value = "删除的编目keys", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult deleteDataMenuTree(@RequestBody Map map) { - List keys = new ArrayList<>(); - keys=(List)map.get("keys"); - String messsage=""; - int result=0; - for(int i=0;i map) { - String key =(String) map.get("key"); - if(dataMenuService.queryByKey(key)!=null){ - Long id =dataMenuService.queryByKey(key).getId(); - return ResponseResult.success(id); - } - return ResponseResult.error("请输入正确的key!"); - - - } - - /** - * 根据目录节点id展示目录结构 - * @param map - * @return 返回展示结果 - * 备注:无 - */ - @ApiOperation(value = "显示目录树") - @PostMapping(value = "/showMenuTree") - public ResponseResult showMenuTree(@RequestBody Map map) { - Long id ; - if(map.get("id")==null){ - id = 0L; - }else{ - id= ((Integer) map.get("id")).longValue(); - } - List result = new ArrayList(); - DataMenuDTO dataMenuDTO = dataMenuService.getMenuTree(id); - - result=dataMenuDTO.getChildren(); - - Collections.sort(result, new Comparator(){ - public int compare(DataMenuDTO o1, DataMenuDTO o2) { - return Integer.parseInt(o1.getValue())-Integer.parseInt(o2.getValue()); - }}); - - return ResponseResult.success(dataMenuDTO.getChildren()); - } - - /** - * (目录名称)编目名称和编目id - * @return 返回编目名称和编目id - * */ -// @ApiOperation(value="查询编目名称和对应的id") -// @RequestMapping(value = "/menuidname", method = RequestMethod.POST) - public ResponseResult menuIdName() { - List dataMenuList = dataMenuService.selectAll(); - List hashMapList=new ArrayList<>(); - for(int i=0;i hashmap = new HashMap<>(); - hashmap.put("value",dataMenuList.get(i).getId().toString()); - hashmap.put("label",dataMenuList.get(i).getMenuName()); - hashMapList.add(hashmap); - } - return ResponseResult.success(hashMapList); - } -} - - diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataPlpController.java b/src/main/java/com/cetc32/dh/controller/rest/DataPlpController.java deleted file mode 100644 index 8a716e1..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataPlpController.java +++ /dev/null @@ -1,258 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 数据管理点线面数据操作控制器文件 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.DataPlp; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.DataPlpService; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * 数据管理目录点线面数据操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@RestController -@RequestMapping("/rest/plp/") -public class DataPlpController { - - @Autowired - DataPlpService dataPlpService; - - @Autowired - AdminUserService adminUserService; - - /** - * 提交点线面数据 - * @param dataPlp 点线面数据实体类 - * @return 返回提交结果 - * */ - @ApiOperation(value = "提交点线面数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileType", value = "数据类型", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "security", value = "数据安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "区域", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "description", value = "数据描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "points", value = "点线面点集", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "photoByte", value = "照片流", paramType = "body", dataType = "byte", defaultValue = ""), - @ApiImplicitParam(name = "fileConfig", value = "文件标识别,数据标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "用户id", paramType = "body", dataType = "Integer"), - }) - @PostMapping("/subplp") - public ResponseResult DataSub(@RequestBody DataPlp dataPlp) { - System.out.println("dataplp!!!!!!!!!!!"); - if((adminUserService.getUserById(dataPlp.getUserId()))!=null){ - dataPlp.setSubmitor(adminUserService.getUserById(dataPlp.getUserId()).getSysUserName()); - } - dataPlp.setStatus("未审核"); - dataPlp.setCreateTime(new Date()); - if (dataPlpService.insertOne(dataPlp)>0){ - return ResponseResult.success("表单信息提交成功!"); - } - return ResponseResult.error("表单信息提交失败!"); - } - - - /** - * 根据编目节点id查询通过的点线面数据 - * @param map - * @return 返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "查询已通过的点线面数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "menuId", value = "编目节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - }) - @PostMapping("/plpqueryAccepted") - public PageDataResult plpQueryAccepted(@RequestBody Map map) { - DataPlp dataPlp = new DataPlp(); - Integer menuId = (Integer) map.get("menuId"); - dataPlp.setMenuId(menuId); - dataPlp.setStatus("审核通过"); - Integer page = dataPlp.getPage(); - Integer results = dataPlp.getResults(); - if (null == page || page <= 0) - page = 1; - if (null == results || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - return new PageDataResult(dataPlpService.countFilesByObj(dataPlp), - dataPlpService.queryFilesByObj(offset, results, dataPlp), - offset); - } - - /** - * 根据输入条件查询点线面数据 - * @param dataPlp - * @return 返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "显示满足输入条件的点线面数据", notes = "至少传入page,和current两个参数以及menuId编目号") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "页码", paramType = "body", dataType = "Integer", required = true, defaultValue = "1"), - @ApiImplicitParam(name = "results", value = "每页数据条数", paramType = "body", dataType = "Integer", required = true, defaultValue = "10"), - @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileYear", value = "文件年份", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "文件区域", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - @ApiImplicitParam(name = "status", value = "审批状态", paramType = "body", dataType = "String", defaultValue = "") - }) - - @PostMapping("/approvesplp") - public PageDataResult myAprroves(@RequestBody DataPlp dataPlp) { - Integer page = dataPlp.getPage(); - Integer results = dataPlp.getResults(); - if (null == page || page <= 0) - page = 1; - if (null == results || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - return new PageDataResult(dataPlpService.countFilesByObj(dataPlp), - dataPlpService.queryFilesByObj(offset, results, dataPlp), - offset); - } - - /** - * 根据编目节点id查询审核通过的点线面数据 - * @param map - * @return 返回查询结果 - * **/ - @ApiOperation(value = "审核通过的点线面数据") - @PostMapping("/acceptplp") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult acceptSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataPlp dataPlp = new DataPlp(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - dataPlp = dataPlpService.queryById(id); - dataPlp.setStatus("审核通过"); - dataPlp.setApprover(userName); - dataPlp.setApproveTime(new Date()); - if (dataPlpService.updateById(dataPlp) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - - } - - - /** - * 审核拒绝导入的点线面数据 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "审核拒绝点线面数据") - @PostMapping("/rejectplp") - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult rejectSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataPlp dataPlp = new DataPlp(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - dataPlp = dataPlpService.queryById(id); - dataPlp.setStatus("审批拒绝"); - dataPlp.setApprover(userName); - dataPlp.setApproveTime(new Date()); - if (dataPlpService.updateById(dataPlp) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批拒绝"); - return ResponseResult.error("审批失败"); - } - - - /** - * 删除的点线面数据 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "删除点线面数据") - @PostMapping("/delplp") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请删除的文件id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult delPlpData(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer) map.get("userId"); - String userName = null; - if ((adminUserService.getUserById(userId)) != null) { - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id =ids.get(i); - if (dataPlpService.deleteById(id) > 0) { - sum++; - } - } - if (sum == ids.size()){ - return ResponseResult.success("删除成功"); - } - return ResponseResult.error("删除失败"); - } - - - - - -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataTraceController.java b/src/main/java/com/cetc32/dh/controller/rest/DataTraceController.java deleted file mode 100644 index d666378..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataTraceController.java +++ /dev/null @@ -1,377 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 数据管理轨迹数据操作控制器文件 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.DataTrace; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.DataTraceService; -import com.cetc32.dh.utils.FileUtil; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 数据管理目录轨迹数据操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@RestController -@RequestMapping("/rest/trace/") -public class DataTraceController { - - @Autowired - DataTraceService dataTraceService; - @Autowired - AdminUserService adminUserService; - - - /** - * 提交轨迹数据 - * @param dataTrace 轨迹数据实体类 - * @return 返回提交结果 - * */ - @ApiOperation(value = "提交轨迹数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "security", value = "数据安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "deviceid", value = "设备ID", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "description", value = "数据描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "points", value = "点线面点集", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "flag", value = "标志位", paramType = "body", dataType = "Boolean", defaultValue = ""), - @ApiImplicitParam(name = "fileConfig", value = "文件标识别,数据标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - @ApiImplicitParam(name = "encrylongitude", value = "偏移经度", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "enccrylatitude", value = "偏移纬度", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "linkid", value = "linkid", paramType = "body", dataType = "String"), - @ApiImplicitParam(name = "coordinateerror", value = "精度", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "locsource", value = "数据源", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "direction", value = "方向", paramType = "body", dataType = "Integer"), - @ApiImplicitParam(name = "speed", value = "速度", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "lon", value = "经度", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "lat", value = "纬度", paramType = "body", dataType = "String"), - }) - @PostMapping("/subtrace") - public ResponseResult DataSub(@RequestBody DataTrace dataTrace) { - dataTrace.setStatus("未审核"); - if((adminUserService.getUserById(dataTrace.getUserId()))!=null){ - dataTrace.setSubmitor(adminUserService.getUserById(dataTrace.getUserId()).getSysUserName()); - } - dataTrace.setCreateTime(new Date()); - if (dataTraceService.insertOne(dataTrace)>0){ - return ResponseResult.success("表单信息提交成功!"); - } - return ResponseResult.error("表单信息提交失败!"); - } - - /** - * 查看满足输入条件的轨迹数据 - * @param dataTrace 轨迹数据实体 - * @return 返回查询结果 - * */ - @ApiOperation(value = "满足输入条件的轨迹数据") - @PostMapping("/approvestrace") - public PageDataResult myAprroves(@RequestBody DataTrace dataTrace) { - Integer page = dataTrace.getPage(); - Integer results = dataTrace.getResults(); - - if (null == page || page <= 0) - page = 1; - if (null == results || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - return new PageDataResult(dataTraceService.countFilesByObj(dataTrace), - dataTraceService.queryFilesByObj(offset, results, dataTrace), - offset); - } - - /** - * 根据编目节点id查询已通过的数据 - * @param map - * @return 返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "查询已通过的数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "menuId", value = "编目节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - }) - @PostMapping("/traceQueryAccepted") - public PageDataResult traceQueryAccepted(@RequestBody Map map) { - DataTrace dataTrace = new DataTrace(); - Integer menuId = (Integer) map.get("menuId"); - dataTrace.setMenuId(menuId); - dataTrace.setStatus("审核通过"); - Integer page = dataTrace.getPage(); - Integer results = dataTrace.getResults(); - - if (null == page || page <= 0) - page = 1; - if (null == results || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - return new PageDataResult(dataTraceService.countFilesByObj(dataTrace), - dataTraceService.queryFilesByObj(offset, results, dataTrace), - offset); - } - - - /** - * 审核通过已导入的轨迹数据 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "审核通过导入的轨迹数据") - @PostMapping("/accepttrace") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult acceptSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataTrace dataTrace = new DataTrace(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - dataTrace = dataTraceService.queryById(id); - dataTrace.setStatus("审核通过"); - dataTrace.setApproveTime(new Date()); - dataTrace.setApprover(userName); - if (dataTraceService.updateById(dataTrace) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - - } - - - /** - * 审核拒绝导入的轨迹数据 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "审核拒绝导入的轨迹数据") - @PostMapping("/rejecttrace") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult rejectSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataTrace dataTrace = new DataTrace(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - dataTrace = dataTraceService.queryById(id); - dataTrace.setStatus("审批拒绝"); - dataTrace.setApprover(userName); - dataTrace.setApproveTime(new Date()); - if (dataTraceService.updateById(dataTrace) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批拒绝"); - return ResponseResult.error("审批失败"); - } - - - /** - * 删除轨迹数据记录 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "删除轨迹数据") - @PostMapping("/deltrace") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请删除的文件id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult delTraceData(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer) map.get("userId"); -// String userName = null; -// if ((adminUserService.getUserById(userId)) != null) { -// userName = adminUserService.getUserById(userId).getSysUserName(); -// } - for (int i = 0; i < ids.size(); i++) { - Integer id =ids.get(i); - if (dataTraceService.deleteById(id) > 0) { - sum++; - } - } - if (sum == ids.size()){ - return ResponseResult.success("删除成功"); - } - return ResponseResult.error("删除失败"); - } - - - /** - * 下载轨迹数据文件 - * @param fileIds 待下载文件id - * @return 返回下载结果 - */ - @ApiOperation(value = "下载轨迹数据文件") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "List"), - }) - @GetMapping("/downloadMulFile") - public String downloadMulFile(String[] fileIds, HttpServletResponse response) { -// System.out.println(fileIds.length+"xxxxxxxxx"); - - if (fileIds.length == 1) { - Integer fileId = Integer.parseInt(fileIds[0]); - System.out.println("文件号!!!!"+fileId); - String fileName = dataTraceService.queryById(fileId).getFileName(); -// String filePath = dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - String filePath = dataTraceService.queryById(fileId).getFilePath(); - if (!FileUtil.isDirectory(filePath)) { - FileUtil.downloadFile(response, fileName, filePath); - } - } - - String message= null; - String directory = "/root/load"; - File directoryFile = new File(directory); - if (!directoryFile.isDirectory() && !directoryFile.exists()) { - directoryFile.mkdirs(); - } - //设置最终输出zip文件的目录+文件名 - String zipFileName = "已下载文件" + ".zip"; - String strZipPath = directory + "/" + zipFileName; - File zipFile = new File(strZipPath); - //读取需要压缩的文件 - Integer fileId =null; - String fileName=null; - - List fileNames = new ArrayList<>(); - List filePaths = new ArrayList<>(); - for(int i=0;i stringList = FileUtil.getAllFile(fileName); - for (int j = 0; j < stringList.size(); j++) { - fileNames.add(stringList.get(j)); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } else { - fileNames.add(fileName); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } - } - - ZipOutputStream zipStream = null; - FileInputStream zipSource = null; - BufferedInputStream bufferStream = null; - try { - //构造最终压缩包的输出流 - zipStream = new ZipOutputStream(new FileOutputStream(zipFile)); - for (int i = 0; i < fileNames.size(); i++) { - //解码获取真实路径与文件名 -// String realFilePath = java.net.URLDecoder.decode(fileNames.get(i), "UTF-8"); - String realFilePath = fileNames.get(i); - System.out.println(realFilePath); - File file = new File(realFilePath); - //TODO:未对文件不存在时进行操作,后期优化。 - if (file.exists()) { - zipSource = new FileInputStream(file);//将需要压缩的文件格式化为输入流 - /** - * 压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样这里的name就是文件名, - * 文件名和之前的重复就会导致文件被覆盖 - */ -// ZipEntry zipEntry = new ZipEntry("("+i+")"+fileNames.get(i).split("/")[fileNames.get(i).split("/").length-1]);//在压缩目录中文件的名字 - ZipEntry zipEntry = new ZipEntry(fileNames.get(i).replace(filePaths.get(i),""));//在压缩目录中文件的名字 - zipStream.putNextEntry(zipEntry);//定位该压缩条目位置,开始写入文件到压缩包中 - bufferStream = new BufferedInputStream(zipSource, 1024 * 10); - int read = 0; - byte[] buf = new byte[1024 * 10]; - while ((read = bufferStream.read(buf, 0, 1024 * 10)) != -1) { - zipStream.write(buf, 0, read); - } - }else{ - message=message+file.getName()+"不存在!"+"\n"; - System.out.println(file.getName()+"不存在!"); - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - //关闭流 - try { - if (null != bufferStream) bufferStream.close(); - if (null != zipStream) { - zipStream.flush(); - zipStream.close(); - } - if (null != zipSource) zipSource.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - //判断系统压缩文件是否存在:true-把该压缩文件通过流输出给客户端后删除该压缩文件 false-未处理 - if (zipFile.exists()) { - System.out.println(zipFileName); - System.out.println(strZipPath); - FileUtil.downloadFile(response, zipFileName, strZipPath); - FileUtil.deleteDir(directory); - } - if(message==null){ - message="全部文件下载成功!"; - } - return message; - - } - - - -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/DemanSubmitController.java b/src/main/java/com/cetc32/dh/controller/rest/DemanSubmitController.java deleted file mode 100644 index bfd4db3..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DemanSubmitController.java +++ /dev/null @@ -1,504 +0,0 @@ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.dto.DemandDTO; -import com.cetc32.dh.dto.DemandSubmitDTO; -import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.entity.DemandSubmit; -import com.cetc32.dh.entity.vDemand; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.DemandSubmitService; -import com.cetc32.dh.utils.FileUtil; -import com.github.pagehelper.PageHelper; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.*; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * 需求管理类 - * @author: hubin - * @version: 1.0 - * @date: 2020/11/30 - * 备注:无 - */ -@RestController -@RequestMapping("/demandsubmit") -public class DemanSubmitController extends BaseController{ - @Autowired - DemandSubmitService demandSubmitService; - - @Autowired - AdminUserService adminUserService; - - @Value("${myPath}") - String myPath; - - /** - *展示所有需求 - * @return PageDateResult - */ - @ApiOperation(value = "展示所有需求") - @ApiImplicitParams({ - @ApiImplicitParam(name="classify", value="需求分类",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="searchname",value="需求名称",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="people",value="上报人",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name = "starttime", value = "开始时间", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name ="endtime",value = "结束时间", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name="page",value = "页码",dataType = "Integer",defaultValue = "0"), - @ApiImplicitParam(name="result",value = "每页数据条数",dataType = "Integer",defaultValue = "10"), - @ApiImplicitParam(name="status",value = "状态",dataType = "String",defaultValue = ""), - }) - @PostMapping("/options") - public PageDataResult demandsubmitAll(@RequestBody vDemand vdemand, @RequestParam(defaultValue = "0",required = false) Integer page, @RequestParam(defaultValue = "10",required = false) Integer results){ - if(StringUtils.isBlank(vdemand.classify)&&StringUtils.isBlank(vdemand.name)&&StringUtils.isBlank(vdemand.people) - &&StringUtils.isBlank(vdemand.starttime)&&StringUtils.isBlank(vdemand.endtime)&&StringUtils.isBlank(vdemand.status)){ - List demandlist = new ArrayList<>(); - Integer count = 0; - demandlist = demandSubmitService.findAll(); - count = demandSubmitService.countDemand(); - return new PageDataResult(count,demandlist,page * results); - }else{ - String frontfirst = vdemand.getStarttime(); - String endTime = vdemand.getEndtime(); - Date firstdate =null,secondDate = null; - DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); - if(StringUtils.isNotBlank(vdemand.getName())) - vdemand.setName("%"+vdemand.getName()+"%"); - if(vdemand.getStarttime()!=null&&vdemand.getEndtime()!=null){ - try{ - firstdate = format1.parse(frontfirst); - secondDate = format1.parse(endTime); - vdemand.setSqlstarttime(firstdate); - vdemand.setSqlendtime(secondDate); - }catch (ParseException e) { - e.printStackTrace(); - } - } - List demandlist = new ArrayList<>(); - Integer count = 0; - demandlist = demandSubmitService.queryFilesByObj(vdemand); - count = demandSubmitService.queryFilesByObj(vdemand).size(); - return new PageDataResult(count,demandlist,page * results); - } - } - - /** - * 新增需求 - * @param demandDTO - * @return ResponseResult - */ - @ApiOperation(value="新增需求") - @ApiImplicitParams({ - @ApiImplicitParam(name="id",value = "记录id号(不传参)", paramType = "body", dataType = "Integer", required = false), - @ApiImplicitParam(name="projectName",value = "项目名称",paramType = "body",dataType = "String" ,defaultValue = ""), - @ApiImplicitParam(name="demandName",value = "需求名称",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandDes",value = "需求描述",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="status",value = "状态",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="reporter",value = "报告人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="departmentid",value = "部门索引",paramType = "body",dataType = "Integer",defaultValue = ""), - @ApiImplicitParam(name="approver",value="审批人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="getApproveFront",value = "前端传来的审批时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="getEndtimeFront",value = "前端传来的结束时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandClassify",value = "需求分类",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandAttachment",value = "附件",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="areachoice",value = "范围选择",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="userid",value = "当前操作的用户id",paramType = "body",dataType = "Integer",defaultValue = ""), - }) - @PostMapping("/insertselect") - public ResponseResult insertselect(@RequestBody DemandDTO demandDTO) { - DemandSubmit demandSubmit = new DemandSubmit(); - BeanUtils.copyProperties(demandDTO,demandSubmit); - Integer userid = demandDTO.getUserid(); - if(demandSubmit.getProjectName() == null || demandSubmit.getDemandName()==null||demandSubmit.getDemandClassify()==null - ||demandSubmit.getGetEndtimeFront()==null){ - return ResponseResult.error("传入空值!"); - } - String entime = demandSubmit.getGetEndtimeFront(); - DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); - Date date = new Date(); - try{ - date = format1.parse(entime); - }catch (ParseException e) { - e.printStackTrace(); - } - demandSubmit.setEndtime(date); - String upCachePath=myPath+"_user"+userid; - BaseAdminUser adminUser=getCurrentUserId(); - String userName =null; - if((adminUserService.getUserById(userid))!=null){ - userName = adminUserService.getUserById(userid).getSysUserName(); - } - demandSubmit.setReporter(userName); - String status="未审核"; - Date d= new Date(); - String timestamp = String.valueOf(d.getTime()); - String path = myPath+"admin"+timestamp; - demandSubmit.setStatus(status); - Date create = new Date(); - demandSubmit.setCreattime(create); - if(FileUtil.copyFolder(upCachePath, path)){ - FileUtil.deleteDir(upCachePath); - }else { - return ResponseResult.error("upload fail"); - } - demandSubmit.setDemandAttachment(path); - if(demandSubmitService.insertSelective(demandSubmit)>0){ - return new ResponseResult("创建成功!"); - }; - return ResponseResult.error("wrong"); - } - - /** - *选择指定偏移量的需求 - * @param pagesize - * @param pagenum - * @return PageDataResult - */ - @ApiOperation(value = "选择指定偏移量的需求") - @PostMapping("/selectbylimit") - public PageDataResult selectbylimit(@ApiParam(value = "页码") Integer pagesize, @ApiParam(value = "每页数据条数") Integer pagenum){ - PageDataResult pdr = new PageDataResult(); - if(pagenum == null || pagenum == 0){ - pagenum =1; - } - if (pagesize == null || pagesize == 0) - pagesize = 10; - pdr.setList(demandSubmitService.selectByLimit((pagenum - 1) * pagesize, pagesize)); - pdr.setTotals(demandSubmitService.countDemand()); - return pdr; - } - - /** - * 选择指定索引的需求 - * @param id - * @return ResponseResult - */ - @ApiOperation(value = "选择指定索引的需求") - @ApiImplicitParam(name="id",value = "索引",dataType = "Integer",defaultValue = "") - @PostMapping("/selectbykey") - public ResponseResult selsectbykey(Integer id){ - if(id == null){ - return ResponseResult.error("id为空!"); - } - ResponseResult pdr = new ResponseResult(); - pdr.setObj(this.demandSubmitService.selectByPrimaryKey(id)); - return pdr; - } - - /** - * 删除指定的需求 - * @param id - * @return ResponseResult - */ - @ApiOperation(value = "删除指定索引的需求") - @ApiImplicitParam(name="id",value = "索引",dataType = "Integer",defaultValue = "") - @PostMapping("/deletebykey") - public ResponseResult deletebyprimarykey(Integer id){ - if(id == null) - return ResponseResult.error("传入值为空!"); - demandSubmitService.deleteByPrimaryKey(id); - return new ResponseResult("Success"); - } - - /** - * 更新指定的需求 - * @param demandSubmit - * @return ResponseResult - */ - @ApiOperation(value="更新需求") - @ApiImplicitParams({ - @ApiImplicitParam(name="id",value = "记录id号", paramType = "body", dataType = "Integer", required = false), - @ApiImplicitParam(name="projectName",value = "项目名称",paramType = "body",dataType = "String" ,defaultValue = ""), - @ApiImplicitParam(name="demandName",value = "需求名称",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandDes",value = "需求描述",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="status",value = "状态",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="reporter",value = "报告人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="departmentid",value = "部门索引",paramType = "body",dataType = "Integer",defaultValue = ""), - @ApiImplicitParam(name="approver",value="审批人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="getApproveFront",value = "前端传来的审批时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="getEndtimeFront",value = "前端传来的结束时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandClassify",value = "需求分类",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandAttachment",value = "附件",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="areachoice",value = "范围选择",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="creattime",value = "创建时间",paramType = "body",dataType = "Timestamp",defaultValue = ""), - @ApiImplicitParam(name="useid",value = "对应的用户id",paramType = "body",dataType = "Integer",defaultValue = ""), - }) - @PostMapping("/updateselect") - public ResponseResult updateselect(@RequestBody DemandSubmit demandSubmit) { - if(demandSubmit == null){ - return ResponseResult.error("传入值为空!"); - } - String entime = demandSubmit.getGetEndtimeFront(); - if(StringUtils.isNotBlank(entime)){ - DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); - Date date = new Date(); - try{ - date = format1.parse(entime); - }catch (ParseException e) { - e.printStackTrace(); - } - demandSubmit.setEndtime(date); - } - demandSubmitService.updateByPrimaryKeySelective(demandSubmit); - return new ResponseResult("Success"); - } - - /** - * 模糊查询 - * @param pageNum - * @param pageSize - * @param keyword - * @return PageDataResult - */ - @ApiOperation(value="查询接口") - @PostMapping("/search") - @ApiImplicitParam(name="keyword",value = "关键词",dataType = "String",defaultValue = "") - public PageDataResult demandSubmitSearch(@ApiParam(value = "页码") Integer pageNum, @ApiParam(value = "每页数据条数") Integer pageSize, String keyword) { - - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - if(keyword.equals("all")){ - pdr.setTotals(demandSubmitService.countDemand()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(demandSubmitService.findAll()); - }else { - pdr.setTotals(demandSubmitService.findByKeyWord(keyword).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(demandSubmitService.findByKeyWord(keyword)); - } - - return pdr; - } - - /** - * 目录/文件上传 - * @param file 目录,文件 - * @return 返回提交结果 - * */ - @ApiOperation(value = "文件上传") - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult uploadFile(@ApiParam(value = "二进制文件流") MultipartFile[] file, Integer userid) { -// String filepath = "/root/upLoad"; - String upCachePath=myPath+"_user"+userid; - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - - } - - - /** - * 文件上传缓冲区清空 - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空历史上传") - @RequestMapping(value = "/clearUploadFile", method = RequestMethod.POST) - @ApiImplicitParam(name = "userId", value = "当前用户id") - public ResponseResult clearUploadFile(String userId) { - String upCachePath=myPath+"_user"+userId; - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - - /** - * 获取当前用户下的所有需求 - * @return PageDataResult - */ - @PostMapping("/getdemand") - public PageDataResult getUserAll(){ - BaseAdminUser adminUser = getCurrentUserId(); - String name = adminUser.getSysUserName(); - PageDataResult pdr = new PageDataResult(); - pdr.setTotals(demandSubmitService.countMineSubmit(name)); - pdr.setList(demandSubmitService.selectMySubmit(name)); - return pdr; - } - - /** - * 单个需求审批通过 - * @param id - * @param status - * @return - */ - @PostMapping("/acceptdemand") - public ResponseResult acceptDemand(Integer id,String status){ - DemandSubmit demandSubmit = demandSubmitService.selectByPrimaryKey(id); - demandSubmit.setStatus(status); - demandSubmitService.updateByPrimaryKeySelective(demandSubmit); - return new ResponseResult("done"); - } - - - /** - * 单个需求审批拒绝 - * @param id - * @param status - * @return - */ - @PostMapping("/rejectdemand") - public ResponseResult rejectDemand(Integer id,String status){ - DemandSubmit demandSubmit = demandSubmitService.selectByPrimaryKey(id); - demandSubmit.setStatus(status); - demandSubmitService.updateByPrimaryKeySelective(demandSubmit); - return new ResponseResult("done"); - } - - - /** - * 多个需求审批通过 - * @return 返回执行结果 - * **/ - @ApiOperation(value = "批量审核通过") - @PostMapping("/accept") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult acceptMany(@RequestBody Map map) { - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - DemandSubmit demandSubmit = new DemandSubmit(); - String staus = "审核通过"; - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - int sum = 0; - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - demandSubmit = demandSubmitService.selectByPrimaryKey(id); - demandSubmit.setApprover(userName); - Date appt = new Date(); - demandSubmit.setApproceTime(appt); - demandSubmit.setStatus(staus); - if (demandSubmitService.updateByPrimaryKeySelective(demandSubmit) > 0) { - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - } - - /** - * 多个需求审批通过拒绝 - * @return 返回执行结果 - * **/ - @ApiOperation(value = "批量审核拒绝") - @PostMapping("/refuse") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult refuseMany(@RequestBody Map map) { - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - DemandSubmit demandSubmit = new DemandSubmit(); - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - String staus = "审核拒绝"; - int sum = 0; - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - demandSubmit = demandSubmitService.selectByPrimaryKey(id); - demandSubmit.setStatus(staus); - if (demandSubmitService.updateByPrimaryKeySelective(demandSubmit) > 0) { - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已拒绝!"); - return ResponseResult.error("审批失败"); - } - - - - - /** - * 下载功能 - * @return 下载后的文件名 - * **/ - @ApiOperation(value = "下载") - @GetMapping("/download") - @ApiImplicitParam(name = "id", value = "需求的记录id", dataType = "Integer", defaultValue = "") - public String download(Integer id, HttpServletRequest request, HttpServletResponse response) throws Exception{ - DemandSubmit demandSubmit= demandSubmitService.selectByPrimaryKey(id); - String path = demandSubmit.getDemandAttachment(); - // path是指欲下载的文件的路径。 - -// // 取得文件名。 -// String filename = file.getName(); -// // 取得文件的后缀名。 -// String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase(); - String zipPath = FileUtil.downloadAllAttachment(path,request,response); - String filename = zipPath.substring(zipPath.lastIndexOf(File.separator)+1,zipPath.length()); - FileUtil.downloadFile(response,filename,zipPath); - FileUtil.deleteDir(zipPath); - return filename; - - } - - /** - * 更新指定的需求 - * @param demandSubmitDTO - * @return ResponseResult - */ - @ApiOperation(value="根据状态获取需求id和name") - @ApiImplicitParams({ - @ApiImplicitParam(name="id",value = "记录id号", paramType = "body", dataType = "Integer", required = false), - @ApiImplicitParam(name="demandName",value = "需求名称",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandStatus",value = "状态",paramType = "body",dataType = "String",defaultValue = ""), - }) - @PostMapping("/searchbystatus") - public PageDataResult searchStatus(@RequestBody DemandSubmitDTO demandSubmitDTO, @RequestParam(defaultValue = "0",required = false) Integer page, @RequestParam(defaultValue = "10",required = false) Integer results){ - if(demandSubmitDTO.getId()==null&&StringUtils.isBlank(demandSubmitDTO.getDeamndName()) - &&StringUtils.isBlank(demandSubmitDTO.getDemandStatus())){ - demandSubmitDTO.setDemandStatus("1"); - List demandSubmitDTOS = demandSubmitService.searchbystatus(demandSubmitDTO); - Integer count = demandSubmitService.searchbystatus(demandSubmitDTO).size(); - return new PageDataResult(count,demandSubmitDTOS,page * results); - }else { - List demandSubmitDTOS = demandSubmitService.searchbystatus(demandSubmitDTO); - Integer count = demandSubmitService.searchbystatus(demandSubmitDTO).size(); - return new PageDataResult(count,demandSubmitDTOS,page * results); - } - } -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/EstimateTaskController.java b/src/main/java/com/cetc32/dh/controller/rest/EstimateTaskController.java deleted file mode 100644 index e066a04..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/EstimateTaskController.java +++ /dev/null @@ -1,437 +0,0 @@ -package com.cetc32.dh.controller.rest; - -import com.alibaba.fastjson.JSONObject; -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.dto.EstimateDTO; -import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.entity.EstimateTask; -import com.cetc32.dh.entity.vEstimate; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.EstimateTaskService; -import com.cetc32.dh.utils.FileUtil; -import com.github.pagehelper.PageHelper; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.models.auth.In; -import net.sf.json.JSONArray; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.authz.annotation.RequiresRoles; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -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.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; - -@RestController -@RequestMapping("/estimatetask/") -public class EstimateTaskController extends BaseController{ - @Autowired - EstimateTaskService estimateTaskService; - - @Autowired - AdminUserService adminUserService; - - @Value("${myPath}") - String myPath; - - - /** - *展示所有评估任务 - * @return PageDateResult - */ - @ApiOperation(value = "展示所有评估任务") - @ApiImplicitParams({ - @ApiImplicitParam(name="classify", value="评估任务分类",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="name",value="评估任务名称",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="astatus",value="审核状态",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="page",value = "页码",dataType = "Integer",defaultValue = "0"), - @ApiImplicitParam(name="result",value = "每页数据条数",dataType = "Integer",defaultValue = "10"), - }) - @PostMapping("/options") - public PageDataResult organizationAll(@RequestBody vEstimate vEstimate,@RequestParam(defaultValue = "0",required = false) Integer page, @RequestParam(defaultValue = "10",required = false) Integer results){ - if((StringUtils.isBlank(vEstimate.classify)||vEstimate.classify.equals("全部分类"))&&StringUtils.isBlank(vEstimate.name)&&StringUtils.isBlank(vEstimate.astatus)&&StringUtils.isBlank(vEstimate.creator)){ - List estimateTasks = estimateTaskService.findAll(); - Integer count = estimateTaskService.countEstimate(); - return new PageDataResult(count,estimateTasks,page * results); - }else { - if(StringUtils.isNotBlank(vEstimate.getName())) - vEstimate.setName("%"+vEstimate.getName()+"%"); - if(vEstimate.classify.equals("全部分类")){ - vEstimate.classify=null; - } - List estimateTasks = estimateTaskService.queryFilesByObj(vEstimate); - Integer count = estimateTaskService.queryFilesByObj(vEstimate).size(); - return new PageDataResult(count,estimateTasks,page * results); - } - } - - /** - * 新增评估任务 - * @param estimateDTO - * @return ResponseResult - */ - @ApiOperation(value="新增评估任务") - @ApiImplicitParams({ - @ApiImplicitParam(name="id",value = "记录id号(不传参)", paramType = "body", dataType = "Integer", required = false), - @ApiImplicitParam(name="name",value = "任务名称",paramType = "body",dataType = "String" ,defaultValue = ""), - @ApiImplicitParam(name="taskClassify",value = "评估任务类型",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="taskType",value = "评估任务服务选择类型",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="taskPath",value = "评估任务附件路径",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="starttimefront",value = "前端传过来的任务开始时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="endtimefront",value = "前端传过来的任务结束时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="creator",value="任务创建人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="creattimefront",value = "前端传来的创建时间",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="status",value = "状态",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="approver",value = "审核人",paramType = "body",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="demandid",value = "对应的需求id",paramType = "body",dataType = "Integer",defaultValue = ""), - @ApiImplicitParam(name = "frontyear",value = "前端传来的时间数组",paramType = "body" ,dataType = "List",defaultValue = ""), - @ApiImplicitParam(name = "approvtime",value = "审批时间",paramType = "body" ,dataType = "Timestamp",defaultValue = ""), - @ApiImplicitParam(name="useid",value = "对应的用户id",paramType = "body",dataType = "Integer",defaultValue = ""), - }) - @PostMapping("/insertselect") - public ResponseResult insertselect(@RequestBody EstimateDTO estimateDTO){ - EstimateTask estimateTask = new EstimateTask(); - BeanUtils.copyProperties(estimateDTO,estimateTask); - Integer userid= estimateDTO.getUserid(); - if(StringUtils.isBlank(estimateTask.getName())||StringUtils.isBlank(estimateTask.getTaskClassify())){ - return ResponseResult.error("传入空值!"); - } - List handletime = estimateTask.getFrontyear(); - String starttime1 = handletime.get(0); - String endtime1 = handletime.get(1); - DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); - Date startdate = new Date(); - Date enddate = new Date(); - Date createtime=null; - try{ - startdate = format1.parse(starttime1); - enddate = format1.parse(endtime1); - }catch (ParseException e) { - e.printStackTrace(); - } - - estimateTask.setStarttime(startdate); - estimateTask.setEndtime(enddate); - String upCachePath=myPath+"_user"+userid; - BaseAdminUser adminUser=getCurrentUserId(); - String userName =null; - if((adminUserService.getUserById(userid))!=null){ - userName = adminUserService.getUserById(userid).getSysUserName(); - } - estimateTask.setCreator(userName); - String status="未审核"; - Date d= new Date(); - String timestamp = String.valueOf(d.getTime()); - String path = myPath+"admin"+timestamp; - estimateTask.setStatus(status); - Date creat = new Date(); - estimateTask.setCreattime(creat); - if(!estimateTask.getTaskClassify().equals("服务")){ - if(FileUtil.copyFolder(upCachePath, path)){ - FileUtil.deleteDir(upCachePath); - }else { - return ResponseResult.error("upload fail"); - } - estimateTask.setTaskPath(path); - } - if(estimateTaskService.insertSelective(estimateTask)>0){ - return new ResponseResult("创建成功!"); - } - return ResponseResult.error("wrong"); - } - - @PostMapping("/selectbylimit") - public PageDataResult selectbylimit(@RequestParam("pageSize") Integer pagesize, @RequestParam("pageNum") Integer pagenum){ - PageDataResult pdr = new PageDataResult(); - if(pagenum == null || pagenum == 0){ - pagenum =1; - } - if (pagesize == null || pagesize == 0) - pagesize = 10; - pdr.setList(estimateTaskService.selectByLimit((pagenum - 1) * pagesize, pagesize)); - pdr.setTotals(estimateTaskService.countEstimate()); - return pdr; - } - - @PostMapping("/selectbykey") - public ResponseResult selsectbykey(Integer id){ - if(id == null){ - return ResponseResult.error("id为空!"); - } - ResponseResult pdr = new ResponseResult(); - pdr.setObj(this.estimateTaskService.selectByPrimaryKey(id)); - return pdr; - } - - @PostMapping("/deletebykey") - public ResponseResult deletebyprimarykey(Integer id){ - if(id == null) - return ResponseResult.error("传入值为空!"); - estimateTaskService.deleteByPrimaryKey(id); - return new ResponseResult("Success"); - } - - @PostMapping("/updateselect") - public ResponseResult updateselect(EstimateTask record){ - if(record == null){ - return ResponseResult.error("传入值为空!"); - } - estimateTaskService.updateByPrimaryKeySelective(record); - return new ResponseResult("Success"); - } - - @PostMapping("/search") - public PageDataResult CircuitSearch(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String keyword) { - - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(estimateTaskService.findByKeyWord(keyword).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(estimateTaskService.findByKeyWord(keyword)); - return pdr; - } - - @PostMapping("/gettask") - public PageDataResult getUserTask(){ - BaseAdminUser adminUser = getCurrentUserId(); - String name = adminUser.getSysUserName(); - PageDataResult pdr = new PageDataResult(); - pdr.setTotals(estimateTaskService.countMineSubmit(name)); - pdr.setList(estimateTaskService.selectMySubmit(name)); - return pdr; - } - - @PostMapping("/accepttask") - public ResponseResult acceptDemand(Integer id,String status){ - EstimateTask estimateTask = estimateTaskService.selectByPrimaryKey(id); - estimateTask.setStatus(status); - estimateTaskService.updateByPrimaryKeySelective(estimateTask); - return new ResponseResult("done"); - } - - - @PostMapping("/rejectproduct") - public ResponseResult rejectDemand(Integer id,String status){ - EstimateTask estimateTask = estimateTaskService.selectByPrimaryKey(id); - estimateTask.setStatus(status); - estimateTaskService.updateByPrimaryKeySelective(estimateTask); - return new ResponseResult("done"); - } - - /** - * 目录/文件上传 - * @param file 目录,文件 - * @return 返回提交结果 - * */ - @ApiOperation(value = "文件上传") - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult uploadFile(@ApiParam(value = "二进制文件流") MultipartFile[] file, String userid) { -// String filepath = "/root/upLoad"; - String upCachePath=myPath+"_user"+userid; - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - - } - - - /** - * 文件上传缓冲区清空 - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空历史上传") - @RequestMapping(value = "/clearUploadFile", method = RequestMethod.POST) - @ApiImplicitParam(name = "userId", value = "当前用户id") - public ResponseResult clearUploadFile(String userId) { - String upCachePath=myPath+"_user"+userId; - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - - /** - * 多个任务审批通过 - * @return 返回执行结果 - * **/ - @ApiOperation(value = "批量审核通过") - @PostMapping("/accept") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult acceptMany(@RequestBody Map map){ - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - EstimateTask estimateTask = new EstimateTask(); - String staus = "审核通过"; - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - int sum = 0; - for (int i = 0; i < ids.size(); i++){ - Integer id = ids.get(i); - estimateTask = estimateTaskService.selectByPrimaryKey(id); - estimateTask.setStatus(staus); - Date apptime = new Date(); - estimateTask.setApprover(userName); - estimateTask.setApprovtime(apptime); - if(estimateTaskService.updateByPrimaryKeySelective(estimateTask)>0){ - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - } - - /** - * 多个任务审批拒绝 - * @return 返回执行结果 - * **/ - @ApiOperation(value = "批量审核拒绝") - @PostMapping("/refuse") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult rejectMany(@RequestBody Map map){ - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - EstimateTask estimateTask = new EstimateTask(); - String staus = "审核拒绝"; - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - int sum = 0; - for (int i = 0; i < ids.size(); i++){ - Integer id = ids.get(i); - estimateTask = estimateTaskService.selectByPrimaryKey(id); - estimateTask.setStatus(staus); - Date apptime = new Date(); - estimateTask.setApprover(userName); - estimateTask.setApprovtime(apptime); - if(estimateTaskService.updateByPrimaryKeySelective(estimateTask)>0){ - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已拒绝!"); - return ResponseResult.error("审批失败"); - } - - /** - * 下载功能 - * @return 下载后的文件名 - * **/ - @ApiOperation(value = "下载") - @GetMapping("/download") - @ApiImplicitParam(name = "id", value = "需求的记录id", dataType = "Integer", defaultValue = "") - public String download(Integer id, HttpServletRequest request, HttpServletResponse response) throws Exception{ - EstimateTask estimateTask = estimateTaskService.selectByPrimaryKey(id); - String path = estimateTask.getTaskPath(); - String zipPath = FileUtil.downloadAllAttachment(path,request,response); - String filename = zipPath.substring(zipPath.lastIndexOf(File.separator)+1,zipPath.length()); - FileUtil.downloadFile(response,filename,zipPath); - FileUtil.deleteDir(zipPath); - return filename; - } - - /* - *获取所有的服务名 - * @return List - */ - @ApiOperation(value="获取所有的服务名") - @PostMapping("/getservice") - public List getAllService(){ - String classify = "服务"; - List getnames = estimateTaskService.allservice(classify); - return getnames; - } - - @ApiOperation(value = "获取所有的分类") - @PostMapping("/getclassify") - public List getAllclassify(){ - List results = new ArrayList<>(); - results.add("全部分类"); - List getclassify = estimateTaskService.alltaskclassify(); - for (int i = 0;i listMap = JSONObject.parseArray(jsonStr, HashMap.class); -// -// return ResponseResult.success(listMap); -// } catch (IOException e) { -// e.printStackTrace(); -// return ResponseResult.error("获取失败"); -// } - String dir ="src/main/resources/config/ServiceAll.json" ; - - try { - File file = new File(dir); - if (!file.exists()) { - file.createNewFile(); - } - String str= FileUtils.readFileToString(file, "UTF-8"); - List maps= (List) JSONArray.fromObject(str); - return ResponseResult.success(maps); - } catch (IOException e) { - e.printStackTrace(); - return ResponseResult.error("解析失败!"); - } - } -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/OtherInterfaceController.java b/src/main/java/com/cetc32/dh/controller/rest/OtherInterfaceController.java deleted file mode 100644 index cd95350..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/OtherInterfaceController.java +++ /dev/null @@ -1,254 +0,0 @@ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.beans.DataCollected; -import com.cetc32.dh.beans.ReqSubmit; -import com.cetc32.dh.beans.TraceUpload; -import com.cetc32.dh.common.response.ResponseData; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.common.utils.JWTUtil; -import com.cetc32.dh.entity.*; -import com.cetc32.dh.service.*; - -import io.swagger.annotations.ApiOperation; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import java.util.UUID; - -@RestController -@RequestMapping("/rest") -public class OtherInterfaceController extends BaseController{ - - @Autowired - DataFileService dataFileService; - - @Autowired - DemandSubmitService demandSubmitServiceImppl; - - @Autowired - ProductdemandService productdemandService; - - @Autowired - EstimateTaskService estimateTaskService; - - @Autowired - DataTraceService dataTraceService; - - @Autowired - DataPlpService dataPlpService; - - @Value("${upLoadPath}") - String upLoadPath; - - @ApiOperation(value = "生产业务需求上报") - @PostMapping("/req/submit") - public ResponseData reqSubmit(ReqSubmit req) - { - DemandSubmit submit=new DemandSubmit(); - submit.setProjectName(req.getProject()); - submit.setArea(req.getArea()); - submit.setDepartmentid(req.getDepartment()); - submit.setDemandDes(req.getDescription()); - submit.setEndtime(req.getDuedate()); - submit.setDemandName(req.getName()); - submit.setReporter(req.getUsername()); - submit.setDemandAttachment(null); - Date create = new Date(); - submit.setCreattime(create); - MultipartFile file=req.getFile(); - - if(!file.isEmpty()) - { - String upCachePath=upLoadPath+"_req_submit_"+req.getUsername(); - String randomStr = UUID.randomUUID().toString(); - String oldFileName = file.getOriginalFilename(); - String newFileName = randomStr + oldFileName.substring(oldFileName.lastIndexOf(".")); - File nfile = new File(upCachePath,newFileName); - if(!nfile.getParentFile().exists()){ - nfile.getParentFile().mkdirs(); - } - try { - file.transferTo(nfile); - submit.setDemandAttachment(nfile.getAbsolutePath()); - } catch (IOException e) { - return ResponseData.error("上报失败"); - } - } - if(demandSubmitServiceImppl.insertSelective(submit)>0) - { - return ResponseData.success("上报成功"); - } - return ResponseData.error("上报失败"); - } - - @ApiOperation(value = "生产任务状态反馈") - @PostMapping("/callback/product") - public ResponseData callbackProduct(@RequestBody Map req, String token) - { - if(JWTUtil.verify(token)) - { - if(JWTUtil.getExpire(token)*1000>System.currentTimeMillis()) - { -// if()TODO redis校验? - try { - - Integer taskid=req.get("taskid")==null?null:Integer.parseInt(req.get("taskid")) ; - String status=req.get("status"); - if(taskid!=null && status!=null) - { - Productdemand submit=productdemandService.selectByPrimaryKey(taskid); - if(submit!=null) - { - submit.setStatus(status); - if(productdemandService.updateByPrimaryKeySelective(submit)>0) - { - return ResponseData.success("状态反馈成功"); - } - else - { - return ResponseData.error("插入失败!"); - } - }else - { - return ResponseData.error("taskid不存在!"); - } - } - else - { - return ResponseData.error("taskid 和 status不能为空!"); - } - } - catch (NumberFormatException ex) { - return ResponseData.error("状态反馈失败!"); - } - } - } - return ResponseData.error("token认证失败"); - } - @ApiOperation(value = "评估任务状态反馈") - @PostMapping("/callback/evaluation") - public ResponseData callbackEvaluation(@RequestBody Map req, String token) - { - if(JWTUtil.verify(token)) - { - if(JWTUtil.getExpire(token)*1000>System.currentTimeMillis()) - { -// if()TODO redis校验? - try { - - Integer taskid=req.get("taskid")==null?null:Integer.parseInt(req.get("taskid")) ; - String status=req.get("status"); - if(taskid!=null && status!=null) - { - EstimateTask submit=estimateTaskService.selectByPrimaryKey(taskid); - if(submit!=null) - { - submit.setStatus(status); - if(estimateTaskService.updateByPrimaryKeySelective(submit)>0) - { - return ResponseData.success("状态反馈成功"); - } - else - { - return ResponseData.error("插入失败!"); - } - }else - { - return ResponseData.error("taskid不存在!"); - } - } - else - { - return ResponseData.error("taskid 和 status不能为空!"); - } - } - catch (NumberFormatException ex) { - return ResponseData.error("状态反馈失败!"); - } - } - } - return ResponseData.error("token认证失败"); - } - - @ApiOperation(value = "数据获取",notes = "数据获取获取指定时间空间数据") - @GetMapping(value = "/export/ploygon") - public ResponseData DataPloygon(@RequestBody Map map) { - SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" ); - Date startTime; - Date endTime; - try { - startTime=map.get("starttime")==null?null:sdf.parse((String)map.get("starttime")); - endTime=map.get("endtime")==null?null:sdf.parse((String)map.get("endtime")); - } catch (ParseException e) { - - return ResponseData.error("日期格式有误(允许格式为:yyyy-MM-dd)"); - } - String polygon=map.get("polygon")==null?null:(String) map.get("polygon"); - if(polygon==null) - { - return ResponseData.error("缺少参数 polygon "); - } - return ResponseData.success(dataPlpService.selectPloygon(startTime,endTime,polygon)); - } - - - - - @PostMapping("/import/trajectory") - public ResponseResult DataTrajectory(@RequestBody TraceUpload trace) { - DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - DataTrace dt =new DataTrace(); - dt.setFileSize(trace.getSize()); - try { - dt.setEndTime(format.parse(trace.getEndtime())); - dt.setStartTime(format.parse(trace.getStarttime())); - } catch (ParseException e) { - return ResponseResult.error(" starttime 或 endtime有误!"); - } - - dt.setFilePath(trace.getPath()); - dt.setFileConfig(trace.getTitle()); - if(dataTraceService.insertOne(dt)>0) - { - return ResponseResult.success("上报成功!"); - } - return ResponseResult.error("上报失败!"); - - } - - @ApiOperation(value = "成果数据上报") - @PostMapping("/import/gain") - public ResponseData DataGain(@RequestBody DataFile dataFile) { - if(dataFileService.insertGain(dataFile)>0) - { - return ResponseData.success(); - } - return ResponseData.error("上报失败!"); - - } - - - @ApiOperation(value = "采集数据上报") - @PostMapping("/import/collection") - public ResponseData DataCollection(@RequestBody DataCollected data) { - if(dataPlpService.insertCollected(data)>0) - { - return ResponseData.success(); - } - return ResponseData.error("上报失败!"); - - } - - - -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/ProductDemandController.java b/src/main/java/com/cetc32/dh/controller/rest/ProductDemandController.java deleted file mode 100644 index 2b1b387..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/ProductDemandController.java +++ /dev/null @@ -1,455 +0,0 @@ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.dto.GetData; -import com.cetc32.dh.dto.ProductDTO; -import com.cetc32.dh.entity.*; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.ProductdemandService; -import com.cetc32.dh.utils.FileUtil; -import com.github.pagehelper.PageHelper; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -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.File; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; - - -/** - * 生产任务管理类 - * @author: hubin - * @version: 1.0 - * @date: 2020/11/30 - * 备注:无 - */ -@RestController -@RequestMapping("/productdemand") -public class ProductDemandController extends BaseController { - @Autowired - ProductdemandService productdemandService; - @Autowired - AdminUserService adminUserService; - - @Value("${myPath}") - String myPath; - - /** - *展示所有评估任务 - * @return PageDateResult - */ - @ApiOperation(value = "展示所有生产任务") - @ApiImplicitParams({ - @ApiImplicitParam(name="classify", value="生产任务分类",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="name",value="生产任务名称",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="astatus",value="审核状态",dataType = "String",defaultValue = ""), - @ApiImplicitParam(name="page",value = "页码",dataType = "Integer",defaultValue = "0"), - @ApiImplicitParam(name="result",value = "每页数据条数",dataType = "Integer",defaultValue = "10"), - }) - @PostMapping("/options") - public PageDataResult productsubmitAll(@RequestBody vProduct vProduct,@RequestParam(defaultValue = "0",required = false) Integer page, @RequestParam(defaultValue = "10",required = false) Integer results) { - if(StringUtils.isBlank(vProduct.classify)&&StringUtils.isBlank(vProduct.name)&&StringUtils.isBlank(vProduct.astatus)&&StringUtils.isBlank(vProduct.creator)){ - List productdemands = productdemandService.findAll(); - Integer count = productdemandService.countProduct(); - return new PageDataResult(count,productdemands,page * results); - }else { - if(StringUtils.isNotBlank(vProduct.getName())) - vProduct.setName("%"+vProduct.getName()+"%"); - List productdemands = productdemandService.queryFilesByObj(vProduct); - Integer count = productdemandService.queryFilesByObj(vProduct).size(); - return new PageDataResult(count,productdemands,page * results); - } - } - - /** - * 新增生产任务 - * - * @param productDTO - * @return ResponseResult - */ - @ApiOperation(value = "新增生产任务") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "记录id号(不传参)", paramType = "body", dataType = "Integer", required = false), - @ApiImplicitParam(name = "name", value = "任务名称", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "demandClassify", value = "生产任务类型", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "demandyear", value = "生产数据年份", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "taskdocument", value = "生产任务附件路径", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "starttimefront", value = "前端传过来的任务开始时间", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "endtimefront", value = "前端传过来的任务结束时间", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "status", value = "状态", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "demandid", value = "对应的需求id", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "creator", value = "任务创建人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fronttime",value = "前端传来的时间数组",paramType = "body" ,dataType = "List",defaultValue = ""), - @ApiImplicitParam(name="creattime",value = "创建时间",paramType = "body",dataType = "Timestamp",defaultValue = ""), - @ApiImplicitParam(name = "approvtime",value = "审批时间",paramType = "body" ,dataType = "Timestamp",defaultValue = ""), - @ApiImplicitParam(name="useid",value = "对应的用户id",paramType = "body",dataType = "Integer",defaultValue = ""), - }) - @PostMapping("/insertselect") - public ResponseResult insertselect(@RequestBody ProductDTO productDTO) { - Productdemand productdemand = new Productdemand(); - BeanUtils.copyProperties(productDTO,productdemand); - Integer userid = productDTO.getUserid(); - List regions = productDTO.getTaskdocuments(); - String region = String.join(",",regions); - productdemand.setTaskdocument(region); - if (StringUtils.isBlank(productdemand.getName())) { - return ResponseResult.error("传入值为空!"); - } - List handletime = productdemand.getFronttime(); - String starttime1 = handletime.get(0); - String endtime1 = handletime.get(1); - String demandfront = productDTO.getDemanddata(); - DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); - Date startdate = new Date(); - Date enddate = new Date(); - Date demandy = new Date(); - try { - startdate = format1.parse(starttime1); - enddate = format1.parse(endtime1); - demandy = format1.parse(demandfront); - } catch (ParseException e) { - e.printStackTrace(); - } - - productdemand.setStarttime(startdate); - productdemand.setEndtime(enddate); - productdemand.setDemandyear(demandy); - String upCachePath = myPath + "_user" + userid; - BaseAdminUser adminUser = getCurrentUserId(); - String userName =null; - if((adminUserService.getUserById(userid))!=null){ - userName = adminUserService.getUserById(userid).getSysUserName(); - } - productdemand.setCreator(userName); - String status = "未审核"; - Date d = new Date(); - String timestamp = String.valueOf(d.getTime()); - String path = myPath + "admin" + timestamp; - productdemand.setStatus(status); - Date creat= new Date(); - productdemand.setCreattime(creat); -// if (FileUtil.copyFolder(upCachePath, path)) { -// FileUtil.deleteDir(upCachePath); -// } else { -// return ResponseResult.error("upload fail"); -// } -// productdemand.setTaskdocument(path); - if (productdemandService.insertSelective(productdemand) > 0) { - return new ResponseResult("创建成功!"); - } - ; - return ResponseResult.error("wrong"); - } - - /** - * 选择指定偏移量的生产任务 - * - * @param pagesize - * @param pagenum - * @return PageDataResult - */ - @PostMapping("/selectbylimit") - public PageDataResult selectbylimit(@RequestParam("pageSize") Integer pagesize, @RequestParam("pageNum") Integer pagenum) { - PageDataResult pdr = new PageDataResult(); - if (pagenum == null || pagenum == 0) { - pagenum = 1; - } - if (pagesize == null || pagesize == 0) - pagesize = 10; - pdr.setList(productdemandService.selectByLimit((pagenum - 1) * pagesize, pagesize)); - pdr.setTotals(productdemandService.countProduct()); - return pdr; - } - - /** - * 选择指定索引的生产任务 - * - * @param id - * @return ResponseResult - */ - @PostMapping("/selectbykey") - public ResponseResult selsectbykey(Integer id) { - if (id == null) { - return ResponseResult.error("id为空!"); - } - ResponseResult pdr = new ResponseResult(); - pdr.setObj(this.productdemandService.selectByPrimaryKey(id)); - return pdr; - } - - /** - * 删除指定的生产任务 - * - * @param id - * @return ResponseResult - */ - @PostMapping("/deletebykey") - public ResponseResult deletebyprimarykey(Integer id) { - if (id == null) - return ResponseResult.error("传入值为空!"); - productdemandService.deleteByPrimaryKey(id); - return new ResponseResult("Success"); - } - - /** - * 更新指定的生产任务 - * - * @param productdemand - * @return ResponseResult - */ - @PostMapping("/updateselect") - public ResponseResult updateselect(Productdemand productdemand) { - if (productdemand == null) { - return ResponseResult.error("传入值为空!"); - } - productdemandService.updateByPrimaryKeySelective(productdemand); - return new ResponseResult("Success"); - } - - /** - * 模糊查询 - * - * @param pageNum - * @param pageSize - * @param keyword - * @return PageDataResult - */ - @PostMapping("/search") - public PageDataResult CircuitSearch(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String keyword) { - - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(productdemandService.findByKeyWord(keyword).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(productdemandService.findByKeyWord(keyword)); - return pdr; - } - - /** - * 获取当前用户下的所有生产任务 - * - * @return PageDataResult - */ - @PostMapping("/getproduct") - public PageDataResult getUserproduct() { - BaseAdminUser adminUser = getCurrentUserId(); - String name = adminUser.getSysUserName(); - PageDataResult pdr = new PageDataResult(); - pdr.setTotals(productdemandService.countMineSubmit(name)); - pdr.setList(productdemandService.selectMySubmit(name)); - return pdr; - } - - /** - * 单个生产任务审批通过 - * - * @param id - * @param status - * @return - */ - @PostMapping("/acceptproduct") - public ResponseResult acceptDemand(Integer id, String status) { - Productdemand productdemand = productdemandService.selectByPrimaryKey(id); - productdemand.setStatus(status); - productdemandService.updateByPrimaryKeySelective(productdemand); - return new ResponseResult("done"); - } - - - /** - * 单个生产任务审批拒绝 - * - * @param id - * @param status - * @return - */ - @PostMapping("/rejectproduct") - public ResponseResult rejectDemand(Integer id, String status) { - Productdemand productdemand = productdemandService.selectByPrimaryKey(id); - productdemand.setStatus(status); - productdemandService.updateByPrimaryKeySelective(productdemand); - return new ResponseResult("done"); - } - - - /** - * 目录/文件上传 - * - * @param file 目录,文件 - * @return 返回提交结果 - */ - @ApiOperation(value = "文件上传") - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult uploadFile(@ApiParam(value = "二进制文件流") MultipartFile[] file, String userid) { -// String filepath = "/root/upLoad"; - String upCachePath = myPath + "_user" + userid; - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - - } - - - /** - * 文件上传缓冲区清空 - * - * @return 返回文件清空结果 - */ - @ApiOperation(value = "清空历史上传") - @RequestMapping(value = "/clearUploadFile", method = RequestMethod.POST) - @ApiImplicitParam(name = "userId", value = "当前用户id") - public ResponseResult clearUploadFile(String userId) { - String upCachePath = myPath + "_user" + userId; - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - - - /** - * 多个任务审批通过 - * - * @return 返回执行结果 - **/ - @ApiOperation(value = "批量审核通过") - @PostMapping("/accept") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult acceptMany(@RequestBody Map map) { - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - Productdemand productdemand = new Productdemand(); - String staus = "审核通过"; - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - int sum = 0; - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - productdemand = productdemandService.selectByPrimaryKey(id); - Date apptime = new Date(); - productdemand.setApprover(userName); - productdemand.setApprovtime(apptime); - productdemand.setStatus(staus); - if (productdemandService.updateByPrimaryKeySelective(productdemand) > 0) { - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - } - - - /** - * 多个任务审批拒绝 - * - * @return 返回执行结果 - **/ - @ApiOperation(value = "批量审核拒绝") - @PostMapping("/refuse") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "Map", defaultValue = ""), - @ApiImplicitParam(name = "userid", value = "当前操作的用户id", dataType = "Map", defaultValue = "") - }) - public ResponseResult rejectMany(@RequestBody Map map) { - List ids = new ArrayList<>(); - ids = (List) map.get("ids"); - Productdemand productdemand = new Productdemand(); - String staus = "审核未通过"; - Integer userId = (Integer)map.get("userid"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - int sum = 0; - for (int i = 0; i < ids.size(); i++) { - Integer id = ids.get(i); - productdemand = productdemandService.selectByPrimaryKey(id); - Date apptime = new Date(); - productdemand.setApprover(userName); - productdemand.setApprovtime(apptime); - productdemand.setStatus(staus); - if (productdemandService.updateByPrimaryKeySelective(productdemand) > 0) { - sum = sum + 1; - } - } - if (sum == ids.size()) - return ResponseResult.success("已拒绝!"); - return ResponseResult.error("审批失败"); - } - - /** - * 下载功能 - * @return 下载后的文件名 - * **/ - @ApiOperation(value = "下载") - @GetMapping("/download") - @ApiImplicitParam(name = "id", value = "需求的记录id", dataType = "Integer", defaultValue = "") - public String download(Integer id, HttpServletRequest request, HttpServletResponse response) throws Exception{ - Productdemand productdemand = productdemandService.selectByPrimaryKey(id); - String path = productdemand.getTaskdocument(); - String zipPath = FileUtil.downloadAllAttachment(path,request,response); - String filename = zipPath.substring(zipPath.lastIndexOf(File.separator)+1,zipPath.length()); - FileUtil.downloadFile(response,filename,zipPath); - FileUtil.deleteDir(zipPath); - return filename; - } - - /** - *新建接口 - * @return PageDateResult - */ - @ApiOperation(value = "封装数据") - @PostMapping("/packagedata") - @ApiImplicitParam(name = "data" , value = "传递的数据" ,dataType = "String" ,defaultValue = "") - public ResponseResult packageData(String data){ - Map map = new HashMap<>(); - return ResponseResult.success(map); - } - - /** - *新建接口 - * @return PageDateResult - */ - @ApiOperation(value = "获取数据") - @PostMapping("/getData") - @ApiImplicitParam(name = "data" , value = "传递的数据" ,dataType = "String" ,defaultValue = "") - public ResponseResult getData(@RequestBody List data){ - Map map = new HashMap<>(); - map = productdemandService.PackageData(data); - return ResponseResult.success(map); - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/controller/rest/VfileMenuController.java b/src/main/java/com/cetc32/dh/controller/rest/VfileMenuController.java deleted file mode 100644 index 0369180..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/VfileMenuController.java +++ /dev/null @@ -1,731 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: VfileMenuController数据管理文件目录视图操作接口 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.Options; -import com.cetc32.dh.entity.VfileMenu; -import com.cetc32.dh.service.DataFileService; -import com.cetc32.dh.service.OptionsService; -import com.cetc32.dh.service.VfileMenuService; -import com.cetc32.dh.utils.FileUtil; -import com.github.pagehelper.PageHelper; -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.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 数据管理文件目录视图类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@Api(value = "Data File Info") -@Slf4j -@RestController -@RequestMapping("/rest/file/") -public class VfileMenuController { - - @Autowired - public VfileMenuService vfileMenuService; - @Autowired - public OptionsService optionsService; - @Autowired - public DataFileService dataFileService; - - /** - * 根据目录节点id和文件安全性查询文件 - * - * @param pageNum - * @param pageSize - * @param fileSecurity - * @return pdr - * 备注:无 - */ - @PostMapping("/queryByFileSecurityAndMenuId") - public PageDataResult queryByFileSecurityAndMenuId(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, Long menuId, String fileSecurity) { - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(vfileMenuService.queryByFileSecurityAndMenuId(menuId, fileSecurity).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(vfileMenuService.queryByFileSecurityAndMenuId(menuId, fileSecurity)); - return pdr; - } - - /** - * 查询目录节点id下的文件 - * - * @param pageNum - * @param pageSize - * @param menuId - * @return pdr - * 备注:无 - */ - @PostMapping("/queryFilesByMenuId") - public PageDataResult queryFilesByMenuId(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, Long menuId) { - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(vfileMenuService.queryFilesByMenuId(menuId).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(vfileMenuService.queryFilesByMenuId(menuId)); - return pdr; - - } - - /** - * 根据目录节点id和文件时间查询文件 - * - * @param pageNum - * @param pageSize - * @param menuId - * @param time - * @return pdr - * 备注:无 - */ - @PostMapping("/queryFilesByTime") - public PageDataResult queryFilesByTime(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, Long menuId, Date time) { - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(vfileMenuService.queryFilesByTime(menuId, time).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(vfileMenuService.queryFilesByTime(menuId, time)); - return pdr; - - } - - /** - * 根据目录节点id和文件区域查询文件 - * - * @param pageNum - * @param pageSize - * @param menuId - * @param region - * @return pdr - * 备注:无 - */ - @PostMapping("/queryFilesByRegion") - public PageDataResult queryFilesByRegion(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, Long menuId, String region) { - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(vfileMenuService.queryFilesByRegion(menuId, region).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(vfileMenuService.queryFilesByRegion(menuId, region)); - return pdr; - - } - - /** - * 根据目录节点id、文件名字、文件年份、文件区域、文件类型和文件安全性查询文件 - * - * @param pageNum - * @param pageSize - * @param fileName - * @param fileYear - * @param region - * @param fileType - * @param fileSecurity - * @return pdr - * 备注:无 - */ - @PostMapping("/queryFilesByChoose") - public PageDataResult queryFilesByChoose(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String fileName, Integer fileYear, String region, String fileType, String fileSecurity) { - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(vfileMenuService.queryFilesByChoose(fileName, fileYear, region, fileType, fileSecurity).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(vfileMenuService.queryFilesByChoose(fileName, fileYear, region, fileType, fileSecurity)); - return pdr; - - } - - /** - * 根据目录节点id和文件视图对象查询文件 - * - * @param vfileMenu - * @return pdr - * 备注:无 - */ - @ApiOperation(value = "查询所有数据接口", notes = "至少传入page,和current两个参数") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "页码", paramType = "body", dataType = "Integer", required = true, defaultValue = "1"), - @ApiImplicitParam(name = "results", value = "每页数据条数", paramType = "body", dataType = "Integer", required = true, defaultValue = "10"), - @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileYear", value = "文件年份", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "文件区域", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer", defaultValue = "") - }) - @PostMapping("/find") - public PageDataResult queryFilesByObj(@RequestBody VfileMenu vfileMenu) { - System.out.println(vfileMenu.getMenuId()); - Integer page = vfileMenu.getPage(); - Integer results = vfileMenu.getResults(); - - if (page == null || page <= 0) { - page = 1; - } - if (results == null || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - return new PageDataResult(vfileMenuService.countFilesByObj(vfileMenu), - vfileMenuService.queryFilesByObj(offset, results, vfileMenu), - offset); - - } - - -// /** -// * 查询options中所有的不同年份 -// * -// * @return List -// */ -// @ApiOperation(value = "查询所有年份", notes = "不需要传参数") -// @PostMapping("/AllYear") -// //@RequestMapping(value="/AllYear",method = RequestMethod.POST) -// public ResponseResult distinctAllYear() { -// List optionsList = optionsService.selectByCategory("file_year"); -// List yearList = new ArrayList(); -// for(int i=0;i resultList = new ArrayList(); -// resultList.add("全部年份"); -// for (int i = 0; i < yearList.size(); i++) { -// resultList.add(yearList.get(i).toString()); -// } -// -// return ResponseResult.success(resultList); -// } - - - /** - * 查询数据库中所有的审核 - * - * @return List - */ - @ApiOperation(value = "查询所有文件年份", notes = "不需要传参数") - @PostMapping("/AllYear") - public ResponseResult distinctAllYear() { - List optionsList = optionsService.selectByCategory("file_time"); - List hashMapList = new ArrayList<>(); - Map hashmap = new HashMap<>(); - hashmap.put("value", "全部文件年份"); - hashmap.put("label", "全部文件年份"); - hashMapList.add(hashmap); - for (int i = 0; i < optionsList.size(); i++) { - Map hashmap2 = new HashMap<>(); - hashmap2.put("value", optionsList.get(i).getValue()); - hashmap2.put("label", optionsList.get(i).getValueName()); - hashMapList.add(hashmap2); - } - return ResponseResult.success(hashMapList); - } - - - /** - * 查询数据库中所有的审核 - * - * @return List - */ - @ApiOperation(value = "查询审核状态", notes = "不需要传参数") - @PostMapping("/Allstatus") - public ResponseResult optStatus() { - List optionsList = optionsService.selectByCategory("status"); - List hashMapList = new ArrayList<>(); - Map hashmap = new HashMap<>(); - hashmap.put("value", "全部审核状态"); - hashmap.put("label", "全部审核状态"); - hashMapList.add(hashmap); - for (int i = 0; i < optionsList.size(); i++) { - Map hashmap2 = new HashMap<>(); - hashmap2.put("value", optionsList.get(i).getValue()); - hashmap2.put("label", optionsList.get(i).getValueName()); - hashMapList.add(hashmap2); - } - return ResponseResult.success(hashMapList); - } - - - /** - * 查询options中所有的不同区域 - * - * @return List - */ - @ApiOperation(value = "查询所有区域", notes = "不需要传参数") - @PostMapping("/AllRegion") - - public ResponseResult distinctAllRegion() { - List optionsList = optionsService.selectByCategory("region"); - List hashMapList = new ArrayList<>(); - Map hashmap = new HashMap<>(); - hashmap.put("value", "全部区域"); - hashmap.put("label", "全部区域"); - hashMapList.add(hashmap); - for (int i = 0; i < optionsList.size(); i++) { - Map hashmap2 = new HashMap<>(); - hashmap2.put("value", optionsList.get(i).getValue()); - hashmap2.put("label", optionsList.get(i).getValueName()); - hashMapList.add(hashmap2); - } - Map hashmap3 = new HashMap<>(); - hashmap3.put("value", "其他"); - hashmap3.put("label", "其他"); - hashMapList.add(hashmap3); - - return ResponseResult.success(hashMapList); - } -// public ResponseResult distinctAllRegion() { -// List optionsList = optionsService.selectByCategory("region"); -// List regionList = new ArrayList(); -// for(int i=0;i resultList = new ArrayList(); -// resultList.add("全部区域"); -// for (int i = 0; i < regionList.size(); i++) { -// resultList.add(regionList.get(i).toString()); -// } -// -// return ResponseResult.success(resultList); -// } - - - - /** - * 查询数据库中所有的不同文件类型 - * - * @return List - */ - @ApiOperation(value = "查询文件类型", notes = "不需要传参数") - @PostMapping("/AllFtype") - public ResponseResult optFType() { - List optionsList = optionsService.selectByCategory("file_type"); - List hashMapList = new ArrayList<>(); - Map hashmap = new HashMap<>(); - hashmap.put("value", "全部类型"); - hashmap.put("label", "全部类型"); - hashMapList.add(hashmap); - for (int i = 0; i < optionsList.size(); i++) { - Map hashmap2 = new HashMap<>(); - hashmap2.put("value", optionsList.get(i).getValue()); - hashmap2.put("label", optionsList.get(i).getValueName()); - hashMapList.add(hashmap2); - } - return ResponseResult.success(hashMapList); - } - - - /** - * 下载文件文件,文件夹 - * - * @return String - */ -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "List"), -// }) -// @GetMapping("/downloadMulFile") -// public String downloadMulFile(String[] fileIds, HttpServletResponse response) { -//// System.out.println(fileIds.length+"xxxxxxxxx"); -// -// if (fileIds.length == 1) { -// Long fileId = Long.parseLong(fileIds[0]); -// String fileName = dataFileService.queryById(fileId).getFileName(); -// String filePath = dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); -// if (!FileUtil.isDirectory(filePath)) { -// FileUtil.downloadFile(response, fileName, filePath); -// } -// } -// -// String message= null; -// String directory = "/root/load"; -// File directoryFile = new File(directory); -// if (!directoryFile.isDirectory() && !directoryFile.exists()) { -// directoryFile.mkdirs(); -// } -// //设置最终输出zip文件的目录+文件名 -// String zipFileName = "已下载文件" + ".zip"; -// String strZipPath = directory + "/" + zipFileName; -// File zipFile = new File(strZipPath); -// //读取需要压缩的文件 -// Long fileId =null; -// String fileName=null; -// -// List fileNames = new ArrayList<>(); -// List filePaths = new ArrayList<>(); -// for(int i=0;i stringList = FileUtil.getAllFile(fileName); -// for (int j = 0; j < stringList.size(); j++) { -// fileNames.add(stringList.get(j)); -// filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -//// filePaths.add(dataFileService.queryById(fileId).getFilePath()); -// } -// } else { -// fileNames.add(fileName); -// filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -//// filePaths.add(dataFileService.queryById(fileId).getFilePath()); -// } -// } -// } -// -// ZipOutputStream zipStream = null; -// FileInputStream zipSource = null; -// BufferedInputStream bufferStream = null; -// try { -// //构造最终压缩包的输出流 -// zipStream = new ZipOutputStream(new FileOutputStream(zipFile)); -// for (int i = 0; i < fileNames.size(); i++) { -// //解码获取真实路径与文件名 -//// String realFilePath = java.net.URLDecoder.decode(fileNames.get(i), "UTF-8"); -// String realFilePath = fileNames.get(i); -// System.out.println(realFilePath); -// File file = new File(realFilePath); -// //TODO:未对文件不存在时进行操作,后期优化。 -// if (file.exists()) { -// zipSource = new FileInputStream(file);//将需要压缩的文件格式化为输入流 -// /** -// * 压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样这里的name就是文件名, -// * 文件名和之前的重复就会导致文件被覆盖 -// */ -//// ZipEntry zipEntry = new ZipEntry("("+i+")"+fileNames.get(i).split("/")[fileNames.get(i).split("/").length-1]);//在压缩目录中文件的名字 -// ZipEntry zipEntry = new ZipEntry(fileNames.get(i).replace(filePaths.get(i),""));//在压缩目录中文件的名字 -// zipStream.putNextEntry(zipEntry);//定位该压缩条目位置,开始写入文件到压缩包中 -// bufferStream = new BufferedInputStream(zipSource, 1024 * 10); -// int read = 0; -// byte[] buf = new byte[1024 * 10]; -// while ((read = bufferStream.read(buf, 0, 1024 * 10)) != -1) { -// zipStream.write(buf, 0, read); -// } -// }else{ -// message=message+file.getName()+"不存在!"+"\n"; -// System.out.println(file.getName()+"不存在!"); -// } -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } finally { -// //关闭流 -// try { -// if (null != bufferStream) bufferStream.close(); -// if (null != zipStream) { -// zipStream.flush(); -// zipStream.close(); -// } -// if (null != zipSource) zipSource.close(); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// //判断系统压缩文件是否存在:true-把该压缩文件通过流输出给客户端后删除该压缩文件 false-未处理 -// if (zipFile.exists()) { -// System.out.println(zipFileName); -// System.out.println(strZipPath); -// FileUtil.downloadFile(response, zipFileName, strZipPath); -// FileUtil.deleteDir(directory); -// } -// if(message==null){ -// message="全部文件下载成功!"; -// } -// return message; -// -// } - - -/** - * - *提示: 待保留代码部分 - * 作者:肖小霞 - - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "List"), - }) - @PostMapping("/downloadFiles") - public ResponseResult downloadFiles(@RequestBody String fileIds) { -// Long fileId=15L; -// List multipartFileList = new ArrayList(); - String clientIp = ""; - HttpServletRequest request = null; - try { - request = - ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); - } catch (Exception e) { - System.out.println("Can not get current IP."); - } - clientIp = request.getRemoteAddr().toString(); - System.out.println(clientIp); - String savePath = clientIp + "/root/downLoad"; - System.out.println(savePath); - List results = new ArrayList<>(); - Long fileId = Long.parseLong(fileIds); - String fileName = File.separator + dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - System.out.println(fileName); - String res = FileUtil.downloadFile(fileName, savePath); - results.add(res); - - - return ResponseResult.success(results); - } - - - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "String"), - }) - @RequestMapping("/downloadOneFile") - public String downloadAlone(String fileIds, HttpServletResponse response) { - Long fileId = Long.parseLong(fileIds); - String fileName = File.separator + dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - File file = new File(fileName); - System.out.println(fileName); - if (!file.exists()) { - System.out.println("文件 :" + File.separator + dataFileService.queryById(fileId).getFileName() + "不存在!"); - } - - response.setHeader("Content-Type","application/octet-stream"); - //设置下载的文件的名称-该方式已解决中文乱码问题 - try { - response.setHeader("Content-Disposition","attachment;filename=" + new String( dataFileService.queryById(fileId).getFileName().getBytes("gb2312"), "ISO8859-1" )); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - byte[] buffer = new byte[1024]; - FileInputStream fis = null; - BufferedInputStream bis = null; - try { - fis = new FileInputStream(file); - bis = new BufferedInputStream(fis); - OutputStream os = response.getOutputStream(); - int i = bis.read(buffer); - while (i != -1) { - os.write(buffer, 0, i); - i = bis.read(buffer); - } - System.out.println("Download successfully!"); - return dataFileService.queryById(fileId).getFileName() + "下载成功!"; - - } catch (Exception e) { - System.out.println("Download failed!"); - return dataFileService.queryById(fileId).getFileName() + "下载失败!"; - - } finally { - if (bis != null) { - try { - bis.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - if (fis != null) { - try { - fis.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } - - - - - // 查询数据库中所有的不同年份 - - @ApiOperation(value = "查询所有年份", notes = "不需要传参数") - @PostMapping("/AllYear") - //@RequestMapping(value="/AllYear",method = RequestMethod.POST) - public ResponseResult distinctAllYear() { - List vfileMenuList = vfileMenuService.distinctAllYear(); - List yearList = new ArrayList(); - for (int i = 0; i < vfileMenuList.size(); i++) { - yearList.add(vfileMenuList.get(i).getFileYear()); - } - Collections.sort(yearList); - Collections.reverse(yearList); - List resultList = new ArrayList(); - resultList.add("全部年份"); - for (int i = 0; i < yearList.size(); i++) { - resultList.add(yearList.get(i).toString()); - } - - return ResponseResult.success(resultList); - } - - - // 查询数据库中所有的不同区域 - - @ApiOperation(value = "查询所有区域", notes = "不需要传参数") - @PostMapping("/AllRegion") - public ResponseResult distinctAllRegion() { - List vfileMenuList = vfileMenuService.distinctAllRegion(); - List regionList = new ArrayList(); - - for (int i = 0; i < vfileMenuList.size(); i++) { - regionList.add(vfileMenuList.get(i).getRegion()); - } - Collections.sort(regionList); - - List resultList = new ArrayList(); - resultList.add("全部区域"); - for (int i = 0; i < regionList.size(); i++) { - resultList.add(regionList.get(i)); - } - return ResponseResult.success(resultList); - } - **/ - - -/** - * - * 文件下载代码 - - public String downloadMulFile2(String[] fileIds,HttpServletResponse response) { - - if(fileIds.length==1){ - Long fileId =Long.parseLong(fileIds[0]); - String fileName= dataFileService.queryById(fileId).getFileName(); - String filePath=dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - FileUtil.downloadFile(response,fileName,filePath); - } - - String message= null; - String directory = "/root/load"; - File directoryFile = new File(directory); - if (!directoryFile.isDirectory() && !directoryFile.exists()) { - directoryFile.mkdirs(); - } - //设置最终输出zip文件的目录+文件名 - String zipFileName = "已下载文件" + ".zip"; - String strZipPath = directory + "/" + zipFileName; - File zipFile = new File(strZipPath); - //读取需要压缩的文件 - Long fileId =null; - String fileName=null; - - List fileNames = new ArrayList<>(); - for(int i=0;i regionList, Date startTime, Date endTime){ - this.id=id; - this.fileName=fileName; - this.area=area; - this.fileSecurity=fileSecurity; - this.createTime=createTime; - this.filePath=filePath; - this.region=region; - this.fileTime=fileTime; - this.fileSize=fileSize; - this.fileNumbers=fileNumbers; - this.fileDiscription=fileDiscription; - this.submitor=submitor; - this.approver=approver; - this.gcs=gcs; - this.scale=scale; - this.scanLevel=scanLevel; - this.lan=lan; - this.lon=lon; - this.catagory=catagory; - this.status=status; - this.menuId=menuId; - this.fileConfig = fileConfig; - this.approveTime = approveTime; - this.userId = userId; - this.regionList=regionList; - this.startTime=startTime; - this.endTime=endTime; - } - - /** - * 数据id,文件(夹)id - */ - @Id - private Long id; - - /** - * 文件名称 - */ - @Column(name = "file_name") - private String fileName; - - /** - * 数据安全等级,文件(夹)安全等级 - */ - @Column(name = "file_security") - private String fileSecurity; - - /** - * 数据路径,文件(夹)存放路径 - */ - @Column(name = "file_path") - private String filePath; - - /** - * 数据审批时间,文件(夹)创建时间 - */ - @Column(name = "create_time") - private Date createTime; - - /** - * 开始时间 - */ - private Date startTime; - - /** - * 结束时间 - */ - private Date endTime; - - /** - * 数据区域,文件(夹)所属区域 - */ - private String region; - - - - /** - * 数据区域list,文件(夹)所属区域 - */ - private List regionList; - - /** - * 数据大小,文件(夹)大小 - */ - @Column(name = "file_size") - private String fileSize; - - /** - * 文件夹中文件个数 - */ - @Column(name = "file_numbers") - private Integer fileNumbers; - - /** - * 数据描述,文件(夹)描述 - */ - @Column(name = "file_discription") - private String fileDiscription; - - /** - * 提交人 - */ - private String submitor; - - /** - * 审批人 - */ - private String approver; - - /** - * 图像地理坐标系(北京54、西安80、WGS-84、2000国家大地坐标系) - */ - private String gcs; - - /** - * 图像级别(1-20) - */ - @Column(name = "scan_level") - private Integer scanLevel; - - /** - * 图像比例尺(1:10万 1:25万 1:50万 1:100万) - */ - private String scale; - - /** - * 经度(左上) - */ - private String lan; - - /** - * 纬度(左上) - */ - private String lon; - - /** - * 保留 - */ - private String catagory; - - /** - * 数据日期,文件(夹)所属年份 - */ - @Column(name = "file_time") - private String fileTime; - - /** - * 审核状态 - */ - private String status; - - /** - * 编目Id - */ - @Column(name = "menu_id") - private Integer menuId; - - /** - * 文件标识,数据标识 - */ - @Column(name = "file_config") - private String fileConfig; - - /** - * 文件、数据审批时间 - */ - @Column(name = "approve_time") - private Date approveTime; - - /** - * 范围自定义(点集) - */ - @Column(name = "area") - private String area; - - - /** - * 提交人id - */ - @Column(name = "user_id") - private Integer userId; - - /** - * 获取数据id,文件(夹)id - * @return id - 数据id,文件(夹)id - */ - public Long getId() { - return id; - } - - /** - * 设置数据id,文件(夹)id - * - * @param id 数据id,文件(夹)id - */ - public void setId(Long id) { - this.id = id; - } - - /** - * 获取编目id - * @return menuId - 编目id - */ - public Integer getMenuId() { - return menuId; - } - - /** - * 设置编目id - * @param menuId 编目id - */ - public void setMenuId(Integer menuId) { - this.menuId = menuId; - } - - - /** - * 获取用户id - * @return userId - 用户id - */ - public Integer getUserId() { - return userId; - } - - /** - * 设置用户id - * @param userId 用户id - */ - public void setUserId(Integer userId) { - this.userId = userId; - } - - /** - * 获取文件名称 - * - * @return file_name - 文件名称 - */ - public String getFileName() { - return fileName; - } - - /** - * 设置文件名称 - * - * @param fileName 文件名称 - */ - public void setFileName(String fileName) { - this.fileName = fileName == null ? null : fileName.trim(); - } - - /** - * 获取区域自定义范围 - * - * @return area - 区域自定义范围 - */ - public String getArea() { - return area; - } - - /** - * 设置区域自定义范围 - * - * @param area 区域自定义范围 - */ - public void setArea(String area) { - this.area = area == null ? null : area.trim(); - } - - /** - * 获取数据安全等级,文件(夹)安全等级 - * - * @return file_security - 数据安全等级,文件(夹)安全等级 - */ - public String getFileSecurity() { - return fileSecurity; - } - - /** - * 设置数据安全等级,文件(夹)安全等级 - * - * @param fileSecurity 数据安全等级,文件(夹)安全等级 - */ - public void setFileSecurity(String fileSecurity) { - this.fileSecurity = fileSecurity == null ? null : fileSecurity.trim(); - } - - /** - * 获取数据路径,文件(夹)存放路径 - * - * @return file_path - 数据路径,文件(夹)存放路径 - */ - public String getFilePath() { - return filePath; - } - - /** - * 设置数据路径,文件(夹)存放路径 - * - * @param filePath 数据路径,文件(夹)存放路径 - */ - public void setFilePath(String filePath) { - this.filePath = filePath == null ? null : filePath.trim(); - } - - /** - * 获取数据审批时间,文件(夹)创建时间 - * - * @return create_time - 数据审批时间,文件(夹)创建时间 - */ - public Date getCreateTime() { - return createTime; - } - - /** - * 获取开始时间 - * - * @return start_time - 开始时间 - */ - public Date getStartTime() { - return startTime; - } - - /** - * 获取结束时间 - * - * @return end_time - 结束时间 - */ - public Date getEndTime() { - return endTime; - } - - /** - * 设置数据审批时间,文件(夹)创建时间 - * - * @param createTime 数据审批时间,文件(夹)创建时间 - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - /** - * 设置开始时间 - * - * @param startTime 开始时间 - */ - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - /** - * 设置结束时间 - * - * @param endTime 结束时间 - */ - public void setEndTime(Date endTime) { - this.endTime = endTime; - } - - /** - * 获取数据区域,文件(夹)所属区域 - * - * @return region - 数据区域,文件(夹)所属区域 - */ - public String getRegion() { - return region; - } - - /** - * 设置数据区域,文件(夹)所属区域 - * - * @param region 数据区域,文件(夹)所属区域 - */ - public void setRegion(String region) { - this.region = region == null ? null : region.trim(); - } - - /** - * 获取数据大小,文件(夹)大小 - * - * @return file_size - 数据大小,文件(夹)大小 - */ - public String getFileSize() { - return fileSize; - } - - /** - * 设置数据大小,文件(夹)大小 - * - * @param fileSize 数据大小,文件(夹)大小 - */ - public void setFileSize(String fileSize) { - this.fileSize = fileSize == null ? null : fileSize.trim(); - } - - /** - * 获取文件夹中文件个数 - * - * @return file_numbers - 文件夹中文件个数 - */ - public Integer getFileNumbers() { - return fileNumbers; - } - - /** - * 设置文件夹中文件个数 - * - * @param fileNumbers 文件夹中文件个数 - */ - public void setFileNumbers(Integer fileNumbers) { - this.fileNumbers = fileNumbers; - } - - /** - * 获取数据描述,文件(夹)描述 - * - * @return file_discription - 数据描述,文件(夹)描述 - */ - public String getFileDiscription() { - return fileDiscription; - } - - /** - * 设置数据描述,文件(夹)描述 - * - * @param fileDiscription 数据描述,文件(夹)描述 - */ - public void setFileDiscription(String fileDiscription) { - this.fileDiscription = fileDiscription == null ? null : fileDiscription.trim(); - } - - /** - * 获取提交人 - * - * @return submitor- 提交人 - */ - public String getSubmitor() { - return submitor; - } - - /** - * 设置提交人 - * - * @param submitor 提交人 - */ - public void setSubmitor(String submitor) { - this.submitor = submitor == null ? null : submitor.trim(); - } - - /** - * 获取审批人 - * - * @return approver - 审批人 - */ - public String getApprover() { - return approver; - } - - /** - * 设置审批人 - * - * @param approver 审批人 - */ - public void setApprover(String approver) { - this.approver = approver == null ? null : approver.trim(); - } - - /** - * 获取图像地理坐标系(北京54、西安80、WGS-84、2000国家大地坐标系) - * - * @return gcs - 图像地理坐标系(北京54、西安80、WGS-84、2000国家大地坐标系) - */ - public String getGcs() { - return gcs; - } - - /** - * 设置图像地理坐标系(北京54、西安80、WGS-84、2000国家大地坐标系) - * - * @param gcs 图像地理坐标系(北京54、西安80、WGS-84、2000国家大地坐标系) - */ - public void setGcs(String gcs) { - this.gcs = gcs == null ? null : gcs.trim(); - } - - /** - * 获取图像级别(1-20) - * - * @return scan_level - 图像级别(1-20) - */ - public Integer getScanLevel() { - return scanLevel; - } - - /** - * 设置图像级别(1-20) - * - * @param scanLevel 图像级别(1-20) - */ - public void setScanLevel(Integer scanLevel) { - this.scanLevel=scanLevel; - } - - /** - * 设置图像级别(1-20) - * - * @param scanLevel 图像级别(1-20)输入参数String类型 - */ - public void setScanLevel(String scanLevel) { - if(scanLevel.equals("全部级别")||StringUtils.isEmpty(scanLevel)){ - this.scanLevel=null; - } - this.scanLevel=Integer.parseInt(scanLevel); - } - - /** - * 获取图像比例尺(1:10万 1:25万 1:50万 1:100万) - * - * @return scale - 图像比例尺(1:10万 1:25万 1:50万 1:100万) - */ - public String getScale() { - return scale; - } - - /** - * 设置图像比例尺(1:10万 1:25万 1:50万 1:100万) - * - * @param scale 图像比例尺(1:10万 1:25万 1:50万 1:100万) - */ - public void setScale(String scale) { - this.scale = scale == null ? null : scale.trim(); - } - - /** - * 获取经度(左上) - * - * @return lan - 经度(左上) - */ - public String getLan() { - return lan; - } - - /** - * 设置经度(左上) - * - * @param lan 经度(左上) - */ - public void setLan(String lan) { - this.lan = lan == null ? null : lan.trim(); - } - - /** - * 获取纬度(左上) - * - * @return lon - 纬度(左上) - */ - public String getLon() { - return lon; - } - - /** - * 设置纬度(左上) - * - * @param lon 纬度(左上) - */ - public void setLon(String lon) { - this.lon = lon == null ? null : lon.trim(); - } - - /** - * 获取保留 - * - * @return catagory - 保留 - */ - public String getCatagory() { - return catagory; - } - - /** - * 设置保留 - * - * @param catagory 保留 - */ - public void setCatagory(String catagory) { - this.catagory = catagory == null ? null : catagory.trim(); - } - - /** - * 获取数据日期,文件(夹)所属年份 - * - * @return file_time - 数据日期,文件(夹)所属年份 - */ - public String getFileTime() { - return fileTime; - } - - /** - * 设置数据日期,文件(夹)所属年份 - * - * @param fileTime 数据日期,文件(夹)所属年份 - */ - public void setFileTime(String fileTime) { - this.fileTime = fileTime == null ? null : fileTime.trim(); - } - - /** - * 获取审核状态 - * - * @return status - 审核状态 - */ - public String getStatus() { - return status; - } - - /** - * 设置审核状态 - * - * @param status 审核状态 - */ - public void setStatus(String status) { - this.status = status == null ? null : status.trim(); - } - - /** - * 获取文件标识,数据标识 - * - * @return file_config - 文件标识,数据标识 - */ - public String getFileConfig() { - return fileConfig; - } - - /** - * 设置数据标识,文件标识 - * - * @param fileConfig 数据标识,文件标识 - */ - public void setFileConfig(String fileConfig) { - this.fileConfig = fileConfig == null ? null : fileConfig.trim(); - } - - - /** - * 返回数据、文件审批时间 - * @return approve_time - */ - public Date getApproveTime() { - return approveTime; - } - - /** - * 获取文件数据审批时间 - * @param approveTime - */ - public void setApproveTime(Date approveTime) { - this.approveTime = approveTime; - } - - /** - * 返回数据区域list,文件(夹)所属区域 - * @return regionList - */ - public List getRegionList() { - return regionList; - } - - /** - * 获取数据区域list,文件(夹)所属区域 - * @param regionList - */ - public void setRegionList(List regionList) { - this.regionList = regionList; - } - - /** - * 返回文件实体类的字符串形式 - */ - public String toString() { - return "{" + - "menuId=" + menuId +'\'' + - "fileName=" + fileName +'\''+ - ", area='" + area + '\'' + - ", fileSecurity=" + fileSecurity+'\'' + - ", filePath=" + filePath +'\'' + - ", createTime=" + createTime +'\'' + - ", region=" + region +'\'' + - ", fileSize=" + fileSize +'\'' + - ", fileNumbers=" + fileNumbers +'\'' + - ", fileDiscription=" + fileDiscription + - '}'; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/DataMenu.java b/src/main/java/com/cetc32/dh/entity/DataMenu.java deleted file mode 100644 index 8be2f04..0000000 --- a/src/main/java/com/cetc32/dh/entity/DataMenu.java +++ /dev/null @@ -1,278 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目实体类 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.entity; - -import javax.persistence.*; -import java.io.Serializable; -import java.util.Date; -/** - * @Title: DataMenu - * @Description: 编目实体 - * @author: youqing - * @version: 1.0 - * @date: 2018/11/21 13:43 - */ -@Table(name = "data_menu") -public class DataMenu implements Serializable { - - /** - * 无参构造函数 - */ - public DataMenu(){ } - - /** - * @param id - * @param menuName - * @param pid - * @param discription - * @param url - * @param icon - * @param key - * @param addkids - * 有参构造函数 - */ - public DataMenu( Long id, String menuName, Long pid, String discription, String url,String htmlUrl, - Boolean disabled,String icon,String key,Boolean addkids){ - this.id=id; - this.menuName=menuName; - this.pid=pid; - this.discription=discription; - this.url=url; - this.htmlUrl=htmlUrl; - this.disabled=disabled; - this.icon=icon; - this.key =key; - this.addkids=addkids; - } - - /** - * id - */ - @Id - private Long id; - - /** - * 数据管理编目名称 - */ - @Column(name = "menu_name") - private String menuName; - - /** - * 父编目ID - */ - private Long pid; - /** - * 编目信息描述 - */ - private String discription; - - /** - * 编目路径URL - */ - private String url; - - /** - * 编目键 - */ - private String key; - - /** - * 图标类型icon - */ - private String icon; - - /** - * 数据管理编目前端页面路径 - */ - @Column(name = "html_url") - private String htmlUrl; - - /** - * 编目允许变更信息 - */ - private Boolean disabled; - - /** - * 编目允许变更信息 - */ - private Boolean addkids; - - /** - * 获取编目id - * @return 编目id - */ - public Long getId() { - return id; - } - - /** - * 设置编目id - * @param id 编目id - */ - public void setId(Long id) { - this.id = id; - } - - /** - * 获取数据管理编目名称 - * @return menu_name - 数据管理编目名称 - */ - public String getMenuName() { - return menuName; - } - - /** - * 设置数据管理编目名称 - * @param menuName 数据管理编目名称 - */ - public void setMenuName(String menuName) { - this.menuName = menuName == null ? null : menuName.trim(); - } - - /** - * 获取父编目ID - * @return pid - 父编目ID - */ - public Long getPid() { - return pid; - } - - /** - * 设置父编目ID - * @param pid 父编目ID - */ - public void setPid(Long pid) { - this.pid = pid; - } - - /** - * 获取信息描述 - * @return discription - */ - public String getDiscription() { - return discription; - } - - /** - * 设置信息描述 - * @param discription 信息描述 - */ - public void setDiscription(String discription) { - this.discription = discription == null ? null : discription.trim(); - } - - /** - * 获取图表类型icon - * @return icon - 编目icon - */ - public String getIcon() { - return icon; - } - - /** - * 设置图表类型icon - * @param icon 编目icon - */ - public void setIcon(String icon) { - this.icon = icon == null ? null : icon.trim(); - } - - /** - * 获取编目URL - * @return url - 编目URL - */ - public String getUrl() { - return url; - } - - /** - * 设置编目键key - * @param key 编目键key - */ - public void setKey(String key) { - this.key = key == null ? null : key.trim(); - } - - /** - * 获取编目URL - * @return key - 编目键key - */ - public String getKey() { - return key; - } - - /** - * 设置编目URL - * @param url 编目URL - */ - public void setUrl(String url) { - this.url = url == null ? null : url.trim(); - } - - /** - * 获取数据管理数据管理编目前端页面路径 - * @return html_url - 数据管理数据管理编目前端页面路径 - */ - public String getHtmlUrl() { - return htmlUrl; - } - - /** - * 设置数据管理数据管理编目前端页面路径 - * @param htmlUrl 数据管理数据管理编目前端页面路径 - */ - public void setHtmlUrl(String htmlUrl) { - this.htmlUrl = htmlUrl == null ? null : htmlUrl.trim(); - } - - /** - * 获取编目允许变更信息 - * @return disabled - 编目允许变更信息 - */ - public Boolean getDisabled() { - return disabled; - } - - /** - * 设置编目允许变更信息 - * @param disabled 编目允许变更信息 - */ - public void setDisabled(Boolean disabled) { - this.disabled = disabled ; - } - - - /** - * 获取前端编目可更改信息 - * @return icon - 前端编目更改信息 - */ - public Boolean getAddkids() { - return addkids; - } - - /** - * 设置前端编目更改信息 - * @param addkids 前端页编目更改信息 - */ - public void setAddkids(Boolean addkids) { - this.addkids = addkids; - } - - - /* public String toString() { - return "{" + - "id=" + id +'\'' + -// "menuName=" + menuName + -// ", pid='" + pid + '\'' + -// ", discription=" + discription+'\'' + -// ", url=" + url + - '}'; - }*/ -} - diff --git a/src/main/java/com/cetc32/dh/entity/DataPlp.java b/src/main/java/com/cetc32/dh/entity/DataPlp.java deleted file mode 100644 index 38708b0..0000000 --- a/src/main/java/com/cetc32/dh/entity/DataPlp.java +++ /dev/null @@ -1,500 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数管点线面实体类 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.entity; - -import java.util.Date; -import javax.persistence.*; - -/** - * 数据管理点线面实体类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@Table(name = "data_plp") -public class DataPlp extends NumberS{ - - /** - * 无参构造函数 - */ - public DataPlp(){ } - - /** - * @param id - * @param fileName - * @param eventType - * @param createTime - * @param region - * @param fileTime - * @param status - * @param fileConfig - * @param approveTime - * @param photoByte - * @param points - * @param approver - * @param menuId - * @param reserver2 - * @param userId - * @param security - * @param description - * @param submitor - * 有参构造函数 - */ - public DataPlp(Integer id, String fileName, String eventType, String security, Date createTime, String region, String fileTime, - String description, Integer userId, String approver, String status, String fileConfig,Date approveTime, - String points,Integer menuId,String reserver2,byte[] photoByte,String submitor){ - this.id=id; - this.fileName=fileName; - this.eventType=eventType; - this.security=security; - this.createTime=createTime; - this.region=region; - this.fileTime=fileTime; - this.description=description; - this.userId=userId; - this.approver=approver; - this.status=status; - this.fileConfig = fileConfig; - this.approveTime = approveTime; - this.photoByte=photoByte; - this.points=points; - this.menuId=menuId; - this.reserver2=reserver2; - this.submitor=submitor; - } - - /** - * - * 用户id - */ - @Column(name = "user_id") - private Integer userId; - - /** - * 数据类型-8:点,线:64,面:128 - */ - @Column(name = "event_type") - private String eventType; - - /** - * 点集wkt格式 - */ - private String points; - - /** - * 当前区域 - */ - private String region; - - /** - * 上传创建时间 - */ - @Column(name = "create_time") - private Date createTime; - - /** - * 数据描述 - */ - private String description; - - /** - * 编目id - */ - @Column(name = "menu_id") - private Integer menuId; - - /** - * 预留字段2 - */ - private String reserver2; - - /** - * 唯一标识 - */ - private Integer id; - - /** - * 数据安全等级 - */ - private String security; - - /** - * 审核人 - */ - private String approver; - - /** - * 审核时间 - */ - @Column(name = "approve_time") - private Date approveTime; - - /** - * 审核状态 - */ - private String status; - - /** - * 数据标识 - */ - @Column(name = "file_config") - private String fileConfig; - - /** - * 数据名称 - */ - @Column(name = "file_name") - private String fileName; - - /** - * 数据所属年份 - */ - @Column(name = "file_time") - private String fileTime; - - /** - * 照片流 - */ - @Column(name = "photo_byte") - private byte[] photoByte; - - /** - * 提交者 - */ - @Column(name = "submitor") - private String submitor; - - - /** - * 获取用户id - * - * @return user_id - 用户id - */ - public Integer getUserId() { - return userId; - } - - /** - * 设置用户id - * - * @param userId 用户id - */ - public void setUserId(Integer userId) { - this.userId = userId; - } - - /** - * 获取数据类型-8:点,线:64,面:128 - * - * @return event_type - 数据类型-8:点,线:64,面:128 - */ - public String getEventType() { - return eventType; - } - - /** - * 设置数据类型-8:点,线:64,面:128 - * - * @param eventType 数据类型-8:点,线:64,面:128 - */ - public void setEventType(String eventType) { - this.eventType = eventType == null ? null : eventType.trim(); - } - - /** - * 获取点集wkt格式 - * - * @return points - 点集wkt格式 - */ - public String getPoints() { - return points; - } - - /** - * 设置点集wkt格式 - * - * @param points 点集wkt格式 - */ - public void setPoints(String points) { - this.points = points == null ? null : points.trim(); - } - - /** - * 获取当前区域 - * - * @return region - 当前区域 - */ - public String getRegion() { - return region; - } - - /** - * 设置当前区域 - * - * @param region 当前区域 - */ - public void setRegion(String region) { - this.region = region == null ? null : region.trim(); - } - - /** - * 获取上传创建时间 - * - * @return create_time - 上传创建时间 - */ - public Date getCreateTime() { - return createTime; - } - - /** - * 设置上传创建时间 - * - * @param createTime 上传创建时间 - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - /** - * 获取数据描述 - * - * @return description - 数据描述 - */ - public String getDescription() { - return description; - } - - /** - * 设置数据描述 - * - * @param description 数据描述 - */ - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - /** - * 编目id - * - * @return menuId - 编目id - */ - public Integer getMenuId() { - return menuId; - } - - /** - * 设置编目id - * - * @param menuId 编目id - */ - public void setMenuId(Integer menuId) { - this.menuId = menuId ; - } - - /** - * 获取预留字段2 - * - * @return reserver2 - 预留字段2 - */ - public String getReserver2() { - return reserver2; - } - - /** - * 设置预留字段2 - * - * @param reserver2 预留字段2 - */ - public void setReserver2(String reserver2) { - this.reserver2 = reserver2 == null ? null : reserver2.trim(); - } - - /** - * 获取唯一标识 - * - * @return id - 唯一标识 - */ - public Integer getId() { - return id; - } - - /** - * 设置唯一标识 - * - * @param id 唯一标识 - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * 获取数据安全等级 - * - * @return security - 数据安全等级 - */ - public String getSecurity() { - return security; - } - - /** - * 设置数据安全等级 - * - * @param security 数据安全等级 - */ - public void setSecurity(String security) { - this.security = security == null ? null : security.trim(); - } - - /** - * 获取审核人 - * - * @return approver - 审核人 - */ - public String getApprover() { - return approver; - } - - /** - * 设置审核人 - * - * @param approver 审核人 - */ - public void setApprover(String approver) { - this.approver = approver == null ? null : approver.trim(); - } - - /** - * 获取审核时间 - * - * @return approve_time - 审核时间 - */ - public Date getApproveTime() { - return approveTime; - } - - /** - * 设置审核时间 - * - * @param approveTime 审核时间 - */ - public void setApproveTime(Date approveTime) { - this.approveTime = approveTime; - } - - /** - * 获取审核状态 - * - * @return status - 审核状态 - */ - public String getStatus() { - return status; - } - - /** - * 设置审核状态 - * - * @param status 审核状态 - */ - public void setStatus(String status) { - this.status = status == null ? null : status.trim(); - } - - /** - * 获取数据标识 - * - * @return file_config - 数据标识 - */ - public String getFileConfig() { - return fileConfig; - } - - /** - * 设置数据标识 - * - * @param fileConfig 数据标识 - */ - public void setFileConfig(String fileConfig) { - this.fileConfig = fileConfig == null ? null : fileConfig.trim(); - } - - /** - * 获取数据名称 - * - * @return file_name - 数据名称 - */ - public String getFileName() { - return fileName; - } - - /** - * 设置数据名称 - * - * @param fileName 数据名称 - */ - public void setFileName(String fileName) { - this.fileName = fileName == null ? null : fileName.trim(); - } - - /** - * 获取数据所属年份 - * - * @return file_time - 数据所属年份 - */ - public String getFileTime() { - return fileTime; - } - - /** - * 设置数据所属年份 - * - * @param fileTime 数据所属年份 - */ - public void setFileTime(String fileTime) { - this.fileTime = fileTime == null ? null : fileTime.trim(); - } - - /** - * 获取照片流 - * - * @return photo_byte - 照片流 - */ - public byte[] getPhotoByte() { - return photoByte; - } - - /** - * 设置照片流 - * - * @param photoByte 照片流 - */ - public void setPhotoByte(byte[] photoByte) { - this.photoByte = photoByte; - } - - /** - * 获取提交用户 - * - * @return submitor - 提交用户 - */ - public String getSubmitor() { - return submitor; - } - - /** - * 设置提交用户 - * - * @param submitor 提交用户 - */ - public void setSubmitor(String submitor) { - this.submitor = submitor == null ? null : submitor.trim(); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/DataSubmit.java b/src/main/java/com/cetc32/dh/entity/DataSubmit.java deleted file mode 100644 index b173508..0000000 --- a/src/main/java/com/cetc32/dh/entity/DataSubmit.java +++ /dev/null @@ -1,379 +0,0 @@ -package com.cetc32.dh.entity; - -import javax.persistence.*; -import java.util.Date; - -@Table(name = "data_submit") -public class DataSubmit extends NumberS{ - - public DataSubmit(){} - - public DataSubmit(Integer id, String subtype, Integer plevel, Integer status, String submitor, String approver, - Long menuid, String menuName, Integer year, String title, String area, String path,String fileType) { - this.id=id; - this.subtype=subtype; - this.plevel=plevel; - this.status=status; - this.submitor=submitor; - this.approver=approver; - this.menuid=menuid; - this.year=year; - this.title=title; - this.area=area; - this.path=path; - this.menuName=menuName; - this.fileType=fileType; - - } - - - @Id - private Integer id; - - /** - * '报送类型,外部接口上报或本地路径上报' - */ - private String subtype; - - private Integer plevel; - - private Integer status; - - private String submitor; - - private String approver; - - @Column(name = "menuId") - private Long menuid; - - private Integer year; - - private String title; - - private String area; - - private String path; - - @Column(name = "file_type") - private String fileType; - - private Date subtime; - - @Column(name = "review_time") - private Date reviewTime; - - @Column(name = "file_size") - private String fileSize; - - @Column(name = "file_numbers") - private Integer fileNumbers; - - @Column(name = "file_discription") - private String fileDiscription; - - private String[] pathList; - - private String menuName; - - private String userId; - - /** - * @return id - */ - public Integer getId() { - return id; - } - - /** - * @param id - */ - public void setId(Integer id) { - this.id = id; - } - - - - /** - * @return userId - */ - public String getUserId() { - return userId; - } - - /** - * @param userId - */ - public void setUserId(String userId) { - this.userId = userId; - } - - /** - * 获取'报送类型,外部接口上报或本地路径上报' - * - * @return subtype - '报送类型,外部接口上报或本地路径上报' - */ - public String getSubtype() { - return subtype; - } - - /** - * 设置'报送类型,外部接口上报或本地路径上报' - * - * @param subtype '报送类型,外部接口上报或本地路径上报' - */ - public void setSubtype(String subtype) { - this.subtype = subtype; - } - - /** - * @return plevel - */ - public Integer getPlevel() { - return plevel; - } - - /** - * @param plevel - */ - public void setPlevel(Integer plevel) { - this.plevel = plevel; - } - - /** - * @return status - */ - public Integer getStatus() { - return status; - } - - /** - * @param status - */ - public void setStatus(Integer status) { - this.status = status; - } - - /** - * @return submitor - */ - public String getSubmitor() { - return submitor; - } - - /** - * @param submitor - */ - public void setSubmitor(String submitor) { - this.submitor = submitor == null ? null : submitor.trim(); - } - - /** - * @return approver - */ - public String getApprover() { - return approver; - } - - /** - * @param approver - */ - public void setApprover(String approver) { - this.approver = approver == null ? null : approver.trim(); - } - - /** - * @return menuId - */ - public Long getMenuid() { - return menuid; - } - - /** - * @param menuid - */ - public void setMenuid(Long menuid) { - this.menuid = menuid; - } - - /** - * @return year - */ - public Integer getYear() { - return year; - } - - /** - * @param year - */ - public void setYear(Integer year) { - this.year = year; - } - - /** - * @return title - */ - public String getTitle() { - return title; - } - - /** - * @param title - */ - public void setTitle(String title) { - this.title = title == null ? null : title.trim(); - } - - /** - * @return area - */ - public String getArea() { - return area; - } - - /** - * @param area - */ - public void setArea(String area) { - this.area = area == null ? null : area.trim(); - } - - /** - * @return path - */ - public String getPath() { - return path; - } - - /** - * @param path - */ - public void setPath(String path) { - this.path = path == null ? null : path.trim(); - } - - /** - * @return file_type - */ - public String getFileType() { - return fileType; - } - - /** - * @param fileType - */ - public void setFileType(String fileType) { - this.fileType = fileType == null ? null : fileType.trim(); - } - - /** - * @return subtime - */ - public Date getSubtime() { - return subtime; - } - - /** - * @param subtime - */ - public void setSubtime(Date subtime) { - this.subtime = subtime; - } - - /** - * @return review_time - */ - public Date getReviewTime() { - return reviewTime; - } - - /** - * @param reviewTime - */ - public void setReviewTime(Date reviewTime) { - this.reviewTime = reviewTime; - } - - /** - * @return file_size - */ - public String getFileSize() { - return fileSize; - } - - /** - * @param fileSize - */ - public void setFileSize(String fileSize) { - this.fileSize = fileSize == null ? null : fileSize.trim(); - } - - /** - * @return file_numbers - */ - public Integer getFileNumbers() { - return fileNumbers; - } - - /** - * @param fileNumbers - */ - public void setFileNumbers(Integer fileNumbers) { - this.fileNumbers = fileNumbers; - } - - /** - * @return file_discription - */ - public String getFileDiscription() { - return fileDiscription; - } - - /** - * @param fileDiscription - */ - public void setFileDiscription(String fileDiscription) { - this.fileDiscription = fileDiscription == null ? null : fileDiscription.trim(); - } - - - - /** - * @param pathList - */ - public void setPathList(String[] pathList) { - this.pathList = pathList; - } - - public String[] getPathList() { - return this.pathList; - } - - /** - * @param menuName - */ - public void setMenuName(String menuName) { - this.menuName = menuName; - } - - public String getMenuName() { - return this.menuName; - } - - - - public String toString() { - return "{" + - "id=" + id +'\'' + - ",subtype=" + subtype +'\'' + - ",plevel=" + plevel + '\'' + - ",status=" + status+'\'' + - ",submitor=" + submitor +'\'' + - ",approver=" + approver + '\'' + - ",path=" + path+'\'' + - ",year=" + year+'\'' + - ",title=" + title+'\'' + - ",menuName=" + menuName+'\'' + - ",area=" + area + - '}'; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/DataTrace.java b/src/main/java/com/cetc32/dh/entity/DataTrace.java deleted file mode 100644 index e337a82..0000000 --- a/src/main/java/com/cetc32/dh/entity/DataTrace.java +++ /dev/null @@ -1,791 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 轨迹数据实体类 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.entity; - -import java.util.Date; -import javax.persistence.*; - -/** - * 数据管理轨迹数据实体类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@Table(name = "data_trace") -public class DataTrace extends NumberS{ - - /** - * 无参构造函数 - */ - public DataTrace(){ } - - /** - * @param id - * @param createTime - * @param fileTime - * @param status - * @param fileConfig - * @param approveTime - * @param points - * @param approver - * @param userId - * @param security - * @param description - * @param speed - * @param locsource - * @param deviceid - * @param direction - * @param lat - * @param linkid - * @param lon - * @param enccrylatitude - * @param encrylongitude - * @param flag - * @param submitor - * @param fileName - * @param filePath - * @param fileSize - * @param startTime - * @param endTime - * @param menuId - * 有参构造函数 - */ - public DataTrace(Integer id, String security, Date createTime, String fileTime, String description, Integer userId, String approver, String status, - String fileConfig,Date approveTime,String lat,String lon,Integer speed,Integer direction,Integer locsource,Integer coordinateerror, - String deviceid,Integer encrylongitude,Integer enccrylatitude,Boolean flag,String points,String linkid,String submitor,Date startTime, - Date endTime,String filePath,String fileSize, String fileName,Integer menuId){ - this.id=id; - this.security=security; - this.createTime=createTime; - this.fileTime=fileTime; - this.description=description; - this.userId=userId; - this.approver=approver; - this.status=status; - this.fileConfig = fileConfig; - this.approveTime = approveTime; - this.points=points; - this.deviceid=deviceid; - this.enccrylatitude=enccrylatitude; - this.encrylongitude=encrylongitude; - this.flag=flag; - this.speed=speed; - this.direction=direction; - this.lat=lat; - this.lon=lon; - this.locsource=locsource; - this.coordinateerror=coordinateerror; - this.linkid=linkid; - this.submitor=submitor; - this.startTime=startTime; - this.endTime=endTime; - this.filePath=filePath; - this.fileSize=fileSize; - this.fileName=fileName; - this.menuId=menuId; - - - } - - /** - * 编目id - */ - @Column(name = "menu_id") - private Integer menuId; - - /** - * 纬度 - */ - private String lat; - - /** - * 经度 - */ - private String lon; - - /** - * 速度 - */ - private Integer speed; - - /** - * 方向 - */ - private Integer direction; - - /** - * 数据源 - */ - private Integer locsource; - - /** - * 精度 - */ - private Integer coordinateerror; - - /** - * 创建时间 - */ - @Column(name = "create_time") - private Date createTime; - - /** - * 设备ID - */ - @Column(name = "deviceId") - private String deviceid; - - /** - * 偏移经度 - */ - private Integer encrylongitude; - - /** - * 偏移纬度 - */ - private Integer enccrylatitude; - - /** - * 点集wkt点位 - */ - private String points; - - /** - * 标志 - */ - private Boolean flag; - - /** - * linkID - */ - private String linkid; - - /** - * 用户ID - */ - - @Column(name = "user_id") - private Integer userId; - - /** - * 唯一标识 - */ - private Integer id; - - /** - * 审核人 - */ - private String approver; - - /** - * 审核时间 - */ - @Column(name = "approve_time") - private Date approveTime; - - - /** - * 轨迹开始时间 - */ - @Column(name = "start_time") - private Date startTime; - - - /** - * 轨迹结束时间 - */ - @Column(name = "end_time") - private Date endTime; - - - - /** - * 数据文件路径 - */ - @Column(name = "file_path") - private String filePath; - - - - /** - * 数据文件大小 - */ - @Column(name = "file_size") - private String fileSize; - - /** - * 审核状态 - */ - private String status; - - /** - * 数据标识 - */ - @Column(name = "file_config") - private String fileConfig; - - /** - * 文件名字 - */ - @Column(name = "file_name") - private String fileName; - /** - * 数据所属时间 - */ - @Column(name = "file_time") - private String fileTime; - - /** - * 数据描述 - */ - private String description; - - /** - * 安全等级 - */ - private String security; - - - /** - * 提交用户姓名 - */ - @Column(name = "submitor") - private String submitor; - - - /** - * 获取纬度 - * - * @return lat - 纬度 - */ - public String getLat() { - return lat; - } - - /** - * 设置纬度 - * - * @param lat 纬度 - */ - public void setLat(String lat) { - this.lat = lat == null ? null : lat.trim(); - } - - /** - * 获取经度 - * - * @return lon - 经度 - */ - public String getLon() { - return lon; - } - - /** - * 设置经度 - * - * @param lon 经度 - */ - public void setLon(String lon) { - this.lon = lon == null ? null : lon.trim(); - } - - /** - * 获取速度 - * - * @return speed - 速度 - */ - public Integer getSpeed() { - return speed; - } - - /** - * 设置速度 - * - * @param speed 速度 - */ - public void setSpeed(Integer speed) { - this.speed = speed; - } - - /** - * 获取方向 - * - * @return direction - 方向 - */ - public Integer getDirection() { - return direction; - } - - /** - * 设置方向 - * - * @param direction 方向 - */ - public void setDirection(Integer direction) { - this.direction = direction; - } - - /** - * 获取数据源 - * - * @return locSource - 数据源 - */ - public Integer getLocsource() { - return locsource; - } - - /** - * 设置数据源 - * - * @param locsource 数据源 - */ - public void setLocsource(Integer locsource) { - this.locsource = locsource; - } - - /** - * 获取精度 - * - * @return coordinateError - 精度 - */ - public Integer getCoordinateerror() { - return coordinateerror; - } - - /** - * 设置精度 - * - * @param coordinateerror 精度 - */ - public void setCoordinateerror(Integer coordinateerror) { - this.coordinateerror = coordinateerror; - } - - /** - * 获取创建时间 - * - * @return create_time - 创建时间 - */ - public Date getCreateTime() { - return createTime; - } - - /** - * 设置创建时间 - * - * @param createTime 创建时间 - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - /** - * 获取设备ID - * - * @return deviceId - 设备ID - */ - public String getDeviceid() { - return deviceid; - } - - /** - * 设置设备ID - * - * @param deviceid 设备ID - */ - public void setDeviceid(String deviceid) { - this.deviceid = deviceid == null ? null : deviceid.trim(); - } - - /** - * 获取偏移经度 - * - * @return encryLongitude - 偏移经度 - */ - public Integer getEncrylongitude() { - return encrylongitude; - } - - /** - * 设置偏移经度 - * - * @param encrylongitude 偏移经度 - */ - public void setEncrylongitude(Integer encrylongitude) { - this.encrylongitude = encrylongitude; - } - - /** - * 获取偏移纬度 - * - * @return enccryLatitude - 偏移纬度 - */ - public Integer getEnccrylatitude() { - return enccrylatitude; - } - - /** - * 设置偏移纬度 - * - * @param enccrylatitude 偏移纬度 - */ - public void setEnccrylatitude(Integer enccrylatitude) { - this.enccrylatitude = enccrylatitude; - } - - /** - * 获取点集wkt点位 - * - * @return points - 点集wkt点位 - */ - public String getPoints() { - return points; - } - - /** - * 设置点集wkt点位 - * - * @param points 点集wkt点位 - */ - public void setPoints(String points) { - this.points = points == null ? null : points.trim(); - } - - /** - * 获取标志 - * - * @return flag - 标志 - */ - public Boolean getFlag() { - return flag; - } - - /** - * 设置标志 - * - * @param flag 标志 - */ - public void setFlag(Boolean flag) { - this.flag = flag; - } - - /** - * 获取linkID - * - * @return linkID - linkID - */ - public String getLinkid() { - return linkid; - } - - /** - * 设置linkID - * - * @param linkid linkID - */ - public void setLinkid(String linkid) { - this.linkid = linkid == null ? null : linkid.trim(); - } - - /** - * 获取用户ID - * - * @return userId - 用户ID - */ - public Integer getUserId() { - return userId; - } - - /** - * 设置用户ID - * - * @param userId 用户ID - */ - public void setUserId(Integer userId) { - this.userId = userId; - } - - /** - * 获取唯一标识 - * - * @return id - 唯一标识 - */ - public Integer getId() { - return id; - } - - /** - * 设置唯一标识 - * - * @param id 唯一标识 - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * 获取审核人 - * - * @return approver - 审核人 - */ - public String getApprover() { - return approver; - } - - /** - * 设置审核人 - * - * @param approver 审核人 - */ - public void setApprover(String approver) { - this.approver = approver == null ? null : approver.trim(); - } - - /** - * 获取审核时间 - * - * @return approve_time - 审核时间 - */ - public Date getApproveTime() { - return approveTime; - } - - /** - * 设置审核时间 - * - * @param approveTime 审核时间 - */ - public void setApproveTime(Date approveTime) { - this.approveTime = approveTime; - } - - /** - * 获取审核状态 - * - * @return status - 审核状态 - */ - public String getStatus() { - return status; - } - - /** - * 设置审核状态 - * - * @param status 审核状态 - */ - public void setStatus(String status) { - this.status = status == null ? null : status.trim(); - } - - /** - * 获取数据标识 - * - * @return file_config - 数据标识 - */ - public String getFileConfig() { - return fileConfig; - } - - /** - * 设置数据标识 - * - * @param fileConfig 数据标识 - */ - public void setFileConfig(String fileConfig) { - this.fileConfig = fileConfig == null ? null : fileConfig.trim(); - } - - /** - * 获取数据所属时间 - * - * @return file_time - 数据所属时间 - */ - public String getFileTime() { - return fileTime; - } - - /** - * 设置数据所属时间 - * - * @param fileTime 数据所属时间 - */ - public void setFileTime(String fileTime) { - this.fileTime = fileTime == null ? null : fileTime.trim(); - } - - /** - * 获取数据描述 - * - * @return description - 数据描述 - */ - public String getDescription() { - return description; - } - - /** - * 设置数据描述 - * - * @param description 数据描述 - */ - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - /** - * 获取安全等级 - * - * @return security - 安全等级 - */ - public String getSecurity() { - return security; - } - - /** - * 设置安全等级 - * - * @param security 安全等级 - */ - public void setSecurity(String security) { - this.security = security == null ? null : security.trim(); - } - - /** - * 获取提交用户姓名 - * - * @return submitor - 提交用户姓名 - */ - public String getSubmitor() { - return submitor; - } - - /** - * 设置提交用户姓名 - * - * @param submitor 提交用户姓名 - */ - public void setSubmitor(String submitor) { - this.submitor = submitor == null ? null : submitor.trim(); - } - - /** - * 获取文件数据大小 - * - * @return file_size - 文件数据大小 - */ - public String getFileSize() { - return fileSize; - } - - /** - * 设置文件数据大小 - * - * @param fileSize 文件数据大小 - */ - public void setFileSize(String fileSize) { - this.fileSize = fileSize; - } - - - /** - * 获取文件数据路径 - * - * file_path 文件数据路径 - */ - public String getFilePath() { - return filePath; - } - - /** - * 设置文件数据路径 - * - * @param filePath 文件数据大小 - */ - public void setFilePath(String filePath) { - this.filePath = filePath; - } - - /** - * 获取轨迹数据结束时间 - * - * end_Time 轨迹数据结束时间 - */ - public Date getEndTime() { - return endTime; - } - - /** - * 设置轨迹数据结束时间 - * - * @param endTime 轨迹数据结束时间 - */ - public void setEndTime(Date endTime) { - this.endTime = endTime; - } - - /** - * 获取轨迹数据开始时间 - * - * start_Time 轨迹数据开始时间 - */ - public Date getStartTime() { - return startTime; - } - - - /** - * 设置轨迹数据开始时间 - * - * @param startTime 轨迹数据开始时间 - */ - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - /** - * 获取文件数据名称 - * - * file_name 文件数据名称 - */ - public String getFileName() { - return fileName; - } - - /** - * 设置文件数据名称 - * - * @param fileName 文件数据名称 - */ - public void setFileName(String fileName) { - this.fileName = fileName; - } - - /** - * 编目id - * - * @return - * menuId 编目id - */ - public Integer getMenuId() { - return menuId; - } - - /** - * 设置编目id - * - * @param menuId 编目id - */ - public void setMenuId(Integer menuId) { - this.menuId = menuId ; - } - - - - -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/DemandSubmit.java b/src/main/java/com/cetc32/dh/entity/DemandSubmit.java deleted file mode 100644 index 044f8db..0000000 --- a/src/main/java/com/cetc32/dh/entity/DemandSubmit.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.cetc32.dh.entity; - -import org.springframework.util.StringUtils; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class DemandSubmit extends NumberS{ - private Integer id; - - private String projectName; - - private String demandName; - - private String demandDes; - - private String status; - - private String reporter; - - private Integer departmentid; - - private String approver; - - private Date approceTime; - - private String getEndtimeFront; - - private String getApproveFront; - - private String areachoice; - - private Date creattime; - - - public String getGetEndtimeFront() { - return getEndtimeFront; - } - - public void setGetEndtimeFront(String getEndtimeFront) { - this.getEndtimeFront = getEndtimeFront; - } - - public String getGetApproveFront() { - return getApproveFront; - } - - public void setGetApproveFront(String getApproveFront) { - this.getApproveFront = getApproveFront; - } - - private Date endtime; - - private String demandClassify; - - private String demandAttachment; - - private String area; - - private String areaname; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getProjectName() { - return projectName; - } - - public void setProjectName(String projectName) { - this.projectName = projectName; - } - - public String getDemandName() { - return demandName; - } - - public void setDemandName(String demandName) { - this.demandName = demandName; - } - - public String getDemandDes() { - return demandDes; - } - - public void setDemandDes(String demandDes) { - this.demandDes = demandDes; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getReporter() { - return reporter; - } - - public void setReporter(String reporter) { - this.reporter = reporter; - } - - public Integer getDepartmentid() { - return departmentid; - } - - public void setDepartmentid(Integer departmentid) { - this.departmentid = departmentid; - } - - public String getApprover() { - return approver; - } - - public void setApprover(String approver) { - this.approver = approver; - } - - public Date getApproceTime() { - return approceTime; - } - - public void setApproceTime(Date approceTime) { - this.approceTime = approceTime; - } - - public Date getEndtime() throws Exception{ - return endtime; - } - - public void setEndtime(Date endtime) { -// if(!StringUtils.isEmpty(endtime)){ -// DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); -// String endDateStr=df.format(endtime); -// endtime = df.parse(endDateStr); -// } - - this.endtime = endtime; - } - - public String getDemandClassify() { - return demandClassify; - } - - public void setDemandClassify(String demandClassify) { - this.demandClassify = demandClassify; - } - - public String getDemandAttachment() { - return demandAttachment; - } - - public void setDemandAttachment(String demandAttachment) { - this.demandAttachment = demandAttachment; - } - - public String getAreachoice() { - return areachoice; - } - - public void setAreachoice(String areachoice) { - this.areachoice = areachoice; - } - - public Date getCreattime() { - return creattime; - } - - public void setCreattime(Date creattime) { - this.creattime = creattime; - } - - - public String getArea() { - return area; - } - - public void setArea(String area) { - this.area = area; - } - - public String getAreaname() { - return areaname; - } - - public void setAreaname(String areaname) { - this.areaname = areaname; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/EstimateTask.java b/src/main/java/com/cetc32/dh/entity/EstimateTask.java deleted file mode 100644 index c442787..0000000 --- a/src/main/java/com/cetc32/dh/entity/EstimateTask.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.cetc32.dh.entity; - -import java.util.Date; -import java.util.List; - -public class EstimateTask extends NumberS{ - private Integer id; - - private String name; - - private String taskClassify; - - private String taskType; - - private String taskPath; - - private String starttimefront; - - private String endtimefront; - - private Date starttime; - - private Date endtime; - - private String creator; - - private String creattimefront; - - private Date creattime; - - private String status; - - private String approver; - - private Integer demandid; - - private List frontyear; - - private Date approvtime; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getTaskClassify() { - return taskClassify; - } - - public void setTaskClassify(String taskClassify) { - this.taskClassify = taskClassify; - } - - public String getTaskType() { - return taskType; - } - - public void setTaskType(String taskType) { - this.taskType = taskType; - } - - public String getTaskPath() { - return taskPath; - } - - public void setTaskPath(String taskPath) { - this.taskPath = taskPath; - } - - public Date getStarttime() { - return starttime; - } - - public void setStarttime(Date starttime) { - this.starttime = starttime; - } - - public Date getEndtime() { - return endtime; - } - - public void setEndtime(Date endtime) { - this.endtime = endtime; - } - - public String getCreator() { - return creator; - } - - public void setCreator(String creator) { - this.creator = creator; - } - - public Date getCreattime() { - return creattime; - } - - public void setCreattime(Date creattime) { - this.creattime = creattime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getApprover() { - return approver; - } - - public void setApprover(String approver) { - this.approver = approver; - } - - public Integer getDemandid() { - return demandid; - } - - public void setDemandid(Integer demandid) { - this.demandid = demandid; - } - - public String getStarttimefront() { - return starttimefront; - } - - public void setStarttimefront(String starttimefront) { - this.starttimefront = starttimefront; - } - - public String getEndtimefront() { - return endtimefront; - } - - public void setEndtimefront(String endtimefront) { - this.endtimefront = endtimefront; - } - - public String getCreattimefront() { - return creattimefront; - } - - public void setCreattimefront(String creattimefront) { - this.creattimefront = creattimefront; - } - - public List getFrontyear() { - return frontyear; - } - - public void setFrontyear(List frontyear) { - this.frontyear = frontyear; - } - - public Date getApprovtime() { - return approvtime; - } - - public void setApprovtime(Date approvtime) { - this.approvtime = approvtime; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/FileToMenu.java b/src/main/java/com/cetc32/dh/entity/FileToMenu.java deleted file mode 100644 index fa1eedd..0000000 --- a/src/main/java/com/cetc32/dh/entity/FileToMenu.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 文件、目录 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.entity; - -import javax.persistence.*; - -/** - * @Title: RoleController - * @Description: 文件、目录 - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 13:43 - */ -@Table(name = "file_to_menu") -public class FileToMenu { - - /** - * 菜单 menuId - */ - @Column(name = "menu_id") - private Long menuId; - - /** - * 文件 fileId - */ - @Column(name = "file_id") - private Long fileId; - - /** - * @return menu_id - */ - public Long getMenuId() { - return menuId; - } - - /** - * @param menuId - */ - public void setMenuId(Long menuId) { - this.menuId = menuId; - } - - /** - * @return file_id - */ - public Long getFileId() { - return fileId; - } - - /** - * @param fileId - */ - public void setFileId(Long fileId) { - this.fileId = fileId; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/DataFileMapper.java b/src/main/java/com/cetc32/dh/mybatis/DataFileMapper.java deleted file mode 100644 index ab8367b..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DataFileMapper.java +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理文件、普通数据数据库接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.DataFile; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataFileMapper - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Repository -public interface DataFileMapper extends Mapper { - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个文件数据 - * @param dataFile 文件数据 - * @return 返回插入结果 - * */ - public Integer insertOne(DataFile dataFile); - - public Integer insertGain(DataFile dataFile); - - /** - * 更新一个文件数据 - * @param dataFile 文件数据 - * @return 返回更新结果 - * */ - public Integer updateById(DataFile dataFile); - - /** - * 根据id查询文件数据 - * @param id 文件id - * @return 返回查询结果 - * */ - public DataFile queryById(Long id); - - /** - * 根据时间查询文件数据 - * @param time 文件时间 - * @return 返回查询结果 - * */ - public List queryByTime(Date time); - - /** - * 根据区域查询文件数据 - * @param region 文件所属区域 - * @return 返回查询结果 - * */ - public List queryByRegion(String region); - - /** - * 根据安全等级查询文件数据 - * @param fileSecurity 文件安全等级 - * @return 返回查询结果 - * */ - public List queryAllByFileSecurity(String fileSecurity); - - /** - * 根据安状态和用户查询文件数据 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataFile dataFile); - - /** - * 根据安全状态和用户统计文件数据 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - public Integer countByStatusAndUser(DataFile dataFile); - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, DataFile dataFile); - - /** - * 根据输入条件统计文件数据量 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - public Integer countFilesByObj(@Param("dataFile")DataFile dataFile); - - /** - * 根据id删除一个文件数据 - * @param id 文件id - * @return 返回删除结果 - * */ - public Integer deleteById(Long id); - - /** - * 删除编目menuId下的所有文件数据 - * @param menuId 编目id - * @return 返回删除结果 - * */ - public Integer deleteByMenuId(Integer menuId); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/DataMenuMapper.java b/src/main/java/com/cetc32/dh/mybatis/DataMenuMapper.java deleted file mode 100644 index 46034b8..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DataMenuMapper.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目数据库接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.DataMenu; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; -import java.util.List; - -/** - * @Title: DataMenuMapper - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Repository -public interface DataMenuMapper extends Mapper { - - /** - * 统计所有的编目数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个编目数据 - * @param dataMenu 编目数据 - * @return 返回插入结果 - * */ - public Integer insertOne(DataMenu dataMenu); - - /** - * 更新一个编目数据 - * @param dataMenu 编目数据 - * @return 返回更新结果 - * */ - public Integer updateById(DataMenu dataMenu); - - /** - * 根据id查询编目数据 - * @param id 编目id - * @return 返回查询结果 - * */ - public DataMenu queryById(Long id); - - /** - * 根据id删除一个编目数据 - * @param id 编目id - * @return 返回删除结果 - * */ - public Integer deleteById(Long id); - - /** - * 查询所有父节点为pid的编目数据 - * @param pid 编目父节点pid - * @return 返回查询结果 - * */ - public DataMenu queryByPid(Long pid); - - /** - *查询所有编目数据 - * @return 返回查询结果 - * */ - public List selectAll(); - - /** - * 查询所有以id为父节点的编目数据 - * @return 返回查询结果 - * */ - public List queryByPIdSatisfyId(Long id); - - - public DataMenu queryByKey(String key); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/DataPlpMapper.java b/src/main/java/com/cetc32/dh/mybatis/DataPlpMapper.java deleted file mode 100644 index 6f2eb08..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DataPlpMapper.java +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 点线面数据库接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - */ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.beans.DataCollected; -import com.cetc32.dh.entity.DataPlp; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataPlpMapper - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Repository -public interface DataPlpMapper extends Mapper { - /** - * 统计所有的点线面数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个点线面数据 - * @param dataPlp 插入的点线面数据 - * @return 返回是否插入成功 - * */ - public Integer insertOne(DataPlp dataPlp); - - - public Integer insertCollected(DataCollected data); - - - public List selectPloygon(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("polygon") String polygon); - - /** - * 根据id更新点线面数据记录 - * @param dataPlp 点线面数据 - * @return 返回是否更新成功 - * */ - public Integer updateById(DataPlp dataPlp); - - /** - * 根据id删除一个点线面数据记录 - * @param id 点线面数据的id - * @return 返回是否删除成功 - * */ - public Integer deleteById(Integer id); - - /** - * 根据id查询点线面数据记录 - * @param id 点线面数据的id - * @return 返回查询结果 - * */ - public DataPlp queryById(Integer id); - - /** - * 根据时间查询点线面数据 - * @param time 时间 - * @return 返回查询结果 - * */ - public List queryByTime(Date time); - - /** - * 根据区域查询点线面数据记录 - * @param region 区域 - * @return 返回查询结果 - * */ - public List queryByRegion(String region); - - /** - * 根据安全等级查询点线面数据记录 - * @param security 安全等级 - * @return 返回查询结果 - * */ - public List queryAllByFileSecurity(String security); - - /** - * 根据状态和审核用户查询点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataPlp dataPlp); - - /** - * 统计满足状态和审核用户条件的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public Integer countByStatusAndUser(DataPlp dataPlp); - - /** - * 根据输入的条件动态查询点线面数据 - * @param offset 偏移量 - * @param limit 每页显示的条数 - * @return 返回查询结果 - * */ - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, DataPlp dataPlp); - - /** - * 根据输入的条件动态统计查询的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public Integer countFilesByObj(@Param("dataPlp")DataPlp dataPlp); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/DataSubmitMapper.java b/src/main/java/com/cetc32/dh/mybatis/DataSubmitMapper.java deleted file mode 100644 index 8ce3bae..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DataSubmitMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 数据库接口文件 - * @author: 徐文远 - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - */ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.DataSubmit; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface DataSubmitMapper { - /** - * 插入一个提交记录 - * @param dataSubmit 插入的数据集合 - * @return 反馈是否插入成功 - * */ - Integer insertOne(DataSubmit dataSubmit); - - /** - * 根据ID 更新提交的信息 - * @param dataSubmit 更新的数据集合 - * @return 反馈是否更新成功 - * */ - Integer updateById(DataSubmit dataSubmit); - - /** - * 根据ID 更新提交的信息 - * @param dataSubmit 更新的数据集合,通常dataSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据 - * */ - List selectMine(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param dataSubmit 通常dataSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countMine(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param dataSubmit 通常dataSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countByStatusAndUser(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param ds 通常dataSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据记录 - * */ - List selectByStatusAndUser(DataSubmit ds); - - DataSubmit queryById(Integer id); -} diff --git a/src/main/java/com/cetc32/dh/mybatis/DataTraceMapper.java b/src/main/java/com/cetc32/dh/mybatis/DataTraceMapper.java deleted file mode 100644 index c6cd324..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DataTraceMapper.java +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理轨迹数据库接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.mybatis; - - -import com.cetc32.dh.entity.DataTrace; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataTraceMapper - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Repository -public interface DataTraceMapper extends Mapper { - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回插入结果 - * */ - public Integer insertOne(DataTrace dataTrace); - - /** - * 更新一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回更新结果 - * */ - public Integer updateById(DataTrace dataTrace); - - /** - * 删除一个轨迹数据 - * @param id 轨迹数据id - * @return 返回删除结果 - * */ - public Integer deleteById(Integer id); - - /** - * 根据id查询轨迹数据 - * @param id 轨迹id - * @return 返回查询结果 - * */ - public DataTrace queryById(Integer id); - - /** - * 根据时间查询轨迹数据 - * @param time 轨迹数据时间 - * @return 返回查询结果 - * */ - public List queryByTime(Date time); - - /** - * 根据区域查询轨迹数据 - * @param region 轨迹数据所属区域 - * @return 返回查询结果 - * */ - public List queryByRegion(String region); - - /** - * 根据安全等级查询轨迹数据 - * @param security 轨迹数据安全等级 - * @return 返回查询结果 - * */ - public List queryAllByFileSecurity(String security); - - /** - * 根据安状态和用户查询轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataTrace dataTrace); - - /** - * 根据安全状态和用户统计轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回统计结果 - * */ - public Integer countByStatusAndUser(DataTrace dataTrace); - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, DataTrace dataTrace); - - - public Integer countFilesByObj(@Param("dataTrace")DataTrace dataTrace); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/DemandSubmitMapper.java b/src/main/java/com/cetc32/dh/mybatis/DemandSubmitMapper.java deleted file mode 100644 index 3e656c7..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/DemandSubmitMapper.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.cetc32.dh.mybatis; - - - -import com.cetc32.dh.dto.DemandSubmitDTO; -import com.cetc32.dh.entity.DemandSubmit; -import com.cetc32.dh.entity.vDemand; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface DemandSubmitMapper { - - List findAll(); - - int deleteByPrimaryKey(Integer id); - - int insert(DemandSubmit record); - - int insertSelective(DemandSubmit record); - - DemandSubmit selectByPrimaryKey(Integer id); - - List selectByLimit(@Param("offset") Integer offset,@Param("limit") Integer limit); - - int countDemand(); - - int updateByPrimaryKeySelective(DemandSubmit record); - - int updateByPrimaryKey(DemandSubmit record); - - List findByKeyWord(String keyword); - - /** - * 根据ID 更新提交的信息 - * @param name 更新的数据集合,通常demandSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据 - * */ - List selectMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常demandSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param demandSubmit 通常demandSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countByStatusAndUser(DemandSubmit demandSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param demandSubmit 通常demandSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据记录 - * */ - List selectByStatusAndUser(DemandSubmit demandSubmit); - - List queryFilesByObj(vDemand vdemand); - - List searchbystatus(DemandSubmitDTO demandSubmitDTO); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/EstimateTaskMapper.java b/src/main/java/com/cetc32/dh/mybatis/EstimateTaskMapper.java deleted file mode 100644 index 0113b16..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/EstimateTaskMapper.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.cetc32.dh.mybatis; - - -import com.cetc32.dh.entity.EstimateTask; -import com.cetc32.dh.entity.vEstimate; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface EstimateTaskMapper { - - List findAll(); - int deleteByPrimaryKey(Integer id); - - int insert(EstimateTask record); - - int insertSelective(EstimateTask record); - - - - EstimateTask selectByPrimaryKey(Integer id); - - List selectByLimit(@Param("offset") Integer offset,@Param("limit") Integer limit); - - int countEstimate(); - - - int updateByPrimaryKeySelective(EstimateTask record); - - int updateByPrimaryKey(EstimateTask record); - - List findByKeyWord(String keyword); - - /** - * 根据ID 更新提交的信息 - * @param name 更新的数据集合,通常demandSubmit一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据 - * */ - List selectMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常estimateTask一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param estimateTask 通常estimateTask一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countByStatusAndUser(EstimateTask estimateTask); - - /** - * 根据当前用户统计所有任务个数 - * @param estimateTask 通常estimateTask一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据记录 - * */ - List selectByStatusAndUser(EstimateTask estimateTask); - - List queryFilesByObj(vEstimate vestimate); - - List allservice(String classify); - - List alltaskclassify(); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/FileToMenuMapper.java b/src/main/java/com/cetc32/dh/mybatis/FileToMenuMapper.java deleted file mode 100644 index fe028b8..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/FileToMenuMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理文件、视图数据库实体操作 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.FileToMenu; -import tk.mybatis.mapper.common.Mapper; -import org.springframework.stereotype.Repository; -import java.util.List; - -/** - * @Title: FileToMenuMapper - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Repository -public interface FileToMenuMapper extends Mapper { - - public List selectByFileId(Long fileId); - - public List selectByMenuId(Long menuId); - - public int insert(FileToMenu fileToMenu); - - public FileToMenu selectByFileIdAndMenuId(Long menuId,Long fileId); - - public Integer deleteFtoM(Long menuId,Long fileId); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/OptionsMapper.java b/src/main/java/com/cetc32/dh/mybatis/OptionsMapper.java deleted file mode 100644 index 3f7457b..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/OptionsMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.FileToMenu; -import com.cetc32.dh.entity.Options; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; -import java.util.List; - -@Repository -public interface OptionsMapper extends Mapper { - - public List selectByCategory(String category); - -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/service/DataFileService.java b/src/main/java/com/cetc32/dh/service/DataFileService.java deleted file mode 100644 index bd917e6..0000000 --- a/src/main/java/com/cetc32/dh/service/DataFileService.java +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理文件service接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataFileService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -public interface DataFileService { - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - public Integer count(); - - /** - * 插入一个文件数据 - * @param dataFile 文件数据 - * @return 返回插入结果 - * */ - public Integer insertDataFile(DataFile dataFile); - - public Integer insertGain(DataFile dataFile); - - /** - * 更新一个文件数据 - * @param dataFile 文件数据 - * @return 返回更新结果 - * */ - public Integer updatebyId(DataFile dataFile); - - /** - * 根据id删除一个文件数据 - * @param id 文件id - * @return 返回删除结果 - * */ - public Integer deleteById(Long id); - - /** - * 根据id查询文件数据 - * @param id 文件id - * @return 返回查询结果 - * */ - public DataFile queryById(Long id); - - /** - * 根据fileId查询文件数据所在的编目信息 - * @param fileId 文件id - * @return 返回查询结果 - * */ - public List showMenusByFileId(Long fileId); - - /** - * 根据时间查询文件数据 - * @param time 文件时间 - * @return 返回查询结果 - * */ - public List queryByTime(Date time); - - /** - * 根据区域查询文件数据 - * @param region 文件所属区域 - * @return 返回查询结果 - * */ - public List queryByRegion(String region); - - /** - * 根据安全等级查询文件数据 - * @param fileSecurity 文件安全等级 - * @return 返回查询结果 - * */ - public List queryAllByFileSecurity(String fileSecurity); - - /** - * 根据安状态和用户查询文件数据 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataFile dataFile); - - /** - * 根据安全状态和用户统计文件数据 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - public Integer countByStatusAndUser(DataFile dataFile); - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - public List queryFilesByObj(Integer offset, Integer limit, DataFile dataFile); - - /** - * 根据输入条件统计文件数据量 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - public Integer countFilesByObj(DataFile dataFile); - - /** - * 删除编目menuId下的所有文件数据 - * @param menuId 编目id - * @return 返回删除结果 - * */ - public Integer deleteByMenuId(Integer menuId); - -} diff --git a/src/main/java/com/cetc32/dh/service/DataMenuService.java b/src/main/java/com/cetc32/dh/service/DataMenuService.java deleted file mode 100644 index 2997b03..0000000 --- a/src/main/java/com/cetc32/dh/service/DataMenuService.java +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目服务service接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.dto.DataMenuDTO; -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import java.util.List; - -/** - * @Title: DataMenuService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/13 11:19 - */ -public interface DataMenuService { - - /** - * 统计所有的编目数据个数 - * @return 返回统计结果 - * */ - public Integer count(); - - /** - * 插入一个编目数据 - * @param dataMenu 编目数据 - * @return 返回插入结果 - * */ - public Integer insertDataMenu(DataMenu dataMenu); - - /** - * 根据id查询编目数据 - * @param id 编目id - * @return 返回查询结果 - * */ - public DataMenu queryById(Long id); - - /** - * 根据id删除一个编目数据 - * @param id 编目id - * @return 返回删除结果 - * */ - public Integer deleteById(Long id); - - /** - * 根据父节点pid查询编目 - * @param pid 父节点 - * @return 返回查询结果 - * */ - public DataMenu queryByPid(Long pid); - - /** - * 查询所有以id为父节点的编目 - * @param id 编目id - * @return 返回查询结果 - * */ - public List queryByPIdSatisfyId(Long id); - - /** - * 更新编目数据 - * @param dataMenu 编目数据 - * @return 返回更新结果 - * */ - public Integer updatebyId(DataMenu dataMenu); - - /** - * 查询编目id节点下的编目树信息 - * @param id 编目id - * @return 返回查询结果 - * */ - public DataMenuDTO getMenuTree(Long id); - - /** - * 删除编目id下的树 - * @param id 编目id - * @return 返回删除结果 - * */ - public Integer deleteMenuTree(Long id); - - /** - * 新增一个编目数据 - * @param dataMenu 编目数据 - * @return 返回新增结果 - * */ - public String addDataMenu(DataMenu dataMenu ); - - /** - * 查询所有的编目数据 - * @return 返回查询结果 - * */ - public List selectAll(); - - /** - * 查询编目id下的所有文件 - * @param menuId 编目id - * @return 返回查询结果 - * */ - public List showFilesByMenuId(Long menuId); - - /** - * 统计编目id下子树中所有节点的数目 - * @param id 编目id - * @return 返回统计结果 - * */ - public Integer countMenuChild(Long id); - - - public DataMenu queryByKey(String key); - -} diff --git a/src/main/java/com/cetc32/dh/service/DataPlpService.java b/src/main/java/com/cetc32/dh/service/DataPlpService.java deleted file mode 100644 index 7d71ca6..0000000 --- a/src/main/java/com/cetc32/dh/service/DataPlpService.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目服务service接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.beans.DataCollected; -import com.cetc32.dh.entity.DataPlp; -import org.apache.ibatis.annotations.Param; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataPlpService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -public interface DataPlpService { - - - public Integer insertCollected(DataCollected data); - - - public List selectPloygon(Date startTime, Date endTime, String polygon); - - /** - * 统计所有的点线面数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个点线面数据 - * @param dataPlp 插入的点线面数据 - * @return 返回是否插入成功 - * */ - public Integer insertOne(DataPlp dataPlp); - - /** - * 根据id更新点线面数据记录 - * @param dataPlp 点线面数据 - * @return 返回是否更新成功 - * */ - public Integer updateById(DataPlp dataPlp); - - /** - * 根据id删除一个点线面数据记录 - * @param id 点线面数据的id - * @return 返回是否删除成功 - * */ - public Integer deleteById(Integer id); - - /** - * 根据id查询点线面数据记录 - * @param id 点线面数据的id - * @return 返回查询结果 - * */ - public DataPlp queryById(Integer id); - - /** - * 根据状态和审核用户查询点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataPlp dataPlp); - - /** - * 统计满足状态和审核用户条件的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public Integer countByStatusAndUser(DataPlp dataPlp); - - /** - * 根据输入的条件动态查询点线面数据 - * @param offset 偏移量 - * @param limit 每页显示的条数 - * @return 返回查询结果 - * */ - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, DataPlp dataPlp); - - /** - * 根据输入的条件动态统计查询的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - public Integer countFilesByObj(DataPlp dataPlp); - -} diff --git a/src/main/java/com/cetc32/dh/service/DataSubmitService.java b/src/main/java/com/cetc32/dh/service/DataSubmitService.java deleted file mode 100644 index 4c0bc83..0000000 --- a/src/main/java/com/cetc32/dh/service/DataSubmitService.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: service层接口文件 - * @author: 徐文远 - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - * 更改描述:无 - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.DataSubmit; -import java.util.List; - -public interface DataSubmitService { - /** - * 提交请求后数据插入操作 - * @param dataSubmit 更新到数库的数据 - * @return 反馈是否成功 - * **/ - public Integer insertDataSubmit(DataSubmit dataSubmit); - - /** - * 拒绝用户此时数据导入申请 - * @param ds 写入到数库的数据 - * @return 反馈是否成功 - * **/ - public Integer rejectSubmit(DataSubmit ds); - - /** - * 接受用户此时数据导入申请 - * @param ds 更新到数库的数据 - * @return 反馈是否成功 - * **/ - public Integer acceptSubmit(DataSubmit ds); - - /** - * 查询当前登陆用户提交的导入申请 - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMySubmit(DataSubmit dataSubmit); - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMyApprove(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param dataSubmit 通常dataSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineSubmit(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param dataSubmit 通常dataSubmit一次查询只包含approver。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineApprov(DataSubmit dataSubmit); - - /** - * 查询当前登陆用户需要审核的提交信息 - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectReadyApprove(DataSubmit dataSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param dataSubmit 通常dataSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countReadyApprove(DataSubmit dataSubmit); - - DataSubmit queryById(Integer id); - -} diff --git a/src/main/java/com/cetc32/dh/service/DataTraceService.java b/src/main/java/com/cetc32/dh/service/DataTraceService.java deleted file mode 100644 index 8bf508f..0000000 --- a/src/main/java/com/cetc32/dh/service/DataTraceService.java +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理轨迹service接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.DataTrace; -import org.apache.ibatis.annotations.Param; -import java.util.List; - -/** - * @Title: DataTraceService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -public interface DataTraceService { - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - public Integer countAll(); - - /** - * 插入一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回插入结果 - * */ - public Integer insertOne(DataTrace dataTrace); - - /** - * 更新一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回更新结果 - * */ - public Integer updateById(DataTrace dataTrace); - - /** - * 更新一个轨迹数据 - * @param id 轨迹数据id - * @return 返回更新结果 - * */ - public Integer deleteById(Integer id); - - /** - * 根据id查询轨迹数据 - * @param id 轨迹id - * @return 返回查询结果 - * */ - public DataTrace queryById(Integer id); - - /** - * 根据安状态和用户查询轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - public List selectByStatusAndUser(DataTrace dataTrace); - - /** - * 根据安全状态和用户统计轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回统计结果 - * */ - public Integer countByStatusAndUser(DataTrace dataTrace); - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, DataTrace dataTrace); - - /** - * 根据输入条件统计轨迹数据量 - * @param dataTrace 轨迹数据 - * @return 返回统计结果 - * */ - public Integer countFilesByObj(DataTrace dataTrace); -} diff --git a/src/main/java/com/cetc32/dh/service/DemandSubmitService.java b/src/main/java/com/cetc32/dh/service/DemandSubmitService.java deleted file mode 100644 index f835062..0000000 --- a/src/main/java/com/cetc32/dh/service/DemandSubmitService.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.cetc32.dh.service; -import com.cetc32.dh.dto.DemandSubmitDTO; -import com.cetc32.dh.entity.DemandSubmit; -import com.cetc32.dh.entity.vDemand; - -import java.util.List; - -public interface DemandSubmitService { - public List findAll(); - public int deleteByPrimaryKey(Integer id); - public int insert(DemandSubmit demandSubmit); - public int insertSelective(DemandSubmit demandSubmit); - public DemandSubmit selectByPrimaryKey(Integer id); - public List selectByLimit(Integer offset,Integer limit); - public int countDemand(); - public int updateByPrimaryKeySelective(DemandSubmit demandSubmit); - public int updateByPrimaryKey(DemandSubmit demandSubmit); - public List findByKeyWord(String keyword); - - /** - * 查询当前登陆用户提交的导入申请 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMySubmit(String name); - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMyApprove(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常demandSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineSubmit(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常demandSubmit一次查询只包含approver。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineApprov(String name); - - /** - * 查询当前登陆用户需要审核的提交信息 - * @param demandSubmit 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectReadyApprove(DemandSubmit demandSubmit); - - /** - * 根据当前用户统计所有任务个数 - * @param demandSubmit 通常demandSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countReadyApprove(DemandSubmit demandSubmit); - - List queryFilesByObj(vDemand vdemand); - - List searchbystatus(DemandSubmitDTO demandSubmitDTO); -} diff --git a/src/main/java/com/cetc32/dh/service/EstimateTaskService.java b/src/main/java/com/cetc32/dh/service/EstimateTaskService.java deleted file mode 100644 index 7fa118b..0000000 --- a/src/main/java/com/cetc32/dh/service/EstimateTaskService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.cetc32.dh.service; - - -import com.cetc32.dh.entity.EstimateTask; -import com.cetc32.dh.entity.vEstimate; - -import java.util.List; - -public interface EstimateTaskService { - public List findAll(); - public int deleteByPrimaryKey(Integer id); - public int insert(EstimateTask estimateTask); - public int insertSelective(EstimateTask estimateTask); - public EstimateTask selectByPrimaryKey(Integer id); - public List selectByLimit(Integer offset, Integer limit); - public int countEstimate(); - public int updateByPrimaryKeySelective(EstimateTask estimateTask); - public int updateByPrimaryKey(EstimateTask estimateTask); - public List findByKeyWord(String keyword); - - /** - * 查询当前登陆用户提交的导入申请 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMySubmit(String name); - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMyApprove(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常estimateTask一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineSubmit(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常estimateTask一次查询只包含approver。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineApprov(String name); - - /** - * 查询当前登陆用户需要审核的提交信息 - * @param estimateTask 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectReadyApprove(EstimateTask estimateTask); - - /** - * 根据当前用户统计所有任务个数 - * @param estimateTask 通常estimateTask一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countReadyApprove(EstimateTask estimateTask); - - List queryFilesByObj(vEstimate vestimate); - - List allservice(String classify); - - List alltaskclassify(); -} diff --git a/src/main/java/com/cetc32/dh/service/FileToMenuService.java b/src/main/java/com/cetc32/dh/service/FileToMenuService.java deleted file mode 100644 index a91d2f9..0000000 --- a/src/main/java/com/cetc32/dh/service/FileToMenuService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.FileToMenu; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface FileToMenuService { - - public int insert(FileToMenu fileToMenu); - - public FileToMenu selectByFileIdAndMenuId(Long menuId, Long fileId); - - public Integer deleteFtoM(Long menuId,Long fileId); -} diff --git a/src/main/java/com/cetc32/dh/service/OptionsService.java b/src/main/java/com/cetc32/dh/service/OptionsService.java deleted file mode 100644 index 6af6448..0000000 --- a/src/main/java/com/cetc32/dh/service/OptionsService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.cetc32.dh.service; - -import java.util.List; -import com.cetc32.dh.entity.Options; - -public interface OptionsService { - - public List selectByCategory(String category); -} diff --git a/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java index 9918185..8af8c57 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java @@ -1,20 +1,14 @@ package com.cetc32.dh.service.impl; import com.cetc32.dh.dto.AreaCommonDTO; -import com.cetc32.dh.dto.DataMenuDTO; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.AreaCommonExample; -import com.cetc32.dh.entity.DataMenu; import com.cetc32.dh.mybatis.AreaCommonMapper; import com.cetc32.dh.service.AreaCommonService; -import org.omg.CORBA.ARG_IN; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; import java.util.ArrayList; -import java.util.Calendar; import java.util.List; @Service diff --git a/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java deleted file mode 100644 index 59318f1..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java +++ /dev/null @@ -1,306 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理文件service接口实现 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.*; -import com.cetc32.dh.mybatis.DataFileMapper; -import com.cetc32.dh.service.DataFileService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.cetc32.dh.mybatis.FileToMenuMapper; -import com.cetc32.dh.mybatis.DataMenuMapper; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataFileServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:04 - */ -@Service -public class DataFileServiceImpl implements DataFileService { - - @Autowired - public DataFileMapper dataFileMapper; - - @Autowired - public FileToMenuMapper fileToMenuMapper; - - @Autowired - public DataMenuMapper dataMenuMapper; - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - @Override - public Integer count(){ - return dataFileMapper.countAll(); - } - - /** - * 插入一个文件数据 - * @param dataFile 文件数据 - * @return 返回插入结果 - * */ - @Override - public Integer insertDataFile(DataFile dataFile){ - return dataFileMapper.insertOne(dataFile); - } - - /** - * 成果数据上报 - * @param dataFile - * @return Integer - */ - @Override - public Integer insertGain(DataFile dataFile){ - return dataFileMapper.insertGain(dataFile); - } - - - /** - * 更新一个文件数据 - * @param dataFile 文件数据 - * @return 返回更新结果 - * */ - @Override - public Integer updatebyId(DataFile dataFile){ - return dataFileMapper.updateById(dataFile); - } - - /** - * 根据id删除一个文件数据 - * @param id 文件id - * @return 返回删除结果 - * */ - @Override - public Integer deleteById(Long id){ - return dataFileMapper.deleteById(id); - } - - /** - * 根据id查询文件数据 - * @param id 文件id - * @return 返回查询结果 - * */ - @Override - public DataFile queryById(Long id){ - return dataFileMapper.queryById(id); - } - - /** - * 根据fileId查询文件数据所在的编目信息 - * @param fileId 文件id - * @return 返回查询结果 - * */ - @Override - public List showMenusByFileId(Long fileId){ - List fileIds=fileToMenuMapper.selectByFileId(fileId); - List dataMenuList=new ArrayList(); - for(int i=0;i queryByFileStorageId(Long fileStorageId){ -// return dataFileMapper.queryByFileStorageId(fileStorageId); -// } - - /** - * 根据时间查询文件数据 - * @param time 文件时间 - * @return 返回查询结果 - * */ - @Override - public List queryByTime(Date time){ - return dataFileMapper.queryByTime(time); - } - - /** - * 根据区域查询文件数据 - * @param region 文件所属区域 - * @return 返回查询结果 - * */ - @Override - public List queryByRegion(String region){ - return dataFileMapper.queryByRegion(region); - } - - /** - * 根据安全等级查询文件数据 - * @param fileSecurity 文件安全等级 - * @return 返回查询结果 - * */ - @Override - public List queryAllByFileSecurity(String fileSecurity){ - return dataFileMapper.queryAllByFileSecurity(fileSecurity); - } - - /** - * 根据安状态和用户查询文件数据 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - @Override - public List selectByStatusAndUser(DataFile dataFile) { - - return dataFileMapper.selectByStatusAndUser(dataFile); - } - - /** - * 删除编目menuId下的所有文件数据 - * @param menuId 编目id - * @return 返回删除结果 - * */ - @Override - public Integer deleteByMenuId(Integer menuId){ - return dataFileMapper.deleteByMenuId(menuId); - } - - /** - * 根据安全状态和用户统计文件数据 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - @Override - public Integer countByStatusAndUser(DataFile dataFile) { - return dataFileMapper.countByStatusAndUser(dataFile); - } - - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataFile 文件数据 - * @return 返回查询结果 - * */ - @Override - public List queryFilesByObj(Integer offset, Integer limit, DataFile dataFile){ - System.out.println(dataFile); - //文件名称 - if(dataFile.getFileName()!=null){ - String fileName="%"+dataFile.getFileName()+"%"; - dataFile.setFileName(fileName); - } - //数据标识 - if(dataFile.getFileConfig()!=null){ - String fileConfig="%"+dataFile.getFileConfig()+"%"; - dataFile.setFileConfig(fileConfig); - } - //区域 - if(dataFile.getRegion()!=null){ - String fileRegion="%"+dataFile.getRegion()+"%"; - if(fileRegion.contains("全部区域")){ - fileRegion=null; - } - dataFile.setRegion(fileRegion); - } -// if(StringUtils.isEmpty(dataFile.getRegion())||dataFile.getRegion().equals("全部区域")){ -// dataFile.setRegion(null); -// } - //审核状态 - if(StringUtils.isEmpty(dataFile.getStatus())||dataFile.getStatus().equals("全部审核状态")){ - dataFile.setStatus(null); - } - //图像地理坐标系 - if(StringUtils.isEmpty(dataFile.getGcs())||dataFile.getGcs().equals("全部地理坐标系")){ - dataFile.setGcs(null); - } - //图像比例尺 - if(StringUtils.isEmpty(dataFile.getScale())||dataFile.getScale().equals("全部图像比例尺")){ - dataFile.setScale(null); - } - //经度 - if(StringUtils.isEmpty(dataFile.getLan())||dataFile.getLan().equals("全部经度")){ - dataFile.setLan(null); - } - //纬度 - if(StringUtils.isEmpty(dataFile.getLon())||dataFile.getLon().equals("全部纬度")){ - dataFile.setLon(null); - } - -// if(StringUtils.isEmpty(dataFile.getFileSecurity()) ||dataFile.getFileSecurity().equals("全部级别")){ -// dataFile.setFileSecurity(null); -// } - - return dataFileMapper.queryFilesByObj(offset,limit,dataFile); - } - - /** - * 根据输入条件统计文件数据量 - * @param dataFile 文件数据 - * @return 返回统计结果 - * */ - @Override - public Integer countFilesByObj(DataFile dataFile){ - - System.out.println(dataFile); - System.out.println(dataFile); - //文件名称 - if(dataFile.getFileName()!=null){ - String fileName="%"+dataFile.getFileName()+"%"; - dataFile.setFileName(fileName); - } - //数据标识 - if(dataFile.getFileConfig()!=null){ - String fileConfig="%"+dataFile.getFileConfig()+"%"; - dataFile.setFileConfig(fileConfig); - } - //区域 - if(dataFile.getRegion()!=null){ - String fileRegion="%"+dataFile.getRegion()+"%"; - if(fileRegion.contains("全部")){ - fileRegion=null; - } - dataFile.setRegion(fileRegion); - } -// if(StringUtils.isEmpty(dataFile.getRegion())||dataFile.getRegion().equals("全部区域")){ -// dataFile.setRegion(null); -// } - //审核状态 - if(StringUtils.isEmpty(dataFile.getStatus())||dataFile.getStatus().equals("全部审核状态")){ - dataFile.setStatus(null); - } - //图像地理坐标系 - if(StringUtils.isEmpty(dataFile.getGcs())||dataFile.getGcs().equals("全部地理坐标系")){ - dataFile.setGcs(null); - } - //图像比例尺 - if(StringUtils.isEmpty(dataFile.getScale())||dataFile.getScale().equals("全部图像比例尺")){ - dataFile.setScale(null); - } - //经度 - if(StringUtils.isEmpty(dataFile.getLan())||dataFile.getLan().equals("全部经度")){ - dataFile.setLan(null); - } - //纬度 - if(StringUtils.isEmpty(dataFile.getLon())||dataFile.getLon().equals("全部纬度")){ - dataFile.setLon(null); - } - -// if(StringUtils.isEmpty(dataFile.getFileSecurity()) ||dataFile.getFileSecurity().equals("全部级别")){ -// dataFile.setFileSecurity(null); -// } - - return dataFileMapper.countFilesByObj(dataFile); - } - - - - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/DataMenuServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataMenuServiceImpl.java deleted file mode 100644 index 7f73e36..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DataMenuServiceImpl.java +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理目录接口service实现 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.dto.DataMenuDTO; -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import com.cetc32.dh.mybatis.DataFileMapper; -import com.cetc32.dh.mybatis.DataMenuMapper; -import com.cetc32.dh.service.DataFileService; -import com.cetc32.dh.service.DataMenuService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.cetc32.dh.entity.FileToMenu; -import com.cetc32.dh.mybatis.FileToMenuMapper; -import java.util.ArrayList; -import java.util.List; - -/** - * @Title: DataMenuServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:04 - */ -@Service -public class DataMenuServiceImpl implements DataMenuService { - - @Autowired - public DataMenuMapper dataMenuMapper; - - @Autowired - public DataFileMapper dataFileMapper; - - @Autowired - public DataFileService dataFileService; - - @Autowired - public FileToMenuMapper fileToMenuMapper; - - /** - * 统计所有的编目数据个数 - * @return 返回统计结果 - * */ - @Override - public Integer count() { - return dataMenuMapper.countAll(); - } - - /** - * 插入一个编目数据 - * @param dataMenu 编目数据 - * @return 返回插入结果 - * */ - @Override - public Integer insertDataMenu(DataMenu dataMenu){ - return dataMenuMapper.insertOne(dataMenu); - } - - /** - * 更新编目节点 - * @param dataMenu 编目数据 - * @return 更新信息 - */ - @Override - public Integer updatebyId(DataMenu dataMenu) { - return dataMenuMapper.updateById(dataMenu); - } - - /** - * 根据id查询编目数据 - * @param id 编目id - * @return 返回查询结果 - * */ - @Override - public DataMenu queryById(Long id) { - return dataMenuMapper.queryById(id); - } - - /** - * 根据id删除一个编目数据 - * @param id 编目id - * @return 返回删除结果 - * */ - @Override - public Integer deleteById(Long id){ - return dataMenuMapper.deleteById(id); - } - - /** - * 根据父节点pid查询编目 - * @param pid 父节点 - * @return 返回查询结果 - * */ - @Override - public DataMenu queryByPid(Long pid){ - return dataMenuMapper.queryByPid(pid); - } - - /** - * 查询所有以id为父节点的编目 - * @param id 编目id - * @return 返回查询结果 - * */ - @Override - public List queryByPIdSatisfyId(Long id){ - return dataMenuMapper.queryByPIdSatisfyId(id); - } - - /** - * 查询编目id下的所有文件 - * @param menuId 编目id - * @return 返回查询结果 - * */ - @Override - public List showFilesByMenuId(Long menuId){ - List fileIds=fileToMenuMapper.selectByMenuId(menuId); - List dataFileList=new ArrayList(); - for(int i=0;i sub = new ArrayList(); - DataMenu dataMenu = queryById(id); - DataMenuDTO dataMenuDTO = new DataMenuDTO(); -// BeanUtils.copyProperties(dataMenu,dataMenuDTO); - dataMenuDTO.setTitle(dataMenu.getMenuName()); - dataMenuDTO.setValue(id.toString()); - dataMenuDTO.setKey(dataMenu.getKey()); - dataMenuDTO.setHtmlUrl(dataMenu.getHtmlUrl()); - dataMenuDTO.setIcon(dataMenu.getIcon()); - dataMenuDTO.setDisabled(dataMenu.getDisabled()); - dataMenuDTO.setAddkids(dataMenu.getAddkids()); - List childList = queryByPIdSatisfyId(id); - if(childList.size()==0) { -// dataMenuDTO.setChildren(null); - return dataMenuDTO; - } - dataMenuDTO.setChildren(sub); - - for (int i = 0; i < childList.size(); i++) { - Long myId = childList.get(i).getId(); - dataMenuDTO.getChildren().add(getMenuTree(myId)); - } - return dataMenuDTO; - } - - - - /** - * 删除编目id下的树 - * @param id 编目id - * @return 返回删除结果 - * */ - @Override - public Integer deleteMenuTree(Long id) { - Integer count = 0; - List childList = queryByPIdSatisfyId(id); - for (int i = 0; i < childList.size(); i++) { - count += deleteMenuTree(childList.get(i).getId()); - } - dataFileService.deleteByMenuId(id.intValue()); - count += deleteById(id); - return count; - } - - /** - * 统计编目id下子树中所有节点的数目 - * @param id 编目id - * @return 返回统计结果 - * */ - @Override - public Integer countMenuChild(Long id) { - Integer count = 0; - List childList = queryByPIdSatisfyId(id); - for (int i = 0; i < childList.size(); i++) { - count += countMenuChild(childList.get(i).getId()); - } - count+=childList.size(); - return count; - } - - /** - * 新增一个编目数据 - * @param dataMenu 编目数据 - * @return 返回新增结果 - * */ - @Override - public String addDataMenu(DataMenu dataMenu ) { - String message = "添加成功"; - Integer count = insertDataMenu(dataMenu); - if (count != 1) { - message = "添加失败"; - } - return message; - } - - - /** - * 查询所有的编目数据 - * @return 返回查询结果 - * */ - public List selectAll(){ - return dataMenuMapper.selectAll(); - } - - public DataMenu queryByKey(String key){ - return dataMenuMapper.queryByKey(key); - } - - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/DataPlpServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataPlpServiceImpl.java deleted file mode 100644 index ab8be7c..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DataPlpServiceImpl.java +++ /dev/null @@ -1,165 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目服务service实现接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.beans.DataCollected; -import com.cetc32.dh.entity.DataPlp; -import com.cetc32.dh.mybatis.DataPlpMapper; -import com.cetc32.dh.service.DataPlpService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.List; - -/** - * @Title: DataPlpServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Service -public class DataPlpServiceImpl implements DataPlpService { - - @Autowired - DataPlpMapper dataPlpMapper; - - @Override - public Integer insertCollected(DataCollected data) { - return dataPlpMapper.insertCollected(data); - } - @Override - public List selectPloygon(Date startTime, Date endTime, String polygon) - { - return dataPlpMapper.selectPloygon(startTime,endTime,polygon); - } - /** - * 统计所有的点线面数据个数 - * @return 返回统计结果 - * */ - @Override - public Integer countAll(){ - return dataPlpMapper.countAll(); - } - - - /** - * 插入一个点线面数据 - * @param dataPlp 插入的点线面数据 - * @return 返回是否插入成功 - * */ - @Override - public Integer insertOne(DataPlp dataPlp){ - return dataPlpMapper.insertOne(dataPlp); - } - - /** - * 根据id更新点线面数据记录 - * @param dataPlp 点线面数据 - * @return 返回是否更新成功 - * */ - @Override - public Integer updateById(DataPlp dataPlp){ - return dataPlpMapper.updateById(dataPlp); - } - - - /** - * 根据id查询点线面数据记录 - * @param id 点线面数据的id - * @return 返回查询结果 - * */ - @Override - public Integer deleteById(Integer id){ - return dataPlpMapper.deleteById(id); - } - - /** - * 根据文件id点线面数据 - * @param id - * @return DataPlp - */ - @Override - public DataPlp queryById(Integer id){ - return dataPlpMapper.queryById(id); - } - - /** - * 根据状态和审核用户查询点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - @Override - public List selectByStatusAndUser(DataPlp dataPlp) { - return dataPlpMapper.selectByStatusAndUser(dataPlp); - } - - /** - * 统计满足状态和审核用户条件的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - @Override - public Integer countByStatusAndUser(DataPlp dataPlp) { - return null; - } - - /** - * 根据输入的条件动态查询点线面数据 - * @param offset 偏移量 - * @param limit 每页显示的条数 - * @return 返回查询结果 - * */ - @Override - public List queryFilesByObj(Integer offset, Integer limit, DataPlp dataPlp){ - System.out.println(dataPlp); - - if(dataPlp.getFileName()!=null){ - String fileName="%"+dataPlp.getFileName()+"%"; - dataPlp.setFileName(fileName); - } - if(StringUtils.isEmpty(dataPlp.getRegion())||dataPlp.getRegion().equals("全部区域")){ - dataPlp.setRegion(null); - } - if(StringUtils.isEmpty(dataPlp.getStatus())||dataPlp.getStatus().equals("全部审核状态")){ - dataPlp.setStatus(null); - } - if(StringUtils.isEmpty(dataPlp.getSecurity()) ||dataPlp.getSecurity().equals("全部级别")){ - dataPlp.setSecurity(null); - } - - return dataPlpMapper.queryFilesByObj(offset,limit,dataPlp); - } - - /** - * 根据输入的条件动态统计查询的点线面数据 - * @param dataPlp 点线面数据 - * @return 返回查询结果 - * */ - @Override - public Integer countFilesByObj(DataPlp dataPlp) { - - if(dataPlp.getFileName()!=null){ - String fileName="%"+dataPlp.getFileName()+"%"; - dataPlp.setFileName(fileName); - } - if(StringUtils.isEmpty(dataPlp.getRegion())||dataPlp.getRegion().equals("全部区域")){ - dataPlp.setRegion(null); - } - if(StringUtils.isEmpty(dataPlp.getStatus())||dataPlp.getStatus().equals("全部审核状态")){ - dataPlp.setStatus(null); - } - if(StringUtils.isEmpty(dataPlp.getSecurity()) ||dataPlp.getSecurity().equals("全部级别")){ - dataPlp.setSecurity(null); - } - - return dataPlpMapper.countFilesByObj(dataPlp); - } -} diff --git a/src/main/java/com/cetc32/dh/service/impl/DataSubmitServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataSubmitServiceImpl.java deleted file mode 100644 index a748410..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DataSubmitServiceImpl.java +++ /dev/null @@ -1,195 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: service层接实现类 - * @author: 徐文远 - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - * 更改描述:无 - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.DataSubmit; -import com.cetc32.dh.mybatis.DataSubmitMapper; -import com.cetc32.dh.service.DataSubmitService; -import org.apache.shiro.util.Assert; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @Title: DataSubmitServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:04 - */ -@Service -public class DataSubmitServiceImpl implements DataSubmitService { - - DataSubmitMapper dsMapper; - - /** - * 提交请求后数据插入操作 - * - * @param ds 更新到数库的数据 - * @return 反馈是否成功 - **/ - @Override - public Integer insertDataSubmit(DataSubmit ds) { - if (ds == null) { - return -1; - } - if (ds.getApprover() == null || ds.getPath() == null || ds.getArea() == null || ds.getYear() == null) { - return -1; - } else { - return dsMapper.insertOne(ds); - } - } - - /** - * 拒绝用户此时数据导入申请 - * - * @param ds 写入到数库的数据 - * @return 反馈是否成功 - **/ - @Override - public Integer rejectSubmit(DataSubmit ds) { - if (ds == null) { - return -1; - } - if (ds.getId() == null) { - return -1; - } - ds.setStatus(-1); - ds.setApprover("审核人已拒绝"); - return dsMapper.updateById(ds); - - } - - /** - * 接受用户此时数据导入申请 - * - * @param ds 更新到数库的数据 - * @return 反馈是否成功 - **/ - @Override - public Integer acceptSubmit(DataSubmit ds) { - if (ds == null) { - return -1; - } - if (ds.getId() == null) { - return -1; - } - ds.setStatus(1); - ds.setApprover("审核人已审核"); - return dsMapper.updateById(ds); - } - - /** - * 查询当前登陆用户提交的导入申请 - * - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMySubmit(DataSubmit dataSubmit) { - if (dataSubmit == null) { - return null; - } - dataSubmit.setApprover(null); - return dsMapper.selectMine(dataSubmit); - } - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMyApprove(DataSubmit dataSubmit) { - if (dataSubmit == null) { - return null; - } - dataSubmit.setSubmitor(null); - return dsMapper.selectMine(dataSubmit); - } - - - /** - * 根据当前用户统计所有任务个数 - * - * @param dataSubmit 通常dataSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineSubmit(DataSubmit dataSubmit) { - Assert.notNull(dataSubmit); - if (null == dataSubmit.getSubmitor()) - return -1; - dataSubmit.setApprover(null); - return dsMapper.countMine(dataSubmit); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param dataSubmit 通常dataSubmit一次查询只包含approver。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineApprov(DataSubmit dataSubmit) { - Assert.notNull(dataSubmit); - if (null == dataSubmit.getApprover()) - return -1; - dataSubmit.setSubmitor(null); - return dsMapper.countMine(dataSubmit); - } - - /** - * 查询当前登陆用户需要审核的提交信息 - * - * @param dataSubmit 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectReadyApprove(DataSubmit dataSubmit) { - - return dsMapper.selectByStatusAndUser(dataSubmit); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param dataSubmit 通常dataSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - @Override - public Integer countReadyApprove(DataSubmit dataSubmit) { - return dsMapper.countByStatusAndUser(dataSubmit); - } - - /** - * DataSubmitMapper注入方法,必须用@Autowired注解 - * - * @param dsMapper 待注入的bean - * @return 反馈为空 - **/ - @Autowired - public void setDsMapper(DataSubmitMapper dsMapper) { - this.dsMapper = dsMapper; - } - - /** - * 根据当前id查找DataSubmit实体 - * - * @param id 根据id查询 - * @return DataSubmit - */ - @Override - public DataSubmit queryById(Integer id) { - return dsMapper.queryById(id); - } -} - - diff --git a/src/main/java/com/cetc32/dh/service/impl/DataTraceServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataTraceServiceImpl.java deleted file mode 100644 index 7302bf0..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DataTraceServiceImpl.java +++ /dev/null @@ -1,147 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理轨迹service实现接口文件 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.DataTrace; -import com.cetc32.dh.service.DataTraceService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.cetc32.dh.mybatis.DataTraceMapper; -import java.util.List; - -/** - * @Title: DataTraceServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:19 - */ -@Service -public class DataTraceServiceImpl implements DataTraceService{ - - @Autowired - DataTraceMapper dataTraceMapper; - - /** - * 统计所有的文件数据个数 - * @return 返回统计结果 - * */ - @Override - public Integer countAll(){ - return dataTraceMapper.countAll(); - } - - /** - * 插入一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回插入结果 - * */ - @Override - public Integer insertOne(DataTrace dataTrace){ - return dataTraceMapper.insertOne(dataTrace); - } - - /** - * 更新一个轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回更新结果 - * */ - @Override - public Integer updateById(DataTrace dataTrace){ - return dataTraceMapper.updateById(dataTrace); - } - - - /** - * 删除一个轨迹数据 - * @param id 轨迹数据id - * @return 返回删除结果 - * */ - @Override - public Integer deleteById(Integer id){ - return dataTraceMapper.deleteById(id); - } - - /** - * 根据id查询轨迹数据 - * @param id 轨迹id - * @return 返回查询结果 - * */ - @Override - public DataTrace queryById(Integer id){ - return dataTraceMapper.queryById(id); - } - - /** - * 根据安状态和用户查询轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - @Override - public List selectByStatusAndUser(DataTrace dataTrace) { - return dataTraceMapper.selectByStatusAndUser(dataTrace); - } - - /** - * 根据安全状态和用户统计轨迹数据 - * @param dataTrace 轨迹数据 - * @return 返回统计结果 - * */ - @Override - public Integer countByStatusAndUser(DataTrace dataTrace) { - return dataTraceMapper.countByStatusAndUser(dataTrace); - } - - - /** - * 根据输入条件查询文件数据 - * @param offset 偏移量 - * @param limit 每页显示条数 - * @param dataTrace 轨迹数据 - * @return 返回查询结果 - * */ - @Override - public List queryFilesByObj(Integer offset, Integer limit, DataTrace dataTrace){ - - System.out.println(dataTrace); - - if(StringUtils.isEmpty(dataTrace.getStatus())||dataTrace.getStatus().equals("全部审核状态")){ - dataTrace.setStatus(null); - } - if(StringUtils.isEmpty(dataTrace.getSecurity()) ||dataTrace.getSecurity().equals("全部级别")){ - dataTrace.setSecurity(null); - } - - - return dataTraceMapper.queryFilesByObj(offset,limit,dataTrace); - } - - /** - * 根据输入条件统计轨迹数据量 - * @param dataTrace 轨迹数据 - * @return 返回统计结果 - * */ - @Override - public Integer countFilesByObj(DataTrace dataTrace){ - - if(StringUtils.isEmpty(dataTrace.getStatus())||dataTrace.getStatus().equals("全部审核状态")){ - dataTrace.setStatus(null); - } - if(StringUtils.isEmpty(dataTrace.getSecurity()) ||dataTrace.getSecurity().equals("全部级别")){ - dataTrace.setSecurity(null); - } - - return dataTraceMapper.countFilesByObj(dataTrace); - } - - - - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/DemandSubmitServiceImppl.java b/src/main/java/com/cetc32/dh/service/impl/DemandSubmitServiceImppl.java deleted file mode 100644 index 5e00e10..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/DemandSubmitServiceImppl.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.dto.DemandSubmitDTO; -import com.cetc32.dh.entity.DataSubmit; -import com.cetc32.dh.entity.DemandSubmit; -import com.cetc32.dh.entity.vDemand; -import com.cetc32.dh.mybatis.DemandSubmitMapper; -import com.cetc32.dh.service.DemandSubmitService; -import io.swagger.models.auth.In; -import org.apache.shiro.util.Assert; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class DemandSubmitServiceImppl implements DemandSubmitService { - @Autowired - DemandSubmitMapper demandSubmitMapper; - - public List findAll(){ - return demandSubmitMapper.findAll(); - } - - public int deleteByPrimaryKey(Integer id){ - if(id==null) - return -1; - return demandSubmitMapper.deleteByPrimaryKey(id); - } - - public int insert(DemandSubmit demandSubmit){ - return demandSubmitMapper.insert(demandSubmit); - } - - public int insertSelective(DemandSubmit demandSubmit){ - return demandSubmitMapper.insertSelective(demandSubmit); - } - - public DemandSubmit selectByPrimaryKey(Integer id){ - if(id==null) - return null; - return demandSubmitMapper.selectByPrimaryKey(id); - } - - public List selectByLimit(Integer offset, Integer limit){ - return demandSubmitMapper.selectByLimit(offset,limit); - } - - public int countDemand(){ - return demandSubmitMapper.countDemand(); - } - - public int updateByPrimaryKeySelective(DemandSubmit demandSubmit){ - return demandSubmitMapper.updateByPrimaryKeySelective(demandSubmit); - } - - public int updateByPrimaryKey(DemandSubmit demandSubmit){ - return demandSubmitMapper.updateByPrimaryKey(demandSubmit); - } - - public List findByKeyWord(String keyword){ - keyword = "%" + keyword + "%"; - List search = demandSubmitMapper.findByKeyWord(keyword); - return search; - } - - /** - * 查询当前登陆用户提交的导入申请 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMySubmit(String name) { - return demandSubmitMapper.selectMine(name); - } - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMyApprove(String name) { - return demandSubmitMapper.selectMine(name); - } - - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常demandSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineSubmit(String name) { - return demandSubmitMapper.countMine(name); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常demandSubmit一次查询只包含approver。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineApprov(String name) { - return demandSubmitMapper.countMine(name); - } - - /** - * 查询当前登陆用户需要审核的提交信息 - * - * @param demandSubmit 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectReadyApprove(DemandSubmit demandSubmit) { - - return demandSubmitMapper.selectByStatusAndUser(demandSubmit); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param demandSubmit 通常demandSubmit一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - @Override - public Integer countReadyApprove(DemandSubmit demandSubmit) { - return demandSubmitMapper.countByStatusAndUser(demandSubmit); - } - - @Override - public List queryFilesByObj(vDemand vDemand){ - return demandSubmitMapper.queryFilesByObj(vDemand); - } - - @Override - public List searchbystatus(DemandSubmitDTO demandSubmitDTO){ - return demandSubmitMapper.searchbystatus(demandSubmitDTO); - } -} diff --git a/src/main/java/com/cetc32/dh/service/impl/EstimateTaskServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/EstimateTaskServiceImpl.java deleted file mode 100644 index 63df738..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/EstimateTaskServiceImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.EstimateTask; -import com.cetc32.dh.entity.vEstimate; -import com.cetc32.dh.mybatis.EstimateTaskMapper; -import com.cetc32.dh.service.EstimateTaskService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class EstimateTaskServiceImpl implements EstimateTaskService { - @Autowired - EstimateTaskMapper estimateTaskMapper; - public List findAll(){ return estimateTaskMapper.findAll();} - - public int deleteByPrimaryKey(Integer id){ - if(id==null) - return -1; - return estimateTaskMapper.deleteByPrimaryKey(id); - } - - public int insert(EstimateTask estimateTask){ - return estimateTaskMapper.insert(estimateTask); - } - - public int insertSelective(EstimateTask estimateTask){ - return estimateTaskMapper.insertSelective(estimateTask); - } - - public EstimateTask selectByPrimaryKey(Integer id){ - if(id==null) - return null; - return estimateTaskMapper.selectByPrimaryKey(id); - } - - public List selectByLimit(Integer offset, Integer limit){ - return estimateTaskMapper.selectByLimit(offset, limit); - } - - public int countEstimate() { return estimateTaskMapper.countEstimate();} - - public int updateByPrimaryKeySelective(EstimateTask estimateTask){ - return estimateTaskMapper.updateByPrimaryKeySelective(estimateTask); - } - - public int updateByPrimaryKey(EstimateTask estimateTask){ - return estimateTaskMapper.updateByPrimaryKey(estimateTask); - } - - public List findByKeyWord(String keyword){ - keyword = "%" + keyword + "%"; - List search = estimateTaskMapper.findByKeyWord(keyword); - return search; - } - - /** - * 查询当前登陆用户提交的导入申请 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMySubmit(String name) { - return estimateTaskMapper.selectMine(name); - } - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMyApprove(String name) { - return estimateTaskMapper.selectMine(name); - } - - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常estimateTask一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineSubmit(String name) { - return estimateTaskMapper.countMine(name); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常estimateTask一次查询只包含approver。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineApprov(String name) { - return estimateTaskMapper.countMine(name); - } - - /** - * 查询当前登陆用户需要审核的提交信息 - * - * @param estimateTask 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectReadyApprove(EstimateTask estimateTask) { - - return estimateTaskMapper.selectByStatusAndUser(estimateTask); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param estimateTask 通常estimateTask一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - @Override - public Integer countReadyApprove(EstimateTask estimateTask) { - return estimateTaskMapper.countByStatusAndUser(estimateTask); - } - - - @Override - public List queryFilesByObj(vEstimate vEstimate){ - return estimateTaskMapper.queryFilesByObj(vEstimate); - } - - @Override - public List allservice(String classify){ - return estimateTaskMapper.allservice(classify); - } - - @Override - public List alltaskclassify(){ - return estimateTaskMapper.alltaskclassify(); - } -} diff --git a/src/main/java/com/cetc32/dh/service/impl/FileToMenuServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/FileToMenuServiceImpl.java deleted file mode 100644 index 4123f2d..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/FileToMenuServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.FileToMenu; -import com.cetc32.dh.mybatis.FileToMenuMapper; -import com.cetc32.dh.service.FileToMenuService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class FileToMenuServiceImpl implements FileToMenuService { - - @Autowired - public FileToMenuMapper fileToMenuMapper; - - @Override - public int insert(FileToMenu fileToMenu){ - return fileToMenuMapper.insert(fileToMenu); - } - - @Override - public FileToMenu selectByFileIdAndMenuId(Long menuId, Long fileId){ - return fileToMenuMapper.selectByFileIdAndMenuId(menuId,fileId); - } - - @Override - public Integer deleteFtoM(Long menuId,Long fileId){ - return fileToMenuMapper.deleteFtoM(menuId,fileId); - } -} diff --git a/src/main/java/com/cetc32/dh/service/impl/OptionsImpl.java b/src/main/java/com/cetc32/dh/service/impl/OptionsImpl.java deleted file mode 100644 index 8105b64..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/OptionsImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.service.OptionsService; -import com.cetc32.dh.entity.Options; -import com.cetc32.dh.mybatis.OptionsMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class OptionsImpl implements OptionsService { - - @Autowired - public OptionsMapper optionsMapper; - - public List selectByCategory(String category){ - return optionsMapper.selectByCategory(category); - } -} -- Gitee From d4f6fcdbaa811cfe58a14525be6b12a2c91cd299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 22 Jan 2021 16:14:48 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9mapper=20and=20AuthCont?= =?UTF-8?q?roller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cetc32/dh/beans/DataCollected.java | 72 --- .../java/com/cetc32/dh/beans/ReqSubmit.java | 102 ---- .../cetc32/dh/beans/ResultDataCollected.java | 76 --- .../java/com/cetc32/dh/beans/TraceUpload.java | 64 -- .../common/filter/KickoutSessionFilter.java | 240 -------- .../dh/controller/rest/AuthController.java | 18 +- .../java/com/cetc32/dh/dto/DataMenuDTO.java | 199 ------- .../java/com/cetc32/dh/dto/DemandDTO.java | 23 - .../com/cetc32/dh/dto/DemandSubmitDTO.java | 37 -- .../java/com/cetc32/dh/dto/EstimateDTO.java | 22 - .../java/com/cetc32/dh/dto/ProductDTO.java | 47 -- .../java/com/cetc32/dh/entity/Options.java | 71 --- .../com/cetc32/dh/entity/Productdemand.java | 187 ------ .../java/com/cetc32/dh/entity/VfileMenu.java | 414 ------------- .../java/com/cetc32/dh/entity/vDemand.java | 102 ---- .../java/com/cetc32/dh/entity/vEstimate.java | 64 -- .../java/com/cetc32/dh/entity/vProduct.java | 66 --- .../dh/mybatis/ProductdemandMapper.java | 62 -- .../cetc32/dh/mybatis/VfileMenuMapper.java | 32 - .../dh/service/ProductdemandService.java | 67 --- .../cetc32/dh/service/VfileMenuService.java | 44 -- .../impl/ProductdemandServiceImpl.java | 192 ------ .../dh/service/impl/VfileMenuServiceImpl.java | 134 ----- src/main/resources/application-xwy.yml | 31 +- .../resources/mapper/BaseAdminUserMapper.xml | 47 +- src/main/resources/mapper/DataFileMapper.xml | 552 ------------------ src/main/resources/mapper/DataMenuMapper.xml | 201 ------- src/main/resources/mapper/DataPlpMapper.xml | 426 -------------- .../resources/mapper/DataSubmitMapper.xml | 291 --------- src/main/resources/mapper/DataTraceMapper.xml | 473 --------------- .../resources/mapper/DemandSubmitMapper.xml | 328 ----------- .../resources/mapper/EstimateTaskMapper.xml | 287 --------- .../resources/mapper/FileToMenuMapper.xml | 61 -- src/main/resources/mapper/OptionsMapper.xml | 19 - .../resources/mapper/ProductdemandMapper.xml | 293 ---------- src/main/resources/mapper/VfileMenuMapper.xml | 142 ----- 36 files changed, 48 insertions(+), 5438 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/beans/DataCollected.java delete mode 100644 src/main/java/com/cetc32/dh/beans/ReqSubmit.java delete mode 100644 src/main/java/com/cetc32/dh/beans/ResultDataCollected.java delete mode 100644 src/main/java/com/cetc32/dh/beans/TraceUpload.java delete mode 100644 src/main/java/com/cetc32/dh/common/filter/KickoutSessionFilter.java delete mode 100644 src/main/java/com/cetc32/dh/dto/DataMenuDTO.java delete mode 100644 src/main/java/com/cetc32/dh/dto/DemandDTO.java delete mode 100644 src/main/java/com/cetc32/dh/dto/DemandSubmitDTO.java delete mode 100644 src/main/java/com/cetc32/dh/dto/EstimateDTO.java delete mode 100644 src/main/java/com/cetc32/dh/dto/ProductDTO.java delete mode 100644 src/main/java/com/cetc32/dh/entity/Options.java delete mode 100644 src/main/java/com/cetc32/dh/entity/Productdemand.java delete mode 100644 src/main/java/com/cetc32/dh/entity/VfileMenu.java delete mode 100644 src/main/java/com/cetc32/dh/entity/vDemand.java delete mode 100644 src/main/java/com/cetc32/dh/entity/vEstimate.java delete mode 100644 src/main/java/com/cetc32/dh/entity/vProduct.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/ProductdemandMapper.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/VfileMenuMapper.java delete mode 100644 src/main/java/com/cetc32/dh/service/ProductdemandService.java delete mode 100644 src/main/java/com/cetc32/dh/service/VfileMenuService.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/ProductdemandServiceImpl.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/VfileMenuServiceImpl.java delete mode 100644 src/main/resources/mapper/DataFileMapper.xml delete mode 100644 src/main/resources/mapper/DataMenuMapper.xml delete mode 100644 src/main/resources/mapper/DataPlpMapper.xml delete mode 100644 src/main/resources/mapper/DataSubmitMapper.xml delete mode 100644 src/main/resources/mapper/DataTraceMapper.xml delete mode 100644 src/main/resources/mapper/DemandSubmitMapper.xml delete mode 100644 src/main/resources/mapper/EstimateTaskMapper.xml delete mode 100644 src/main/resources/mapper/FileToMenuMapper.xml delete mode 100644 src/main/resources/mapper/OptionsMapper.xml delete mode 100644 src/main/resources/mapper/ProductdemandMapper.xml delete mode 100644 src/main/resources/mapper/VfileMenuMapper.xml diff --git a/src/main/java/com/cetc32/dh/beans/DataCollected.java b/src/main/java/com/cetc32/dh/beans/DataCollected.java deleted file mode 100644 index 8d8c10a..0000000 --- a/src/main/java/com/cetc32/dh/beans/DataCollected.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.cetc32.dh.beans; - -import java.util.Date; - -public class DataCollected { - private Integer userid; - private String eventtype; - private String points; - private String cityname; - private Date uploadtime; - private String describe; - private byte[] photo; - - - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getEventtype() { - return eventtype; - } - - public void setEventtype(String eventtype) { - this.eventtype = eventtype; - } - - public String getPoints() { - return points; - } - - public void setPoints(String points) { - this.points = points; - } - - public String getCityname() { - return cityname; - } - - public void setCityname(String cityname) { - this.cityname = cityname; - } - - public Date getUploadtime() { - return uploadtime; - } - - public void setUploadtime(Date uploadtime) { - this.uploadtime = uploadtime; - } - - public String getDescribe() { - return describe; - } - - public void setDescribe(String describe) { - this.describe = describe; - } - - public byte[] getPhoto() { - return photo; - } - - public void setPhoto(byte[] photo) { - this.photo = photo; - } - -} diff --git a/src/main/java/com/cetc32/dh/beans/ReqSubmit.java b/src/main/java/com/cetc32/dh/beans/ReqSubmit.java deleted file mode 100644 index 9ff7e1a..0000000 --- a/src/main/java/com/cetc32/dh/beans/ReqSubmit.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.cetc32.dh.beans; - -import org.springframework.web.multipart.MultipartFile; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class ReqSubmit { - private String project; - private String name; - private String duedate; - private String area; - private String description; - private String username; - private Integer department; - private MultipartFile file; - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Date getDuedate() { - SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" ); - try { - return sdf.parse(duedate); - } catch (ParseException e) { - return null; -// e.printStackTrace(); - } - } - - public void setDuedate(String duedate) { - this.duedate = duedate; - } - - public String getArea() { - return area; - } - - public void setArea(String area) { - this.area = area; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public Integer getDepartment() { - return department; - } - - public void setDepartment(Integer department) { - this.department = department; - } - - public MultipartFile getFile() { - return file; - } - - public void setFile(MultipartFile file) { - this.file = file; - } - - @Override - public String toString() { - return "ReqSubmit{" + - "project='" + project + '\'' + - ", name='" + name + '\'' + - ", duedate='" + duedate + '\'' + - ", area='" + area + '\'' + - ", description='" + description + '\'' + - ", username='" + username + '\'' + - ", department=" + department + - ", file=" + file.getName() + - '}'; - } -} diff --git a/src/main/java/com/cetc32/dh/beans/ResultDataCollected.java b/src/main/java/com/cetc32/dh/beans/ResultDataCollected.java deleted file mode 100644 index 2c0692d..0000000 --- a/src/main/java/com/cetc32/dh/beans/ResultDataCollected.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.cetc32.dh.beans; - - -import com.alibaba.fastjson.annotation.JSONField; - -import java.util.Date; - -public class ResultDataCollected { - private Integer userid; - private String eventtype; - private String points; - private String cityname; - private Date uploadtime; - private String describe; - private String photopath; - - - - public String getPhotopath() { - return photopath; - } - - public void setPhotopath(String photopath) { - this.photopath = photopath; - } - - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getEventtype() { - return eventtype; - } - - public void setEventtype(String eventtype) { - this.eventtype = eventtype; - } - - public String getPoints() { - return points; - } - - public void setPoints(String points) { - this.points = points; - } - - public String getCityname() { - return cityname; - } - - public void setCityname(String cityname) { - this.cityname = cityname; - } - - public Date getUploadtime() { - return uploadtime; - } - - public void setUploadtime(Date uploadtime) { - this.uploadtime = uploadtime; - } - - public String getDescribe() { - return describe; - } - - public void setDescribe(String describe) { - this.describe = describe; - } - -} diff --git a/src/main/java/com/cetc32/dh/beans/TraceUpload.java b/src/main/java/com/cetc32/dh/beans/TraceUpload.java deleted file mode 100644 index 5578bbe..0000000 --- a/src/main/java/com/cetc32/dh/beans/TraceUpload.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.cetc32.dh.beans; - -import java.util.Date; - -public class TraceUpload { - - private String path; - private String title; - private String category; - private String starttime; - private String endtime; - private String size; - - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category; - } - - public String getStarttime() { - return starttime; - } - - public void setStarttime(String starttime) { - this.starttime = starttime; - } - - public String getEndtime() { - return endtime; - } - - public void setEndtime(String endtime) { - this.endtime = endtime; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - - -} diff --git a/src/main/java/com/cetc32/dh/common/filter/KickoutSessionFilter.java b/src/main/java/com/cetc32/dh/common/filter/KickoutSessionFilter.java deleted file mode 100644 index 1197b7b..0000000 --- a/src/main/java/com/cetc32/dh/common/filter/KickoutSessionFilter.java +++ /dev/null @@ -1,240 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Title: KickouSessionFilter - * @Description: 进行用户访问控制 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.common.filter; - -import com.cetc32.dh.common.IStatusMessage; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.common.utils.ShiroFilterUtils; -import com.cetc32.dh.entity.BaseAdminUser; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.shiro.cache.Cache; -import org.apache.shiro.cache.CacheManager; -import org.apache.shiro.session.Session; -import org.apache.shiro.session.mgt.DefaultSessionKey; -import org.apache.shiro.session.mgt.SessionManager; -import org.apache.shiro.subject.Subject; -import org.apache.shiro.web.filter.AccessControlFilter; -import org.apache.shiro.web.util.WebUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.Serializable; -import java.util.ArrayDeque; -import java.util.Deque; - -/** - * Token检查类 - * @Title: FormFilter - * @version: 1.0 - * @date: 2020/9/11 10:55 - */ -public class KickoutSessionFilter extends AccessControlFilter { - - private static final Logger logger = LoggerFactory.getLogger(KickoutSessionFilter.class); - - private final static ObjectMapper objectMapper = new ObjectMapper(); - - private String kickoutUrl; // 踢出后到的地址 - private boolean kickoutAfter = false; // 踢出之前登录的/之后登录的用户 默认false踢出之前登录的用户 - private int maxSession = 1; // 同一个帐号最大会话数 默认1 - private SessionManager sessionManager; - private Cache> cache; - - public void setKickoutUrl(String kickoutUrl) { - this.kickoutUrl = kickoutUrl; - } - - public void setKickoutAfter(boolean kickoutAfter) { - this.kickoutAfter = kickoutAfter; - } - - public void setMaxSession(int maxSession) { - this.maxSession = maxSession; - } - - public void setSessionManager(SessionManager sessionManager) { - this.sessionManager = sessionManager; - } - - // 设置Cache的key的前缀 - public void setCacheManager(CacheManager cacheManager) { - //必须和ehcache缓存配置中的缓存name一致 - this.cache = cacheManager.getCache("shiro-activeSessionCache"); - } - - - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - @Override - protected boolean isAccessAllowed(ServletRequest servletRequest, ServletResponse servletResponse, Object o) throws Exception { -// return false; - return true; - } - - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - @Override - protected boolean onAccessDenied(ServletRequest request, ServletResponse response)throws Exception { - Subject subject = getSubject(request,response); - // 没有登录授权 且没有记住我 - if(!subject.isAuthenticated() && !subject.isRemembered()){ - // 如果没有登录,直接进行之后的流程 - return true; - } - // 获得用户请求的URI - HttpServletRequest req=(HttpServletRequest) request; - String path = req.getRequestURI(); - logger.info("===当前请求的uri:" + path); - - if(path.equals("/login")){ - return true; - } - Session session = subject.getSession(); - logger.info("session时间设置:" + String.valueOf(session.getTimeout())); - - - try{ - // 当前用户 - BaseAdminUser user = (BaseAdminUser) subject.getPrincipal(); - String username = user.getSysUserName(); - logger.info("===当前用户username:" + username); - Serializable sessionId = session.getId(); - logger.info("===当前用户sessionId:" + sessionId); - // 读取缓存用户 没有就存入 - Deque deque = cache.get(username); - logger.debug("===当前deque:" + deque); - if (deque == null) { - // 初始化队列 - deque = new ArrayDeque(); - } - // 如果队列里没有此sessionId,且用户没有被踢出;放入队列 - if (!deque.contains(sessionId) && session.getAttribute("kickout") == null) { - // 将sessionId存入队列 - deque.push(sessionId); - // 将用户的sessionId队列缓存 - cache.put(username, deque); - } - // 如果队列里的sessionId数超出最大会话数,开始踢人 - while (deque.size() > maxSession) { - logger.debug("===deque队列长度:" + deque.size()); - Serializable kickoutSessionId = null; - // 是否踢出后来登录的,默认是false;即后者登录的用户踢出前者登录的用户; - if (kickoutAfter) { // 如果踢出后者 - kickoutSessionId = deque.removeFirst(); - } else { // 否则踢出前者 - kickoutSessionId = deque.removeLast(); - } - // 踢出后再更新下缓存队列 - cache.put(username, deque); - try{ - // 获取被踢出的sessionId的session对象 - Session kickoutSession = sessionManager - .getSession(new DefaultSessionKey(kickoutSessionId)); - if (kickoutSession != null) { - // 设置会话的kickout属性表示踢出了 - kickoutSession.setAttribute("kickout", true); - } - }catch (Exception e){ - - } - } - - // 如果被踢出了,(前者或后者)直接退出,重定向到踢出后的地址 - if ((Boolean) session.getAttribute("kickout") != null - && (Boolean) session.getAttribute("kickout") == true){ - // 会话被踢出了 - try { - // 退出登录 - subject.logout(); - } catch (Exception e) { // ignore - } - saveRequest(request); - logger.debug("===踢出后用户重定向的路径kickoutUrl:" + kickoutUrl); - return isAjaxResponse(request,response); - } - return true; - }catch (Exception e){ - logger.error("控制用户在线数量【KickoutSessionFilter.onAccessDenied】异常!", e); - return isAjaxResponse(request,response); - } - } - - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - public static void out(ServletResponse response, ResponseResult result){ - PrintWriter out = null; - try { - response.setCharacterEncoding("UTF-8");//设置编码 - response.setContentType("application/json");//设置返回类型 - out = response.getWriter(); - out.println(objectMapper.writeValueAsString(result));//输出 - logger.info("用户在线数量限制【KickoutSessionFilter.out】响应json信息成功"); - } catch (Exception e) { - logger.error("用户在线数量限制【KickoutSessionFilter.out】响应json信息出错", e); - }finally{ - if(null != out){ - out.flush(); - out.close(); - } - } - } - - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - private boolean isAjaxResponse(ServletRequest request, - ServletResponse response) throws IOException { - // ajax请求 - /** - * 判断是否已经踢出 - * 1.如果是Ajax 访问,那么给予json返回值提示。 - * 2.如果是普通请求,直接跳转到登录页 - */ - //判断是不是Ajax请求 - ResponseResult responseResult = new ResponseResult(); - if (ShiroFilterUtils.isAjax(request) ) { - logger.info(getClass().getName()+ "当前用户已经在其他地方登录,并且是Ajax请求!"); - responseResult.setCode(IStatusMessage.SystemStatus.MANY_LOGINS.getCode()); - responseResult.setMessage("您已在别处登录,请您修改密码或重新登录"); - out(response, responseResult); - }else{ - // 重定向 - WebUtils.issueRedirect(request, response, kickoutUrl); - } - return false; -// return true; - } - - -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index a34a0e2..34a6b20 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; +import java.util.UUID; import com.cetc32.dh.common.utils.DigestUtils; @@ -94,8 +95,10 @@ public class AuthController { return ResponseData.error("用户名或密码错误"); } long currentTimeMillis = System.currentTimeMillis(); - String token= JWTUtil.createToken(username,currentTimeMillis); - redisUtil.set(username,currentTimeMillis,60*30); + String jwtToken= JWTUtil.createToken(username,currentTimeMillis); + String token =UUID.randomUUID().toString(); + redisUtil.set(token,jwtToken,60*30); + //redisUtil.set(token,currentTimeMillis,60*30); LoginResult data=new LoginResult(token, user.getDepartment(), username, @@ -103,7 +106,7 @@ public class AuthController { user.getRoleId(), user.getSecurity(), user.getAreacode(), - JWTUtil.getExpire(token)); + JWTUtil.getExpire(jwtToken)); return ResponseData.success(200,"success",data); } @@ -272,8 +275,8 @@ public class AuthController { public ResponseData logout(String token){ if(token!=null) { - String username=JWTUtil.getUsername(token); - redisUtil.del(username); + //String username=JWTUtil.getUsername(token); + redisUtil.del(token); } return ResponseData.success(); } @@ -293,8 +296,9 @@ public class AuthController { public ResponseData token(String token){ if(token!=null ) { - String username=JWTUtil.getUsername(token); - if(username!=null && JWTUtil.verify(token)) + String value=(String)redisUtil.get(token); + String username=JWTUtil.getUsername(value); + if(username!=null && JWTUtil.verify(value)) { BaseAdminUser user= userService.findByUserName(username); if(user!=null) diff --git a/src/main/java/com/cetc32/dh/dto/DataMenuDTO.java b/src/main/java/com/cetc32/dh/dto/DataMenuDTO.java deleted file mode 100644 index e5cad66..0000000 --- a/src/main/java/com/cetc32/dh/dto/DataMenuDTO.java +++ /dev/null @@ -1,199 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目节点扩展类 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.dto; - -import java.io.Serializable; -import java.util.List; - -/** - * 数据管理编目节点扩展操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -public class DataMenuDTO implements Serializable { - - /** - * 名称 - */ - private String title; - - /** - * 键 - */ - private String key; - - /** - * 值 - */ - private String value; - - /** - * 前端页面url - */ - private String htmlUrl; - - /** - * 前端页面图形标识 - */ - private String icon; - - /** - * 编目是否可更改 - */ - private Boolean disabled; - - /** - * 是否可以添加子节点 - */ - private Boolean addkids; - - - /** - * 子编目节点 - */ - private List children; - - /** - * 无参构造函数 - */ - public DataMenuDTO(){} - - /** - * 获取名称 - * @return title - 名称 - */ - public String getTitle() { - return title; - } - - /** - * 设置名称 - * @param title 名称 - */ - public void setTitle(String title) { - this.title = title; - } - - /** - * 获取键 - * @return key - 键 - */ - public String getKey() { - return key; - } - - /** - * 设置键 - * @param key 键 - */ - public void setKey(String key) { - this.key = key; - } - - /** - * 获取值 - * @return value - 值 - */ - public String getValue() { - return value; - } - - /** - * 设置值 - * @return value - 值 - */ - public void setValue(String value) { - this.value = value; - } - - /** - * 获取前端页面url - * @return htmlUrl - 前端页面url - */ - public String getHtmlUrl() { - return htmlUrl; - } - - /** - * 设置前端页面url - * @param htmlUrl 前端页面url - */ - public void setHtmlUrl(String htmlUrl) { - this.htmlUrl = htmlUrl; - } - - /** - * 获取前端页面图形标识 - * @return icon - 前端页面图形标识 - */ - public String getIcon() { - return icon; - } - - /** - * 设置前端页面图形标识 - * @param icon 前端页面图形标识 - */ - public void setIcon(String icon) { - this.icon = icon; - } - - /** - * 获取编目子节点 - * @return - children - */ - public List getChildren() { - return children; - } - - /** - * 设置编目子节点 - * @param children - */ - public void setChildren( List children) { - this.children = children; - } - - /** - * 获取前端编目可更改信息 - * @return icon - 前端编目更改信息 - */ - public Boolean getDisabled() { - return disabled; - } - - /** - * 设置前端编目更改信息 - * @param disabled 前端页编目更改信息 - */ - public void setDisabled(Boolean disabled) { - this.disabled = disabled; - } - - /** - * 获取前端编目可更改信息 - * @return icon - 前端编目更改信息 - */ - public Boolean getAddkids() { - return addkids; - } - - /** - * 设置前端编目更改信息 - * @param addkids 前端页编目更改信息 - */ - public void setAddkids(Boolean addkids) { - this.addkids = addkids; - } - - -} diff --git a/src/main/java/com/cetc32/dh/dto/DemandDTO.java b/src/main/java/com/cetc32/dh/dto/DemandDTO.java deleted file mode 100644 index 2d2486c..0000000 --- a/src/main/java/com/cetc32/dh/dto/DemandDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.cetc32.dh.dto; - -public class DemandDTO extends DemandSubmit { - private String username; - - private Integer userid; - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } -} diff --git a/src/main/java/com/cetc32/dh/dto/DemandSubmitDTO.java b/src/main/java/com/cetc32/dh/dto/DemandSubmitDTO.java deleted file mode 100644 index 1501711..0000000 --- a/src/main/java/com/cetc32/dh/dto/DemandSubmitDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.cetc32.dh.dto; - -import com.cetc32.dh.entity.NumberS; -import org.apache.commons.lang3.StringUtils; - -public class DemandSubmitDTO extends NumberS { - private Integer id; - - private String deamndName; - - private String demandStatus; - - public Integer getId() { - - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getDeamndName() { - return deamndName; - } - - public void setDeamndName(String deamndName) { - this.deamndName = deamndName; - } - - public String getDemandStatus() { - return demandStatus; - } - - public void setDemandStatus(String demandStatus) { - this.demandStatus = demandStatus; - } -} diff --git a/src/main/java/com/cetc32/dh/dto/EstimateDTO.java b/src/main/java/com/cetc32/dh/dto/EstimateDTO.java deleted file mode 100644 index 7c58a29..0000000 --- a/src/main/java/com/cetc32/dh/dto/EstimateDTO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.cetc32.dh.dto; - -public class EstimateDTO extends EstimateTask { - private String username; - - private Integer userid; - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } -} diff --git a/src/main/java/com/cetc32/dh/dto/ProductDTO.java b/src/main/java/com/cetc32/dh/dto/ProductDTO.java deleted file mode 100644 index 8abd272..0000000 --- a/src/main/java/com/cetc32/dh/dto/ProductDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.cetc32.dh.dto; - -import com.cetc32.dh.entity.Productdemand; - -import java.util.List; - -public class ProductDTO extends Productdemand { - private String username; - - private Integer userid; - - private List taskdocuments; - - public String demanddata; - - public String getDemanddata() { - return demanddata; - } - - public void setDemanddata(String demanddata) { - this.demanddata = demanddata; - } - - public List getTaskdocuments() { - return taskdocuments; - } - - public void setTaskdocuments(List taskdocuments) { - this.taskdocuments = taskdocuments; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } -} diff --git a/src/main/java/com/cetc32/dh/entity/Options.java b/src/main/java/com/cetc32/dh/entity/Options.java deleted file mode 100644 index d74d923..0000000 --- a/src/main/java/com/cetc32/dh/entity/Options.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.cetc32.dh.entity; - -import javax.persistence.*; - -public class Options { - @Id - private Integer id; - - @Column(name = "value_name") - private String valueName; - - private String value; - - private String category; - - /** - * @return id - */ - public Integer getId() { - return id; - } - - /** - * @param id - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * @return value_name - */ - public String getValueName() { - return valueName; - } - - /** - * @param valueName - */ - public void setValueName(String valueName) { - this.valueName = valueName == null ? null : valueName.trim(); - } - - /** - * @return value - */ - public String getValue() { - return value; - } - - /** - * @param value - */ - public void setValue(String value) { - this.value = value == null ? null : value.trim(); - } - - /** - * @return category - */ - public String getCategory() { - return category; - } - - /** - * @param category - */ - public void setCategory(String category) { - this.category = category == null ? null : category.trim(); - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/Productdemand.java b/src/main/java/com/cetc32/dh/entity/Productdemand.java deleted file mode 100644 index cbd799c..0000000 --- a/src/main/java/com/cetc32/dh/entity/Productdemand.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.cetc32.dh.entity; - -import java.util.Date; -import java.util.List; - -public class Productdemand extends NumberS{ - private Integer id; - - private String name; - - private String demandClassify; - - private Date demandyear; - - private String taskdocument; //修改数据库,对应区域(region)字段 - - private String starttimefront; - - private String endtimefront; - - private Date starttime; - - private Date endtime; - - private String status; - - private String approver; - - private Integer demandid; - - private String creator; - - private List fronttime; - - private String flowresult; - - private Date creattime; - - private Date approvtime; - - private String area; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDemandClassify() { - return demandClassify; - } - - public void setDemandClassify(String demandClassify) { - this.demandClassify = demandClassify; - } - - public Date getDemandyear() { - return demandyear; - } - - public void setDemandyear(Date demandyear) { - this.demandyear = demandyear; - } - - public String getTaskdocument() { - return taskdocument; - } - - public void setTaskdocument(String taskdocument) { - this.taskdocument = taskdocument; - } - - public Date getStarttime() { - return starttime; - } - - public void setStarttime(Date starttime) { - this.starttime = starttime; - } - - public Date getEndtime() { - return endtime; - } - - public void setEndtime(Date endtime) { - this.endtime = endtime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getApprover() { - return approver; - } - - public void setApprover(String approver) { - this.approver = approver; - } - - public Integer getDemandid() { - return demandid; - } - - public void setDemandid(Integer demandid) { - this.demandid = demandid; - } - - public String getCreator() { - return creator; - } - - public void setCreator(String creator) { - this.creator = creator; - } - - public String getStarttimefront() { - return starttimefront; - } - - public void setStarttimefront(String starttimefront) { - this.starttimefront = starttimefront; - } - - public String getEndtimefront() { - return endtimefront; - } - - public void setEndtimefront(String endtimefront) { - this.endtimefront = endtimefront; - } - - - public List getFronttime() { - return fronttime; - } - - public void setFronttime(List fronttime) { - this.fronttime = fronttime; - } - - public String getFlowresult() { - return flowresult; - } - - public void setFlowresult(String flowresult) { - this.flowresult = flowresult; - } - - public Date getCreattime() { - return creattime; - } - - public void setCreattime(Date creattime) { - this.creattime = creattime; - } - - public Date getApprovtime() { - return approvtime; - } - - public void setApprovtime(Date approvtime) { - this.approvtime = approvtime; - } - - public String getArea() { - return area; - } - - public void setArea(String area) { - this.area = area; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/VfileMenu.java b/src/main/java/com/cetc32/dh/entity/VfileMenu.java deleted file mode 100644 index a743648..0000000 --- a/src/main/java/com/cetc32/dh/entity/VfileMenu.java +++ /dev/null @@ -1,414 +0,0 @@ -package com.cetc32.dh.entity; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.apache.commons.lang3.StringUtils; -import java.util.Date; -import javax.persistence.*; - -@ApiModel("文件实体") -@Table(name = "vfile_menu") -public class VfileMenu extends NumberS{ - - /** - * 无参构造函数 - */ - public VfileMenu(){ } - - /** - * @param fileId - * @param fileName - * @param fileType - * @param fileSecurity - * @param filePath - * @param createTime - * @param region - * @param fileTime - * @param menuId - * @param scale - * @param scanLevel - * @param lan - * @param lon - * @param fileDiscription - * @param catagory - * @param gcs - * @param submitor - * @param fileNumbers - * @param fileSize - * @param approver - * @param status - * 有参构造函数 - */ - public VfileMenu(Long fileId, String fileName, String fileType, String fileSecurity, String filePath, Date createTime, String region, Long menuId, - String fileTime, String fileSize, Integer fileNumbers, String fileDiscription, String submitor, String approver,String gcs,Integer scanLevel, - String scale,String lan,String lon, String catagory,String status){ - this.fileId=fileId; - this.fileName=fileName; - this.fileType=fileType; - this.fileSecurity=fileSecurity; - this.filePath=filePath; - this.createTime=createTime; - this.region=region; - this.menuId=menuId; - this.fileTime=fileTime; - this.fileSize=fileSize; - this.fileNumbers=fileNumbers; - this.fileDiscription=fileDiscription; - this.submitor=submitor; - this.approver=approver; - this.gcs=gcs; - this.scale=scale; - this.scanLevel=scanLevel; - this.lan=lan; - this.lon=lon; - this.catagory=catagory; - } - - @Column(name = "menu_id") - private Long menuId; - - @Column(name = "file_id") - private Long fileId; - - @Column(name = "file_name") - private String fileName; - - @Column(name = "file_type") - private String fileType; - - @Column(name = "file_security") - private String fileSecurity; - - @Column(name = "file_path") - private String filePath; - - @Column(name = "create_time") - private Date createTime; - - private String region; - - @Column(name = "file_size") - private String fileSize; - - @Column(name = "file_numbers") - private Integer fileNumbers; - - @Column(name = "file_discription") - private String fileDiscription; - - private String submitor; - - private String approver; - - private String gcs; - - @Column(name = "scan_level") - private Integer scanLevel; - - private String scale; - - private String lan; - - private String lon; - - private String catagory; - - @Column(name = "file_time") - private String fileTime; - - String status; - - /** - * @return menu_id - */ - public Long getMenuId() { - return menuId; - } - - /** - * @param menuId - */ - public void setMenuId(Long menuId) { - this.menuId = menuId; - } - - /** - * @return file_id - */ - public Long getFileId() { - return fileId; - } - - /** - * @param fileId - */ - public void setFileId(Long fileId) { - this.fileId = fileId; - } - - /** - * @return file_name - */ - public String getFileName() { - return fileName; - } - - /** - * @param fileName - */ - public void setFileName(String fileName) { - this.fileName = fileName == null ? null : fileName.trim(); - } - - /** - * @return file_type - */ - public String getFileType() { - return fileType; - } - - /** - * @param fileType - */ - public void setFileType(String fileType) { - this.fileType = fileType == null ? null : fileType.trim(); - } - - /** - * @return file_security - */ - public String getFileSecurity() { - return fileSecurity; - } - - /** - * @param fileSecurity - */ - public void setFileSecurity(String fileSecurity) { - this.fileSecurity = fileSecurity == null ? null : fileSecurity.trim(); - } - - /** - * @return file_path - */ - public String getFilePath() { - return filePath; - } - - /** - * @param filePath - */ - public void setFilePath(String filePath) { - this.filePath = filePath == null ? null : filePath.trim(); - } - - /** - * @return create_time - */ - public Date getCreateTime() { - return createTime; - } - - /** - * @param createTime - */ - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - /** - * @return region - */ - public String getRegion() { - return region; - } - - /** - * @param region - */ - public void setRegion(String region) { - this.region = region == null ? null : region.trim(); - } - - /** - * @return file_size - */ - public String getFileSize() { - return fileSize; - } - - /** - * @param fileSize - */ - public void setFileSize(String fileSize) { - this.fileSize = fileSize == null ? null : fileSize.trim(); - } - - /** - * @return file_numbers - */ - public Integer getFileNumbers() { - return fileNumbers; - } - - /** - * @param fileNumbers - */ - public void setFileNumbers(Integer fileNumbers) { - this.fileNumbers = fileNumbers; - } - - /** - * @return file_discription - */ - public String getFileDiscription() { - return fileDiscription; - } - - /** - * @param fileDiscription - */ - public void setFileDiscription(String fileDiscription) { - this.fileDiscription = fileDiscription == null ? null : fileDiscription.trim(); - } - - /** - * @return submitor - */ - public String getSubmitor() { - return submitor; - } - - /** - * @param submitor - */ - public void setSubmitor(String submitor) { - this.submitor = submitor == null ? null : submitor.trim(); - } - - /** - * @return approver - */ - public String getApprover() { - return approver; - } - - /** - * @param approver - */ - public void setApprover(String approver) { - this.approver = approver == null ? null : approver.trim(); - } - - /** - * @return gcs - */ - public String getGcs() { - return gcs; - } - - /** - * @param gcs - */ - public void setGcs(String gcs) { - this.gcs = gcs == null ? null : gcs.trim(); - } - - /** - * @return scan_level - */ - public Integer getScanLevel() { - return scanLevel; - } - - /** - * @param scanLevel - */ - public void setScanLevel(Integer scanLevel) { - this.scanLevel = scanLevel; - } - - /** - * @return scale - */ - public String getScale() { - return scale; - } - - /** - * @param scale - */ - public void setScale(String scale) { - this.scale = scale == null ? null : scale.trim(); - } - - /** - * @return lan - */ - public String getLan() { - return lan; - } - - /** - * @param lan - */ - public void setLan(String lan) { - this.lan = lan == null ? null : lan.trim(); - } - - /** - * @return lon - */ - public String getLon() { - return lon; - } - - /** - * @param lon - */ - public void setLon(String lon) { - this.lon = lon == null ? null : lon.trim(); - } - - /** - * @return catagory - */ - public String getCatagory() { - return catagory; - } - - /** - * @param catagory - */ - public void setCatagory(String catagory) { - this.catagory = catagory == null ? null : catagory.trim(); - } - - /** - * @return file_time - */ - public String getFileTime() { - return fileTime; - } - - /** - * @param fileTime - */ - public void setFileTime(String fileTime) { - this.fileTime = fileTime == null ? null : fileTime.trim(); - } - - /** - * @return status - */ - public String getStatus() { - return status; - } - - /** - * @param status - */ - public void setStatus(String status) { - this.status = status == null ? null : status.trim(); - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/entity/vDemand.java b/src/main/java/com/cetc32/dh/entity/vDemand.java deleted file mode 100644 index 5700c99..0000000 --- a/src/main/java/com/cetc32/dh/entity/vDemand.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.cetc32.dh.entity; - - -import org.apache.commons.lang3.StringUtils; - -import java.util.Date; - -public class vDemand { - public String classify; - public String name; - public String people; - public String starttime; - public String endtime; - - public String status; - - public Date sqlstarttime; - - public Date sqlendtime; - - public Date getSqlstarttime() { - return sqlstarttime; - } - - public void setSqlstarttime(Date sqlstarttime) { - this.sqlstarttime = sqlstarttime; - } - - public Date getSqlendtime() { - return sqlendtime; - } - - public void setSqlendtime(Date sqlendtime) { - this.sqlendtime = sqlendtime; - } - - public String getClassify() { - if(StringUtils.isBlank(classify)) - return null; - return classify; - } - - public void setClassify(String classify) { - if(StringUtils.isNotBlank(classify)) - this.classify = classify; - } - - public String getName() { - if(StringUtils.isBlank(name)) - return null; - return name; - } - - public void setName(String name) { - if(StringUtils.isNotBlank(name)) - this.name = name; - } - - public String getPeople() { - if(StringUtils.isBlank(people)) - return null; - return people; - } - - public void setPeople(String people) { - if(StringUtils.isNotBlank(people)) - this.people = people; - } - - public String getStarttime() { - if(StringUtils.isBlank(starttime)) - return null; - return starttime; - } - - public void setStarttime(String starttime) { - if(StringUtils.isNotBlank(starttime)) - this.starttime = starttime; - } - - public String getEndtime() { - if(StringUtils.isBlank(endtime)) - return null; - return endtime; - } - - public void setEndtime(String endtime) { - if(StringUtils.isNotBlank(endtime)) - this.endtime = endtime; - } - - public String getStatus() { - if(StringUtils.isBlank(status)) - return null; - return status; - } - - public void setStatus(String status) { - if(StringUtils.isNotBlank(status)) - this.status = status; - } -} diff --git a/src/main/java/com/cetc32/dh/entity/vEstimate.java b/src/main/java/com/cetc32/dh/entity/vEstimate.java deleted file mode 100644 index 3c0ad3d..0000000 --- a/src/main/java/com/cetc32/dh/entity/vEstimate.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.cetc32.dh.entity; - -import org.apache.commons.lang3.StringUtils; - -public class vEstimate { - public String classify; - public String name; - public String astatus; - public String creator; - public String getClassify() { - if(StringUtils.isBlank(classify)) - return null; - return classify; - } - - public void setClassify(String classify) { - if(StringUtils.isNotBlank(classify)) - this.classify = classify; - } - - public String getName() { - if(StringUtils.isBlank(name)) - return null; - return name; - } - - public void setName(String name) { - if(StringUtils.isNotBlank(name)) - this.name = name; - } - - public String getStatus() { - if(StringUtils.isBlank(astatus)) - return null; - return astatus; - } - - public void setStatus(String status) { - if(StringUtils.isNotBlank(status)) - this.astatus = status; - } - - public String getAstatus() { - if(StringUtils.isBlank(astatus)) - return null; - return astatus; - } - - public void setAstatus(String astatus) { - if(StringUtils.isNotBlank(astatus)) - this.astatus = astatus; - } - - public String getCreator() { - if(StringUtils.isBlank(creator)) - return null; - return creator; - } - - public void setCreator(String creator) { - if(StringUtils.isNotBlank(creator)) - this.creator = creator; - } -} diff --git a/src/main/java/com/cetc32/dh/entity/vProduct.java b/src/main/java/com/cetc32/dh/entity/vProduct.java deleted file mode 100644 index 802b8a5..0000000 --- a/src/main/java/com/cetc32/dh/entity/vProduct.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.cetc32.dh.entity; - -import org.apache.commons.lang3.StringUtils; - -public class vProduct { - public String classify; - public String name; - public String astatus; - public String creator; - - - public String getClassify() { - if(StringUtils.isBlank(classify)) - return null; - return classify; - } - - public void setClassify(String classify) { - if(StringUtils.isNotBlank(classify)) - this.classify = classify; - } - - public String getName() { - if(StringUtils.isBlank(name)) - return null; - return name; - } - - public void setName(String name) { - if(StringUtils.isNotBlank(name)) - this.name = name; - } - - public String getStatus() { - if(StringUtils.isBlank(astatus)) - return null; - return astatus; - } - - public void setStatus(String status) { - if(StringUtils.isNotBlank(status)) - this.astatus = status; - } - - public String getAstatus() { - if(StringUtils.isBlank(astatus)) - return null; - return astatus; - } - - public void setAstatus(String astatus) { - if(StringUtils.isNotBlank(astatus)) - this.astatus = astatus; - } - - public String getCreator() { - if(StringUtils.isBlank(creator)) - return null; - return creator; - } - - public void setCreator(String creator) { - if(StringUtils.isNotBlank(creator)) - this.creator = creator; - } -} diff --git a/src/main/java/com/cetc32/dh/mybatis/ProductdemandMapper.java b/src/main/java/com/cetc32/dh/mybatis/ProductdemandMapper.java deleted file mode 100644 index 3adee90..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/ProductdemandMapper.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.Productdemand; -import com.cetc32.dh.entity.vProduct; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface ProductdemandMapper { - - List findAll(); - - int deleteByPrimaryKey(Integer id); - - int insert(Productdemand record); - - int insertSelective(Productdemand record); - - Productdemand selectByPrimaryKey(Integer id); - - List selectByLimit(@Param("offset") Integer offset,@Param("limit") Integer limit); - - int countProduct(); - - int updateByPrimaryKeySelective(Productdemand record); - - int updateByPrimaryKey(Productdemand record); - - List findByKeyWord(String keyword); - - /** - * 根据ID 更新提交的信息 - * @param name 更新的数据集合,通常productdemand一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据 - * */ - List selectMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常productdemand一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countMine(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param productdemand 通常productdemand一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据个数 - * */ - Integer countByStatusAndUser(Productdemand productdemand); - - /** - * 根据当前用户统计所有任务个数 - * @param productdemand 通常productdemand一次查询只包含submitor或者approver中的一个。 - * @return 反馈查询到的数据记录 - * */ - List selectByStatusAndUser(Productdemand productdemand); - - List queryFilesByObj(vProduct vproduct); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/VfileMenuMapper.java b/src/main/java/com/cetc32/dh/mybatis/VfileMenuMapper.java deleted file mode 100644 index d6b18ca..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/VfileMenuMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.VfileMenu; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; - -import java.util.Date; -import java.util.List; - -@Repository -public interface VfileMenuMapper extends Mapper { - - public List queryByFileSecurityAndMenuId(Long menuId, String fileSecurity); - - public List queryFilesByMenuId(Long menuId); - - public List queryFilesByTime(Long menuId, Date time); - - public List queryFilesByRegion(Long menuId, String region); - - public List queryFilesByChoose(String fileName, Integer fileYear,String region,String fileType,String fileSecurity); - - public List queryFilesByObj(@Param("offset") Integer offset, @Param("limit") Integer limit, VfileMenu vfileMenu); - - public Integer countFilesByObj(VfileMenu vfileMenu); - - public List distinctAllYear(); - - public List distinctAllRegion(); - -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/service/ProductdemandService.java b/src/main/java/com/cetc32/dh/service/ProductdemandService.java deleted file mode 100644 index 558e869..0000000 --- a/src/main/java/com/cetc32/dh/service/ProductdemandService.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.Productdemand; -import com.cetc32.dh.entity.vProduct; - -import java.util.List; -import java.util.Map; - -public interface ProductdemandService { - - public List findAll(); - public int deleteByPrimaryKey(Integer id); - public int insert(Productdemand productdemand); - public int insertSelective(Productdemand productdemand); - public Productdemand selectByPrimaryKey(Integer id); - public List selectByLimit(Integer offset, Integer limit); - public int countProduct(); - public int updateByPrimaryKeySelective(Productdemand record); - public int updateByPrimaryKey(Productdemand record); - public List findByKeyWord(String keyword); - - /** - * 查询当前登陆用户提交的导入申请 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMySubmit(String name); - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * @param name 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectMyApprove(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常productdemand一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineSubmit(String name); - - /** - * 根据当前用户统计所有任务个数 - * @param name 通常productdemand一次查询只包含approver。 - * @return 反馈查询到的数据个数 - * */ - Integer countMineApprov(String name); - - /** - * 查询当前登陆用户需要审核的提交信息 - * @param productdemand 待查询的数据 - * @return 反馈查询到的结果 - * **/ - public List selectReadyApprove(Productdemand productdemand); - - /** - * 根据当前用户统计所有任务个数 - * @param productdemand 通常productdemand一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - * */ - Integer countReadyApprove(Productdemand productdemand); - - List queryFilesByObj(vProduct vproduct); - - Map PackageData(List data); -} diff --git a/src/main/java/com/cetc32/dh/service/VfileMenuService.java b/src/main/java/com/cetc32/dh/service/VfileMenuService.java deleted file mode 100644 index 272884a..0000000 --- a/src/main/java/com/cetc32/dh/service/VfileMenuService.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理目录文件视图接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.VfileMenu; -import com.cetc32.dh.mybatis.VfileMenuMapper; -import org.apache.ibatis.annotations.Param; -import java.util.Date; -import java.util.List; - -/** - * @Title: VfileMenuService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/13 11:19 - */ -public interface VfileMenuService { - - public List queryByFileSecurityAndMenuId(Long menuId, String fileSecurity); - - public List queryFilesByMenuId(Long menuId); - - public List queryFilesByTime(Long menuId, Date time); - - public List queryFilesByRegion(Long menuId, String region); - - public List queryFilesByChoose(String fileName, Integer fileYear,String region,String fileType,String fileSecurity); - - public List queryFilesByObj(Integer offset, Integer limit,VfileMenu vfileMenu); - - public Integer countFilesByObj(VfileMenu vfileMenu); - - public List distinctAllYear(); - - public List distinctAllRegion(); - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/ProductdemandServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/ProductdemandServiceImpl.java deleted file mode 100644 index 8adcaff..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/ProductdemandServiceImpl.java +++ /dev/null @@ -1,192 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.dto.LineBoth; -import com.cetc32.dh.dto.TwoNode; -import com.cetc32.dh.entity.AreaCommon; -import com.cetc32.dh.entity.Productdemand; -import com.cetc32.dh.entity.vProduct; -import com.cetc32.dh.mybatis.ProductdemandMapper; -import com.cetc32.dh.service.AreaCommonService; -import com.cetc32.dh.service.ProductdemandService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@Service -public class ProductdemandServiceImpl implements ProductdemandService { - @Autowired - ProductdemandMapper productdemandMapper; - @Autowired - AreaCommonService areaCommonService; - - public List findAll() { return productdemandMapper.findAll();} - - public int deleteByPrimaryKey(Integer id){ - if(id==null) - return -1; - return productdemandMapper.deleteByPrimaryKey(id); - } - - public int insert(Productdemand productdemand){ - return productdemandMapper.insert(productdemand); - } - - public int insertSelective(Productdemand record){ - return productdemandMapper.insertSelective(record); - } - - public Productdemand selectByPrimaryKey(Integer id){ - if(id==null) - return null; - return productdemandMapper.selectByPrimaryKey(id); - } - - public List selectByLimit(Integer offset, Integer limit){ - return productdemandMapper.selectByLimit(offset, limit); - } - - public int countProduct() { return productdemandMapper.countProduct();} - - public int updateByPrimaryKeySelective(Productdemand productdemand){ - return productdemandMapper.updateByPrimaryKeySelective(productdemand); - } - - public int updateByPrimaryKey(Productdemand productdemand){ - return productdemandMapper.updateByPrimaryKey(productdemand); - } - - public List findByKeyWord(String keyword){ - keyword ="%"+keyword+"%"; - List search_by_keyword = productdemandMapper.findByKeyWord(keyword); - return search_by_keyword; - } - - /** - * 查询当前登陆用户提交的导入申请 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMySubmit(String name) { - return productdemandMapper.selectMine(name); - } - - /** - * 查询当前登陆用户的审核过的以及未审核的提交信息 - * - * @param name 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectMyApprove(String name) { - return productdemandMapper.selectMine(name); - } - - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常productdemand一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineSubmit(String name) { - return productdemandMapper.countMine(name); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param name 通常productdemand一次查询只包含approver。 - * @return 反馈查询到的数据个数 - */ - public Integer countMineApprov(String name) { - return productdemandMapper.countMine(name); - } - - /** - * 查询当前登陆用户需要审核的提交信息 - * - * @param productdemand 待查询的数据 - * @return 反馈查询到的结果 - **/ - @Override - public List selectReadyApprove(Productdemand productdemand) { - - return productdemandMapper.selectByStatusAndUser(productdemand); - } - - /** - * 根据当前用户统计所有任务个数 - * - * @param productdemand 通常productdemand一次查询只包含submitor。 - * @return 反馈查询到的数据个数 - */ - @Override - public Integer countReadyApprove(Productdemand productdemand) { - return productdemandMapper.countByStatusAndUser(productdemand); - } - - @Override - public List queryFilesByObj(vProduct vProduct){ - return productdemandMapper.queryFilesByObj(vProduct); - } - -// @Override -// public Map PackageData(List data){ -// List twoNodes = new ArrayList<>(); -// List lineBoths = new ArrayList<>(); -// List areaCommonList = areaCommonService.getAreasByIdList(data); -// for(int i=0;i map = new HashMap<>(); -// map.put("list1",twoNodes); -// map.put("connlist",lineBoths); -// return map; -// } - @Override - public Map PackageData(List data){ - List twoNodes = new ArrayList<>(); - List lineBoths = new ArrayList<>(); - for(int i = 0 ;i map = new HashMap<>(); - map.put("list1",twoNodes); - map.put("connlist",lineBoths); - return map; - } - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/VfileMenuServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/VfileMenuServiceImpl.java deleted file mode 100644 index 52c00b0..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/VfileMenuServiceImpl.java +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理目录文件视图接口实现 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.VfileMenu; -import com.cetc32.dh.service.VfileMenuService; -import org.apache.ibatis.annotations.Param; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.cetc32.dh.mybatis.VfileMenuMapper; -import java.util.Date; -import java.util.List; - -/** - * @Title: VfileMenuServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/21 11:04 - */ -@Service -public class VfileMenuServiceImpl implements VfileMenuService { - - @Autowired - public VfileMenuMapper vfileMenuMapper; - - /**根据目录节点menuId和文件安全等级fileSecurity查询文件目录视图列表 - * @param menuId - * @param fileSecurity - * @return List - */ - @Override - public List queryByFileSecurityAndMenuId(Long menuId, String fileSecurity){ - return vfileMenuMapper.queryByFileSecurityAndMenuId(menuId,fileSecurity); - } - - /**根据目录节点menuId查询文件目录视图列表 - * @param menuId - * @return List - */ - @Override - public List queryFilesByMenuId(Long menuId){ - return vfileMenuMapper.queryFilesByMenuId(menuId); - } - - /**根据目录节点menuId和文件创建time查询文件目录视图列表 - * @param menuId - * @param time - * @return List - */ - @Override - public List queryFilesByTime(Long menuId, Date time){ - return vfileMenuMapper.queryFilesByTime(menuId,time); - } - - /**根据目录节点menuId和文件区域region查询文件目录视图列表 - * @param menuId - * @param region - * @return List - */ - @Override - public List queryFilesByRegion(Long menuId, String region){ - return vfileMenuMapper.queryFilesByRegion(menuId,region); - } - - /**根据文件名字,年份,区域,类型,安全等级查询文件目录视图列表 - * @param fileName - * @param fileYear - * @param region - * @param fileType - * @param fileSecurity - * @return List - */ - @Override - public List queryFilesByChoose(String fileName, Integer fileYear,String region,String fileType,String fileSecurity){ - fileName="%"+fileName+"%"; - return vfileMenuMapper.queryFilesByChoose(fileName,fileYear,region,fileType,fileSecurity); - } - - /**动态查询文件目录视图列表 - * @param offset - * @param limit - * @param vfileMenu - * @return List - */ - @Override - public List queryFilesByObj(Integer offset, Integer limit, VfileMenu vfileMenu){ - if(vfileMenu.getFileName()!=null){ - String fileName="%"+vfileMenu.getFileName()+"%"; - vfileMenu.setFileName(fileName); - } - if(vfileMenu.getRegion().equals("全部区域")){ - vfileMenu.setRegion(null); - } - if(vfileMenu.getFileType().equals("全部类型")){ - vfileMenu.setFileType(null); - } - return vfileMenuMapper.queryFilesByObj(offset,limit,vfileMenu); - } - - /**动态查询获取文件目录视图列表个数 - * @param vfileMenu - * @return Integer - */ - @Override - public Integer countFilesByObj(VfileMenu vfileMenu){ - return vfileMenuMapper.countFilesByObj(vfileMenu); - } - - /**查询数据库中所有的不同年份 - * @return List - */ - @Override - public List distinctAllYear(){ - return vfileMenuMapper.distinctAllYear(); - } - - /**查询数据库中所有的不同区域 - * @return List - */ - @Override - public List distinctAllRegion(){ - return vfileMenuMapper.distinctAllRegion(); - } - - -} diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index c756154..bebba33 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -5,12 +5,16 @@ server: ## redis setting -# jedis.pool.host=localhost -# jedis.pool.port=6379 -# jedis.pool.timeout=3000000 -# jedis.pool.config.maxTotal=100 -# jedis.pool.config.maxIdle=10 -# jedis.pool.config.maxWaitMillis=10000 +#jedis: +# pool: +# host:localhost +# port:6254 +# pass:E6346913E58C304C +# timeout:3000000 + +# maxTotal:100 +# maxIdle:10 +# maxWaitMillis:10000 # # # #thymeleaf @@ -45,7 +49,20 @@ spring: multipart: max-file-size: 5GB max-request-size: 5GB - + redis: + jedis: + pool: + max-wait: 10000 + max-idle: 10 + max-active: 100 + host: localhost + port: 6524 + password: E6346913E58C304C + database: 0 + # jedis: +# pool: +# max-idle: 10 +# max-wait: 10000 #设置静态资源路径,多个以逗号分隔 resources: static-locations: classpath:static/,file:static/ diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index 308b5d3..b3b11d0 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -84,44 +84,23 @@ - - SELECT count(*) FROM data_file - - - - - SELECT nextval('data_file_id_seq'::regclass) as id - - insert into data_file - - - - id, - - - file_name, - - - - - file_security, - - - - file_path, - - - create_time, - - - region, - - - - file_time, - - - - file_size, - - - - file_numbers, - - - - file_discription, - - - - approver, - - - - submitor, - - - - gcs, - - - - scan_level, - - - - scale, - - - - lan, - - - - lon, - - - - status, - - - - menu_id, - - - - file_config, - - - - area - - - - - - - #{id}, - - - #{fileName ,jdbcType=VARCHAR}, - - - - - #{fileSecurity,jdbcType=VARCHAR}, - - - - #{filePath,jdbcType=VARCHAR}, - - - now(), - - - #{region,jdbcType=VARCHAR}, - - - - #{fileTime,jdbcType=VARCHAR}, - - - - #{fileSize,jdbcType=VARCHAR}, - - - - #{fileNumbers,jdbcType=INTEGER}, - - - - #{fileDiscription,jdbcType=VARCHAR}, - - - - #{approver,jdbcType=VARCHAR}, - - - - #{submitor,jdbcType=VARCHAR}, - - - - #{gcs,jdbcType=VARCHAR}, - - - - #{scanLevel,jdbcType=INTEGER}, - - - - #{scale,jdbcType=VARCHAR}, - - - - #{lan,jdbcType=VARCHAR}, - - - - #{lon,jdbcType=VARCHAR}, - - - - #{status,jdbcType=VARCHAR}, - - - - #{menuId,jdbcType=INTEGER}, - - - - #{fileConfig,jdbcType=VARCHAR}, - - - - #{area,jdbcType=VARCHAR}, - - - - - - insert into data_file - - - - file_name, - - - - menu_id, - - - - file_path, - - - create_time, - - - region, - - - - file_time, - - - - file_size, - - - - gcs, - - - - scan_level, - - - - scale, - - - - file_config, - - - - area, - - - - - - - - - #{fileName ,jdbcType=VARCHAR}, - - - - #{menuId,jdbcType=INTEGER}, - - - - #{filePath,jdbcType=VARCHAR}, - - - now(), - - - #{region,jdbcType=VARCHAR}, - - - - #{fileTime,jdbcType=VARCHAR}, - - - - #{fileSize,jdbcType=VARCHAR}, - - - - #{gcs,jdbcType=VARCHAR}, - - - - #{scanLevel,jdbcType=INTEGER}, - - - - #{scale,jdbcType=VARCHAR}, - - - - #{fileConfig,jdbcType=VARCHAR}, - - - - #{area,jdbcType=VARCHAR}, - - - - - - - - update data_file - - - file_name = #{fileName,jdbcType=VARCHAR}, - - - - file_security = #{fileSecurity,jdbcType=VARCHAR}, - - - file_path = #{filePath,jdbcType=VARCHAR}, - - - region = #{region,jdbcType=VARCHAR}, - - - file_time = #{fileTime,jdbcType=VARCHAR}, - - - file_size = #{fileSize,jdbcType=VARCHAR}, - - - file_numbers = #{fileNumbers,jdbcType=INTEGER}, - - - file_discription = #{fileDiscription,jdbcType=VARCHAR}, - - - approver = #{approver,jdbcType=VARCHAR}, - - - - submitor = #{submitor,jdbcType=VARCHAR}, - - - - gcs = #{gcs,jdbcType=VARCHAR}, - - - - scan_level = #{scanLevel,jdbcType=INTEGER}, - - - - scale = #{scale,jdbcType=VARCHAR}, - - - - lan = #{lan,jdbcType=VARCHAR}, - - - - lon = #{lon,jdbcType=VARCHAR}, - - - - status = #{status,jdbcType=VARCHAR}, - - - - menu_id = #{menuId,jdbcType=INTEGER}, - - - - file_config = #{fileConfig,jdbcType=VARCHAR}, - - - - area = #{area,jdbcType=VARCHAR}, - - - approve_time = now() - - - where id = #{id,jdbcType=BIGINT} - - - - - - delete from data_file - where id = #{id,jdbcType=BIGINT} - - - - delete from data_file - where menu_id = #{menuId,jdbcType=INTEGER} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/DataMenuMapper.xml b/src/main/resources/mapper/DataMenuMapper.xml deleted file mode 100644 index 5c0f6cc..0000000 --- a/src/main/resources/mapper/DataMenuMapper.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - SELECT nextval('data_menu_id_seq'::regclass) as id - - insert into data_menu - - - - id, - - - - menu_name, - - - - pid, - - - - discription, - - - - url, - - - - key, - - - - html_url, - - - - disabled, - - - - icon, - - - - addkids, - - - - - - - - - #{id,jdbcType=BIGINT}, - - - - #{menuName ,jdbcType=VARCHAR}, - - - - #{pid,jdbcType=BIGINT}, - - - - #{discription,jdbcType=VARCHAR}, - - - - #{url,jdbcType=VARCHAR}, - - - - #{key,jdbcType=VARCHAR}, - - - - #{htmlUrl,jdbcType=VARCHAR}, - - - - #{disabled,jdbcType=BIT}, - - - - #{icon,jdbcType=VARCHAR}, - - - - #{addkids,jdbcType=BIT}, - - - - - - - - - update data_menu - - - menu_name = #{menuName,jdbcType=VARCHAR}, - - - pid = #{pid,jdbcType=BIGINT}, - - - discription = #{discription,jdbcType=VARCHAR}, - - - - url = #{url,jdbcType=VARCHAR}, - - - - key = #{key,jdbcType=VARCHAR}, - - - - html_url = #{htmlUrl,jdbcType=VARCHAR}, - - - - disabled = #{disabled,jdbcType=BIT}, - - - - addkids = #{addkids,jdbcType=BIT}, - - - - icon = #{icon,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=BIGINT} - - - - - - - - - - - - - - - - - - delete from data_menu - where id = #{id,jdbcType=BIGINT} - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/DataPlpMapper.xml b/src/main/resources/mapper/DataPlpMapper.xml deleted file mode 100644 index 3b01c5a..0000000 --- a/src/main/resources/mapper/DataPlpMapper.xml +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - insert into data_plp - - - - id, - - - - user_id, - - - - event_type, - - - - points, - - - - region, - - - create_time, - - - description, - - - - security, - - - - - approver, - - - - approve_time, - - - - status, - - - - file_config, - - - - file_name, - - - - file_time, - - - - photo_byte, - - - - submitor, - - - - menu_id, - - - - reserver2, - - - - - - - - - #{id,jdbcType=INTEGER}, - - - - #{userId,jdbcType=INTEGER}, - - - - #{eventType ,jdbcType=VARCHAR}, - - - - #{points,jdbcType=VARCHAR}, - - - - #{region,jdbcType=VARCHAR}, - - - now(), - - - #{description,jdbcType=VARCHAR}, - - - - #{security,jdbcType=VARCHAR}, - - - - #{approver,jdbcType=VARCHAR}, - - - - #{approveTime,jdbcType=TIMESTAMP}, - - - - #{status,jdbcType=VARCHAR}, - - - - #{fileConfig,jdbcType=VARCHAR}, - - - - #{fileName,jdbcType=VARCHAR}, - - - - #{fileTime,jdbcType=VARCHAR}, - - - - #{photoByte,jdbcType=VARCHAR}, - - - - #{submitor,jdbcType=VARCHAR}, - - - - #{menuId,jdbcType=INTEGER}, - - - - #{reserver2,jdbcType=VARCHAR}, - - - - - - - insert into data_plp - - - - userid, - - - - file_type, - - - - points, - - - - region, - - - - create_time, - - - - description, - - - - photo_byte - - - - - - - - - #{userid,jdbcType=INTEGER}, - - - - #{eventtype ,jdbcType=VARCHAR}, - - - - #{points,jdbcType=VARCHAR}, - - - - #{cityname,jdbcType=VARCHAR}, - - - - #{uploadtime,jdbcType=VARCHAR}, - - - - #{describe,jdbcType=VARCHAR}, - - - - #{photo,jdbcType=VARCHAR} - - - - - - - - - update data_plp - - - - user_id = #{userId,jdbcType=INTEGER}, - - - - event_type = #{eventType ,jdbcType=VARCHAR}, - - - - points = #{points,jdbcType=VARCHAR}, - - - - region = #{region,jdbcType=VARCHAR}, - - - - description = #{description,jdbcType=VARCHAR}, - - - - security = #{security,jdbcType=VARCHAR}, - - - - approver = #{approver,jdbcType=VARCHAR}, - - - - status = #{status,jdbcType=VARCHAR}, - - - - file_config = #{fileConfig,jdbcType=VARCHAR}, - - - - file_name = #{fileName,jdbcType=VARCHAR}, - - - - file_time = #{fileTime,jdbcType=VARCHAR}, - - - - photo_byte = #{photoByte,jdbcType=VARCHAR}, - - - - submitor = #{submitor,jdbcType=VARCHAR}, - - - - menu_id = #{menuId,jdbcType=INTEGER}, - - - - reserver2 = #{reserver2,jdbcType=VARCHAR}, - - approve_time = now() - - where id = #{id,jdbcType=INTEGER} - - - - - - delete from data_plp - where id = #{id,jdbcType=INTEGER} - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/DataSubmitMapper.xml b/src/main/resources/mapper/DataSubmitMapper.xml deleted file mode 100644 index d7d0542..0000000 --- a/src/main/resources/mapper/DataSubmitMapper.xml +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - insert into data_submit - - - - id, - - - - subtype, - - - - plevel, - - - - submitor, - - - - status, - - - - path, - - - - approver, - - - - menuid, - - - - - title, - - - - area, - - - - year, - - - - file_type, - - - - subtime, - - - - review_time, - - - - file_size, - - - - file_numbers, - - - - file_discription, - - - - - - - - - - #{id}, - - - - #{subtype}, - - - - #{plevel}, - - - - #{submitor}, - - - - - #{status}, - - - - #{path}, - - - - #{approver}, - - - - #{menuid}, - - - - - #{title}, - - - - #{area}, - - - - #{year}, - - - - #{fileType}, - - - - #{subtime}, - - - - #{reviewTime}, - - - - #{fileSize}, - - - - #{fileNumbers}, - - - - #{fileDiscription}, - - - - - - - - - update data_submit - - - status = #{status}, - - - plevel = #{plevel}, - - - menuId = #{menuid}, - - - year = #{year}, - - - area = #{area}, - - - approver = #{approver}, - - - title = #{title}, - - - path = #{path}, - - - subtype = #{subtype}, - - - submitor = #{submitor}, - - - file_type = #{fileType}, - - - subtime = #{subtime}, - - - review_time = #{reviewTime}, - - - file_size = #{fileSize}, - - - file_numbers = #{fileNumbers}, - - - file_discription = #{fileDiscription}, - - - - where id = #{id} - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/DataTraceMapper.xml b/src/main/resources/mapper/DataTraceMapper.xml deleted file mode 100644 index f44c908..0000000 --- a/src/main/resources/mapper/DataTraceMapper.xml +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - insert into data_trace - - - - id, - - - - user_id, - - - - points, - - - create_time, - - - description, - - - - security, - - - - approver, - - - - approve_time, - - - - status, - - - - file_config, - - - - file_time, - - - - lat, - - - - lon, - - - - linkid, - - - - speed, - - - - direction, - - - - locsource, - - - - coordinateerror, - - - - deviceid, - - - - encrylongitude, - - - - enccrylatitude, - - - - flag, - - - - submitor, - - - - file_path, - - - - file_size, - - - - start_time, - - - - end_time, - - - - file_name, - - - - menu_id, - - - - - - - - - #{id,jdbcType=INTEGER}, - - - - #{userId,jdbcType=INTEGER}, - - - - #{points,jdbcType=VARCHAR}, - - - now(), - - - #{description,jdbcType=VARCHAR}, - - - - #{security,jdbcType=VARCHAR}, - - - - #{approver,jdbcType=VARCHAR}, - - - - #{approveTime,jdbcType=TIMESTAMP}, - - - - #{status,jdbcType=VARCHAR}, - - - - #{fileConfig,jdbcType=VARCHAR}, - - - - #{fileTime,jdbcType=VARCHAR}, - - - - #{lat,jdbcType=VARCHAR}, - - - - #{lon,jdbcType=VARCHAR}, - - - - #{linkid,jdbcType=VARCHAR}, - - - - #{speed,jdbcType=INTEGER}, - - - - #{direction,jdbcType=INTEGER}, - - - - #{locsource,jdbcType=INTEGER}, - - - - #{coordinateerror,jdbcType=INTEGER}, - - - - #{deviceid,jdbcType=VARCHAR}, - - - - #{encrylongitude,jdbcType=INTEGER}, - - - - #{enccrylatitude,jdbcType=INTEGER}, - - - - #{flag,jdbcType=BIT}, - - - - #{submitor,jdbcType=VARCHAR}, - - - - #{filePath,jdbcType=VARCHAR}, - - - - #{fileSize,jdbcType=VARCHAR}, - - - - #{startTime,jdbcType=TIMESTAMP}, - - - - #{endTime,jdbcType=TIMESTAMP}, - - - - #{fileName,jdbcType=VARCHAR}, - - - - #{menuId,jdbcType=INTEGER}, - - - - - - - - update data_trace - - - - user_id = #{userId,jdbcType=INTEGER}, - - - - points = #{points,jdbcType=VARCHAR}, - - - - description = #{description,jdbcType=VARCHAR}, - - - - security = #{security,jdbcType=VARCHAR}, - - - - approver = #{approver,jdbcType=VARCHAR}, - - - - status = #{status,jdbcType=VARCHAR}, - - - - file_config = #{fileConfig,jdbcType=VARCHAR}, - - - - file_time = #{fileTime,jdbcType=VARCHAR}, - - - - lat = #{lat,jdbcType=VARCHAR}, - - - - lon = #{lon,jdbcType=VARCHAR}, - - - - linkid = #{linkid,jdbcType=VARCHAR}, - - - - speed = #{speed,jdbcType=INTEGER}, - - - - direction = #{direction,jdbcType=INTEGER}, - - - - locsource = #{locsource,jdbcType=INTEGER}, - - - - coordinateerror = #{coordinateerror,jdbcType=INTEGER}, - - - - deviceid = #{deviceid,jdbcType=VARCHAR}, - - - - encrylongitude = #{encrylongitude,jdbcType=INTEGER}, - - - - enccrylatitude = #{enccrylatitude,jdbcType=INTEGER}, - - - - flag = #{flag,jdbcType=BIT}, - - - - submitor = #{submitor,jdbcType=VARCHAR}, - - - - file_path = #{filePath,jdbcType=VARCHAR}, - - - - file_size = #{fileSize,jdbcType=VARCHAR}, - - - - start_time = #{startTime,jdbcType=TIMESTAMP}, - - - - end_time = #{endTime,jdbcType=TIMESTAMP}, - - - - file_name = #{fileName,jdbcType=VARCHAR}, - - - - menu_id = #{menuId,jdbcType=INTEGER}, - - - approve_time = now() - - - where id = #{id,jdbcType=INTEGER} - - - - - - delete from data_trace - where id = #{id,jdbcType=INTEGER} - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/DemandSubmitMapper.xml b/src/main/resources/mapper/DemandSubmitMapper.xml deleted file mode 100644 index 593e7c1..0000000 --- a/src/main/resources/mapper/DemandSubmitMapper.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - id, project_name, demand_name, demand_des, status, reporter, departmentid, approver, - approce_time, endtime, demand_classify, demand_attachment,areachoice,creattime,area,areaname - - - - - - - - - delete from demand_submit - where id = #{id,jdbcType=INTEGER} - - - insert into demand_submit (id, project_name, demand_name, - demand_des, status, reporter, - departmentid, approver, approce_time, - endtime, demand_classify, demand_attachment,areachoice,creattime,area,areaname - ) - values (#{id,jdbcType=INTEGER}, #{projectName,jdbcType=VARCHAR}, #{demandName,jdbcType=VARCHAR}, - #{demandDes,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{reporter,jdbcType=VARCHAR}, - #{departmentid,jdbcType=INTEGER}, #{approver,jdbcType=VARCHAR}, #{approceTime,jdbcType=TIMESTAMP}, - #{endtime,jdbcType=DATE}, #{demandClassify,jdbcType=VARCHAR}, #{demandAttachment,jdbcType=VARCHAR}, - #{areachoice,jdbcType=VARCHAR},#{creattime,jdbcType=TIMESTAMP},#{area,jdbcType=VARCHAR}, #{areaname,jdbcType=VARCHAR} - ) - - - insert into demand_submit - - - id, - - - project_name, - - - demand_name, - - - demand_des, - - - status, - - - reporter, - - - departmentid, - - - approver, - - - approce_time, - - - endtime, - - - demand_classify, - - - demand_attachment, - - - areachoice, - - - creattime, - - - area, - - - areaname, - - - - - #{id,jdbcType=INTEGER}, - - - #{projectName,jdbcType=VARCHAR}, - - - #{demandName,jdbcType=VARCHAR}, - - - #{demandDes,jdbcType=VARCHAR}, - - - #{status,jdbcType=VARCHAR}, - - - #{reporter,jdbcType=VARCHAR}, - - - #{departmentid,jdbcType=INTEGER}, - - - #{approver,jdbcType=VARCHAR}, - - - #{approceTime,jdbcType=TIMESTAMP}, - - - #{endtime,jdbcType=DATE}, - - - #{demandClassify,jdbcType=VARCHAR}, - - - #{demandAttachment,jdbcType=VARCHAR}, - - - #{areachoice,jdbcType=VARCHAR}, - - - #{creattime,jdbcType=TIMESTAMP}, - - - #{area,jdbcType=VARCHAR}, - - - #{areaname,jdbcType=VARCHAR}, - - - - - update demand_submit - - - project_name = #{projectName,jdbcType=VARCHAR}, - - - demand_name = #{demandName,jdbcType=VARCHAR}, - - - demand_des = #{demandDes,jdbcType=VARCHAR}, - - - status = #{status,jdbcType=VARCHAR}, - - - reporter = #{reporter,jdbcType=VARCHAR}, - - - departmentid = #{departmentid,jdbcType=INTEGER}, - - - approver = #{approver,jdbcType=VARCHAR}, - - - approce_time = #{approceTime,jdbcType=TIMESTAMP}, - - - endtime = #{endtime,jdbcType=DATE}, - - - demand_classify = #{demandClassify,jdbcType=VARCHAR}, - - - demand_attachment = #{demandAttachment,jdbcType=VARCHAR}, - - - areachoice = #{areachoice,jdbcType=VARCHAR}, - - - creattime = #{creattime,jdbcType=TIMESTAMP}, - - - area=#{area,jdbcType=VARCHAR}, - - - areaname=#{areaname,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update demand_submit - set project_name = #{projectName,jdbcType=VARCHAR}, - demand_name = #{demandName,jdbcType=VARCHAR}, - demand_des = #{demandDes,jdbcType=VARCHAR}, - status = #{status,jdbcType=VARCHAR}, - reporter = #{reporter,jdbcType=VARCHAR}, - departmentId = #{departmentid,jdbcType=INTEGER}, - approver = #{approver,jdbcType=VARCHAR}, - approce_time = #{approceTime,jdbcType=TIMESTAMP}, - endtime = #{endtime,jdbcType=DATE}, - demand_classify = #{demandClassify,jdbcType=VARCHAR}, - demand_attachment = #{demandAttachment,jdbcType=VARCHAR}, - areachoice = #{areachoice,jdbcType=VARCHAR}, - creattime = #{creattime,jdbcType=TIMESTAMP}, - area=#{area,jdbcType=VARCHAR}, - areaname=#{areaname,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/EstimateTaskMapper.xml b/src/main/resources/mapper/EstimateTaskMapper.xml deleted file mode 100644 index 8acbd98..0000000 --- a/src/main/resources/mapper/EstimateTaskMapper.xml +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - id, name, task_classify, task_type, task_path, starttime, endtime, creator, creattime, - status,approver,demandid,approvtime - - - - - - - - - - delete from estimate_task - where id = #{id,jdbcType=INTEGER} - - - insert into estimate_task (id, name, task_classify, - task_type, task_path, starttime, - endtime, creator, creattime, - status,approver,demandid,approvtime) - values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{taskClassify,jdbcType=VARCHAR}, - #{taskType,jdbcType=VARCHAR}, #{taskPath,jdbcType=VARCHAR}, #{starttime,jdbcType=TIMESTAMP}, - #{endtime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, #{creattime,jdbcType=TIMESTAMP}, - #{status,jdbcType=VARCHAR},#{approver,jdbcType=VARCHAR},#{demadid,jdbcType=INTEGER},#{approvtime,jdbcType=TIMESTAMP}) - - - insert into estimate_task - - - id, - - - name, - - - task_classify, - - - task_type, - - - task_path, - - - starttime, - - - endtime, - - - creator, - - - creattime, - - - status, - - - approver, - - - demandid, - - - approvtime, - - - - - #{id,jdbcType=INTEGER}, - - - #{name,jdbcType=VARCHAR}, - - - #{taskClassify,jdbcType=VARCHAR}, - - - #{taskType,jdbcType=VARCHAR}, - - - #{taskPath,jdbcType=VARCHAR}, - - - #{starttime,jdbcType=TIMESTAMP}, - - - #{endtime,jdbcType=TIMESTAMP}, - - - #{creator,jdbcType=VARCHAR}, - - - #{creattime,jdbcType=TIMESTAMP}, - - - #{status,jdbcType=VARCHAR}, - - - #{approver,jdbcType=VARCHAR}, - - - #{demandid,jdbcType=INTEGER}, - - - #{approvtime,jdbcType=TIMESTAMP}, - - - - - update estimate_task - - - name = #{name,jdbcType=VARCHAR}, - - - task_classify = #{taskClassify,jdbcType=VARCHAR}, - - - task_type = #{taskType,jdbcType=VARCHAR}, - - - task_path = #{taskPath,jdbcType=VARCHAR}, - - - starttime = #{starttime,jdbcType=TIMESTAMP}, - - - endtime = #{endtime,jdbcType=TIMESTAMP}, - - - creator = #{creator,jdbcType=VARCHAR}, - - - creattime = #{creattime,jdbcType=TIMESTAMP}, - - - status = #{status,jdbcType=VARCHAR}, - - - approver = #{approver,jdbcType=VARCHAR}, - - - demandid = #{demandid,jdbcType=INTEGER}, - - - approvtime=#{approvtime,jdbcType=TIMESTAMP}, - - - where id = #{id,jdbcType=INTEGER} - - - update estimate_task - set name = #{name,jdbcType=VARCHAR}, - task_classify = #{taskClassify,jdbcType=VARCHAR}, - task_type = #{taskType,jdbcType=VARCHAR}, - task_path = #{taskPath,jdbcType=VARCHAR}, - starttime = #{starttime,jdbcType=TIMESTAMP}, - endtime = #{endtime,jdbcType=TIMESTAMP}, - creator = #{creator,jdbcType=VARCHAR}, - creattime = #{creattime,jdbcType=TIMESTAMP}, - status = #{status,jdbcType=VARCHAR}, - approver = #{approver,jdbcType=VARCHAR}, - demandid = #{demandid,jdbcType=INTEGER}, - approvtime=#{approvtime,jdbcType=TIMESTAMP} - where id = #{id,jdbcType=INTEGER} - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/FileToMenuMapper.xml b/src/main/resources/mapper/FileToMenuMapper.xml deleted file mode 100644 index 30f05bb..0000000 --- a/src/main/resources/mapper/FileToMenuMapper.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - insert into file_to_menu - - - - menu_id, - - - - file_id, - - - - - - - #{menuId,jdbcType=BIGINT}, - - - - #{fileId ,jdbcType=BIGINT}, - - - - - - - - delete from file_to_menu - where menu_id= #{menuId} and file_id= #{fileId} - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/OptionsMapper.xml b/src/main/resources/mapper/OptionsMapper.xml deleted file mode 100644 index 83f1911..0000000 --- a/src/main/resources/mapper/OptionsMapper.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/ProductdemandMapper.xml b/src/main/resources/mapper/ProductdemandMapper.xml deleted file mode 100644 index bd16a7f..0000000 --- a/src/main/resources/mapper/ProductdemandMapper.xml +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - id, name, demand_classify, demandyear, taskdocument, starttime, endtime, status,approver,demandid, - creator,flowresult,creattime,approvtime,area - - - - - - - - delete from productdemand - where id = #{id,jdbcType=INTEGER} - - - insert into productdemand (id, name, demand_classify, - demandyear, taskdocument, starttime, - endtime, status,approver,demandid,creator,flowresult,creattime,approvtime,area) - values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{demandClassify,jdbcType=VARCHAR}, - #{demandyear,jdbcType=TIMESTAMP}, #{taskdocument,jdbcType=VARCHAR}, #{starttime,jdbcType=TIMESTAMP}, - #{endtime,jdbcType=TIMESTAMP}, #{status,jdbcType=VARCHAR},#{approver,jdbcType=VARCHAR},#{demandid,jdbcType=INTEGER},#{creator,jdbcType=VARCHAR}, - #{flowresult,jdbcType=VARCHAR},#{creattime,jdbcType=TIMESTAMP},#{approvtime,jdbcType=TIMESTAMP}, - #{area,jdbcType=VARCHAR}) - - - insert into productdemand - - - id, - - - name, - - - demand_classify, - - - demandyear, - - - taskdocument, - - - starttime, - - - endtime, - - - status, - - - approver, - - - demandid, - - - creator, - - - flowresult, - - - creattime, - - - approvtime, - - - area - - - - - #{id,jdbcType=INTEGER}, - - - #{name,jdbcType=VARCHAR}, - - - #{demandClassify,jdbcType=VARCHAR}, - - - #{demandyear,jdbcType=TIMESTAMP}, - - - #{taskdocument,jdbcType=VARCHAR}, - - - #{starttime,jdbcType=TIMESTAMP}, - - - #{endtime,jdbcType=TIMESTAMP}, - - - #{status,jdbcType=VARCHAR}, - - - #{approver,jdbcType=VARCHAR}, - - - #{demandid,jdbcType=INTEGER}, - - - #{creator,jdbcType=VARCHAR}, - - - #{flowresult,jdbcType=VARCHAR}, - - - #{creattime,jdbcType=TIMESTAMP}, - - - #{approvtime,jdbcType=TIMESTAMP}, - - - #{area,jdbcType=VARCHAR}, - - - - - update productdemand - - - name = #{name,jdbcType=VARCHAR}, - - - demand_classify = #{demandClassify,jdbcType=VARCHAR}, - - - demandyear = #{demandyear,jdbcType=TIMESTAMP}, - - - taskdocument = #{taskdocument,jdbcType=VARCHAR}, - - - starttime = #{starttime,jdbcType=TIMESTAMP}, - - - endtime = #{endtime,jdbcType=TIMESTAMP}, - - - status = #{status,jdbcType=VARCHAR}, - - - approver = #{approver,jdbcType=VARCHAR}, - - - demandid = #{demandid,jdbcType=INTEGER}, - - - creator = #{creator,jdbcType=VARCHAR}, - - - flowresult=#{flowresult,jdbcType = VARCHAR}, - - - creattime=#{creattime,jdbcType=TIMESTAMP}, - - - approvtime=#{approvtime,jdbcType=TIMESTAMP}, - - - area = #{area,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update productdemand - set name = #{name,jdbcType=VARCHAR}, - demand_classify = #{demandClassify,jdbcType=VARCHAR}, - demandyear = #{demandyear,jdbcType=TIMESTAMP}, - taskdocument = #{taskdocument,jdbcType=VARCHAR}, - starttime = #{starttime,jdbcType=TIMESTAMP}, - endtime = #{endtime,jdbcType=TIMESTAMP}, - status = #{status,jdbcType=VARCHAR}, - approver = #{approver,jdbcType=VARCHAR}, - demandid = #{demandid,jdbcType=INTEGER}, - creator = #{creator,jdbcType=VARCHAR}, - flowresult=#{flowresult,jdbcType=VARCHAR}, - creattime=#{creattime,jdbcType=TIMESTAMP}, - approvtime=#{approvtime,jdbcType=TIMESTAMP}, - area=#{area,jdbcType=VARCHAR}, - where id = #{id,jdbcType=INTEGER} - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/VfileMenuMapper.xml b/src/main/resources/mapper/VfileMenuMapper.xml deleted file mode 100644 index 4869110..0000000 --- a/src/main/resources/mapper/VfileMenuMapper.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file -- Gitee From 054b390d126f7b379752b95501873128a09d164c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 22 Jan 2021 16:19:04 +0800 Subject: [PATCH 03/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/cetc32/dh/entity/NumberS.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/cetc32/dh/entity/NumberS.java b/src/main/java/com/cetc32/dh/entity/NumberS.java index 27a0f16..88b9fbb 100644 --- a/src/main/java/com/cetc32/dh/entity/NumberS.java +++ b/src/main/java/com/cetc32/dh/entity/NumberS.java @@ -22,7 +22,7 @@ public class NumberS { public Integer getResults() { if(results==null || results<=0) - return 10; + return Integer.MAX_VALUE; return results; } -- Gitee From b677ac35aa4505780c2ba7df195261ab59d21ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 25 Jan 2021 14:35:49 +0800 Subject: [PATCH 04/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/OrganizationController.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java b/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java index 39372bd..2544c06 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java @@ -10,13 +10,14 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@RestController -@RequestMapping("/organization/") +@Deprecated +//@RestController +//@RequestMapping("/organization/") public class OrganizationController extends BaseController{ @Autowired OrganizationService organizationService; - @RequestMapping("/options") + //@RequestMapping("/options") public PageDataResult organizationAll(){ PageDataResult pdr = new PageDataResult(); pdr.setTotals(organizationService.countOrganization()); @@ -24,7 +25,7 @@ public class OrganizationController extends BaseController{ return pdr; } - @RequestMapping("/insertselect") + //@RequestMapping("/insertselect") public ResponseResult insertselect(Organization organization){ if(organization == null){ return ResponseResult.error("传入值为空!"); @@ -35,7 +36,7 @@ public class OrganizationController extends BaseController{ return ResponseResult.error("wrong"); } - @RequestMapping("/selectbylimit") + //@RequestMapping("/selectbylimit") public PageDataResult selectbylimit(@RequestParam("pageSize") Integer pagesize, @RequestParam("pageNum") Integer pagenum){ PageDataResult pdr = new PageDataResult(); if(pagenum == null || pagenum == 0){ @@ -48,7 +49,7 @@ public class OrganizationController extends BaseController{ return pdr; } - @RequestMapping("/selectbykey") + //@RequestMapping("/selectbykey") public ResponseResult selsectbykey(Integer id){ if(id == null){ return ResponseResult.error("id为空!"); @@ -58,7 +59,7 @@ public class OrganizationController extends BaseController{ return pdr; } - @RequestMapping("/deletebykey") + //@RequestMapping("/deletebykey") public ResponseResult deletebyprimarykey(Integer id){ if(id == null) return ResponseResult.error("传入值为空!"); @@ -66,7 +67,7 @@ public class OrganizationController extends BaseController{ return new ResponseResult("Success"); } - @RequestMapping("/updateselect") + //@RequestMapping("/updateselect") public ResponseResult updateselect(Organization record){ if(record == null){ return ResponseResult.error("传入值为空!"); @@ -75,7 +76,7 @@ public class OrganizationController extends BaseController{ return new ResponseResult("Success"); } - @RequestMapping("/search") + //@RequestMapping("/search") public PageDataResult CircuitSearch(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String keyword) { PageDataResult pdr = new PageDataResult(); -- Gitee From eb0e4d038cecf875d71b23a38a0dc3788a945026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 25 Jan 2021 15:01:23 +0800 Subject: [PATCH 05/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/rest/DataFileController.java | 1011 ----------------- .../controller/rest/DataMenuController.java | 303 ----- .../controller/rest/DepartmentController.java | 34 - .../rest/OrganizationController.java | 94 -- .../com/cetc32/dh/entity/Organization.java | 33 - .../cetc32/dh/mybatis/OrganizationMapper.java | 30 - .../dh/service/OrganizationService.java | 29 - .../service/impl/OrganizationServiceImpl.java | 61 - .../resources/mapper/OrganizationMapper.xml | 94 -- 9 files changed, 1689 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataFileController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java delete mode 100644 src/main/java/com/cetc32/dh/entity/Organization.java delete mode 100644 src/main/java/com/cetc32/dh/mybatis/OrganizationMapper.java delete mode 100644 src/main/java/com/cetc32/dh/service/OrganizationService.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/OrganizationServiceImpl.java delete mode 100644 src/main/resources/mapper/OrganizationMapper.xml diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java b/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java deleted file mode 100644 index e56d4ab..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataFileController.java +++ /dev/null @@ -1,1011 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * - * @Title: 数管文件、数据操作控制器文件 - * @author: 徐文远、肖小霞 - * @version: 1.0 - * @date: 2020/10/16 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.*; -import com.cetc32.dh.service.*; -import com.cetc32.dh.utils.FileUtil; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 数管文件、数据操作操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@RestController -@RequestMapping("/rest/import/") -public class DataFileController { - - @Autowired - DataSubmitService dataSubmitService; - @Autowired - DataFileService dataFileService; - @Autowired - FileToMenuService fileToMenuService; - @Autowired - DataMenuService dataMenuService; - @Autowired - AdminUserService adminUserService; - @Value("${upLoadPath}") - String upLoadPath; - -// /** -// * 批量文件夹上传服务器 -// * @param folder 批量文件 -// * @param dataSubmit 数据信息 -// * @return ResponseResult 网页返回结果 -// * **/ -// @ApiOperation(value="批量文件上传") -// @PostMapping("/uploadFolder") -// public ResponseResult uploadFolder(MultipartFile[] folder,DataSubmit dataSubmit) { -// dataSubmit=new DataSubmit(1,2,2,2,"SDF","DSF",3,"FG","DDD","DF",2011); -// System.out.println(uploadPath); -// System.out.println(folder.length); -// FileUtil.saveMultiFile(uploadPath, folder); -// dataSubmit.setSubtype(1); -// dataSubmit.setStatus(1); -// int count = dataSubmitService.insertDataSubmit(dataSubmit); -// if(0<=count){ -// return ResponseResult.success("数据提交成功!"); -// } -// return ResponseResult.error("数据提交失败!"); -// } - - /** - * 查询当前用户提交的所有导入请求 - * @param page 页码 - * @param results 每页显示的条数 - * @return 返回给前端分装好的结构体 - * **/ - @ApiOperation(value = "当前用户名提交的数据") - @PostMapping("/request") - public PageDataResult mySubmits(Integer page, Integer results) { - DataSubmit ds = new DataSubmit(); - ds.setSubmitor("admin"); - List list = new ArrayList<>(); - Integer count = 0; - list = dataSubmitService.selectMySubmit(ds); - count = dataSubmitService.countMineSubmit(ds); - return new PageDataResult(count, list, (page - 1) * results); - - } - - /** - * 查询当前用户可以审核的所有导入请求 - * @param page 页码 - * @param results 每页显示的条数 - * @return 返回给前端分装好的结构体 - * **/ - @ApiOperation(value = "当前用户名下需要审核及已审核的所有任务") - @PostMapping("/task") - public PageDataResult myApproves(Integer page, Integer results) { - DataSubmit ds = new DataSubmit(); - ds.setSubmitor("admin"); - List list = new ArrayList<>(); - Integer count = 0; - list = dataSubmitService.selectMyApprove(ds); - for (int i = 0; i < list.size(); i++) { - } - count = dataSubmitService.countMineApprov(ds); - return new PageDataResult(count, list, (page - 1) * results); -// return new PageDataResult(count,list); - } - - - /** - * 对已提交的文件和表单数据审核通过 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "审核通过") - @PostMapping("/accept") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult acceptSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = Integer.parseInt(ids.get(i)); - dataFile = dataFileService.queryById(id.longValue()); - dataFile.setStatus("审核通过"); - dataFile.setApprover(userName); - dataFile.setApproveTime(new Date()); - if (dataFileService.updatebyId(dataFile) > 0) { - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批通过"); - return ResponseResult.error("审批失败"); - - } - - /** - * 对已提交的文件和表单数据审核拒绝 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "拒绝请求") - @PostMapping("/reject") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult rejectSubmit(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer)map.get("userId"); - String userName = null; - if((adminUserService.getUserById(userId))!=null){ - userName = adminUserService.getUserById(userId).getSysUserName(); - } - for (int i = 0; i < ids.size(); i++) { - Integer id = Integer.parseInt(ids.get(i)); - dataFile = dataFileService.queryById(id.longValue()); - dataFile.setStatus("审核拒绝"); - dataFile.setApprover(userName); - dataFile.setApproveTime(new Date()); - if (dataFileService.updatebyId(dataFile) > 0) { - String delFile = dataFile.getFilePath(); - FileUtil.deleteDir(delFile); - sum++; - } - } - if (sum == ids.size()) - return ResponseResult.success("已审批拒绝"); - return ResponseResult.error("审批失败"); - } - - - /** - * 删除已提交的数据记录 - * @param map - * @return 返回执行结果 - * **/ - @ApiOperation(value = "删除数据") - @PostMapping("/delcommon") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "申请删除的文件id", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult delData(@RequestBody Map map) { - System.out.println(map); - List ids = new ArrayList<>(); - DataFile dataFile = new DataFile(); - int sum = 0; - ids = (List) map.get("ids"); - Integer userId = (Integer) map.get("userId"); - System.out.println(userId); -// String userName = null; -// if ((adminUserService.getUserById(userId)) != null) { -// userName = adminUserService.getUserById(userId).getSysUserName(); -// } - - for (int i = 0; i < ids.size(); i++) { - System.out.println(ids.get(i)); - Long id = Long.parseLong(ids.get(i)); - dataFile = dataFileService.queryById(id); - String delFile = dataFile.getFilePath(); - if (dataFileService.deleteById(id) > 0) { -// FileUtil.deleteDir(delFile); - sum++; - } - } - if (sum == ids.size()){ - return ResponseResult.success("删除成功"); - } - return ResponseResult.error("删除失败"); - - } - - - -// /** -// * @param page 页码 -// * @param results 每页显示条数 -// * @return 分页数据 -// * */ -// @ApiOperation(value = "所有待审核的数据") -// @PostMapping("/approvescommon") -// public PageDataResult myAprroves(@ApiParam(value = "页码") Integer page, @ApiParam(value = "每页数据条数") Integer results,@ApiParam(value = "编目id") Integer menuid) { -// if (null == page || page <= 0) -// page = 1; -// if (null == results || results <= 0) -// results = 10; -// DataFile ds = new DataFile(); -// List list = new ArrayList<>(); -// list = dataFileService.selectByStatusAndUser(ds); -// return new PageDataResult(dataFileService.countByStatusAndUser(ds), -// list, (page - 1) * results); -// } - - - /** - * 根据目录节点id和条件查询数据记录 - * @param dataFile 使用datdFile实体类接收多个参数 - * @return pdr 返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "查询数据", notes = "至少传入page,和current两个参数以及menuId编目号") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "页码", paramType = "body", dataType = "Integer", required = true, defaultValue = "1"), - @ApiImplicitParam(name = "results", value = "每页数据条数", paramType = "body", dataType = "Integer", required = true, defaultValue = "10"), - @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件安全等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "文件区域", paramType = "body", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - @ApiImplicitParam(name = "status", value = "审批状态", paramType = "body", dataType = "String", defaultValue = "") - }) - @PostMapping("/approvecommon") - public PageDataResult queryFilesByObj(@RequestBody DataFile dataFile) { - System.out.println(dataFile.getMenuId()); - Integer page = dataFile.getPage(); - Integer results = dataFile.getResults(); - - if (page == null || page <= 0) { - page = 1; - } - if (results == null || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - List dataFileList =new ArrayList(); - dataFileList=dataFileService.queryFilesByObj(offset, results, dataFile); - - for(int i=0;i regionList = Arrays.asList(dataFileList.get(i).getRegion().split(",")); - dataFileList.get(i).setRegionList(new ArrayList(regionList)); - } - } - - - return new PageDataResult(dataFileService.countFilesByObj(dataFile), dataFileList, offset); - - } - - /** - * 根据目录节点id查询已通过的数据 - * @param map - * @return pdr返回查询结果 - * 备注:无 - */ - @ApiOperation(value = "根据目录节点id查询已通过的数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "menuId", value = "目录节点", paramType = "body", dataType = "Integer",required = true, defaultValue = ""), - }) - @PostMapping("/queryAccepted") - public PageDataResult queryAccepted(@RequestBody Map map) { - DataFile dataFile = new DataFile(); - Integer menuId = (Integer) map.get("menuId"); - dataFile.setMenuId(menuId); - dataFile.setStatus("审核通过"); - Integer page = dataFile.getPage(); - Integer results = dataFile.getResults(); - - if (page == null || page <= 0) { - page = 1; - } - if (results == null || results <= 0) - results = 10; - - int offset = (page - 1) * results; - - List dataFileList =new ArrayList(); - dataFileList=dataFileService.queryFilesByObj(offset, results, dataFile); - - - return new PageDataResult(dataFileService.countFilesByObj(dataFile), dataFileList, offset); - - } - - /** - * 提交文件和表单数据 - * @param dataFile 使用dataFile实体类接收多个参数 - * @return 返回提交结果 - * */ - @ApiOperation(value = "提交数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileSecurity", value = "文件等级", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "region", value = "区域", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileTime", value = "文件年份", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileDiscription", value = "文件描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "menuId", value = "编目号", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "title", value = "文件标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "gcs", value = "图像地理坐标系", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "scanLevel", value = "图像级别(1-20)", paramType = "body", dataType = "Integer", defaultValue = ""), - @ApiImplicitParam(name = "scale", value = "图像比例尺", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "lan", value = "经度(左上)", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "lon", value = "纬度(左上)", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "fileConfig", value = "文件标识别,数据标识", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - @PostMapping("/subcommon") - public ResponseResult DataSub(@RequestBody DataFile dataFile) { - Integer userId=dataFile.getUserId(); - System.out.println(dataFile.getRegionList()); - if(dataFile.getRegionList()!=null){ - String region = dataFile.getRegionList().toString(); - region=region.replace("[",""); - region=region.replace("]",""); - dataFile.setRegion(region); - } - System.out.println("vvvvvv"+userId); - String upCachePath=upLoadPath+"_user"+userId; - System.out.println(upCachePath); - System.out.println(upLoadPath); - System.out.println(upCachePath); - String fileName = null; - Integer count = 0; - dataFile.setStatus("未审核"); - if((adminUserService.getUserById(userId))!=null){ - dataFile.setSubmitor(adminUserService.getUserById(userId).getSysUserName()); - } - DataFile dataFile_new = dataFile; - DataFile dataFile_new2 = dataFile; - String path_move = dataMenuService.queryById(dataFile.getMenuId().longValue()).getUrl(); - FileUtil.makeDir(path_move); -// dataSubmit.setPath(path); - File baseFile = new File(upCachePath); - if(baseFile==null){ - return ResponseResult.error("未上传文件"); - } - File[] files = baseFile.listFiles(); - File file = null; -// List pathListNew = new ArrayList<>(); - for (int i = 0; i < files.length; i++) { - file = files[i]; - if (file.isDirectory()) { - dataFile.setFileNumbers(FileUtil.getAllFile(upCachePath +File.separator+ file.getName()).size()); - dataFile.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(file))); - fileName = FileUtil.getFileName(file.getName()); - file.renameTo(new File(upCachePath +File.separator+ fileName)); - } else { - fileName = file.getName(); - dataFile.setFileSize(FileUtil.FormetFileSize(file.length())); - dataFile.setFileNumbers(1); - } - dataFile.setFileName(fileName); - String path = dataMenuService.queryById(dataFile.getMenuId().longValue()).getUrl()+File.separator+fileName; - dataFile.setFilePath(path); -// dataFile.setCreateTime(new Date()); - dataFile_new = dataFile; - if (dataFileService.insertDataFile(dataFile_new) >= 0) { - count++; - } - dataFile_new2 = dataFile_new; - dataFile_new2.setId(dataFile_new.getId() + i + 1); - dataFile_new.setId(dataFile_new2.getId()); - } - - if (FileUtil.copyFolder(upCachePath, path_move) && count == files.length) { - FileUtil.deleteDir(upCachePath); - return ResponseResult.success("表单信息提交成功!"); - } - - return ResponseResult.error("表单信息提交失败!"); - } - - - /** - * 目录/文件提交上传 - * @param file 目录,文件 - * @param userId 用户id - * @return 返回文件提交结果 - * */ - @ApiOperation(value = "提交时文件上传") - @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult uploadFile(@ApiParam(value = "二进制文件流") MultipartFile[] file,String userId) { -// String filepath = "/root/upLoad"; -// userId=""; - System.out.println(file.length); - String upCachePath=upLoadPath+"_user"+userId; - System.out.println(upCachePath); - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - - } - - /** - * 文件更新上传 - * @param file 目录,文件 - * @param fileId 文件id - * @return 返回文件更新提交结果 - * */ - @ApiOperation(value = "更新时文件上传") - @RequestMapping(value = "/updateFile", method = RequestMethod.POST) - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "fileId", value = "文件id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult updateFile(@ApiParam(value = "二进制文件流") MultipartFile[] file,String fileId) { - String upCachePath = "/root/update"+"file"+fileId; - String filepath = upCachePath; - String result = FileUtil.uploadFile(file, filepath); - if (!result.contains("上传失败")) - return ResponseResult.success(result); - return ResponseResult.error(result); - } - - -// /** -// * 目录/文件上传 -// * @param file 目录,文件 -// * @return 返回提交结果 -// * */ -// @ApiOperation(value = "更新时文件上传") -// @RequestMapping(value = "/FileRename", method = RequestMethod.POST) -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "file", value = "文件夹下的文件list", paramType = "body", dataType = "List", defaultValue = ""), -// @ApiImplicitParam(name = "fileId", value = "文件id", paramType = "body", dataType = "Integer"), -// }) -// public ResponseResult FileRename(String old_dir,String new_dir) { -// if(FileUtil.renameTo(old_dir,new_dir)==true){ -// return ResponseResult.success("成功"); -// } -// return ResponseResult.error("失败"); -// } - - - /** - * 下载文件文件,文件夹 - * @param fileIds 选择待下载文件的id - * @return 下载结果 - */ - @ApiOperation(value = "下载文件") - @ApiImplicitParams({ - @ApiImplicitParam(name = "fileIds", value = "文件id", paramType = "body", dataType = "List"), - }) - @GetMapping("/downloadMulFile") - public String downloadMulFile(String[] fileIds, HttpServletResponse response) { -// System.out.println(fileIds.length+"xxxxxxxxx"); - - if (fileIds.length == 1) { - Long fileId = Long.parseLong(fileIds[0]); - System.out.println("文件号!!!!"+fileId); - String fileName = dataFileService.queryById(fileId).getFileName(); -// String filePath = dataFileService.queryById(fileId).getFilePath() + File.separator + dataFileService.queryById(fileId).getFileName(); - String filePath = dataFileService.queryById(fileId).getFilePath(); - if (!FileUtil.isDirectory(filePath)) { - FileUtil.downloadFile(response, fileName, filePath); - } - } - - String message= null; - String directory = "/root/load"; - File directoryFile = new File(directory); - if (!directoryFile.isDirectory() && !directoryFile.exists()) { - directoryFile.mkdirs(); - } - //设置最终输出zip文件的目录+文件名 - String zipFileName = "已下载文件" + ".zip"; - String strZipPath = directory + "/" + zipFileName; - File zipFile = new File(strZipPath); - //读取需要压缩的文件 - Long fileId =null; - String fileName=null; - - List fileNames = new ArrayList<>(); - List filePaths = new ArrayList<>(); - for(int i=0;i stringList = FileUtil.getAllFile(fileName); - for (int j = 0; j < stringList.size(); j++) { - fileNames.add(stringList.get(j)); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } else { - fileNames.add(fileName); - filePaths.add(fileName.substring(0,fileName.lastIndexOf("/"))); -// filePaths.add(dataFileService.queryById(fileId).getFilePath()); - } - } - } - - ZipOutputStream zipStream = null; - FileInputStream zipSource = null; - BufferedInputStream bufferStream = null; - try { - //构造最终压缩包的输出流 - zipStream = new ZipOutputStream(new FileOutputStream(zipFile)); - for (int i = 0; i < fileNames.size(); i++) { - //解码获取真实路径与文件名 -// String realFilePath = java.net.URLDecoder.decode(fileNames.get(i), "UTF-8"); - String realFilePath = fileNames.get(i); - System.out.println(realFilePath); - File file = new File(realFilePath); - //TODO:未对文件不存在时进行操作,后期优化。 - if (file.exists()) { - zipSource = new FileInputStream(file);//将需要压缩的文件格式化为输入流 - /** - * 压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样这里的name就是文件名, - * 文件名和之前的重复就会导致文件被覆盖 - */ -// ZipEntry zipEntry = new ZipEntry("("+i+")"+fileNames.get(i).split("/")[fileNames.get(i).split("/").length-1]);//在压缩目录中文件的名字 - ZipEntry zipEntry = new ZipEntry(fileNames.get(i).replace(filePaths.get(i),""));//在压缩目录中文件的名字 - zipStream.putNextEntry(zipEntry);//定位该压缩条目位置,开始写入文件到压缩包中 - bufferStream = new BufferedInputStream(zipSource, 1024 * 10); - int read = 0; - byte[] buf = new byte[1024 * 10]; - while ((read = bufferStream.read(buf, 0, 1024 * 10)) != -1) { - zipStream.write(buf, 0, read); - } - }else{ - message=message+file.getName()+"不存在!"+"\n"; - System.out.println(file.getName()+"不存在!"); - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - //关闭流 - try { - if (null != bufferStream) bufferStream.close(); - if (null != zipStream) { - zipStream.flush(); - zipStream.close(); - } - if (null != zipSource) zipSource.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - //判断系统压缩文件是否存在:true-把该压缩文件通过流输出给客户端后删除该压缩文件 false-未处理 - if (zipFile.exists()) { - System.out.println(zipFileName); - System.out.println(strZipPath); - FileUtil.downloadFile(response, zipFileName, strZipPath); - FileUtil.deleteDir(directory); - } - if(message==null){ - message="全部文件下载成功!"; - } - return message; - - } - - - - - /** - * 清空文件提交上传缓冲区 - * @param userId 用户id - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空上传历史上传") - @RequestMapping(value = "/clearUploadFile", method = RequestMethod.POST) - @ApiImplicitParam(name = "userId", value = "当前用户id") - public ResponseResult clearUploadFile(String userId) { - String upCachePath=upLoadPath+"_user"+userId; - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - - - /** - * 清空文件更新上传缓冲区 - * @param map - * @return 返回文件清空结果 - * */ - @ApiOperation(value = "清空更新历史上传") - @RequestMapping(value = "/clearUpdate", method = RequestMethod.POST) - @ApiImplicitParam(name = "fileId", value = "文件id") - public ResponseResult clearUpdateile(@RequestBody Map map) { - Long fileId = Long.parseLong((String)map.get("fileId")); - String upCachePath="/root/update"+"file"+fileId; - System.out.println(upCachePath); - FileUtil.deleteDir(upCachePath); - File file = new File(upCachePath); - if (!file.exists()) { - return ResponseResult.success("历史上传清空成功"); - } - return ResponseResult.error("历史上传清空失败"); - } - -// /** -// * 显示文件夹中文件详情 -// * @return 返回文件夹中文件结果 -// * */ -// @ApiOperation(value = "显示文件夹中的文件") -// @PostMapping("/showFiles") -// @ApiImplicitParam(name = "fileId", value = "文件id号", paramType = "body", dataType = "String") -// public ResponseResult showFiles(@RequestBody String fileId) { -// System.out.println(fileId); -// if(dataFileService.queryById(Long.parseLong(fileId))!=null){ -// String filePath = dataFileService.queryById(Long.parseLong(fileId)).getFilePath(); -// String fileName = dataFileService.queryById(Long.parseLong(fileId)).getFileName(); -// String whole_dir = filePath+File.separator+fileName; -// List stringList = FileUtil.getAllFile(whole_dir); -// List fileNames = new ArrayList(); -// for(int i=0;i map) { - Boolean flag = true; - Long fileId = Long.parseLong((String)map.get("fileId")); - String fileTime =(String) map.get("fileTime"); - String lan = (String)map.get("lan"); - String lon = (String)map.get("lon"); - String gcs = (String)map.get("gcs"); - String fileConfig = (String)map.get("fileConfig"); - String scale =(String) map.get("scale"); - String region =null; - if((List)map.get("regionList")!=null){ - region = ((List)map.get("regionList")).toString(); - } -// String region = (String)map.get("region"); - String area = (String)map.get("area"); - Integer scanLevel = ((Integer)map.get("scanLevel")); - Integer userId = ((Integer)map.get("userId")); - - DataFile dataFile = dataFileService.queryById(fileId); - String old_filePath = dataFile.getFilePath(); -// if((adminUserService.getUserById(userId))!=null){ -// String userName = adminUserService.getUserById(userId).getSysUserName(); -// dataFile.setApprover(userName); -// } - if(fileTime!=null&&fileTime!=dataFile.getFileTime()){ - dataFile.setFileTime(fileTime); - } - if(fileConfig!=null&&fileConfig!=dataFile.getFileConfig()){ - dataFile.setFileConfig(fileConfig); - } - if(region!=null&&!region.trim().isEmpty()){ - region=region.replace("[",""); - region=region.replace("]",""); - dataFile.setRegion(region); - } - if(area!=null&&area!=dataFile.getArea()){ - dataFile.setArea(area); - } - if(region!=null&®ion!=dataFile.getRegion()){ - dataFile.setRegion(region); - } - - if(lan!=null&&lan!=dataFile.getLan()){ - dataFile.setLan(lan); - } - if(lon!=null&&lon!=dataFile.getLon()){ - dataFile.setLon(lon); - } - if(gcs!=null&&gcs!=dataFile.getGcs()){ - dataFile.setGcs(gcs); - } - if(scale!=null&&scale!=dataFile.getScale()){ - dataFile.setScale(scale); - } - if(scanLevel!=null&&scanLevel!=dataFile.getScanLevel()){ - dataFile.setScanLevel(scanLevel); - } - String updateCachePath="/root/update"+"file"+fileId; - System.out.println(updateCachePath); - System.out.println(updateCachePath); - File updateCache = new File(updateCachePath); - if(updateCache.exists()){ - File[] files=updateCache.listFiles(); - if(files.length>1){ - return ResponseResult.error("上传文件或文件夹只允许一个,上传个数超出范围!"); - } - } - if(updateCache.exists()&&flag==true) { - if (updateCache.listFiles().length == 1) { - FileUtil.deleteDir(dataFile.getFilePath()); - File[] files = updateCache.listFiles(); - String path_whole = dataFile.getFilePath(); - String path = path_whole.substring(0, path_whole.lastIndexOf("/")); - System.out.println(files[0].getName()+"!!!!!!!!!!!!!"); - if(files[0].getName().contains(".")){ - flag = files[0].renameTo(new File(path +File.separator + files[0].getName())); - }else{ - String fileName = FileUtil.getFileName(files[0].getName()); - flag = files[0].renameTo(new File(updateCachePath +File.separator+ fileName)); - if(flag){ - flag=FileUtil.copyFolder(updateCachePath, old_filePath.substring(0,old_filePath.lastIndexOf("/"))); - } - } - if (flag) { - if(!files[0].getName().contains(".")){ - dataFile.setFileName(FileUtil.getFileName(files[0].getName())); - }else{ - dataFile.setFileName(files[0].getName()); - } - dataFile.setFilePath(path + File.separator + dataFile.getFileName()); - if (files[0].getName().contains(".")) { - dataFile.setFileSize(FileUtil.FormetFileSize(files[0].length())); - dataFile.setFileNumbers(1); - } else { - dataFile.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(new File(dataFile.getFilePath())))); - dataFile.setFileNumbers(FileUtil.getAllFile(dataFile.getFilePath()).size()); - } - - } - FileUtil.deleteDir(updateCachePath); - } - } - if (dataFileService.updatebyId(dataFile) > 0) { - FileUtil.deleteDir(old_filePath); - return ResponseResult.success("信息修改成功"); - } - return ResponseResult.error("信息修改失败"); - } - - - - -} - - - -// /** -// * @param page 页码 -// * @param results 每页显示条数 -// * @return 分页数据 -// * */ -// @ApiOperation(value = "所有待审核的数据") -// @PostMapping("/approves") -// public PageDataResult myAprroves(@ApiParam(value = "页码") Integer page, @ApiParam(value = "每页数据条数") Integer results) { -// if (null == page || page <= 0) -// page = 1; -// if (null == results || results <= 0) -// results = 10; -// DataSubmit ds = new DataSubmit(); -// ds.setStatus(0); -// List list = new ArrayList<>(); -// list = dataSubmitService.selectReadyApprove(ds); -// List list_new = new ArrayList<>(); -// for (int i = 0; i < list.size(); i++) { -// String menuName = dataMenuService.queryById(list.get(i).getMenuid()).getMenuName(); -// list.get(i).setMenuName(menuName); -// } -// return new PageDataResult(dataSubmitService.countReadyApprove(ds), -// list, (page - 1) * results); -// } - - -// /** -// * 提交数据 -// // * @param dataSubmit 数据信息 -// * @return 返回提交结果 -// * */ -// @ApiOperation(value = "提交数据", notes = "id不传参数") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "id", value = "记录id号(不传参)", paramType = "body", dataType = "Integer", required = false), -// @ApiImplicitParam(name = "subtype", value = "提交类型", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "fileType", value = "文件类型", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "plevel", value = "文件等级", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "status", value = "文件状态", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "submitor", value = "提交者", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "approver", value = "审核人", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "menuid", value = "编目号", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "year", value = "年份", paramType = "body", dataType = "Integer", defaultValue = ""), -// @ApiImplicitParam(name = "title", value = "标题", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "area", value = "区域", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "path", value = "提交路径(不传参)", paramType = "body", dataType = "String", defaultValue = ""), -// @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), -// }) -// @PostMapping("/sub") -// public ResponseResult DataSub(@RequestBody DataSubmit dataSubmit) { -// String userId=dataSubmit.getUserId(); -// String upCachePath=upLoadPath+"_user"+userId; -// System.out.println("文件类型"+dataSubmit.getFileType()); -// String fileName = null; -// Integer count = 0; -// dataSubmit.setSubtype("1"); -// dataSubmit.setStatus(0); -// dataSubmit.setApprover("审核人"); -// if((adminUserService.getUserById(Integer.parseInt(userId)))!=null){ -// dataSubmit.setSubmitor(adminUserService.getUserById(Integer.parseInt(userId)).getSysUserName()); -// } -// DataSubmit dataSubmit_new = dataSubmit; -// DataSubmit dataSubmit_new2 = dataSubmit; -// String path_move = dataMenuService.queryById(dataSubmit.getMenuid()).getUrl(); -//// dataSubmit.setPath(path); -// File baseFile = new File(upCachePath); -// File[] files = baseFile.listFiles(); -// File file = null; -//// List pathListNew = new ArrayList<>(); -// for (int i = 0; i < files.length; i++) { -// file = files[i]; -// if (file.isDirectory()) { -// dataSubmit.setFileNumbers(FileUtil.getAllFile(upCachePath +File.separator+ file.getName()).size()); -// dataSubmit.setFileSize(FileUtil.FormetFileSize(FileUtils.sizeOfDirectory(file))); -// fileName = FileUtil.getFileName(file.getName()); -// file.renameTo(new File(upCachePath +File.separator+ fileName)); -// } else { -// fileName = file.getName(); -// dataSubmit.setFileSize(FileUtil.FormetFileSize(file.length())); -// dataSubmit.setFileNumbers(1); -// } -// dataSubmit.setTitle(fileName); -// String path = dataMenuService.queryById(dataSubmit.getMenuid()).getUrl()+File.separator+fileName; -// dataSubmit.setPath(path); -// dataSubmit.setSubtime(new Date()); -// dataSubmit_new = dataSubmit; -// if (dataSubmitService.insertDataSubmit(dataSubmit_new) >= 0) { -// count++; -// } -// dataSubmit_new2 = dataSubmit_new; -// dataSubmit_new2.setId(dataSubmit_new.getId() + i + 1); -// dataSubmit_new.setId(dataSubmit_new2.getId()); -// } -// -// if (FileUtil.copyFolder(upCachePath, path_move) && count == files.length) { -// FileUtil.deleteDir(upCachePath); -// return ResponseResult.success("表单信息提交成功!"); -// } -// -// return ResponseResult.error("表单信息提交失败!"); -// } - - - // /** -// * 拒绝导入请求 -// * @param map -// * @return 返回执行结果 -// * **/ -// @ApiOperation(value = "拒绝请求") -// @PostMapping("/reject") -// @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = "") -// public ResponseResult rejectSubmit(@RequestBody Map map) { -// List ids = new ArrayList<>(); -// ids = (List) map.get("ids"); -// DataSubmit dataSubmit = null; -// int sum = 0; -// for (int i = 0; i < ids.size(); i++) { -// Integer id = ids.get(i); -// dataSubmit = dataSubmitService.queryById(id); -// if (dataSubmitService.rejectSubmit(dataSubmit) > 0) { -//// String delFile = dataSubmit.getPath() + File.separator + dataSubmit.getTitle(); -// String delFile = dataSubmit.getPath() ; -// System.out.println(delFile); -// FileUtil.deleteDir(delFile); -// sum = sum + 1; -// } -// } -// if (sum == ids.size()) -// return ResponseResult.success("已审批拒绝"); -// return ResponseResult.error("审批失败"); -// } - -// /** -// * 拒绝导入请求 -// * @return 返回执行结果 -// * **/ -// @ApiOperation(value = "审核通过") -// @PostMapping("/accept") -// @ApiImplicitParam(name = "ids", value = "申请审批的记录id", dataType = "List", defaultValue = "") -// public ResponseResult acceptSubmit(@RequestBody Map map) { -// System.out.println(map); -// List ids = new ArrayList<>(); -// ids = (List) map.get("ids"); -// DataSubmit dataSubmit = null; -// DataFile dataFile = new DataFile(); -// DataFile new_dataFile = null; -// FileToMenu fileToMenu = new FileToMenu(); -// int sum = 0; -// for (int i = 0; i < ids.size(); i++) { -// Integer id = ids.get(i); -// dataSubmit = dataSubmitService.queryById(id); -// dataSubmit.setReviewTime(new Date()); -// System.out.println(dataSubmit); -// dataFile.setFileName(dataSubmit.getTitle()); -// dataFile.setFilePath(dataSubmit.getPath()); -// dataFile.setRegion(dataSubmit.getArea()); -//// dataFile.setFileYear(dataSubmit.getYear()); -// dataFile.setFileDiscription(dataSubmit.getFileDiscription()); -// dataFile.setFileNumbers(dataSubmit.getFileNumbers()); -// dataFile.setFileSize(dataSubmit.getFileSize()); -// dataFile.setFileSecurity(dataSubmit.getPlevel().toString()); -// dataFile.setApprover(dataSubmit.getApprover()); -// dataFile.setSubmitor(dataSubmit.getSubmitor()); -// dataFile.setFileType(dataSubmit.getFileType()); -// if (i != 0) { -// dataFile.setId(dataFile.getId() + i); -// } -// int flag_file = dataFileService.insertDataFile(dataFile); -// new_dataFile = dataFile; -// System.out.println(new_dataFile); -// fileToMenu.setFileId(new_dataFile.getId()); -// fileToMenu.setMenuId(dataSubmit.getMenuid()); -// int flag_filetomenu = fileToMenuService.insert(fileToMenu); -// if (flag_file > 0 && flag_filetomenu > 0) { -// if (dataSubmitService.acceptSubmit(dataSubmit) > 0) { -// sum = sum + 1; -// } -// } -// } -// if (sum == ids.size()) -// return ResponseResult.success("已审批通过"); -// return ResponseResult.error("审批失败"); -// } - - - diff --git a/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java b/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java deleted file mode 100644 index 8c1bf72..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/DataMenuController.java +++ /dev/null @@ -1,303 +0,0 @@ -/** - * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所 - * @Title: 数据管理目录、编目操作控制器文件 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import com.cetc32.dh.service.DataMenuService; -import com.cetc32.dh.dto.DataMenuDTO; -import com.cetc32.dh.utils.FileUtil; -import com.mysql.cj.protocol.x.XMessage; -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.web.bind.annotation.*; -import java.io.File; -import java.util.*; - -/** - * 数据管理目录目录、编目操作类 - * @author: xiao - * @version: 1.0 - * @date: 2020/10/14 - * 备注:无 - */ -@Slf4j -@RestController -@RequestMapping("/rest/datamng/menu") -public class DataMenuController { - - @Autowired - private DataMenuService dataMenuService; - - /** - * 统计编目节点的个数 - * @return 返回查询个数结果 - * @return 返回查询个数结果 - * 备注:无 - */ - @PostMapping(value = "/count") - public ResponseResult count() { - Integer count = dataMenuService.count(); - return ResponseResult.success(count); - } - - /** - * 插入编目节点 - * @param dataMenu - * @return 返回插入节点 - * 备注:无 - */ - //@PostMapping(value = "/insert") - public ResponseResult insert(DataMenu dataMenu) { -// DataMenu dataMenu=new DataMenu(2L,"test7",2L,"test7","test7"); - Integer count = dataMenuService.insertDataMenu(dataMenu); - return ResponseResult.success(count); - } - - /** - * 根据编目id查询目录节点 - * @param id - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/select") - public ResponseResult select(Long id) { - - DataMenu dataMenu = dataMenuService.queryById(id); - if(dataMenu==null){ - return ResponseResult.error("没有id="+id+"的datamenu!"); - } - return ResponseResult.success(dataMenu); - } - - /** - * 根据编目id删除目录节点(单个) - * @param id - * @return 返回删除结果 - * 备注:无 - */ - //@PostMapping(value = "/deleteOne") - public ResponseResult delete(Long id) { - Integer count = dataMenuService.deleteById(id); - return ResponseResult.success(count); - } - - /** - * 查询父节点为pid的所有编目节点 - * @param pid - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/queryByPid") - public ResponseResult queryByPid(Long pid) { - DataMenu dataMenu = dataMenuService.queryByPid(pid); - return ResponseResult.success(dataMenu); - } - - /** - * 查询编目节点menuId下的所有文件 - * @param menuId - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/showFilesById") - public ResponseResult showFilesById(Long menuId) { - List dataFileList=dataMenuService.showFilesByMenuId(menuId); - return ResponseResult.success(dataFileList); - } - - /** - * 查询目录树节点中以id为父节点的所有编目节点 - * @param id - * @return 返回查询结果 - * 备注:无 - */ - //@PostMapping(value = "/queryMenusByPIdSatisfyId") - public ResponseResult queryMenusByPIdSatisfyId(Long id) { - List dataMenuList = dataMenuService.queryByPIdSatisfyId(id); - return ResponseResult.success(dataMenuList); - } - - /** - * 添加一个编目节点 - * @param dataMenu - * @return 返回添加结果 - * 备注:无 - */ - @ApiOperation(value = "新增编目") - @PostMapping(value = "/addOneMenu") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pid", value = "父编目号", paramType = "body", dataType = "Integer", required = true), - @ApiImplicitParam(name = "menuName", value = "编目名称", paramType = "body", dataType = "String", required = true), - @ApiImplicitParam(name = "htmlUrl", value = "前端网页Url", paramType = "body", dataType = "String", required = true), - @ApiImplicitParam(name = "icon", value = "编目图表", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "discription", value = "编目描述", paramType = "body", dataType = "String", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", dataType = "Integer"), - }) - public ResponseResult addOneMenu(@RequestBody DataMenu dataMenu ) { -// dataMenu = new DataMenu(null, "test7", null, "test15", "test15"); - HashMap hashMap =new HashMap(); - if (dataMenu.getPid() == null) { - dataMenu.setPid(0L); - } - if(dataMenu.getPid()==0){ - dataMenu.setAddkids(true); - }else{ - dataMenu.setAddkids(false); - } - String path = dataMenuService.queryById(dataMenu.getPid()).getUrl(); - String url = path+ File.separator+dataMenu.getMenuName(); - dataMenu.setUrl(url); - UUID uuid = UUID.randomUUID(); - dataMenu.setKey(uuid.toString()); - dataMenu.setDisabled(false); - String message=dataMenuService.addDataMenu(dataMenu); - if(message.contains("成功")){ - hashMap.put("key",uuid); - Long id =(dataMenuService.queryByKey(uuid.toString())).getId(); - hashMap.put("id",id); - return ResponseResult.success(hashMap); - } - return ResponseResult.error("添加失败!"); - } - - /** - * 根据编目节点id,更新编目节点 - * @param dataMenu - * @return 返回更新结果 - * 备注:无 - */ - //@PostMapping(value = "/updateDataMenu") - public ResponseResult updateDataMenu(DataMenu dataMenu) { -// dataMenu=new DataMenu(5L,"test5",1L,"test5","test5555"); - Integer count = dataMenuService.updatebyId(dataMenu); - return ResponseResult.success(count); - } - - /** - * 根据目录节点id,删除目录树(包括子树) - * @param map - * @return 返回删除结果 - * 备注:无 - */ - @ApiOperation(value = "删除目录树") - @PostMapping(value = "/deleteMenuTree") - @ApiImplicitParams({ - @ApiImplicitParam(name = "keys", value = "删除的编目keys", dataType = "List", defaultValue = ""), - @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", defaultValue = ""), - }) - public ResponseResult deleteDataMenuTree(@RequestBody Map map) { - List keys = new ArrayList<>(); - keys=(List)map.get("keys"); - String messsage=""; - int result=0; - for(int i=0;i map) { - String key =(String) map.get("key"); - if(dataMenuService.queryByKey(key)!=null){ - Long id =dataMenuService.queryByKey(key).getId(); - return ResponseResult.success(id); - } - return ResponseResult.error("请输入正确的key!"); - - - } - - /** - * 根据目录节点id展示目录结构 - * @param map - * @return 返回展示结果 - * 备注:无 - */ - @ApiOperation(value = "显示目录树") - @PostMapping(value = "/showMenuTree") - public ResponseResult showMenuTree(@RequestBody Map map) { - Long id ; - if(map.get("id")==null){ - id = 0L; - }else{ - id= ((Integer) map.get("id")).longValue(); - } - List result = new ArrayList(); - DataMenuDTO dataMenuDTO = dataMenuService.getMenuTree(id); - - result=dataMenuDTO.getChildren(); - - Collections.sort(result, new Comparator(){ - public int compare(DataMenuDTO o1, DataMenuDTO o2) { - return Integer.parseInt(o1.getValue())-Integer.parseInt(o2.getValue()); - }}); - - return ResponseResult.success(dataMenuDTO.getChildren()); - } - - /** - * (目录名称)编目名称和编目id - * @return 返回编目名称和编目id - * */ -// @ApiOperation(value="查询编目名称和对应的id") -// @RequestMapping(value = "/menuidname", method = RequestMethod.POST) - public ResponseResult menuIdName() { - List dataMenuList = dataMenuService.selectAll(); - List hashMapList=new ArrayList<>(); - for(int i=0;i hashmap = new HashMap<>(); - hashmap.put("value",dataMenuList.get(i).getId().toString()); - hashmap.put("label",dataMenuList.get(i).getMenuName()); - hashMapList.add(hashmap); - } - return ResponseResult.success(hashMapList); - } -} - - diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index 31cf88e..16dbb78 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -165,38 +165,4 @@ public class DepartmentController extends BaseController{ pdr.setList(list); return pdr; } - - - @RequestMapping("/selectbylimit") - public PageDataResult selectbylimit(@RequestParam("pageSize") Integer pagesize, @RequestParam("pageNum") Integer pagenum){ - PageDataResult pdr = new PageDataResult(); - if(pagenum == null || pagenum == 0){ - pagenum =1; - } - if (pagesize == null || pagesize == 0) - pagesize = 10; - pdr.setList(departmentService.selectByLimit((pagenum - 1) * pagesize, pagesize)); - pdr.setTotals(departmentService.countDepartment()); - return pdr; - } - - @RequestMapping("/selectbykey") - public ResponseResult selsectbykey(Integer id){ - if(id == null){ - return ResponseResult.error("id为空!"); - } - ResponseResult pdr = new ResponseResult(); - pdr.setObj(this.departmentService.selectByPrimaryKey(id)); - return pdr; - } - - @RequestMapping("/deletebykey") - public ResponseResult deletebyprimarykey(Integer id){ - if(id == null) - return ResponseResult.error("传入值为空!"); - departmentService.deleteByPrimaryKey(id); - return new ResponseResult("Success"); - } - - } diff --git a/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java b/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java deleted file mode 100644 index 2544c06..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/OrganizationController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.cetc32.dh.controller.rest; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.Organization; -import com.cetc32.dh.service.OrganizationService; -import com.github.pagehelper.PageHelper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Deprecated -//@RestController -//@RequestMapping("/organization/") -public class OrganizationController extends BaseController{ - @Autowired - OrganizationService organizationService; - - //@RequestMapping("/options") - public PageDataResult organizationAll(){ - PageDataResult pdr = new PageDataResult(); - pdr.setTotals(organizationService.countOrganization()); - pdr.setList(organizationService.findAll()); - return pdr; - } - - //@RequestMapping("/insertselect") - public ResponseResult insertselect(Organization organization){ - if(organization == null){ - return ResponseResult.error("传入值为空!"); - } - if(organizationService.insertSelectie(organization)>0){ - return new ResponseResult("Success"); - } - return ResponseResult.error("wrong"); - } - - //@RequestMapping("/selectbylimit") - public PageDataResult selectbylimit(@RequestParam("pageSize") Integer pagesize, @RequestParam("pageNum") Integer pagenum){ - PageDataResult pdr = new PageDataResult(); - if(pagenum == null || pagenum == 0){ - pagenum =1; - } - if (pagesize == null || pagesize == 0) - pagesize = 10; - pdr.setList(organizationService.selectByLimit((pagenum - 1) * pagesize, pagesize)); - pdr.setTotals(organizationService.countOrganization()); - return pdr; - } - - //@RequestMapping("/selectbykey") - public ResponseResult selsectbykey(Integer id){ - if(id == null){ - return ResponseResult.error("id为空!"); - } - ResponseResult pdr = new ResponseResult(); - pdr.setObj(this.organizationService.selectByPrimaryKey(id)); - return pdr; - } - - //@RequestMapping("/deletebykey") - public ResponseResult deletebyprimarykey(Integer id){ - if(id == null) - return ResponseResult.error("传入值为空!"); - organizationService.deleteByPrimaryKey(id); - return new ResponseResult("Success"); - } - - //@RequestMapping("/updateselect") - public ResponseResult updateselect(Organization record){ - if(record == null){ - return ResponseResult.error("传入值为空!"); - } - organizationService.updateByPrimaryKeySelective(record); - return new ResponseResult("Success"); - } - - //@RequestMapping("/search") - public PageDataResult CircuitSearch(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String keyword) { - - PageDataResult pdr = new PageDataResult(); - if (pageNum == null || pageNum == 0) { - pageNum = 1; - } - if (pageSize == null || pageSize == 0) - pageSize = 10; - - pdr.setTotals(organizationService.findByKeyWord(keyword).size()); - PageHelper.startPage(pageNum, pageSize); - pdr.setList(organizationService.findByKeyWord(keyword)); - return pdr; - } -} diff --git a/src/main/java/com/cetc32/dh/entity/Organization.java b/src/main/java/com/cetc32/dh/entity/Organization.java deleted file mode 100644 index 0edf636..0000000 --- a/src/main/java/com/cetc32/dh/entity/Organization.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.cetc32.dh.entity; - -public class Organization extends NumberS{ - private Integer id; - - private String name; - - private String description; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/mybatis/OrganizationMapper.java b/src/main/java/com/cetc32/dh/mybatis/OrganizationMapper.java deleted file mode 100644 index 21e249a..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/OrganizationMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.Organization; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface OrganizationMapper { - - List findall(); - - int deleteByPrimaryKey(Integer id); - - int insert(Organization record); - - int insertSelective(Organization record); - - List selectByLimit(@Param("offset") Integer offset,@Param("limit") Integer limit); - - Organization selectByPrimaryKey(Integer id); - - int countOrganization(); - - int updateByPrimaryKeySelective(Organization record); - - int updateByPrimaryKey(Organization record); - List findByKeyWord(String keyword); -} \ No newline at end of file diff --git a/src/main/java/com/cetc32/dh/service/OrganizationService.java b/src/main/java/com/cetc32/dh/service/OrganizationService.java deleted file mode 100644 index e041e72..0000000 --- a/src/main/java/com/cetc32/dh/service/OrganizationService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.Organization; - -import java.util.List; - -public interface OrganizationService { - - public List findAll(); - - public int insert(Organization organization); - - public int insertSelectie(Organization organization); - - public Organization selectByPrimaryKey(Integer id); - - public List selectByLimit(Integer offset , Integer limit); - - public int countOrganization(); - - public int deleteByPrimaryKey(Integer id); - - public int updateByPrimaryKeySelective(Organization organization); - - public int updateByPrimaryKey(Organization organization); - - public List findByKeyWord(String keyword); - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/OrganizationServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/OrganizationServiceImpl.java deleted file mode 100644 index ffc6ff9..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/OrganizationServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.entity.Organization; -import com.cetc32.dh.mybatis.OrganizationMapper; -import com.cetc32.dh.service.OrganizationService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class OrganizationServiceImpl implements OrganizationService { - @Autowired - OrganizationMapper organizationMapper; - - public List findAll(){ return organizationMapper.findall();} - - public int insertSelectie(Organization organization){ - return organizationMapper.insertSelective(organization); - } - - public Organization selectByPrimaryKey(Integer id){ - if(id==null) - return null; - return organizationMapper.selectByPrimaryKey(id); - } - - public List selectByLimit(Integer offset , Integer limit){ - return organizationMapper.selectByLimit(offset,limit); - } - - public int countOrganization(){ - return organizationMapper.countOrganization(); - } - - public int deleteByPrimaryKey(Integer id){ - if(id==null) - return -1; - return organizationMapper.deleteByPrimaryKey(id); - } - - public int updateByPrimaryKeySelective(Organization organization){ - return organizationMapper.updateByPrimaryKeySelective(organization); - } - - public int updateByPrimaryKey(Organization organization){ - return organizationMapper.updateByPrimaryKey(organization); - } - - public List findByKeyWord(String keyword){ - keyword="%"+keyword+"%"; - List search=organizationMapper.findByKeyWord(keyword); - return search; - } - - @Override - public int insert(Organization organization){ - return organizationMapper.insert(organization); - } -} - diff --git a/src/main/resources/mapper/OrganizationMapper.xml b/src/main/resources/mapper/OrganizationMapper.xml deleted file mode 100644 index f7be181..0000000 --- a/src/main/resources/mapper/OrganizationMapper.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - id, name,description - - - - - - - - - - - - - delete from organization - where id = #{id,jdbcType=INTEGER} - - - insert into organization (id, name, description - ) - values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR} - ) - - - insert into organization - - - id, - - - name, - - - description, - - - - - #{id,jdbcType=INTEGER}, - - - #{name,jdbcType=VARCHAR}, - - - #{description,jdbcType=VARCHAR}, - - - - - update organization - - - name = #{name,jdbcType=VARCHAR}, - - - description = #{description,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update organization - set name = #{name,jdbcType=VARCHAR}, - description = #{description,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file -- Gitee From 1f02a80445c0aacea94e284bd42fe5466eacff43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 25 Jan 2021 15:10:51 +0800 Subject: [PATCH 06/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cetc32/dh/controller/rest/BaseController.java | 2 +- .../com/cetc32/dh/controller/rest/DepartmentController.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/BaseController.java b/src/main/java/com/cetc32/dh/controller/rest/BaseController.java index 4030fb0..ce3a399 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/BaseController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/BaseController.java @@ -23,7 +23,7 @@ public class BaseController { BaseAdminUser baseAdminUser= (BaseAdminUser)SecurityUtils.getSubject().getPrincipal();//.getSession().getAttribute("currentUserId"); return baseAdminUser;//adminUserService.getUserById(id.intValue()); } - @RequestMapping("/test/user") + //@RequestMapping("/test/user") public String testUser(){ return getCurrentUserId().getSysUserName(); } diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index 16dbb78..6673119 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -49,7 +49,7 @@ public class DepartmentController extends BaseController{ @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "查询ID(key值)下的范围树,非必填,默认查询全部", dataType = "Integer"), }) - @RequestMapping(value = "/tree", method = RequestMethod.GET) + @GetMapping(value = "/tree") public ResponseResult departmentTree(Integer id) { if (id ==null ){ id = 1; @@ -129,6 +129,7 @@ public class DepartmentController extends BaseController{ return new ResponseResult("更新成功"); } + /** @ApiOperation(value = "部门搜索") @PostMapping("/search") @ApiImplicitParams({ @@ -136,7 +137,8 @@ public class DepartmentController extends BaseController{ @ApiImplicitParam(name="pageSize",value = "每页数据条数",dataType = "Integer",defaultValue = "10"), @ApiImplicitParam(name="keyword",value = "搜索的内容",dataType = "String",defaultValue = ""), }) - public PageDataResult search(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, String keyword) { + */ + public PageDataResult search(Integer pageNum, Integer pageSize, String keyword) { if (pageNum == null || pageNum == 0) { pageNum = 1; -- Gitee From b03278e8a710e212d2480c2046e752b7e9f40acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 26 Jan 2021 17:15:28 +0800 Subject: [PATCH 07/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cetc32/dh/service/DataMenuService.java | 117 ------------------ 1 file changed, 117 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/service/DataMenuService.java diff --git a/src/main/java/com/cetc32/dh/service/DataMenuService.java b/src/main/java/com/cetc32/dh/service/DataMenuService.java deleted file mode 100644 index 2997b03..0000000 --- a/src/main/java/com/cetc32/dh/service/DataMenuService.java +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 数据管理编目服务service接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.dto.DataMenuDTO; -import com.cetc32.dh.entity.DataFile; -import com.cetc32.dh.entity.DataMenu; -import java.util.List; - -/** - * @Title: DataMenuService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/13 11:19 - */ -public interface DataMenuService { - - /** - * 统计所有的编目数据个数 - * @return 返回统计结果 - * */ - public Integer count(); - - /** - * 插入一个编目数据 - * @param dataMenu 编目数据 - * @return 返回插入结果 - * */ - public Integer insertDataMenu(DataMenu dataMenu); - - /** - * 根据id查询编目数据 - * @param id 编目id - * @return 返回查询结果 - * */ - public DataMenu queryById(Long id); - - /** - * 根据id删除一个编目数据 - * @param id 编目id - * @return 返回删除结果 - * */ - public Integer deleteById(Long id); - - /** - * 根据父节点pid查询编目 - * @param pid 父节点 - * @return 返回查询结果 - * */ - public DataMenu queryByPid(Long pid); - - /** - * 查询所有以id为父节点的编目 - * @param id 编目id - * @return 返回查询结果 - * */ - public List queryByPIdSatisfyId(Long id); - - /** - * 更新编目数据 - * @param dataMenu 编目数据 - * @return 返回更新结果 - * */ - public Integer updatebyId(DataMenu dataMenu); - - /** - * 查询编目id节点下的编目树信息 - * @param id 编目id - * @return 返回查询结果 - * */ - public DataMenuDTO getMenuTree(Long id); - - /** - * 删除编目id下的树 - * @param id 编目id - * @return 返回删除结果 - * */ - public Integer deleteMenuTree(Long id); - - /** - * 新增一个编目数据 - * @param dataMenu 编目数据 - * @return 返回新增结果 - * */ - public String addDataMenu(DataMenu dataMenu ); - - /** - * 查询所有的编目数据 - * @return 返回查询结果 - * */ - public List selectAll(); - - /** - * 查询编目id下的所有文件 - * @param menuId 编目id - * @return 返回查询结果 - * */ - public List showFilesByMenuId(Long menuId); - - /** - * 统计编目id下子树中所有节点的数目 - * @param id 编目id - * @return 返回统计结果 - * */ - public Integer countMenuChild(Long id); - - - public DataMenu queryByKey(String key); - -} -- Gitee From bb3e184a917c020b1bc0c4ef9e4c2451ae2ea66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 29 Jan 2021 13:52:20 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9Numbers=20default=20res?= =?UTF-8?q?ults=20Integer.MAX=5FVALUE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 19 +- src/main/java/META-INF/MANIFEST.MF | 3 + .../com/cetc32/dh/beans/ResultUserInfo.java | 8 + .../dh/controller/rest/AuthController.java | 79 +- .../system/PermissionController.java | 155 -- .../dh/controller/system/RoleController.java | 140 -- .../dh/controller/system/UserController.java | 273 --- .../dh/controller/views/IndexController.java | 22 +- .../controller/views/OpenPageController.java | 2 +- .../dh/service/AdminPermissionService.java | 41 - .../impl/AdminPermissionServiceImpl.java | 214 -- src/main/resources/application-prod.yml | 66 + src/main/resources/application-xwy.yml | 49 +- src/main/resources/application.yml | 8 +- src/main/resources/jdbc.properties | 32 - .../mapper/BaseAdminPermissionMapper.xml | 56 - src/main/resources/static/css/gm1.css | 279 +++ src/main/resources/static/css/gm1.css.bak | 272 +++ .../4de5019d2404d347897dee637895d02b_06.png | Bin 0 -> 1120 bytes .../4de5019d2404d347897dee637895d02b_11.png | Bin 0 -> 1247 bytes .../4de5019d2404d347897dee637895d02b_15.png | Bin 0 -> 1485 bytes .../4de5019d2404d347897dee637895d02b_17.png | Bin 0 -> 1494 bytes .../4de5019d2404d347897dee637895d02b_19.png | Bin 0 -> 1496 bytes .../4de5019d2404d347897dee637895d02b_25.png | Bin 0 -> 1132 bytes .../a65a18e877a16246a92e1b755bd88a03_03.png | Bin 0 -> 1831 bytes .../a65a18e877a16246a92e1b755bd88a03_06.png | Bin 0 -> 2044 bytes .../f760f80838eafa4ba85463ce6ce1298d_03.png | Bin 0 -> 15199 bytes src/main/resources/static/img/grow1.png | Bin 0 -> 464 bytes src/main/resources/static/img/grow2.png | Bin 0 -> 517 bytes src/main/resources/static/img/img11.png | Bin 0 -> 553 bytes src/main/resources/static/img/img22.png | Bin 0 -> 617 bytes src/main/resources/static/img/logo1.jpg | Bin 0 -> 12826 bytes .../resources/static/img/phone-orange.png | Bin 0 -> 7159 bytes .../resources/static/img/pwd-icons-new.png | Bin 0 -> 2639 bytes src/main/resources/static/img/qq.png | Bin 0 -> 1346 bytes src/main/resources/static/img/show.png | Bin 0 -> 780 bytes src/main/resources/static/img/user_03.png | Bin 0 -> 1233 bytes src/main/resources/static/img/user_06.png | Bin 0 -> 1295 bytes src/main/resources/static/img/weixin.png | Bin 0 -> 1472 bytes .../resources/static/js/jquery-3.1.1.min.js | 4 + src/main/resources/static/js/zepto.js | 1949 +++++++++++++++++ src/main/resources/templates/index.html | 143 ++ 42 files changed, 2816 insertions(+), 998 deletions(-) create mode 100644 src/main/java/META-INF/MANIFEST.MF delete mode 100644 src/main/java/com/cetc32/dh/controller/system/PermissionController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/system/RoleController.java delete mode 100644 src/main/java/com/cetc32/dh/controller/system/UserController.java delete mode 100644 src/main/java/com/cetc32/dh/service/AdminPermissionService.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/AdminPermissionServiceImpl.java create mode 100644 src/main/resources/application-prod.yml delete mode 100644 src/main/resources/jdbc.properties delete mode 100644 src/main/resources/mapper/BaseAdminPermissionMapper.xml create mode 100644 src/main/resources/static/css/gm1.css create mode 100644 src/main/resources/static/css/gm1.css.bak create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_06.png create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_11.png create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_15.png create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_17.png create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_19.png create mode 100644 src/main/resources/static/img/4de5019d2404d347897dee637895d02b_25.png create mode 100644 src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_03.png create mode 100644 src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_06.png create mode 100644 src/main/resources/static/img/f760f80838eafa4ba85463ce6ce1298d_03.png create mode 100644 src/main/resources/static/img/grow1.png create mode 100644 src/main/resources/static/img/grow2.png create mode 100644 src/main/resources/static/img/img11.png create mode 100644 src/main/resources/static/img/img22.png create mode 100644 src/main/resources/static/img/logo1.jpg create mode 100644 src/main/resources/static/img/phone-orange.png create mode 100644 src/main/resources/static/img/pwd-icons-new.png create mode 100644 src/main/resources/static/img/qq.png create mode 100644 src/main/resources/static/img/show.png create mode 100644 src/main/resources/static/img/user_03.png create mode 100644 src/main/resources/static/img/user_06.png create mode 100644 src/main/resources/static/img/weixin.png create mode 100644 src/main/resources/static/js/jquery-3.1.1.min.js create mode 100644 src/main/resources/static/js/zepto.js create mode 100644 src/main/resources/templates/index.html diff --git a/pom.xml b/pom.xml index d8f0b4f..a4c9c00 100644 --- a/pom.xml +++ b/pom.xml @@ -10,8 +10,8 @@ com.cetc32 dh - 0.0.1-SNAPSHOT - war + 1.0 + jar dhManage Demo project for Spring Boot @@ -27,6 +27,11 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + @@ -96,11 +105,11 @@ mybatis-generator-core 1.3.7 --> - + com.github.pagehelper diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..561be43 --- /dev/null +++ b/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.cetc32.dh.DhApplication + diff --git a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java index ee20fa4..574d1f8 100644 --- a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java +++ b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java @@ -35,6 +35,11 @@ public class ResultUserInfo extends NumberS { public List getDepartment() { return department; } + + public void setDepartment(List department) { + this.department = department; + } + public void setDepartment(String department) { this.department=str2intList(department); @@ -44,6 +49,9 @@ public class ResultUserInfo extends NumberS { return areacode; } + public void setAreacode(Listareacode){ + this.areacode=areacode; + } public void setAreacode(String areacode) { if(areacode == null) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index d93cc50..cf554d1 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -14,35 +14,22 @@ import com.cetc32.dh.beans.LoginResult; import com.cetc32.dh.beans.ResultUserInfo; import com.cetc32.dh.beans.UserInfo; import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.beans.*; -import com.cetc32.dh.common.response.PageDataResult; import com.cetc32.dh.common.response.ResponseData; import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.common.utils.JWTUtil; import com.cetc32.dh.config.RedisUtil; import com.cetc32.dh.entity.AreaCommon; -import com.cetc32.dh.entity.BaseAdminRole; import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.entity.NumberS; import com.cetc32.dh.mybatis.AreaCommonMapper; -import com.cetc32.dh.mybatis.BaseAdminUserMapper; -import com.cetc32.dh.service.AdminUserService; -import com.cetc32.dh.service.AreaCommonService; -import com.cetc32.dh.service.impl.AdminRoleServiceImpl; import com.cetc32.dh.service.impl.AdminUserServiceImpl; -import com.cetc32.dh.service.impl.AreaCommonServiceImpl; -import com.google.inject.internal.util.$FinalizableWeakReference; +import com.cetc32.webutil.annotations.LoginRequired; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Update; -import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.crypto.interfaces.PBEKey; -import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; @@ -50,8 +37,6 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -import java.util.UUID; - import com.cetc32.dh.common.utils.DigestUtils; /** @@ -66,8 +51,8 @@ import com.cetc32.dh.common.utils.DigestUtils; @RequestMapping("/rest/auth/") public class AuthController { - @Autowired - RedisUtil redisUtil; + /*@Autowired + RedisUtil redisUtil;*/ @Autowired AdminUserServiceImpl userService; @@ -101,10 +86,10 @@ public class AuthController { } long currentTimeMillis = System.currentTimeMillis(); String jwtToken= JWTUtil.createToken(username,currentTimeMillis); - String token =UUID.randomUUID().toString(); - redisUtil.set(token,jwtToken,60*30); + //String token =UUID.randomUUID().toString(); + //redisUtil.set(token,jwtToken,60*30); //redisUtil.set(token,currentTimeMillis,60*30); - LoginResult data=new LoginResult(token, + LoginResult data=new LoginResult(jwtToken, user.getDepartment(), username, user.getId(), @@ -115,7 +100,10 @@ public class AuthController { return ResponseData.success(200,"success",data); } - + /** + * + * + ***/ @ApiOperation(value = "移动终端用户注册(固定角色、固定为非M权限)", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "username", value = "用户名", paramType = "String"), @@ -146,6 +134,7 @@ public class AuthController { @ApiImplicitParam(name = "areacode", value = "区域id列表", paramType = "List") }) @PostMapping("/user") + //@LoginRequired public ResponseData AddUser(@RequestBody UserInfo userInfo){ String username=userInfo.getUsername().trim(); if(username.isEmpty()) @@ -202,6 +191,7 @@ public class AuthController { @ApiImplicitParam(name = "id", value = "用户id", paramType = "Integer"), }) @PostMapping(value = "/deleteUser") + //@LoginRequired public ResponseData deleteUser(@RequestBody Map did){ Integer id=did.getOrDefault("id",0); if(userService.delUser(id,0)>0) @@ -310,38 +300,39 @@ public class AuthController { * @return ResponseData * 备注:无 */ - @ApiOperation(value = "用户登出", notes = "") + /*@ApiOperation(value = "用户登出", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "登陆成功返回的token", paramType = "String"), - }) - @PostMapping("/logout") + })*/ + //@PostMapping("/logout") public ResponseData logout(String token){ if(token!=null) { //String username=JWTUtil.getUsername(token); - redisUtil.del(token); + //redisUtil.del(token); } return ResponseData.success(); } /** - * 注销 + * 根据token获取用户信息 * @param token * @return ResponseData * 备注:无 */ - @ApiOperation(value = "token校验", notes = "") + @ApiOperation(value = "token获取用户信息", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "登陆成功返回的token", paramType = "String"), }) + @GetMapping("/verify") @PostMapping("/token") public ResponseData token(String token){ if(token!=null ) { - String value=(String)redisUtil.get(token); - String username=JWTUtil.getUsername(value); - if(username!=null && JWTUtil.verify(value)) + //String value=(String)redisUtil.get(token); + String username=JWTUtil.getUsername(token); + if(username!=null && JWTUtil.verify(token)) { BaseAdminUser user= userService.findByUserName(username); if(user!=null) @@ -369,6 +360,32 @@ public class AuthController { return ResponseData.error("缺少参数token!"); } + /*** + * 校验用户是否成功 + * **/ + /*@GetMapping("/verify") + public ResponseData verify(String token){ + if(token!=null ) + { + String username=JWTUtil.getUsername(token); + if(username!=null && JWTUtil.verify(token)) + { + long currentTimeMillis = System.currentTimeMillis()/1000; + long exp=JWTUtil.getExpire(token); + if(exp>currentTimeMillis) + { + return ResponseData.success("success"); + } + else + { + return ResponseData.error("token 已过期!"); + } + } + return ResponseData.error("token 认证失败!"); + } + return ResponseData.error("缺少参数token!"); + }*/ + /** * 非授权用户登陆 * @param message diff --git a/src/main/java/com/cetc32/dh/controller/system/PermissionController.java b/src/main/java/com/cetc32/dh/controller/system/PermissionController.java deleted file mode 100644 index ed869ae..0000000 --- a/src/main/java/com/cetc32/dh/controller/system/PermissionController.java +++ /dev/null @@ -1,155 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 权限管理 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.controller.system; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.dto.PermissionDTO; -import com.cetc32.dh.entity.BaseAdminPermission; -import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.service.AdminPermissionService; -import org.apache.shiro.SecurityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @Title: PermissionController - * @Description: 权限管理 - * @author: youqing - * @version: 1.0 - * @date: 2018/11/29 18:16 - */ -@Controller -@RequestMapping("permission") -public class PermissionController { - - private Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private AdminPermissionService permissionService; - - /** - * 功能描述: 跳到权限管理 - * @return: String - * @auther: youqing - * @date: 2018/11/30 9:22 - */ - @RequestMapping("permissionManage") - public String permissionManage() { - logger.info("进入权限管理"); - return "/permission/permissionManage"; - } - - /** - * 功能描述: 获取权限菜单列表 - * @param pageNum - * @param pageSize - * @return: PageDataResult - * @auther: youqing - * @date: 2018/11/30 10:30 - */ - @PostMapping("permissionList") - @ResponseBody - public PageDataResult permissionList(@RequestParam("pageNum") Integer pageNum, - @RequestParam("pageSize") Integer pageSize){ - logger.info("获取权限菜单列表"); - PageDataResult pdr = new PageDataResult(); - try { - if(null == pageNum) { - pageNum = 1; - } - if(null == pageSize) { - pageSize = 10; - } - // 获取服务类目列表 - pdr = permissionService.getPermissionList(pageNum ,pageSize); - logger.info("权限菜单列表查询=pdr:" + pdr); - - } catch (Exception e) { - e.printStackTrace(); - logger.error("权限菜单列表查询异常!", e); - } - return pdr; - } - - /** - * 功能描述: 获取根权限菜单列表 - * @return: List - * @auther: youqing - * @date: 2018/11/30 11:35 - */ - @GetMapping("parentPermissionList") - @ResponseBody - public List parentPermissionList(){ - logger.info("获取根权限菜单列表"); - return permissionService.parentPermissionList(); - } - - /** - * 功能描述:设置权限[新增或更新] - * @param permission - * @return: Map - * @auther: youqing - * @date: 2018/11/30 9:42 - */ - @PostMapping("setPermission") - @ResponseBody - public Map setPermission(BaseAdminPermission permission) { - logger.info("设置权限[新增或更新]!permission:" + permission); - Map data = new HashMap(); - if(permission.getId() == null){ - //新增权限 - data = permissionService.addPermission(permission); - }else{ - //修改权限 - data = permissionService.updatePermission(permission); - } - return data; - } - - /** - * 功能描述: 删除权限菜单 - * @param id - * @return: Map - * @auther: youqing - * @date: 2018/11/30 12:02 - */ - @PostMapping("del") - @ResponseBody - public Map del(@RequestParam("id") Long id) { - logger.info("删除权限菜单!id:" + id); - Map data = new HashMap<>(); - //删除服务类目类型 - data = permissionService.del(id); - return data; - } - - /** - * 功能描述: 获取登陆用户的权限 - * @return: Map - * @auther: youqing - * @date: 2018/12/4 9:48 - */ - @GetMapping("getUserPerms") - @ResponseBody - public Map getUserPerms(){ - logger.info("获取登陆用户的权限"); - Map data = new HashMap<>(); - BaseAdminUser user = (BaseAdminUser) SecurityUtils.getSubject().getPrincipal(); - data = permissionService.getUserPerms(user); - return data; - } - -} diff --git a/src/main/java/com/cetc32/dh/controller/system/RoleController.java b/src/main/java/com/cetc32/dh/controller/system/RoleController.java deleted file mode 100644 index 925c798..0000000 --- a/src/main/java/com/cetc32/dh/controller/system/RoleController.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 角色管理 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.controller.system; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.entity.BaseAdminRole; -import com.cetc32.dh.service.AdminRoleService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @Title: RoleController - * @Description: 角色管理 - * @author: youqing - * @version: 1.0 - * @date: 2018/11/21 13:43 - */ -@Controller -@RequestMapping("role") -public class RoleController { - private Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private AdminRoleService adminRoleService; - - /** - * 跳转到角色管理 - * @return String - */ - @RequestMapping("/roleManage") - public String toPage() { - logger.info("进入角色管理"); - return "/role/roleManage"; - } - -// /** -// * 功能描述: 获取角色列表 -// * @param pageNum -// * @param pageSize -// * @return: PageDataResult -// * @auther: youqing -// * @date: 2018/11/21 14:29 -// */ -// @RequestMapping(value = "/getRoleList", method = RequestMethod.GET) -// @ResponseBody -// public PageDataResult getRoleList(@RequestParam("pageNum") Integer pageNum, -// @RequestParam("pageSize") Integer pageSize) { -// logger.info("获取角色列表"); -// PageDataResult pdr = new PageDataResult(); -// try { -// if(null == pageNum) { -// pageNum = 1; -// } -// if(null == pageSize) { -// pageSize = 10; -// } -// // 获取角色列表 -// pdr = adminRoleService.getRoleList(pageNum ,pageSize); -// logger.info("角色列表查询=pdr:" + pdr); -// -// } catch (Exception e) { -// e.printStackTrace(); -// logger.error("角色列表查询异常!", e); -// } -// return pdr; -// } -// -// /** -// * 功能描述: 获取角色列表 -// * @return: List -// * @auther: youqing -// * @date: 2018/12/3 13:22 -// */ -// @GetMapping("getRoles") -// @ResponseBody -// public List getRoles(){ -// logger.info("获取角色列表"); -// return adminRoleService.getRoles(); -// } -// -// /** -// *述: 设置角色[新增或更新] -// * @param role -// * @return: Map -// * @auther: youqing -// * @date: 2018/12/3 10:54 -// */ -// @PostMapping("setRole") -// @ResponseBody -// public Map setRole(BaseAdminRole role) { -// logger.info("设置角色[新增或更新]!role:" + role); -// Map data = new HashMap(); -// if(role.getId() == null){ -// //新增角色 -// data = adminRoleService.addRole(role); -// }else{ -// //修改角色 -// data = adminRoleService.updateRole(role); -// } -// return data; -// } -// -// -// /** -// * 功能描述: 删除/恢复角色 -// * @param id -// * @param status -// * @return: Map -// * @auther: youqing -// * @date: 2018/11/21 16:00 -// */ -// @PostMapping("updateRoleStatus") -// @ResponseBody -// public Map updateRoleStatus(@RequestParam("id") int id, @RequestParam("status") Integer status) { -// logger.info("删除/恢复角色!id:" + id+" status:"+status); -// Map data = new HashMap<>(); -// if(status == 0){ -// //删除角色 -// data = adminRoleService.delRole(id,status); -// }else{ -// //恢复角色 -// data = adminRoleService.recoverRole(id,status); -// } -// return data; -// } - -} diff --git a/src/main/java/com/cetc32/dh/controller/system/UserController.java b/src/main/java/com/cetc32/dh/controller/system/UserController.java deleted file mode 100644 index a9f3c53..0000000 --- a/src/main/java/com/cetc32/dh/controller/system/UserController.java +++ /dev/null @@ -1,273 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 用户控制 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ - -package com.cetc32.dh.controller.system; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.dto.LoginDTO; -import com.cetc32.dh.dto.UserSearchDTO; -import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.service.AdminUserService; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.DisabledAccountException; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.shiro.subject.Subject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import java.util.HashMap; -import java.util.Map; - -/** - * @Title: UserController - * @Description: 系统用户管理 - * @author: youqing - * @version: 1.0 - * @date: 2018/11/20 15:17 - */ -@Controller -@RequestMapping("user") -public class UserController { - - private Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private AdminUserService adminUserService; - - /** - * 功能描述: 登入系统 - * @param request - * @param loginDTO - * @param session - * @return:Map - * @auther: youqing - * @date: 2018/11/22 15:47 - */ - @RequestMapping("/login") - @ResponseBody - public Map login(HttpServletRequest request, LoginDTO loginDTO, HttpSession session){ - logger.info("进行登陆"); - Map data = new HashMap(); - // 使用 shiro 进行登录 - Subject subject = SecurityUtils.getSubject(); - String userName = loginDTO.getUsername().trim(); - String password = loginDTO.getPassword().trim(); - String rememberMe = loginDTO.getRememberMe(); - String host = request.getRemoteAddr(); - - //获取token - UsernamePasswordToken token = new UsernamePasswordToken(userName, password,host); - - // 设置 remenmberMe 的功能 - if (rememberMe != null && rememberMe.equals("on")) { - token.setRememberMe(true); - } - - try { - subject.login(token); - // 登录成功 - BaseAdminUser user = (BaseAdminUser) subject.getPrincipal(); - - session.setAttribute("user", user.getSysUserName()); - String tokens = request.getParameter("token"); - data.put("code",1); -// data.put("url","/view/experiment/list"); - //data.put("url","/desktop"); - data.put("message","登陆成功"); - data.put("token",token); - data.put("tokens",tokens); -// data.put("subject",subject); -// data.put("session",session); - logger.info(user.getSysUserName()+"登陆成功"); - } catch (UnknownAccountException e) { - data.put("code",0); - data.put("message",userName+"账号不存在"); - logger.error(userName+"账号不存在"); - return data; - }catch (DisabledAccountException e){ - data.put("code",0); - data.put("message",userName+"账号异常"); - logger.error(userName+"账号异常"); - return data; - } - catch (AuthenticationException e){ - data.put("code",0); - data.put("message",userName+"密码错误"); - logger.error(userName+"密码错误"); - return data; - } - - return data; - } - - /** - * 功能描述: 修改密码 - * @param pwd - * @param isPwd - * @return:Map - * @auther: youqing - * @date: 2018/11/22 17:26 - */ - @RequestMapping("setPwd") - @ResponseBody - public Map setP(String pwd, String isPwd){ - logger.info("进行密码重置"); - Map data = new HashMap(); - if(!pwd.equals(isPwd)){ - data.put("code",0); - data.put("message","两次输入的密码不一致!"); - logger.error("两次输入的密码不一致!"); - return data; - } - //获取当前登陆的用户信息 - BaseAdminUser user = (BaseAdminUser) SecurityUtils.getSubject().getPrincipal(); - int result = adminUserService.updatePwd(user.getSysUserName(),pwd); - if(result == 0){ - data.put("code",0); - data.put("msg","修改密码失败!"); - logger.error("用户修改密码失败!"); - return data; - } - data.put("code",1); - data.put("msg","修改密码成功!"); - logger.info("用户修改密码成功!"); - return data; - } - - /** - * 功能描述: 跳到系统用户列表 - * @return:String - * @auther: youqing - * @date: 2018/11/21 13:50 - */ - @RequestMapping("/userManage") - public String userManage() { - return "/user/userManage"; - } - - /** - * 功能描述: 分页查询用户列表 - * @param pageNum - * @param pageSize - * @param userSearch - * @return:PageDataResult - * @auther: youqing - * @date: 2018/11/21 11:10 - */ - @RequestMapping(value = "/getUserList", method = RequestMethod.POST) - @ResponseBody - public PageDataResult getUserList(@RequestParam("pageNum") Integer pageNum, - @RequestParam("pageSize") Integer pageSize,/*@Valid PageRequest page,*/ UserSearchDTO userSearch) { - /*logger.info("分页查询用户列表!搜索条件:userSearch:" + userSearch + ",pageNum:" + page.getPageNum() - + ",每页记录数量pageSize:" + page.getPageSize());*/ - PageDataResult pdr = new PageDataResult(); - try { - if(null == pageNum) { - pageNum = 1; - } - if(null == pageSize) { - pageSize = 10; - } - // 获取用户列表 - pdr = adminUserService.getUserList(userSearch, pageNum ,pageSize); - logger.info("用户列表查询=pdr:" + pdr); - - } catch (Exception e) { - e.printStackTrace(); - logger.error("用户列表查询异常!", e); - } - return pdr; - } - - /** - * 功能描述: 新增和更新系统用户 - * @param user - * @return:Map - * @auther: youqing - * @date: 2018/11/22 10:14 - */ - @RequestMapping(value = "/setUser", method = RequestMethod.POST) - @ResponseBody - public Map setUser(BaseAdminUser user) { - logger.info("设置用户[新增或更新]!user:" + user); - Map data = new HashMap(); - if(user.getId() == null){ - data = adminUserService.addUser(user); - }else{ - data = adminUserService.updateUser(user); - } - return data; - } - - - /** - * 功能描述: 删除/恢复 用户 - * @param id - * @param status - * @return:Map - * @auther: youqing - * @date: 2018/11/22 11:59 - */ - @RequestMapping(value = "/updateUserStatus", method = RequestMethod.POST) - @ResponseBody - public int updateUserStatus(@RequestParam("id") Integer id, @RequestParam("status") Integer status) { - logger.info("删除/恢复用户!id:" + id+" status:"+status); - int data=0; - if(status == 0){ - //删除用户 - data = adminUserService.delUser(id,status); - } -// else{ -// //恢复用户 -//// data = adminUserService.recoverUser(id,status); -// } - return data; - } - - /** - * 功能描述: 根据权限查询用户列表 - * @param pageNum - * @param pageSize - * @param roleId - * @return:PageDataResult - * @auther: hubin - * @date: 2020/10/23 - */ - @RequestMapping(value = "/getUserRole", method = RequestMethod.POST) - @ResponseBody - public PageDataResult getUserList(@RequestParam("pageNum") Integer pageNum, - @RequestParam("pageSize") Integer pageSize,Integer roleId){ - PageDataResult pdr = new PageDataResult(); - try { - if(null == pageNum) { - pageNum = 1; - } - if(null == pageSize) { - pageSize = 10; - } - // 获取用户列表 - pdr = adminUserService.getUserRole(roleId, pageNum ,pageSize); - logger.info("用户列表查询=pdr:" + pdr); - - } catch (Exception e) { - e.printStackTrace(); - logger.error("用户列表查询异常!", e); - } - return pdr; - } - -} diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index eccc17b..ddcd88d 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -1,23 +1,27 @@ package com.cetc32.dh.controller.views; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; +import javax.servlet.http.HttpServletRequest; + @Controller public class IndexController { - + @Value("${eip}") + String eip="http://www.baidu.com/"; private Logger logger = LoggerFactory.getLogger(this.getClass()); - @RequestMapping("logout") - public String logout(){ - logger.info("退出系统"); - Subject subject = SecurityUtils.getSubject(); - subject.logout(); // shiro底层删除session的会话信息 - return "redirect:login"; + @RequestMapping({"/index","/"}) + public String index(String ReturnUrl, ModelMap map, HttpServletRequest req){ + if(ReturnUrl==null) + ReturnUrl=eip; + map.put("ReturnUrl", ReturnUrl); + map.put("originUrl", req.getRequestURL()); + return "index"; } } diff --git a/src/main/java/com/cetc32/dh/controller/views/OpenPageController.java b/src/main/java/com/cetc32/dh/controller/views/OpenPageController.java index 009bd9b..c4d0a27 100644 --- a/src/main/java/com/cetc32/dh/controller/views/OpenPageController.java +++ b/src/main/java/com/cetc32/dh/controller/views/OpenPageController.java @@ -8,6 +8,6 @@ import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping("/open/") public class OpenPageController { @GetMapping String api(){ - return "api"; + return ""; } } diff --git a/src/main/java/com/cetc32/dh/service/AdminPermissionService.java b/src/main/java/com/cetc32/dh/service/AdminPermissionService.java deleted file mode 100644 index 1fb3a85..0000000 --- a/src/main/java/com/cetc32/dh/service/AdminPermissionService.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 用户权限 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service; - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.dto.PermissionDTO; -import com.cetc32.dh.entity.BaseAdminPermission; -import com.cetc32.dh.entity.BaseAdminUser; -import java.util.List; -import java.util.Map; - -/** - * @Title: AdminPermissionService - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/30 9:44 - */ -public interface AdminPermissionService { - - Map addPermission(BaseAdminPermission permission); - - Map updatePermission(BaseAdminPermission permission); - - PageDataResult getPermissionList(Integer pageNum, Integer pageSize); - - List parentPermissionList(); - - Map del(long id); - - BaseAdminPermission getById(Object id); - - Map getUserPerms(BaseAdminUser user); - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminPermissionServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminPermissionServiceImpl.java deleted file mode 100644 index 3951afd..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/AdminPermissionServiceImpl.java +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Description: 用户权限接口实现 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.service.impl; - -import com.cetc32.dh.beans.Role; -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.utils.DateUtils; -import com.cetc32.dh.dto.PermissionDTO; -import com.cetc32.dh.entity.BaseAdminPermission; -import com.cetc32.dh.entity.BaseAdminRole; -import com.cetc32.dh.entity.BaseAdminUser; -import com.cetc32.dh.mybatis.BaseAdminPermissionMapper; -import com.cetc32.dh.mybatis.BaseAdminRoleMapper; -import com.cetc32.dh.service.AdminPermissionService; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import io.swagger.models.auth.In; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * @Title: AdminPermissionServiceImpl - * @Description: - * @author: youqing - * @version: 1.0 - * @date: 2020/11/13 9:44 - */ -@Service -public class AdminPermissionServiceImpl implements AdminPermissionService { - - private Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private BaseAdminPermissionMapper permissionMapper; - - @Autowired - private BaseAdminRoleMapper roleMapper; - - /** - * 增加权限 - * @param permission - * @return Map - */ - @Override - public Map addPermission(BaseAdminPermission permission) { - Map data = new HashMap(); - try { - permission.setCreateTime(DateUtils.getCurrentDate()); - permission.setUpdateTime(DateUtils.getCurrentDate()); - permission.setDelFlag(1); - int result = permissionMapper.insert(permission); - if(result == 0){ - data.put("code",0); - data.put("msg","新增失败!"); - logger.error("权限[新增],结果=新增失败!"); - return data; - } - data.put("code",1); - data.put("msg","新增成功!"); - logger.info("权限[新增],结果=新增成功!"); - } catch (Exception e) { - e.printStackTrace(); - logger.error("权限[新增]异常!", e); - return data; - } - return data; - } - - /** - * 更新权限 - * @param permission - * @return Map - */ - @Override - public Map updatePermission(BaseAdminPermission permission) { - Map data = new HashMap(); - try{ - permission.setUpdateTime(DateUtils.getCurrentDate()); - int result = permissionMapper.updatePermission(permission); - if(result == 0){ - data.put("code",0); - data.put("msg","更新失败!"); - logger.error("权限[更新],结果=更新失败!"); - return data; - } - data.put("code",1); - data.put("msg","更新成功!"); - logger.info("权限[更新],结果=更新成功!"); - }catch (Exception e) { - e.printStackTrace(); - logger.error("权限[更新]异常!", e); - return data; - } - return data; - } - - /** - * 获取权限列表 - * @param pageNum - * @param pageSize - * @return PageDataResult - */ - @Override - public PageDataResult getPermissionList(Integer pageNum, Integer pageSize) { - PageDataResult pageDataResult = new PageDataResult(); - PageHelper.startPage(pageNum, pageSize); - List permissions = permissionMapper.getPermissionList(); - - if(permissions.size() != 0){ - PageInfo pageInfo = new PageInfo<>(permissions); - pageDataResult.setList(permissions); - pageDataResult.setTotals((int) pageInfo.getTotal()); - } - return pageDataResult; - } - - /** - * 获取父类权限列表 - * @return List - */ - @Override - public List parentPermissionList() { - return permissionMapper.parentPermissionList(); - } - - /** - * 根据id删除权限 - * @param id - * @return Map - */ - @Override - public Map del(long id) { - Map data = new HashMap<>(); - try { - // 删除权限菜单 - int result = permissionMapper.deleteByPrimaryKey(id); - if(result == 0){ - data.put("code",0); - data.put("msg","删除失败"); - logger.error("删除失败"); - return data; - } - data.put("code",1); - data.put("msg","删除成功"); - logger.info("删除成功"); - } catch (Exception e) { - e.printStackTrace(); - logger.error("删除权限菜单异常!", e); - } - return data; - } - - /** - * 根据id获取基本用户权限 - * @param id - * @return BaseAdminPermission - */ - @Override - public BaseAdminPermission getById(Object id) { - return permissionMapper.selectByPrimaryKey(id); - } - - /** - * 获取用户user的权限 - * @param user - * @return Map - */ - @Override - public Map getUserPerms(BaseAdminUser user) { - Map data = new HashMap<>(); - Set per = new HashSet(); - List roleId = Stream.of(user.getRoleId().split(",")).map(Integer::parseInt).collect(Collectors.toList()); - List rids=new ArrayList<>(); - for(Integer rid:roleId) - { -// Role role = roleMapper.selectByPrimaryKey(rid); -// String permissions = role.getPermissions(); -// rids.addAll(Arrays.asList(permissions.split(","))); - } - rids=rids.stream().distinct().collect(Collectors.toList()); - - if (rids.size()>0) { - List permissionList = new ArrayList <>(); - for (String id : rids) { - // 角色对应的权限数据 - BaseAdminPermission perm = permissionMapper.selectByPrimaryKey(id); - if (null != perm ) { - // 授权角色下所有权限 - PermissionDTO permissionDTO = new PermissionDTO(); - BeanUtils.copyProperties(perm,permissionDTO); - //获取子权限 - List childrens = permissionMapper.getPermissionListByPId(perm.getId()); - permissionDTO.setChildrens(childrens); - permissionList.add(permissionDTO); - } - } - data.put("perm",permissionList); - } - return data; - } -} diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..c5365a0 --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,66 @@ +server: + port: 8081 + server.connectionTimeout: 18000000 + +spring: + application: + name: dhManager + datasource: + url: jdbc:postgresql://127.0.0.1:5432/dhmanage + username: postgres + password: 123456 + driver-class-name: org.postgresql.Driver +# hikari: +# jdbc-url: jdbc:postgresql://192.168.1.60:5432/dhmanage +# driver-class-name: org.postgresql.Driver +# username: postgres +# password: 123456 + + + servlet: + multipart: + max-file-size: 5GB + max-request-size: 5GB + redis: + jedis: + pool: + max-wait: 10000 + max-idle: 10 + max-active: 100 + host: localhost + port: 6524 + password: E6346913E58C304C + database: 0 + +#设置静态资源路径,多个以逗号分隔 + resources: + static-locations: classpath:static/,file:static/ + thymeleaf: + cache: false + mode: HTML +mybatis: + mapper-locations: classpath:mapper/*.xml + type-aliases-package: com.cetc32.dh.entity.* #对应实体类的包名 + configuration: + map-underscore-to-camel-case: true #配置驼峰命名转换 在进行sql查询和初始化实体时mybatis会为我们自动转化 + +generator: + targetProject: src/main/java + mappers: tk.mybatis.mapper.common.Mapper + javaModel-targetPackage: com.cetc32.dh.entity + sqlMap-targetPackage: mapper + javaClient-targetPackage: com.cetc32.dh.mybatis +logging: + level: + com.cetc32.dh.mybatis: debug + +storePath: /root/ +upLoadPath: ${storePath}upLoad + +rootPath: /root/daohang/data +myPath: ${rootPath}myPath +writePath: ${rootPath}/product +basePassport: http://116.85.36.63:8080/DH +eip: http://192.168.1.209:8080/ +verifyUrl: ${basePassport}/rest/auth/verify?token= +passportUrl: ${basePassport}/?ReturnUrl= \ No newline at end of file diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index bebba33..a5bfaa1 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -2,29 +2,6 @@ server: port: 8081 server.connectionTimeout: 18000000 - - -## redis setting -#jedis: -# pool: -# host:localhost -# port:6254 -# pass:E6346913E58C304C -# timeout:3000000 - -# maxTotal:100 -# maxIdle:10 -# maxWaitMillis:10000 -# -# -# #thymeleaf -# spring.thymeleaf.prefix=classpath:/templates/ -# spring.thymeleaf.suffix=.html -# spring.thymeleaf.mode=LEGACYHTML5 -# spring.thymeleaf.encoding=UTF-8 -# spring.thymeleaf.cache=false - - spring: application: name: dhManager @@ -33,17 +10,12 @@ spring: username: postgres password: 123456 driver-class-name: org.postgresql.Driver +# hikari: +# jdbc-url: jdbc:postgresql://192.168.1.60:5432/dhmanage +# driver-class-name: org.postgresql.Driver +# username: postgres +# password: 123456 -# datasource: -# url: jdbc:mysql://localhost:3306/dhmanage?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8 -# username: root -# password: 123 -# initial-size: 1 -# min-idle: 1 -# max-active: 20 -# test-on-borrow: true -# driver-class-name: com.mysql.cj.jdbc.Driver -# type: com.zaxxer.hikari.HikariDataSource servlet: multipart: @@ -59,13 +31,13 @@ spring: port: 6524 password: E6346913E58C304C database: 0 - # jedis: -# pool: -# max-idle: 10 -# max-wait: 10000 + #设置静态资源路径,多个以逗号分隔 resources: static-locations: classpath:static/,file:static/ + thymeleaf: + cache: false + mode: HTML mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.cetc32.dh.entity.* #对应实体类的包名 @@ -88,3 +60,6 @@ upLoadPath: ${storePath}upLoad rootPath: /root/daohang/data myPath: ${rootPath}myPath writePath: ${rootPath}/product +eip: http://192.168.1.209:8080/ +verifyUrl: http://passport.gmall.com:8081/rest/auth/verify?token= +passportUrl: http://passport.gmall.com:8081/?ReturnUrl= \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4f5137e..fa7b390 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ -#spring: -# profiles: -# active: dev -# #热部署生效 \ No newline at end of file +spring: + profiles: + active: prod + #热部署生效 \ No newline at end of file diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties deleted file mode 100644 index 4c7436c..0000000 --- a/src/main/resources/jdbc.properties +++ /dev/null @@ -1,32 +0,0 @@ -#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dhmanage?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false -##spring.datasource.driverClassName=com.mysql.jdbc.Driver -#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -#spring.datasource.username=root -#spring.datasource.password=123 - -spring.datasource.url=jdbc:postgresql://192.168.1.60:5432/dhmanage -spring.datasource.username=postgres -spring.datasource.password=123456 -spring.datasource.driver-class-name=org.postgresql.Driver - -#Mybatis扫描 -mybatis.mapper-locations=classpath*:com/**/mapper/**.xml - -# Generator -generator.targetProject=src/main/java -#mapper的父类 -generator.mappers=tk.mybatis.mapper.common.Mapper -#pojo所在报名 -generator.javaModel-targetPackage=com.cetc32.dh.entity -#mapper.xml位于resource文件夹下的哪个目录中 -generator.sqlMap-targetPackage=mapper -#mapper包名 -generator.javaClient-targetPackage=com.cetc32.dh.mybatis - -#配置文件传输 -spring.servlet.multipart.enabled =true -spring.servlet.multipart.file-size-threshold =0 -#单个数据的大小 -spring.servlet.multipart.max-file-size = 50GB -#总数据的大小 -spring.servlet.multipart.max-request-size=50GB diff --git a/src/main/resources/mapper/BaseAdminPermissionMapper.xml b/src/main/resources/mapper/BaseAdminPermissionMapper.xml deleted file mode 100644 index f9e68b8..0000000 --- a/src/main/resources/mapper/BaseAdminPermissionMapper.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - UPDATE base_admin_permission - - - name = #{name}, - - - pid = #{pid}, - - - descpt = #{descpt}, - - - url = #{url}, - - - update_time = #{updateTime} - - - WHERE id = #{id} - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/static/css/gm1.css b/src/main/resources/static/css/gm1.css new file mode 100644 index 0000000..803bc03 --- /dev/null +++ b/src/main/resources/static/css/gm1.css @@ -0,0 +1,279 @@ +* { + padding: 0; + margin: 0; + text-decoration: none; + list-style: none; } + +a { + color: black; } +body{ + background-image: url("../img/5731485aN1134b4f0.jpg"); + background-repeat: no-repeat; + background-size: 100% auto; +} +header { + width: 1100px; + height: 58px; + margin: 0 130px; + position: relative; + top: 10px; } + header p { + margin-left: 215px; + margin-top: -40px; + font-weight: 400; + font-size: 24px; } + header .top-1 { + float: left; + position: absolute; + top: 40px; + left: 950px; } + header .top-1 img { + float: left; + position: absolute; + top: 4px; } + header .top-1 span { + font-size: 12px; + color: gray; + margin-left: 25px; } + +.top-2 { + width: 1366px; + height: 35px; + background: #FFF8F0; + margin-top: 15px; } + .top-2 .top-2a { + float: left; + height: 35px; + line-height: 35px; } + .top-2 .top-2a img { + float: left; + position: absolute; + left: 255px; + top: 82px; } + .top-2 .top-2a p { + font-size: 12px; + margin: 0 280px; + color: gray; } + .top-2 .top-2a span { + font-size: 12px; + font-weight: 600; + color: black; } + +.top-3 { + /*width: 1365px; + /*background: #e93854;*/ + position: absolute; +} + .top-3 .img_1 { + width: 990px; + height: 475px; + margin: 0 auto; } + .top-3 #sign { + width: 350px; + height: 378px; + background: #fff; + position: absolute; + margin-top: calc(40vh - 189px); + margin-left: calc(50vw - 175px); + /*top: 28px; + left: 800px;*/ + z-index: 11; } + .top-3 #sign .si_top { + width: 100%; + height: 40px; + line-height: 40px; + font-size: 12px; + text-align: center; + color: #999999; } + .top-3 #sign .si_cen { + color: #F4F4F4; + border-bottom: 1px solid #f4f4f4; + width: 100%; + line-height: 50px; + position: relative; + z-index: 1111; } + .top-3 #sign .si_cen h2 { + color: #666; + float: left; + width: 48%; + text-align: center; + font-weight: 400; + cursor: pointer; + font-size: 18px; } + .top-3 #sign .si_cen span { + float: left; } + .top-3 #sign .si_cen .act { + color: red; + font-weight: 700; } + .top-3 #sign .tab { + display: none; } + .top-3 #sign .si_bom { + position: relative; } + .top-3 #sign .si_bom:hover .bom_1 { + transform: translateX(-80px); } + .top-3 #sign .si_bom:hover .bom_2 { + opacity: 1; } + .top-3 #sign .si_bom .bom_1 { + margin-left: 95px; + margin-top: 20px; + padding: 2px 3px; + border: 1px solid #F4F4F4; + transition: all .5s; } + .top-3 #sign .si_bom .bom_2 { + position: absolute; + top: 60px; + left: 195px; + opacity: 0; + z-index: 111; + transition: all 1s; } + .top-3 #sign .si_bom h6 { + color: #666666; + margin: 10px 0 5px 100px; } + .top-3 #sign .si_bom h6 span { + padding-right: 10px; } + .top-3 #sign .si_bom p { + width: 100%; + height: 40px; + line-height: 40px; + margin: 10px 0; + text-align: center; } + .top-3 #sign .si_bom p span { + font-size: 14px; + margin-right: 15px; } + .top-3 #sign .si_bom p span a { + color: #bfa6b3; } + .top-3 #sign .si_bom p img { + vertical-align: middle; } + .top-3 #sign .si_bom1 { + width: 100%; + height: 257px; + position: relative; } + .top-3 #sign .si_bom1 .error { + position: absolute; + top: -25px; + left: 30px; + z-index: 111; + font-size: 12px; + color: #e4393c; + padding-left: 30px; + border: 1px solid #faccc6; + line-height: 20px; + height: 20px; + padding-right: 85px; + background: #ffebeb; + display: none; } + .top-3 #sign .si_bom1 .error div { + width: 16px; + height: 16px; + float: left; + margin-right: 12px; + margin-top: 2px; + background: -104px -49px no-repeat; } + .top-3 #sign .si_bom1 ul { + width: 100%; } + .top-3 #sign .si_bom1 ul .top_1 { + margin-top: 75px; } + .top-3 #sign .si_bom1 ul li { + width: 253px; + height: 40px; + line-height: 40px; + margin: 30px 30px; } + .top-3 #sign .si_bom1 ul li input { + width: 211px; + height: 38px; + float: left; + border: 1px solid #999; + outline: none; + border-left: none !important; } + .top-3 #sign .si_bom1 ul li img { + vertical-align: middle; + float: left; } + .top-3 #sign .si_bom1 ul li button { + width: 100%; + height: 40px; + color: snow; + border: none; + background: #FF0000; + position: relative; + outline: none; + cursor: pointer; } + .top-3 #sign .si_bom1 ul li button a { + display: inline-block; + width: 100%; + height: 40px; + position: absolute; + top: 0; + left: 0; + color: snow; + font-size: 20px; + line-height: 40px; } + .top-3 #sign .si_bom1 ul li a { + float: right; } + .top-3 #sign .si_bom1 ul .bri { + margin: 0 30px; + height: 30px; + margin-top: -10px; } + .top-3 #sign .si_bom1 ul .bri a { + font-size: 12px; } + .top-3 #sign .si_bom1 ul .bri a:hover { + color: red; + text-decoration: underline; } + .top-3 #sign .si_bom1 ul .ent { + margin: 0 30px; } + .top-3 #sign .red { + color: red; } + .top-3 #sign .si_out { + width: 100%; + height: 40px; + line-height: 40px; + border-top: 1px solid #F4F4F4; } + .top-3 #sign .si_out ul { + margin: 10px 25px; } + .top-3 #sign .si_out ul li { + margin: 0 8px; + float: left; + text-align: center; } + .top-3 #sign .si_out ul li span { + margin-right: 7px; + font-size: 12px; } + .top-3 #sign .si_out ul li img { + vertical-align: middle; } + .top-3 #sign .si_out ul li:hover a span { + border-bottom: 1px solid red; + color: red; } + .top-3 #sign .si_out ul .f4 { + color: #F4F4F4; } + .top-3 #sign .si_out .rig { + float: right; } + .top-3 #sign .si_out h5 { + padding-right: 20px; } + .top-3 #sign .si_out h5 img { + vertical-align: middle; } + .top-3 #sign .si_out h5 a { + color: red; + font-size: 12px; } + +footer { + width: 1100px; + height: 30px; + margin: 6px 220px; } + footer ul { + width: 1100px; + float: left; } + footer ul li { + float: left; + margin: 8px; } + footer ul a { + font-size: 12px; + color: dimgray; } + footer ul li a:hover { + color: red; } + footer ul .little { + font-size: 10px; + line-height: 22px; } + footer span { + font-size: 12px; + color: dimgray; + margin: -15px 335px; } + +/*# sourceMappingURL=JD1.css.map */ diff --git a/src/main/resources/static/css/gm1.css.bak b/src/main/resources/static/css/gm1.css.bak new file mode 100644 index 0000000..56b4ad1 --- /dev/null +++ b/src/main/resources/static/css/gm1.css.bak @@ -0,0 +1,272 @@ +* { + padding: 0; + margin: 0; + text-decoration: none; + list-style: none; } + +a { + color: black; } + +header { + width: 1100px; + height: 58px; + margin: 0 130px; + position: relative; + top: 10px; } + header p { + margin-left: 215px; + margin-top: -40px; + font-weight: 400; + font-size: 24px; } + header .top-1 { + float: left; + position: absolute; + top: 40px; + left: 950px; } + header .top-1 img { + float: left; + position: absolute; + top: 4px; } + header .top-1 span { + font-size: 12px; + color: gray; + margin-left: 25px; } + +.top-2 { + width: 1366px; + height: 35px; + background: #FFF8F0; + margin-top: 15px; } + .top-2 .top-2a { + float: left; + height: 35px; + line-height: 35px; } + .top-2 .top-2a img { + float: left; + position: absolute; + left: 255px; + top: 82px; } + .top-2 .top-2a p { + font-size: 12px; + margin: 0 280px; + color: gray; } + .top-2 .top-2a span { + font-size: 12px; + font-weight: 600; + color: black; } + +.top-3 { + width: 1365px; + background: #E93854; + position: relative; } + .top-3 .img_1 { + width: 990px; + height: 475px; + margin: 0 auto; } + .top-3 #sign { + width: 350px; + height: 428px; + background: #fff; + position: absolute; + top: 28px; + left: 800px; + z-index: 11; } + .top-3 #sign .si_top { + width: 100%; + height: 40px; + line-height: 40px; + font-size: 12px; + text-align: center; + color: #999999; } + .top-3 #sign .si_cen { + color: #F4F4F4; + border-bottom: 1px solid #f4f4f4; + width: 100%; + line-height: 50px; + position: relative; + z-index: 1111; } + .top-3 #sign .si_cen h2 { + color: #666; + float: left; + width: 48%; + text-align: center; + font-weight: 400; + cursor: pointer; + font-size: 18px; } + .top-3 #sign .si_cen span { + float: left; } + .top-3 #sign .si_cen .act { + color: red; + font-weight: 700; } + .top-3 #sign .tab { + display: none; } + .top-3 #sign .si_bom { + position: relative; } + .top-3 #sign .si_bom:hover .bom_1 { + transform: translateX(-80px); } + .top-3 #sign .si_bom:hover .bom_2 { + opacity: 1; } + .top-3 #sign .si_bom .bom_1 { + margin-left: 95px; + margin-top: 20px; + padding: 2px 3px; + border: 1px solid #F4F4F4; + transition: all .5s; } + .top-3 #sign .si_bom .bom_2 { + position: absolute; + top: 60px; + left: 195px; + opacity: 0; + z-index: 111; + transition: all 1s; } + .top-3 #sign .si_bom h6 { + color: #666666; + margin: 10px 0 5px 100px; } + .top-3 #sign .si_bom h6 span { + padding-right: 10px; } + .top-3 #sign .si_bom p { + width: 100%; + height: 40px; + line-height: 40px; + margin: 10px 0; + text-align: center; } + .top-3 #sign .si_bom p span { + font-size: 14px; + margin-right: 15px; } + .top-3 #sign .si_bom p span a { + color: #bfa6b3; } + .top-3 #sign .si_bom p img { + vertical-align: middle; } + .top-3 #sign .si_bom1 { + width: 100%; + height: 257px; + position: relative; } + .top-3 #sign .si_bom1 .error { + position: absolute; + top: -25px; + left: 30px; + z-index: 111; + font-size: 12px; + color: #e4393c; + padding-left: 30px; + border: 1px solid #faccc6; + line-height: 20px; + height: 20px; + padding-right: 85px; + background: #ffebeb; + display: none; } + .top-3 #sign .si_bom1 .error div { + width: 16px; + height: 16px; + float: left; + margin-right: 12px; + margin-top: 2px; + background: url(../JD_img/pwd-icons-new.png) -104px -49px no-repeat; } + .top-3 #sign .si_bom1 ul { + width: 100%; } + .top-3 #sign .si_bom1 ul .top_1 { + margin-top: 75px; } + .top-3 #sign .si_bom1 ul li { + width: 253px; + height: 40px; + line-height: 40px; + margin: 30px 30px; } + .top-3 #sign .si_bom1 ul li input { + width: 211px; + height: 38px; + float: left; + border: 1px solid #999; + outline: none; + border-left: none !important; } + .top-3 #sign .si_bom1 ul li img { + vertical-align: middle; + float: left; } + .top-3 #sign .si_bom1 ul li button { + width: 100%; + height: 40px; + color: snow; + border: none; + background: #FF0000; + position: relative; + outline: none; + cursor: pointer; } + .top-3 #sign .si_bom1 ul li button a { + display: inline-block; + width: 100%; + height: 40px; + position: absolute; + top: 0; + left: 0; + color: snow; + font-size: 20px; + line-height: 40px; } + .top-3 #sign .si_bom1 ul li a { + float: right; } + .top-3 #sign .si_bom1 ul .bri { + margin: 0 30px; + height: 30px; + margin-top: -10px; } + .top-3 #sign .si_bom1 ul .bri a { + font-size: 12px; } + .top-3 #sign .si_bom1 ul .bri a:hover { + color: red; + text-decoration: underline; } + .top-3 #sign .si_bom1 ul .ent { + margin: 0 30px; } + .top-3 #sign .red { + color: red; } + .top-3 #sign .si_out { + width: 100%; + height: 40px; + line-height: 40px; + border-top: 1px solid #F4F4F4; } + .top-3 #sign .si_out ul { + margin: 10px 25px; } + .top-3 #sign .si_out ul li { + margin: 0 8px; + float: left; + text-align: center; } + .top-3 #sign .si_out ul li span { + margin-right: 7px; + font-size: 12px; } + .top-3 #sign .si_out ul li img { + vertical-align: middle; } + .top-3 #sign .si_out ul li:hover a span { + border-bottom: 1px solid red; + color: red; } + .top-3 #sign .si_out ul .f4 { + color: #F4F4F4; } + .top-3 #sign .si_out .rig { + float: right; } + .top-3 #sign .si_out h5 { + padding-right: 20px; } + .top-3 #sign .si_out h5 img { + vertical-align: middle; } + .top-3 #sign .si_out h5 a { + color: red; + font-size: 12px; } + +footer { + width: 1100px; + height: 30px; + margin: 6px 220px; } + footer ul { + width: 1100px; + float: left; } + footer ul li { + float: left; + margin: 8px; } + footer ul a { + font-size: 12px; + color: dimgray; } + footer ul li a:hover { + color: red; } + footer ul .little { + font-size: 10px; + line-height: 22px; } + footer span { + font-size: 12px; + color: dimgray; + margin: -15px 335px; } + +/*# sourceMappingURL=JD1.css.map */ diff --git a/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_06.png b/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_06.png new file mode 100644 index 0000000000000000000000000000000000000000..128b3be849d8633026c4d3a6df60c9e40362d895 GIT binary patch literal 1120 zcmaJ=TSyd97@m~MBrWV_7w9ngVB+rVtnI8bx!JCxx!8)XYbw1o&Kz~JnKR9tZFddK ziYOntN)bI|1yKlD5QNo(K`%zVM1hb{LLmgvg>F*TcE()mp>3F%bK(2G|3Cl#o!+|I zEjih%vMGwn308|?GUkylH!FkuuMLfjlVK&UY{m_!4aX!CQho)sLJ-uXb{K||lGyzK zmQhqDtwx%0b7-p|Bh4w<7-w8F2%DnH%HxJ4cR~zWVY{mP=y!LAX`m`Ty2%rAg^UW= zp;mX9u%W9qB6oGlyh4|60%dW52xt&XAg=AwEg|lsr*#D~x3?J@Oha&|kN%xhbEpnf zAQJ+Qv&130SQc=clilFqIJOwLU96jNk(YC@8w3w0xV>QJp-D7TX%oU?)l4k1^3fd_ z8v?_`Vlii|#EHyyhUIzQ)^NKW1mUm}I+o%N-CCDY5TPZTs)1Fc16xsQMN#adNv6M# zpc%8Wx;0ZKQZObi84T-m*+)tNL!tjeHEkAc;V}G@?>~jDNWy?j7+NT5%A|2^>+Dd5 zP+>v|BQt`~u2dE4IuJ%y2QolK0|yG5R9!(aYyC7n6cU2Eg(Y2vLD5GO1*fVif{S$p zMA2I+vH?={N^hyBl=pjBjw=nYUQeJZ#TAhp)u4`3T;&g!Ps_Efpcy2x2u*blRH{s* zf$1X)YWiHbw0bjKC4Da5v|NTH!`O}etI??~;vRcCYg@9IH9pjd+f8EY#xUq7SK?_< z^he^)TBo|-Odh^z>~I#XXmfmT#=t z`8D_Lh0SgC^&ghi?9Un*&&{T?GcFrDGY59Onwa?VS@M>^lYN;qI5;-Cq9A{1Ps7+~ zboI}D$)C}WXZo+yCKI2sj&z^j^dtIk+llczIU_}{*A(2V291ku-dNnXxsg9X`;T8O zEId7xOs*YCOuU)*$y+e@J#04c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`U}$b;X5eVxV(0`6bysr>QwvK+Q$sT|3nxQ! zQzti=UYGpj(%jU%5}4i;gkD3OdO=Acw*Y9fOKMSOS!#+~QGTuh*vnR#Slwda-(v6SuwLT70V+=Lc|1_$czlSN#cJm)`nys&APYH{05kUcD@w9dh~F z^{^@b9mJlW740!yy}W&A0BeJ!h@i!cITGPY46g;aRgIRYHog5aKYkHQ0)LWYy6HG`?3$e? S_Vya6$nkXbb6Mw<&;$UCcD$$n literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_15.png b/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_15.png new file mode 100644 index 0000000000000000000000000000000000000000..6334c109a04e02f4e1d777c7340214b69334d8c8 GIT binary patch literal 1485 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1SGw?g-k%464!{5;QX|b^2DN42FH~Aq*MjZ z+{E}FfdWj%4dKI|^K-~-sHue<-iOJciB??KY z>6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDnT3-;TxdfoL`ixV5(=Vn`~fcs9E!^lV%s6w~6GOr}DLN~8i8D@e@YH@N=Wx*A$ZZ2GPaY;}r!o64xE)JknMZjd;*&1lgz`*3_>Eaktacj=h z@O7^ocpOd&bY%$b?UcX8cH_U$4F>rV7LPCYD%-O=rPTxq=hrJp{=V^8>~Y=x-8qL& zKmJ%@A#?8e=dV?J@8)@FZomEZW5u7k{pX(>^Bm4g&Cro6-+ec2v!SoB@%roBOac}Q zmS6UiX>nSZV6Z|kK4SXmRJ-}flASIb2fsQdtPRtCaWO+=dVa)@IcL)z7D%+O(@)ub zcir{Z5jt*f_D^>zFqPr^{`>D={U*Dx8>bd4+D|^IBEV52IZ;gZr>~086Tg$jmPHH? z*Ia+y>!$o$FzklYgZ)nZt0v~83*0(#uJ;Ys4JU`QOODNx|H<;IZ1yG`*K! zUKw)gS6rLVMe#owI(dOQVx|I}%u`OLm zqqCa1iYdTu{__3z!(^CbCZ`?|$nfRwp6kfUA!o}Kr6D5m*#EE3m7WL6k&i!G$n{5i z2d}?A_xOge)sf*BO01SDw4D(+Cws?=dv+K1CfTWH)NfAw`KRBuaqW^92N%uB@eq@~ z{!f^rcFl&Vsed`D-ciV>x{uJJ?|1Y~JmgE0L y7QXw6+Je%{`URF;G-&qQ@I~3~UY-1ZP6LL7j(>fBE_ix?3Rq89KbLh*2~7ZK7$`^p literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_17.png b/src/main/resources/static/img/4de5019d2404d347897dee637895d02b_17.png new file mode 100644 index 0000000000000000000000000000000000000000..07a6ac7c06bdbc18fbde90135b9184c660a5db8a GIT binary patch literal 1494 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_03.png b/src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_03.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb911d54a6c6f7c00ba967598670a7efcb050b0 GIT binary patch literal 1831 zcmaJ?eOL^69ACn1QA$Nh8WW=I%WUn|ZkDp!yItB+J%zLFPVLmr&Ne%>+v4dsg^s+O z(}nAZR3vd7bxBV|p*pV@o=OQtDmkSG>1I*xkL%`{`Mo`#&*%I4duIDev7f1ltqFxf zF%9q+O2~OO`Poy)lOyYDP!u`MBzz)>5G;n!N^zLtEyto^AOMxd!V*|2PfoZ7FQ!n8 zKqNGRh!8F3$uN{IHDKsER86uel*LPRYN;$9CV*%-7E$rR-ttNiK;(QdoGoIC)B;$6 z`0H^vL@y4N>EmTwIkbFeeZSZu zcYIJm5NaNSq19^XT30%T$1)%;mut{qv1lZMrb$*2QXNgDaU4+)!WtQls0jp90R}~B zG?qy4LDJLDA)x9}S(WBXn#hDPbW$|~qB9L4jQ~ZW|A(UJC|W~E;IIDvr?4h8Sq(EJ zum(%SWn|%E91W(_JOK_%2@DU#Fy%-VS1K?9(age-GPWzsY zEJxdx+>ACptRlM|C)-+^RNPG7mV*I8?@-;t!mucRE2&j>){r(S66<1P@yBUvU+>-h zpg#W_AD60S$Gieh&ngEtlyUJWuiBCm<9^dkJXxk=2kfoH|y@!-*#h^7L}hm z+0!t9R-XFJv%SaUuyg)nHQ|M8vyzsc}&`{cO1)BCa zB+NqpplmR@*sOASaqgTw_qZ$iTvCKq_S5Z`ZVGD7PYd@cUK9kMUr@A-LnYSR)NJjz z=3Pp$K<*`Y)xh6oy+?6-GIpIh6%%iM_sdN4Qb1 zB2V3(G+<)Pck?``d<<%mlj?w>#TO@~E)hrCo)RFItsZ(SBoQN$QE0)AJOWw*6Bc zWoviN5|?l4E*CXkYU-;w+cTJ8dJxX@5#%hkwhJzGIfC;Al%4J?mB%bI)^^ecdY#2g zMpoSp<6l->XY*$8js5`sjM&+AGjd6h^T|}TEtg1sX4LvZ7RU`-o7Rut zzTa++yE3Cdz6SDGc;k(_yTZ7t!s&}~_@-Jn(1rM*bYN0FJSL*|yiE8R2fEj1~Vek${A*z8B` zNN;h$?OSEzQa{FZj^7f(MJ<+HkDNeVa-eU+#8-1KIbt^sTiUZ8-n0!r89Z#V$}3Kf s7K1Y@v>yc9{V07KChwh9n=;XcQjmgsmL1HnH2k^(e8j?{W$QNo1JhO0NdN!< literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_06.png b/src/main/resources/static/img/a65a18e877a16246a92e1b755bd88a03_06.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a5c2b44c8a864d3221f5447904a1fe44ed05b5 GIT binary patch literal 2044 zcmaJ?c~nz(8VwcKia0P-C_|eG7{E$4LLh;#B_J_`EsSU}(vZABfR`7Ohe=Rz1r$0U zv;~pMFyMfUvIwSvC`>^K0a3~l!fpkm9$5w}0t&}@Sh4fRFz>wg+s?iB`+nbd&w1yA z0`?ef`E&~kg)(CKF+-5q3i&?U^bs;f0H-s#ei^~y0G zgMJ5rW9gXRlG@J+LNg#4fOf(;ItU0vBAP9}C&hG0`wArQz`kg#xE=#6hwsJdsMJu4s@*4hX_Qu9CofrGrFn zy{fP#T%4GzTqY!l2LTDZ$`$_3bzYOZVg*o&L}mgq@ex4iD}zAvyDQVgYv)23hdKG`COCx{d^@;V~Ngpqt?F(3w!V8Ty+TF>| zUL;uxA4g+j*t&?YQQGB)B=C0Jc=O6f@IPovOo&L%)76&zILvj0m30 z)(8uR4HmBtz%R8OR}X&HJ0ez*sC!PtesQI|6KB_UWf!(=XjubjdW)aO{i`(h&+LCr z)?a+)W<{9zuJ!fN&hS9B>+6g-eQf{H?$VSA`;t=boO4B$Dwxjey*}^M{Yx-AXTxmE zF;)GcK*xS7^X$30cCA5a!+}FrZ(U3*)E+d?dTI;))a@zi*;rf{^h4Q=gTL;p>ywjf zTndz@A4a5B42pK#<%g#ye4ml7PqLhv&^)m}i#itZweigkt3}rf=NEo<4ZM~LsMMOi zL?)l-=4$3@DE;@{rVSSJx5`60)?+lM-0H%OuLWZ$88F9-nz& z+|YVEkoV$^9E{l+cHYq&R9356qVLydHC$Ds9w(<>k~OnG<()p`Bf~wv~3M2jF{6d zm>r~e92<0U_C(Lax=%KN3vWp9Bxk0iyg3;>D(lphx&0R@vmvfoRG2ma>htf+P`)wT6pQvS3Mwhl; zjq2UVTRdx~e)ml^NF z%l_M^duG)p2KVaI#8~!TQdg&TME#&?^bbY;o8cn0qdMyuFFlXee#&(7N$*e^y?xAg zr!LUihG>Cb8V&=B?y>1(0afdolBwPn5A6KCo57+N$GU>P>2|d$xfwi>t*@-EtN%-^ z+Hq&)1`;Td^$V5t9DTNh`d;@oao{KXB|&fPG<>bCmk zVoh_b@7Ep4+=$C3b>}{I8BpGudzw&lo*O+r^@-42={Ym=5ftSSWkve>h_2vFS_iMO zDA#Q+cDiYUmEN;q{DPN}=f~yg=^nnnd{uobe6VmTyF}>cSO~l z%yw6Lptz$N>>Z^tr&8TX*>ql(M|e|r4{tw)x}k1kCt1c#TK;M2c@@>sjyK`vZveMn zKJtWtZalHh7)3#TajuS6~@D}yvV3xC)a>o4!|KcxShn+M)+2$#$Vloo;t^AK! MJ^{>f@2^h(2N>vM6951J literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/f760f80838eafa4ba85463ce6ce1298d_03.png b/src/main/resources/static/img/f760f80838eafa4ba85463ce6ce1298d_03.png new file mode 100644 index 0000000000000000000000000000000000000000..cd731e21207184d840771b7f96ba51404bf1eb3a GIT binary patch literal 15199 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

NW%`}G^n`$Yh&Hgr{&0#;d}L{bttB& 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 Hu0mjfG>_s$ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/img11.png b/src/main/resources/static/img/img11.png new file mode 100644 index 0000000000000000000000000000000000000000..c441dacca6967bf924d06d2acece25ae8432390d GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4f{M@977`9-%gA5W^xp1`yJhAzpiAh!e;#~ zvpEheQrInOv}dYa9+#16>1Ef+1{)T5I9a~6KHYKh;GDUtJkK5_+H6j5YnS{!XKwbn z_KazQO;=u?QE>|pS6v zqD+E0bC;}?=?h3@IU?}vQz(bahIt-Ara6JSNfX~T2^v1z2~tyHw!I}HRzP%d$93}? zHKJQse}84WnpCKGb;F`3I}&PK_J}Rt_jtqWWvhk@c7j%spO^|&+f%Go()$NaQsj;O|)oIp4#DO zD}`n#_!Wi-7*1dArO*_=&G-E7YI_#zl~XDX107Vuy=bbftZa9bx>uLB=|6dq&$l_V zmir$)edO(D>3uA_cgl#09a=PZ;gky3Tf&nSj@ispUf(gPxbWmVbI$lC)$KJ78@9ao z8oR}8&a~^Ed+u*~`q1*zgm~X~8-Dv9nx1elN{Z`LKg%4E3AGX)mYN-FRftvq_B+Mla6H-OR0;OXk;vd$@?2>_2-?-~FA literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/img22.png b/src/main/resources/static/img/img22.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f134c9baa981213973210e61c987fcd6bf6735 GIT binary patch literal 617 zcmV-v0+#)WP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0scuuK~z{r?UhSQ zLO~SA`&vPt&eZ7TqfN973wlEvi=q|l}cTS6*R>Pnqmb_v4W=j55bponr`M7=zKIpN4|bK8ycqE z%q-O|F16!-g0bM^!6BXagOnPdpz_wXJXd#i$(fy#_tiu~`@2pt60GNPvRZe`%k)|- ze#)Qr_C)ge^z2jCDMo_#YwMH>MYM7X$U9Th+N=|d1f9tk6&IJZnF3p$8VPB$PH-iN z|5!Q_rDR}$(u3R((XlVda^ocX{W2aauA8qNt^^AUi*&`^n&QIOOhyQ_$Tn#_vmBH3 zH6(TOwZoMlwiN{-Co+D9R|-v0&t$0_k5i7{0b~$`WF{QZ&esmtf>MwRD-lSk98Htw z?REG)KrSoorJ$@{Qvg&y2;PRHbi+rC5|l0XS`dXH0FlDb2-WrvB(HFu4+I4z`746& zR}dl)Lypx`asVG94dbOCIv5>_;%X%yHZ~2kYS9Rn=Wn?SAw_^&bcTgQ5Zm02QrMq zc-+gn`P$)1&`YeKDOS)FD`<)pG{p*<@^=Kgmp*y}JgRg-X9g{m00000NkvXXu0mjf D;zS5l literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/logo1.jpg b/src/main/resources/static/img/logo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0c2eec9c73e602abc84076feb314868d7e63c3e GIT binary patch literal 12826 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/phone-orange.png b/src/main/resources/static/img/phone-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..f755456f149143c37e42c1dfd1516f650f6cf919 GIT binary patch literal 7159 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/qq.png b/src/main/resources/static/img/qq.png new file mode 100644 index 0000000000000000000000000000000000000000..48b75933fab8205d232272187163995ada51be57 GIT binary patch literal 1346 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1SD^+kpz+qk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3qaZ#Z0suv5|gu2OB9k) z(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFffGH?<^D zp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRf0Gw!Z$#{Ilm}X!Bo#!H`&0@P{GVh&(Orw z%*;?n!N|bSNZ$a6%ybP+tW3?UjLa3FKnZADQA(Oskc%7CE+EfVDWjyMz)D}gyu4hm z+*mKaC|%#s($W%ShLMpjP=#)BWnM{Qg>GK4GRy>*)Z*l#%z~24{5%DaiHS-1r6smX zK$k+ikXryZHm?{OOuzusuShJ=H`Fr#c?qV_*B8Ii++4Wo;*y|LgnO|XTpUtakg6Y) zTAW{6lnjixG-Z%g1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5Q_u*{%uC5HFV+OB z_w}{%%quQQ%u7!7bg@+enxL1NnPO$^|)?zWNB__=xT21W@O@GXkcjS=4N7H zVP*)^>yn>bnwy$e0@Is<&})cOFDNPG765H_NiE7OOHFYr%Fk5*d)X=zr(2v|aheC! zn}X9V&TcsM>H{644~kf%h=vIPQxAv9LzD~yIVZa&nR)Pt{bz7%KBAP#qn4yN zZBe3DXX8R4rCSSin>Y@>wm!G`Wo^IGzL#^0_rIT8eeS1Tun21jhx*N1qTI_P-gt7S za+lmRd~hg_{Z*!pcDLPuD}wer(k5`nNuR5};4o)@7k4~P~D{@HPJKamiMN^(a!eV zZ*TF~?T_|OTq*oMPI1bKf({>{eR9SbueuZ-81eBYthrYZI;mjR4!f^6KZ*xz3NX^? zJU-u5$53KQvCkqM`Bi6>R5@w;=}!Cx4taDo1({cBH3}hm)~Dm7lm2B9}9kXSSLJp`=DKcsN4xec?vh&t4*y=bn?EjRWMkkwuw{|1nbjXqspjeG K=d#Wzp$P!ePUDsU literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/show.png b/src/main/resources/static/img/show.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bd8cca145fec4aa5119799ff5c3a20eacd8535 GIT binary patch literal 780 zcmV+n1M~ceP)(!?R|OGS zN8}$%E7ObROj_nSmxZ`xb4GKM+gZ=tD_8DrP4%5=?{2YQF`5%?!E-lf7+<`9c0Ix$8T;bCiPqM|G&SQY8d15e4=jFJjjMw&2Vuyg@U+iGIyv?^lF9x zZVCR%v}Or*5UbgkQ(1yJ!k~ylS(8_@vP8p~uU=2`7yE`hw9L(!k3g@?ocs~Xt9v!W z6=d8V;Dn(=U{*8Jay?K&@;E$JqN>@zN>TJD6$)-n=7_9jm=Rhc@<7l1yUXutR&G`NLw$kOv>p5o(}j?`|$0 zODw3t8PPYdXE&KEW6)?p(>gk@XKrPz6kiz)tatD@t632ZgM?(aL3$JZMbEggXze2+ z#CP;JG)&7pnv6U+(G=Yl>7(~b=H`x(!MH*7@$L4mXE-7xHe+BT-zbCCGYBo#3xbWQ zVKEKXGlP!p9k*aKzcHcnYE~PMiRu~9y@8osp$A%qs`JHV!m#6)2*2`bhIr<&i04~} zf}#(4#^Mr@7FiUDCwXWYY#cIxs$)`c<|g{5WOxP86tE&=A@k;s{%IM8lpm3N*{#;m zKvuK*$o0o7qXz!!W0sv(vH}4+EJ8Z6Fh&Ris~PQCEPW#xH?ki+&@yBVn}VsroW+nu z|FjG-7(6ib^!}v<3_1e-` z3>ptN#`_e;&VP5&FysLV#Eg?XGm{rT*D};^{5ad(C5hkKYuG=w96}FfdWj%4dKI|^K-~-sHue<-iOJciB??KY z>6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDnT3-;TxdfoL`ixV5(=Tn`~fcqF`>RXJ~3@ zVqvJGU}RuutZ!hfZ)mJ*Xk=wzX=P}t00l}w+lo@stb$zJpmqUywn`Z#B?VUc`sL;2 zdgaD?`9EjvM;3K=6eaydT*ZSq6(2oTD>Ps)HemmM+Q|OWu63!Ae1|WT&RzF<-D{<; zMJHtDEX$0&K82<1_O@l2Y>o$HZ2A`en54jQd)q?B%OZxt}~Ee3Hrx{Vj~)AL?%3 zXA*avm^xF%^MT^KWgDZ}xnBL2ljD28Md$UFFy@+;wfYMWmlWzKo&Rj??~^acbL-yS z&D-)Xa=o~Co~1qU#C`{h8O@e6n&1CzRcwjjuj4XcsEFRNF~H=hKB$oKboFyt=akR{ E0Jx{EEC2ui literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/user_06.png b/src/main/resources/static/img/user_06.png new file mode 100644 index 0000000000000000000000000000000000000000..7e5fe9aa9204f3246e78bff609643958f2e1d428 GIT binary patch literal 1295 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw2RikTr1B@w}FfdWj%4dKI|^K-~-sHue<-iOJciB??KY z>6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDnT3-;TxdfoL`ixV5(=Tn`~fcqF`>RXJ~3@ zVqvJGU}RuutZ!hfZ)mJ*Xk=wzX=P}t00l}w+lo@stb$zJpmqUywn`Z#B?VUc`sL;2 zdgaD?`9pPC0u>_xy-&Aw%K3HfYNX4x;)9;>Yau8@UUaRuQGl*vw|NDE=ALOhA`qwm{&@uJeZ{E(flJ8ZrcT?@c z)R|jrzs;Tb)}8Zk!G(5{JxvNfj7+;0JzSvfxq-#|!~5o~<@XD$=3aaKwQj%t{PVMx zNwz(#oVV`veAefca>oq~x{oH=$i?eT*Et=w`fAb6IcL-6GciwAIay=(y*55jgez(q ztIFJGy7%+1RP4U1v^`df^X9Qkv)N~t&swd)b=l5U3Q7sre8lC z?s6U7mV3K2HnEStoteug&Tyst6_egot0Hc_EmM-!Hs@`>-rU3(J^7?cwrk%;u0NNZ z{@gbV&UA5Iep&NF-{T%PWfsHd>_?i{``h21r8GzMVC>o1Ku7kcMqXlFtWqA%+B`eV z#8J4>SG-55e6c}6v9PH@%O$10iAs0BiSfK+dLSWxh2@#Te4i(!k7Rf5ykzopOSyN$ zH!;q%^qSy<3&I}Vx%BGw{XqT3yJ4S}_p^8d!>OSE|J+3yzwCbaH!w0B?~pE?BfCNo PR782Y`njxgN@xNAM&Ql3 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/weixin.png b/src/main/resources/static/img/weixin.png new file mode 100644 index 0000000000000000000000000000000000000000..84952aac4ad6e92ae902e30d4f7a295d997c26a8 GIT binary patch literal 1472 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1SD^+kpz+qk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3qaZ#Z0suv5|gu2OB9k) z(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFffGH?<^D zp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRf0Gw!Z$#{Ilm}X!Bo#!H`&0@P{GVh&(Orw z%*;?n!N|bSNZ$a6%ybP+tW3?UjLa3FKnZADQA(Oskc%7CE+EfVDWjyMz)D}gyu4hm z+*mKaC|%#s($W%ShLMpjP=#)BWnM{Qg>GK4GRy>*)Z*l#%z~24{5%DaiHS-1r6smX zK$k+ikXryZHm?{OOuzusuShJ=H`Fr#c?qV_*B8Ii++4Wo;*y|LgnO|XTpUtakg6Y) zTAW{6lnjixG-Z%g1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5Q_u*{%uC5HFV+OB z_w}{%%quQQ%u7!7bg@+enxL1NnPO$^|)|#WNB__=xT21W@O@GXkcjS=4N7H zVP*)^>yn>bnwy$e0@Is<&})iQFDNPG765H_NiE7OOHFYr%Fk5*d)X=zw_A*Gng`XJ zg4->|IQ8lS9itD5Sfq%C2?0|NhzU=&Kn^_Nr{)1udl4{Mmo1+;kAZ>7#M8wwq~g|; z;An59M2UIti|1SloN}Z0=+y*%y|xK&gGweXda*1|X;FNDxZ~Z@i?w$}V}Gd&O;iw4 zn&PxE>G0~MN>LXSQ$)9E@~<|2^=5O;?&g!*+S?N==6|o9SGoVNbg|4|}cMy}sOCcd>o$3*#c&qWJyK|FO+JIITea!sM)3+a^T*5a(x*JhI_JhGA8d zUFuD{;`kT78t+eQ%TM8cfAm(j>BKHwzmCL(j+Q5WOv%-H=vnenN3n_w!g|%5Wn$fQ{?qm8V_G@>D^)&`$Tb3^(8N<-BKd#{BnE_laD@WOHO|M zbei4*zQxV1-Y=IiTKco{V>S<;_;C>Z&ClZz`>}>h;@q|4x1AUZ#`RKONki zuxd__sp#{@rwfSTIDxD@R*1q%a`rmil`)vPMu0Ou|l2+NGzfOKN3!I7g z5h^kHS2{n-goB?St3+}Y&#jq$glXQV1uTrx|K0yfH>{Nx<99C7i0bfK)skJxski^d m{LSZmqtrMRcYWH;z|1hKoY!_0d(RV4nd<54=d#Wzp$PzE94Lzb literal 0 HcmV?d00001 diff --git a/src/main/resources/static/js/jquery-3.1.1.min.js b/src/main/resources/static/js/jquery-3.1.1.min.js new file mode 100644 index 0000000..4c5be4c --- /dev/null +++ b/src/main/resources/static/js/jquery-3.1.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), +a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), +void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + 登录 + + + + +

+

+ +
+ + + + +
+ + + +
+ +
+

用户登录

+ +
+ +
+
+ 请输入账户名和密码 +
+ +
+ + +
+
+
+ +
+ + 立即注册 +
+
+
+
+ + + + + + + + -- Gitee From d0f2c47d12b9685b627332b07f1a4dcfa688baef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Sat, 30 Jan 2021 11:26:14 +0800 Subject: [PATCH 09/36] fixed BaseAdminRuserMapper.xml --- .../java/com/cetc32/dh/beans/UserInfo.java | 2 +- .../dh/controller/rest/AuthController.java | 9 +- .../dh/controller/rest/CityController.java | 94 ------------------- .../com/cetc32/dh/service/CityService.java | 13 --- .../service/impl/AreaCommonServiceImpl.java | 55 ----------- .../dh/service/impl/CityServiceImpl.java | 29 ------ 6 files changed, 7 insertions(+), 195 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/controller/rest/CityController.java delete mode 100644 src/main/java/com/cetc32/dh/service/CityService.java delete mode 100644 src/main/java/com/cetc32/dh/service/impl/CityServiceImpl.java diff --git a/src/main/java/com/cetc32/dh/beans/UserInfo.java b/src/main/java/com/cetc32/dh/beans/UserInfo.java index e1acd57..7df4cf8 100644 --- a/src/main/java/com/cetc32/dh/beans/UserInfo.java +++ b/src/main/java/com/cetc32/dh/beans/UserInfo.java @@ -40,7 +40,7 @@ public class UserInfo extends NumberS { public void setRole(List role) { this.role = role; } - public void setSingleRole(String singleRole) { + public void setRole(String singleRole) { if(isNumber(singleRole)) { this.role = new ArrayList<>(); diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index dc5527b..6749401 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -24,6 +24,7 @@ import com.cetc32.dh.mybatis.AreaCommonMapper; import com.cetc32.dh.service.impl.AdminUserServiceImpl; import com.cetc32.webutil.annotations.LoginRequired; import com.cetc32.dh.service.impl.AreaCommonServiceImpl; +import com.cetc32.webutil.util.CookieUtil; import com.google.inject.internal.util.$FinalizableWeakReference; import com.google.inject.internal.util.$ObjectArrays; import io.swagger.annotations.ApiImplicitParam; @@ -43,6 +44,9 @@ import java.util.stream.Collectors; import com.cetc32.dh.common.utils.DigestUtils; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * 数据管理配置 * @author: 徐文远 @@ -76,7 +80,7 @@ public class AuthController { @ApiImplicitParam(name = "password", value = "密码", paramType = "String") }) @PostMapping("/login") - public ResponseData login2(@RequestBody LoginParameter loginParameter){ + public ResponseData login2(@RequestBody LoginParameter loginParameter, HttpServletRequest request, HttpServletResponse response){ String username=loginParameter.getUsername(); String password=loginParameter.getPassword(); if(username==null || password==null || password.length()==0) @@ -101,6 +105,7 @@ public class AuthController { user.getSecurity(), user.getAreacode(), JWTUtil.getExpire(jwtToken)); + CookieUtil.setCookie(request,response,"oldToken",jwtToken,60*60*2,true); return ResponseData.success(200,"success",data); } @@ -185,8 +190,6 @@ public class AuthController { else { return ResponseData.error("添加失败"); } - - } diff --git a/src/main/java/com/cetc32/dh/controller/rest/CityController.java b/src/main/java/com/cetc32/dh/controller/rest/CityController.java deleted file mode 100644 index ff61aba..0000000 --- a/src/main/java/com/cetc32/dh/controller/rest/CityController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.cetc32.dh.controller.rest; - - -import com.cetc32.dh.common.response.PageDataResult; -import com.cetc32.dh.common.response.ResponseResult; -import com.cetc32.dh.entity.DataSubmit; -import com.cetc32.dh.service.CityService; -import com.cetc32.dh.service.DataSubmitService; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.cetc32.dh.entity.City; -import com.cetc32.dh.service.AreaCommonService; -import com.cetc32.dh.entity.AreaCommon; - -import java.util.ArrayList; -import java.util.List; - -@RestController -@RequestMapping("/rest/city/") -public class CityController { - @Autowired - CityService cityService; - @Autowired - AreaCommonService areaCommonService; - - @ApiOperation(value = "当前用户名提交的数据") - @PostMapping("/jug") - public ResponseResult Judge() { -// String pointss ="POLYGON((98.31768 46.16992,127.59814 45.80590,108.78794 34.13706,93.2099 35.04692,98.31768 46.16992,98.31768 46.16992))"; - String pointss ="POLYGON((116.67521 41.40101, 116.67611 41.04001, 116.68291 41.04291,98.31768 46.16992,98.31768 46.16992,116.67521 41.40101))"; - String judge = cityService.judge(pointss); - - return ResponseResult.success("判断结果为:"+judge); - } - - - - @ApiOperation(value = "北京城市的点") - @PostMapping("/polygon") - public ResponseResult polygon() { - int count=0; - List areaCommonList = areaCommonService.selectAll(); - for (int k=0;k stringList = new ArrayList<>(); - if (cityService.selectByName(areaCommon.getName()).size()!=0) { - //搜集所有该城市数据 - List cityList = cityService.selectByName(areaCommon.getName()); - String start_end = null; - for (int i = 0; i < cityList.size(); i++) { - String s = cityList.get(i).getPointX(); - s = s + " "; - s = s + cityList.get(i).getPointY(); - if (i == 0) { - start_end = s; - } - stringList.add(start_end); - } - result = stringList.toString(); - result = result.replace("[", "("); - result = result.replace("]", ")"); - result = "POLYGON(" + result + ")"; - System.out.println(result); - geom = cityService.judge(result); - } - if(geom!=""){ - areaCommon.setGeom(geom); - } - - if(areaCommonService.updateByCity(areaCommon)>0){ - count++; - } - } - if(count>0){ - return ResponseResult.success("更新失败"); - }else{ - return ResponseResult.error("更新成功"); - } - - - } - - - - - - -} diff --git a/src/main/java/com/cetc32/dh/service/CityService.java b/src/main/java/com/cetc32/dh/service/CityService.java deleted file mode 100644 index 70b7504..0000000 --- a/src/main/java/com/cetc32/dh/service/CityService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.cetc32.dh.service; - -import com.cetc32.dh.entity.City; - -import java.util.List; - -public interface CityService { - public String judge(String pointss); - - public List selectByName(String cityname); - - -} diff --git a/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java index e9b04b9..66100a7 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AreaCommonServiceImpl.java @@ -1,7 +1,6 @@ package com.cetc32.dh.service.impl; import com.cetc32.dh.dto.CommonTreeDTO; -import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.AreaCommonExample; import com.cetc32.dh.mybatis.AreaCommonMapper; @@ -35,33 +34,6 @@ public class AreaCommonServiceImpl implements AreaCommonService { * @param pid * @return */ - @Override - public List getAreaTreeList(String pid) { - - ArrayList areaCommonDTOList = new ArrayList(); - List childList = getAreaTreeByPid(pid); - if(childList!=null&&childList.size()>0){ - - for(AreaCommon areaCommon:childList){ - AreaCommonDTO areaCommonDTO = new AreaCommonDTO(); - List ls = getAreaTreeList(areaCommon.getId()); - areaCommonDTO.setKey(areaCommon.getId()); - areaCommonDTO.setValue(areaCommon.getName()); - areaCommonDTO.setTitle(areaCommon.getName()); - if(ls == null){ - - }else { - areaCommonDTO.setChildren(ls); - } - areaCommonDTOList.add(areaCommonDTO); - } - - }else { - return null; - } - return areaCommonDTOList; - } - @Override public List getAreaTreeByPid(String pid) { AreaCommonExample areaCommonExample = new AreaCommonExample(); @@ -86,32 +58,6 @@ public class AreaCommonServiceImpl implements AreaCommonService { */ @Override public List getAreaTreeList(String pid) { -// return getTreeList(pid); -// ArrayList areaCommonDTOList = new ArrayList(); -// List childList = getAreaTreeByPid(pid); -// if(childList!=null&&childList.size()>0){ -// -// for(AreaCommon areaCommon:childList){ -// AreaCommonDTO areaCommonDTO = new AreaCommonDTO(); -// List ls = getAreaTreeList(areaCommon.getId()); -// areaCommonDTO.setKey(areaCommon.getId()); -// areaCommonDTO.setValue(areaCommon.getName()); -// areaCommonDTO.setTitle(areaCommon.getName()); -// if(ls == null){ -// -// }else { -// areaCommonDTO.setChildren(ls); -// } -// areaCommonDTOList.add(areaCommonDTO); -// } -// -// }else { -// return null; -// } -// return areaCommonDTOList; -// } - -// public List getTreeList(String pid) { ArrayList commonDTOList = new ArrayList(); List all=areaCommonMapper.selectAll(); @@ -143,7 +89,6 @@ public class AreaCommonServiceImpl implements AreaCommonService { } } - @Override public Integer updateByCity(AreaCommon areaCommon) { return areaCommonMapper.updateByCity(areaCommon); diff --git a/src/main/java/com/cetc32/dh/service/impl/CityServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/CityServiceImpl.java deleted file mode 100644 index 21ed18b..0000000 --- a/src/main/java/com/cetc32/dh/service/impl/CityServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.cetc32.dh.service.impl; -import com.cetc32.dh.entity.City; -import com.cetc32.dh.mybatis.CityMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.cetc32.dh.service.CityService; - -import java.util.List; - - -@Service -public class CityServiceImpl implements CityService { - - @Autowired - public CityMapper cityMapper; - - @Override - public String judge(String pointss){ - // pointss ="POLYGON((98.31768 46.16992,127.59814 45.80590,108.78794 34.13706,93.2099 35.04692,98.31768 46.16992,98.31768 46.16992))"; - return cityMapper.judge(pointss); - } - - public List selectByName(String cityname){ - return cityMapper.selectByName(cityname); - } - - - -} -- Gitee From 91ff26bbb186afec3b97e8b0761e264a4715a2ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Sat, 30 Jan 2021 16:59:41 +0800 Subject: [PATCH 10/36] xiugai Controller ResponseResult --- .../java/com/cetc32/dh/DhApplication.java | 2 +- .../dh/common/response/PageDataResult.java | 8 ++-- .../dh/common/response/ResponseData.java | 44 +++++++++---------- .../dh/common/response/ResponseMessage.java | 29 ++++++++++++ .../dh/common/response/ResponseResult.java | 37 ++++++---------- .../controller/rest/AreaCommonController.java | 2 + .../dh/controller/rest/AuthController.java | 15 +++---- .../controller/rest/DepartmentController.java | 33 +++++++------- .../dh/controller/views/IndexController.java | 11 +++++ 9 files changed, 103 insertions(+), 78 deletions(-) create mode 100644 src/main/java/com/cetc32/dh/common/response/ResponseMessage.java diff --git a/src/main/java/com/cetc32/dh/DhApplication.java b/src/main/java/com/cetc32/dh/DhApplication.java index 168f11c..194c994 100644 --- a/src/main/java/com/cetc32/dh/DhApplication.java +++ b/src/main/java/com/cetc32/dh/DhApplication.java @@ -19,7 +19,7 @@ import tk.mybatis.spring.annotation.MapperScan; * @date: 2020/10/13 11:19 */ @SpringBootApplication -@MapperScan(basePackages = "com.cetc32.dh.mybatis") +@MapperScan(basePackages = "com.cetc32.dh.mybatis,com.cetc32.webutil.serviconly") public class DhApplication { public static void main(String[] args) { diff --git a/src/main/java/com/cetc32/dh/common/response/PageDataResult.java b/src/main/java/com/cetc32/dh/common/response/PageDataResult.java index daed38d..90d1abe 100644 --- a/src/main/java/com/cetc32/dh/common/response/PageDataResult.java +++ b/src/main/java/com/cetc32/dh/common/response/PageDataResult.java @@ -20,9 +20,9 @@ import java.util.List; * @version: 1.0 * @date: 2020/9/11 10:55 */ -public class PageDataResult { +public class PageDataResult extends ResponseMessage{ - private Integer code=200; + //private Integer code=200; //总记录数量 private Integer totals; @@ -48,13 +48,13 @@ public class PageDataResult { } - public Integer getCode() { + /*public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; - } + }*/ public Integer getTotals() { return totals; diff --git a/src/main/java/com/cetc32/dh/common/response/ResponseData.java b/src/main/java/com/cetc32/dh/common/response/ResponseData.java index 142ff02..f7bbd91 100644 --- a/src/main/java/com/cetc32/dh/common/response/ResponseData.java +++ b/src/main/java/com/cetc32/dh/common/response/ResponseData.java @@ -2,43 +2,40 @@ package com.cetc32.dh.common.response; import com.cetc32.dh.common.IStatusMessage; -public class ResponseData { +public class ResponseData extends ResponseMessage{ - private String code; - private String message; + //private String code; + //private String message; private Object data; public ResponseData() { - this.code = IStatusMessage.SystemStatus.SUCCESS.getCode(); + this.code = Integer.valueOf(IStatusMessage.SystemStatus.SUCCESS.getCode()); this.message = IStatusMessage.SystemStatus.SUCCESS.getMessage(); } public ResponseData(IStatusMessage statusMessage){ - this.code = statusMessage.getCode(); + this.code = Integer.valueOf(statusMessage.getCode()); this.message = statusMessage.getMessage(); } public ResponseData(String mg){ - this.code="200"; - this.message=mg; + this(mg,null); } public ResponseData(String mg,Object obj){ - this.code="200"; - this.data=obj; - this.message=mg; + this("200",mg,obj); } public ResponseData(String code ,String mg,Object obj){ - this.code=code; + this.code=Integer.valueOf(code); this.data=obj; this.message=mg; } - public String getCode() { + /*public String getCode() { return code; - } + }*/ - public void setCode(String code) { + /*public void setCode(String code) { this.code = code; - } + }*/ public String getMessage() { return message; @@ -84,21 +81,20 @@ public class ResponseData { } /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) + * 构造函数重载指定缓存失效时间 + * @param code 状态码 + * @param msg 描述消息 + * @param data 反馈的数据 * @return * 修改信息: */ public static ResponseData fail(int code, String msg, Object data) { - ResponseData r = new ResponseData(); - r.setCode(code+""); - r.setMessage(msg); - r.setData(data); - return r; + return new ResponseData(code+"",msg,data); } - + /** + * 重写toString()方法 + * **/ @Override public String toString() { return "ResponseData{" + "code='" + code + '\'' + ", message='" diff --git a/src/main/java/com/cetc32/dh/common/response/ResponseMessage.java b/src/main/java/com/cetc32/dh/common/response/ResponseMessage.java new file mode 100644 index 0000000..ef184a7 --- /dev/null +++ b/src/main/java/com/cetc32/dh/common/response/ResponseMessage.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright(C) CETC-32 + * @Description:抽象响应消息 + * @Author :徐文远 + * @version:1.0 + * @date : 2021/1/30 下午1:43 + ******************************************************************************/ +package com.cetc32.dh.common.response; + +public abstract class ResponseMessage { + protected int code; + protected String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/src/main/java/com/cetc32/dh/common/response/ResponseResult.java b/src/main/java/com/cetc32/dh/common/response/ResponseResult.java index 68f0db4..b7a6275 100644 --- a/src/main/java/com/cetc32/dh/common/response/ResponseResult.java +++ b/src/main/java/com/cetc32/dh/common/response/ResponseResult.java @@ -19,44 +19,42 @@ import java.io.Serializable; * @version: 1.0 * @date: 2020/9/11 10:55 **/ -public class ResponseResult implements Serializable{ +@Deprecated +public class ResponseResult extends ResponseMessage implements Serializable{ - private String code; - private String message; + /* private String code; + private String message;*/ private Object obj; public ResponseResult() { - this.code = IStatusMessage.SystemStatus.SUCCESS.getCode(); + this.code = Integer.valueOf(IStatusMessage.SystemStatus.SUCCESS.getCode()); this.message = IStatusMessage.SystemStatus.SUCCESS.getMessage(); } public ResponseResult(IStatusMessage statusMessage){ - this.code = statusMessage.getCode(); + this.code = Integer.valueOf(statusMessage.getCode()); this.message = statusMessage.getMessage(); } public ResponseResult(String mg){ - this.code="200"; - this.message=mg; + this(mg,null); } public ResponseResult(String mg,Object obj){ - this.code="200"; - this.obj=obj; - this.message=mg; + this("200",mg,null); } public ResponseResult(String code ,String mg,Object obj){ - this.code=code; + this.code=Integer.valueOf(code); this.obj=obj; this.message=mg; } - public String getCode() { + /* public String getCode() { return code; } public void setCode(String code) { this.code = code; } - +*/ public String getMessage() { return message; } @@ -102,23 +100,16 @@ public class ResponseResult implements Serializable{ /** * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) + * @param code 键 + * @param msg 时间(秒) * @return * 修改信息: */ public static ResponseResult fail(int code, String msg, Object data) { - ResponseResult r = new ResponseResult(); - r.setCode(code+""); - r.setMessage(msg); - r.setObj(data); - return r; + return new ResponseResult(code+"",msg,data); } /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) * @return * 修改信息: */ diff --git a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java index 533c7e3..c8c6534 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java @@ -4,6 +4,7 @@ import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.service.AreaCommonService; +import com.cetc32.webutil.common.annotations.LoginSkipped; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -32,6 +33,7 @@ public class AreaCommonController { @ApiImplicitParam(name = "id", value = "查询ID(key值)下的范围树,非必填,默认查询全国", dataType = "String"), }) @RequestMapping(value = "/all", method = RequestMethod.GET) + @LoginSkipped public ResponseResult areaCommonTree(String id) { if (id == null){ id = "100000"; diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 6749401..3ed2710 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -15,18 +15,14 @@ import com.cetc32.dh.beans.ResultUserInfo; import com.cetc32.dh.beans.UserInfo; import com.cetc32.dh.common.response.PageDataResult; import com.cetc32.dh.common.response.ResponseData; -import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.common.utils.JWTUtil; import com.cetc32.dh.config.RedisUtil; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.mybatis.AreaCommonMapper; import com.cetc32.dh.service.impl.AdminUserServiceImpl; -import com.cetc32.webutil.annotations.LoginRequired; -import com.cetc32.dh.service.impl.AreaCommonServiceImpl; -import com.cetc32.webutil.util.CookieUtil; -import com.google.inject.internal.util.$FinalizableWeakReference; -import com.google.inject.internal.util.$ObjectArrays; +import com.cetc32.webutil.common.annotations.LoginSkipped; +import com.cetc32.webutil.common.util.CookieUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -80,6 +76,7 @@ public class AuthController { @ApiImplicitParam(name = "password", value = "密码", paramType = "String") }) @PostMapping("/login") + @LoginSkipped public ResponseData login2(@RequestBody LoginParameter loginParameter, HttpServletRequest request, HttpServletResponse response){ String username=loginParameter.getUsername(); String password=loginParameter.getPassword(); @@ -119,6 +116,7 @@ public class AuthController { @ApiImplicitParam(name = "password", value = "密码", paramType = "String") }) @PostMapping(value="/register",produces = "application/json;charset=UTF-8") + @LoginSkipped public ResponseData register(@RequestBody LoginParameter loginParameter){ String username=loginParameter.getUsername().trim(); String password=loginParameter.getPassword().trim(); @@ -360,6 +358,7 @@ public class AuthController { }) @GetMapping("/verify") @PostMapping("/token") + @LoginSkipped public ResponseData token(String token){ if(token!=null ) { @@ -426,7 +425,7 @@ public class AuthController { * 备注:无 */ @PostMapping(path = "/unauthorized/{message}") - public ResponseResult unauthorized(@PathVariable String message) throws UnsupportedEncodingException { - return ResponseResult.fail(message); + public ResponseData unauthorized(@PathVariable String message) throws UnsupportedEncodingException { + return ResponseData.error(message); } } diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index 6673119..7d5872c 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -1,23 +1,20 @@ package com.cetc32.dh.controller.rest; import com.cetc32.dh.common.response.PageDataResult; +import com.cetc32.dh.common.response.ResponseData; import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.dto.CommonTreeDTO; import com.cetc32.dh.entity.Department; import com.cetc32.dh.entity.NumberS; -import com.cetc32.dh.service.DepartmentService; import com.cetc32.dh.service.impl.DepartmentServiceImpl; import com.github.pagehelper.PageHelper; -import com.google.inject.internal.cglib.core.$CollectionUtils; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -71,13 +68,13 @@ public class DepartmentController extends BaseController{ @ApiImplicitParam(name = "organizationid",defaultValue = "组织id", paramType = "body", dataType = "Integer"), }) @PostMapping("/add") - public ResponseResult insertselect(@RequestBody Department department){ + public ResponseData insertselect(@RequestBody Department department){ if(department == null || department.getName().isEmpty()){ - return ResponseResult.error("传入值不能为空!"); + return ResponseData.error("传入值不能为空!"); } if(departmentService.findByID(department.getOrganizationid())==null) { - return ResponseResult.error("上级部门不存在!"); + return ResponseData.error("上级部门不存在!"); } department.setName(department.getName().trim()); List dp=departmentService.findByParentID(department.getOrganizationid()); @@ -86,12 +83,12 @@ public class DepartmentController extends BaseController{ .collect(Collectors.toList()); if(result1.size()>0) { - return ResponseResult.error("同级已存在重复名字!"); + return ResponseData.error("同级已存在重复名字!"); } if(departmentService.insert(department)>0){ - return ResponseResult.success("新增成功!"); + return ResponseData.success("新增成功!"); } - return ResponseResult.error("新增失败"); + return ResponseData.error("新增失败"); } @ApiOperation(value = "删除部门") @@ -99,19 +96,19 @@ public class DepartmentController extends BaseController{ @ApiImplicitParam(name = "id",defaultValue = "组织id", dataType = "Integer") }) @PostMapping("/delete") - public ResponseResult deleteById(@RequestParam Integer id){ + public ResponseData deleteById(@RequestParam Integer id){ if(id==null){ - return ResponseResult.error("缺少参数:id"); + return ResponseData.error("缺少参数:id"); } List dp=departmentService.findByParentID(id); if(dp.size()>0) { - return ResponseResult.error("请先删除子部门!"); + return ResponseData.error("请先删除子部门!"); } if(departmentService.deleteById(id)>0){ - return ResponseResult.success("删除成功!"); + return ResponseData.success("删除成功!"); } - return ResponseResult.error("删除失败"); + return ResponseData.error("删除失败"); } @ApiOperation(value = "更新部门") @ApiImplicitParams({ @@ -121,12 +118,12 @@ public class DepartmentController extends BaseController{ @ApiImplicitParam(name = "organizationid",defaultValue = "组织id", paramType = "body", dataType = "Integer"), }) @PostMapping("/update") - public ResponseResult updateselect(@RequestBody Department department){ + public ResponseData updateselect(@RequestBody Department department){ if(department == null){ - return ResponseResult.error("传入值不能为空!"); + return ResponseData.error("传入值不能为空!"); } departmentService.updateByPrimaryKeySelective(department); - return new ResponseResult("更新成功"); + return new ResponseData("更新成功"); } /** diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index ddcd88d..f9d9b83 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -1,5 +1,6 @@ package com.cetc32.dh.controller.views; +import com.cetc32.webutil.common.annotations.LoginSkipped; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -16,6 +17,7 @@ public class IndexController { private Logger logger = LoggerFactory.getLogger(this.getClass()); @RequestMapping({"/index","/"}) + @LoginSkipped public String index(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) ReturnUrl=eip; @@ -23,5 +25,14 @@ public class IndexController { map.put("originUrl", req.getRequestURL()); return "index"; } + @RequestMapping({"/index","/"}) + @LoginSkipped + public String register(String ReturnUrl, ModelMap map, HttpServletRequest req){ + if(ReturnUrl==null) + ReturnUrl=eip; + map.put("ReturnUrl", ReturnUrl); + map.put("originUrl", req.getRequestURL()); + return "index"; + } } -- Gitee From d726532947c6db0557d9bc968fb37dc342981aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Sat, 30 Jan 2021 17:10:11 +0800 Subject: [PATCH 11/36] xiugai Controller ResponseResult --- .../controller/rest/DepartmentController.java | 3 ++- .../resources/static/img/5731485aN1134b4f0.jpg | Bin 0 -> 14909 bytes src/main/resources/static/img/logo.jpg | Bin 0 -> 9511 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/static/img/5731485aN1134b4f0.jpg create mode 100644 src/main/resources/static/img/logo.jpg diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index dedad92..895cfe9 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -7,6 +7,7 @@ import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.dto.CommonTreeDTO; import com.cetc32.dh.entity.Department; import com.cetc32.dh.entity.NumberS; +import com.cetc32.dh.service.impl.AdminUserServiceImpl; import com.cetc32.dh.service.impl.DepartmentServiceImpl; import com.github.pagehelper.PageHelper; import io.swagger.annotations.ApiImplicitParam; @@ -99,7 +100,7 @@ public class DepartmentController extends BaseController{ @ApiImplicitParam(name = "id",defaultValue = "组织id", dataType = "Integer") }) @PostMapping("/delete") - public ResponseResult deleteById(@RequestParam Integer id){ + public ResponseData deleteById(@RequestParam Integer id){ if(id==null){ return ResponseData.error("缺少参数:id"); } diff --git a/src/main/resources/static/img/5731485aN1134b4f0.jpg b/src/main/resources/static/img/5731485aN1134b4f0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f6dd026faf380fe5765bd66b31e660b9ffd0e32 GIT binary patch literal 14909 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 E4>vjsumAu6 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/logo.jpg b/src/main/resources/static/img/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f9e0b989e2c81034a03b06e58a21cfdad338ae64 GIT binary patch literal 9511 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 literal 0 HcmV?d00001 -- Gitee From 3ca940a2ce4ad84e9139f6db9b421cd175daf798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 2 Feb 2021 09:59:05 +0800 Subject: [PATCH 12/36] xiugai Controller ResponseResult --- .../java/com/cetc32/dh/DhApplication.java | 4 +-- .../dh/controller/rest/AuthController.java | 3 +- .../dh/controller/views/IndexController.java | 4 +-- .../com/cetc32/dh/mybatis/CityMapper.java | 18 ---------- src/main/resources/mapper/CityMapper.xml | 36 ------------------- 5 files changed, 6 insertions(+), 59 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/mybatis/CityMapper.java delete mode 100644 src/main/resources/mapper/CityMapper.xml diff --git a/src/main/java/com/cetc32/dh/DhApplication.java b/src/main/java/com/cetc32/dh/DhApplication.java index 194c994..45db6ac 100644 --- a/src/main/java/com/cetc32/dh/DhApplication.java +++ b/src/main/java/com/cetc32/dh/DhApplication.java @@ -18,8 +18,8 @@ import tk.mybatis.spring.annotation.MapperScan; * @version: 1.0 * @date: 2020/10/13 11:19 */ -@SpringBootApplication -@MapperScan(basePackages = "com.cetc32.dh.mybatis,com.cetc32.webutil.serviconly") +@SpringBootApplication(scanBasePackages = {"com.cetc32.dh","com.cetc32.webutil.client"}) +@MapperScan(basePackages = "com.cetc32.dh.mybatis") public class DhApplication { public static void main(String[] args) { diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 3c88863..8e170e2 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -20,6 +20,7 @@ import com.cetc32.dh.config.RedisUtil; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.mybatis.AreaCommonMapper; +import com.cetc32.dh.service.AreaCommonService; import com.cetc32.dh.service.impl.AdminUserServiceImpl; import com.cetc32.webutil.common.annotations.LoginSkipped; import com.cetc32.webutil.common.util.CookieUtil; @@ -71,7 +72,7 @@ public class AuthController { AdminUserServiceImpl userService; @Autowired - AreaCommonMapper areaCommonMapper; + AreaCommonService areaCommonMapper; /** * 用户登陆 diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index f9d9b83..ba55d0d 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -25,7 +25,7 @@ public class IndexController { map.put("originUrl", req.getRequestURL()); return "index"; } - @RequestMapping({"/index","/"}) + /*@RequestMapping({"/index","/"}) @LoginSkipped public String register(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) @@ -33,6 +33,6 @@ public class IndexController { map.put("ReturnUrl", ReturnUrl); map.put("originUrl", req.getRequestURL()); return "index"; - } + }*/ } diff --git a/src/main/java/com/cetc32/dh/mybatis/CityMapper.java b/src/main/java/com/cetc32/dh/mybatis/CityMapper.java deleted file mode 100644 index 9a64e16..0000000 --- a/src/main/java/com/cetc32/dh/mybatis/CityMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.cetc32.dh.mybatis; - -import com.cetc32.dh.entity.City; - - -import org.springframework.stereotype.Repository; -import tk.mybatis.mapper.common.Mapper; - -import java.util.List; - -@Repository -public interface CityMapper extends Mapper { - - public String judge(String pointss); - - public List selectByName(String cityname); - -} \ No newline at end of file diff --git a/src/main/resources/mapper/CityMapper.xml b/src/main/resources/mapper/CityMapper.xml deleted file mode 100644 index 18210c0..0000000 --- a/src/main/resources/mapper/CityMapper.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file -- Gitee From 3ec444c2c38e19a4823417d83e8f2cd01c8d0f39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 2 Feb 2021 10:03:27 +0800 Subject: [PATCH 13/36] =?UTF-8?q?JWTUtil=E8=B0=83=E6=95=B4=E5=88=B0webutil?= =?UTF-8?q?=E9=80=9A=E7=94=A8jar=E5=8C=85=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cetc32/dh/common/filter/JWTFilter.java | 2 +- .../dh/common/shiro/CenterAuthRealm.java | 2 +- .../com/cetc32/dh/common/utils/JWTUtil.java | 116 ------------------ .../dh/controller/rest/AuthController.java | 2 +- 4 files changed, 3 insertions(+), 119 deletions(-) delete mode 100644 src/main/java/com/cetc32/dh/common/utils/JWTUtil.java diff --git a/src/main/java/com/cetc32/dh/common/filter/JWTFilter.java b/src/main/java/com/cetc32/dh/common/filter/JWTFilter.java index 9ee097e..3a6af4f 100644 --- a/src/main/java/com/cetc32/dh/common/filter/JWTFilter.java +++ b/src/main/java/com/cetc32/dh/common/filter/JWTFilter.java @@ -9,9 +9,9 @@ package com.cetc32.dh.common.filter; import com.auth0.jwt.exceptions.TokenExpiredException; -import com.cetc32.dh.common.utils.JWTUtil; import com.cetc32.dh.config.JWTToken; import com.cetc32.dh.config.RedisUtil; +import com.cetc32.webutil.common.util.JWTUtil; import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RequestMethod; diff --git a/src/main/java/com/cetc32/dh/common/shiro/CenterAuthRealm.java b/src/main/java/com/cetc32/dh/common/shiro/CenterAuthRealm.java index 5a8d941..c41463d 100644 --- a/src/main/java/com/cetc32/dh/common/shiro/CenterAuthRealm.java +++ b/src/main/java/com/cetc32/dh/common/shiro/CenterAuthRealm.java @@ -11,9 +11,9 @@ package com.cetc32.dh.common.shiro; import com.auth0.jwt.exceptions.TokenExpiredException; -import com.cetc32.dh.common.utils.JWTUtil; import com.cetc32.dh.config.JWTToken; import com.cetc32.dh.config.RedisUtil; +import com.cetc32.webutil.common.util.JWTUtil; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; diff --git a/src/main/java/com/cetc32/dh/common/utils/JWTUtil.java b/src/main/java/com/cetc32/dh/common/utils/JWTUtil.java deleted file mode 100644 index 0dce3a0..0000000 --- a/src/main/java/com/cetc32/dh/common/utils/JWTUtil.java +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Copyright(C): CETC-32 - * @Title: CenterAuthShiroConfig - * @Description: 自定义Realm - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -package com.cetc32.dh.common.utils; - -import com.auth0.jwt.JWT; -import com.auth0.jwt.JWTVerifier; -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.interfaces.DecodedJWT; - -import java.io.UnsupportedEncodingException; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -/** - * 响应状态信息接口 - * @author: youqing - * @version: 1.0 - * @date: 2020/9/11 10:55 - * 更改描述: - */ -public class JWTUtil { - //token有效时长 - private static final long EXPIRE=2*60*60*1000; - //token的密钥 - private static final String SECRET="jwt+shiro+32s"; - - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - public static String createToken(String username,long current){ - Date date= new Date(current+EXPIRE); - //JWT的header部分 - Map map =new HashMap<>(); - map.put("alg","HS256"); - map.put("typ","JWT"); - - //使用JWT生成 token - String token=null; - try{ - token= JWT.create() - .withHeader(map) - .withClaim("username",username) - .withClaim("current",current) - .withIssuedAt(new Date()) - .withExpiresAt(date) - .sign(Algorithm.HMAC256(SECRET)); - }catch (UnsupportedEncodingException e){ - e.printStackTrace(); - } - return token; - } - - ////校验token的有效性,1、token的header和payload是否没改过;2、没有过期 - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - public static boolean verify(String token){ - try{ - JWTVerifier verifier=JWT.require(Algorithm.HMAC256(SECRET)).build(); - verifier.verify(token); - return true; - }catch ( Exception e){ - - } - return false; - } - //无需解密也可以获取token的信息 - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - public static String getUsername(String token){ - try { - DecodedJWT jwt = JWT.decode(token); - return jwt.getClaim("username").asString(); - } catch (JWTDecodeException e) { - return null; - } - } - - //获取过期时间 - /** - * 指定缓存失效时间 - * @param key 键 - * @param time 时间(秒) - * @return - * 修改信息: - */ - public static long getExpire(String token){ - try { - DecodedJWT jwt = JWT.decode(token); - return jwt.getClaim("exp").asLong(); - }catch (Exception e){ - return System.currentTimeMillis()/1000; - } - } -} diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 8e170e2..c163693 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -15,7 +15,6 @@ import com.cetc32.dh.beans.ResultUserInfo; import com.cetc32.dh.beans.UserInfo; import com.cetc32.dh.common.response.PageDataResult; import com.cetc32.dh.common.response.ResponseData; -import com.cetc32.dh.common.utils.JWTUtil; import com.cetc32.dh.config.RedisUtil; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.BaseAdminUser; @@ -25,6 +24,7 @@ import com.cetc32.dh.service.impl.AdminUserServiceImpl; import com.cetc32.webutil.common.annotations.LoginSkipped; import com.cetc32.webutil.common.util.CookieUtil; import com.cetc32.dh.service.impl.AreaCommonServiceImpl; +import com.cetc32.webutil.common.util.JWTUtil; import com.google.inject.internal.util.$FinalizableWeakReference; import com.google.inject.internal.util.$ObjectArrays; import com.google.inject.internal.util.$ToStringBuilder; -- Gitee From 593b4c41c04fbe4494e1e77d88934f41c4cfb2b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 5 Feb 2021 11:11:14 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=9F=B9=E8=B6=85?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dh/controller/rest/DepartmentController.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index 0655903..9ebb63c 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -5,6 +5,7 @@ import com.cetc32.dh.common.response.ResponseData; import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.dto.CommonTreeDTO; +import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.entity.Department; import com.cetc32.dh.entity.NumberS; import com.cetc32.dh.service.impl.AdminUserServiceImpl; @@ -13,14 +14,17 @@ import com.github.pagehelper.PageHelper; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import io.swagger.models.Response; import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.bouncycastle.crypto.tls.MACAlgorithm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import springfox.documentation.spring.web.readers.operation.ResponseMessagesReader; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @RestController @@ -196,13 +200,11 @@ public class DepartmentController extends BaseController{ } @RequestMapping("/selectbykey") - public ResponseData selsectbykey(Integer id){ + public ResponseResult selsectbykey(Integer id){ if(id == null){ - return ResponseData.error("id为空!"); + return ResponseResult.error("id为空!"); } - ResponseData pdr = new ResponseData(); - pdr.setObj(this.departmentService.selectByPrimaryKey(id)); - return pdr; + return ResponseResult.success(this.departmentService.selectByPrimaryKey(id)) } @RequestMapping("/deletebykey") -- Gitee From c154044e518430fabd4eeeb4253540c4e8ad5201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 5 Feb 2021 11:11:28 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=9F=B9=E8=B6=85?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cetc32/dh/controller/rest/DepartmentController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java index 9ebb63c..ba10b3e 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/DepartmentController.java @@ -204,7 +204,7 @@ public class DepartmentController extends BaseController{ if(id == null){ return ResponseResult.error("id为空!"); } - return ResponseResult.success(this.departmentService.selectByPrimaryKey(id)) + return ResponseResult.success(this.departmentService.selectByPrimaryKey(id)); } @RequestMapping("/deletebykey") -- Gitee From 5c0885320f5d4412c4925253076fad979c3446c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 5 Feb 2021 11:34:31 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=9F=B9=E8=B6=85?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dh/controller/rest/AuthController.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 5ee0c65..91860e8 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -315,22 +315,17 @@ public class AuthController { } /** - * 注销 - * @param token + * 注销登陆,只需要清除cookies即可 * @return ResponseData * 备注:无 */ - /*@ApiOperation(value = "用户登出", notes = "") + @ApiOperation(value = "用户登出", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "登陆成功返回的token", paramType = "String"), - })*/ - //@PostMapping("/logout") - public ResponseData logout(String token){ - if(token!=null) - { - //String username=JWTUtil.getUsername(token); - //redisUtil.del(token); - } + }) + @PostMapping("/logout") + public ResponseData logout(HttpServletRequest req,HttpServletResponse rep){ + CookieUtil.setCookie(req,rep,"oldToken","",0,false); return ResponseData.success(); } -- Gitee From fb0de15dfbfd68f3767536cb90e1c7d405b73e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Wed, 3 Mar 2021 16:05:47 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/rest/AreaCommonController.java | 11 +- .../dh/controller/rest/AuthController.java | 43 +- .../dh/controller/views/IndexController.java | 11 +- .../resources/mapper/AreaCommonMapper.xml | 2 +- .../resources/mapper/BaseAdminUserMapper.xml | 2 +- .../resources/static/css/bootstrap.min.css | 5 + src/main/resources/static/css/dmaku.css | 100 ++ .../css/fonts/DejaVu/DejaVuSans-Bold.ttf | Bin 0 -> 704128 bytes .../fonts/DejaVu/DejaVuSans-BoldOblique.ttf | Bin 0 -> 641720 bytes .../fonts/DejaVu/DejaVuSans-ExtraLight.ttf | Bin 0 -> 355204 bytes .../css/fonts/DejaVu/DejaVuSans-Oblique.ttf | Bin 0 -> 633840 bytes .../static/css/fonts/DejaVu/DejaVuSans.ttf | Bin 0 -> 756072 bytes .../css/fonts/DejaVu/DejaVuSansMono-Bold.ttf | Bin 0 -> 331536 bytes .../DejaVu/DejaVuSansMono-BoldOblique.ttf | Bin 0 -> 253116 bytes .../fonts/DejaVu/DejaVuSansMono-Oblique.ttf | Bin 0 -> 251472 bytes .../css/fonts/DejaVu/DejaVuSansMono.ttf | Bin 0 -> 340240 bytes .../css/fonts/DejaVu/DejaVuSerif-Bold.ttf | Bin 0 -> 355692 bytes .../fonts/DejaVu/DejaVuSerif-BoldItalic.ttf | Bin 0 -> 347064 bytes .../css/fonts/DejaVu/DejaVuSerif-Italic.ttf | Bin 0 -> 345612 bytes .../static/css/fonts/DejaVu/DejaVuSerif.ttf | Bin 0 -> 379740 bytes .../static/css/fonts/DejaVu/LICENSE.txt | 99 ++ .../static/css/fonts/DejaVu/dejavu.less | 97 ++ .../static/css/fonts/glyphs/KendoUIGlyphs.eot | Bin 0 -> 22488 bytes .../static/css/fonts/glyphs/KendoUIGlyphs.svg | 188 +++ .../static/css/fonts/glyphs/KendoUIGlyphs.ttf | Bin 0 -> 22300 bytes .../css/fonts/glyphs/KendoUIGlyphs.woff | Bin 0 -> 22376 bytes .../css/fonts/glyphs/WebComponentsIcons.eot | Bin 0 -> 96352 bytes .../css/fonts/glyphs/WebComponentsIcons.svg | 1005 +++++++++++++++++ .../css/fonts/glyphs/WebComponentsIcons.ttf | Bin 0 -> 96144 bytes .../css/fonts/glyphs/WebComponentsIcons.woff | Bin 0 -> 96224 bytes src/main/resources/static/css/img/cicle_B.png | Bin 0 -> 1683 bytes src/main/resources/static/css/img/cicle_G.png | Bin 0 -> 1681 bytes src/main/resources/static/css/img/cicle_R.png | Bin 0 -> 1619 bytes src/main/resources/static/css/img/cicle_W.png | Bin 0 -> 1682 bytes src/main/resources/static/css/img/cicle_Y.png | Bin 0 -> 1621 bytes .../resources/static/css/img/diy/1_close.png | Bin 0 -> 601 bytes .../resources/static/css/img/diy/1_open.png | Bin 0 -> 580 bytes src/main/resources/static/css/img/diy/2.png | Bin 0 -> 570 bytes src/main/resources/static/css/img/diy/3.png | Bin 0 -> 762 bytes src/main/resources/static/css/img/diy/4.png | Bin 0 -> 399 bytes src/main/resources/static/css/img/diy/5.png | Bin 0 -> 710 bytes src/main/resources/static/css/img/diy/6.png | Bin 0 -> 432 bytes src/main/resources/static/css/img/diy/7.png | Bin 0 -> 534 bytes src/main/resources/static/css/img/diy/8.png | Bin 0 -> 529 bytes src/main/resources/static/css/img/diy/9.png | Bin 0 -> 467 bytes .../resources/static/css/img/line_conn.gif | Bin 0 -> 45 bytes src/main/resources/static/css/img/loading.gif | Bin 0 -> 381 bytes .../resources/static/css/img/triangle.png | Bin 0 -> 2430 bytes .../static/css/img/zTreeStandard.gif | Bin 0 -> 5564 bytes .../static/css/img/zTreeStandard.png | Bin 0 -> 11173 bytes src/main/resources/static/css/zTreeStyle.css | 97 ++ src/main/resources/static/img/bj_zhuce.jpg | Bin 0 -> 364485 bytes src/main/resources/static/img/logo.png | Bin 0 -> 1778 bytes src/main/resources/static/img/zc_03.jpg | Bin 0 -> 1591 bytes src/main/resources/static/img/zc_06.jpg | Bin 0 -> 1375 bytes src/main/resources/static/img/zc_10.jpg | Bin 0 -> 1613 bytes src/main/resources/static/img/zc_12.jpg | Bin 0 -> 1377 bytes src/main/resources/static/img/zc_15.jpg | Bin 0 -> 1634 bytes src/main/resources/static/img/zc_16.jpg | Bin 0 -> 1380 bytes src/main/resources/static/img/zc_19.jpg | Bin 0 -> 1380 bytes src/main/resources/static/img/zc_22.jpg | Bin 0 -> 2268 bytes src/main/resources/static/img/zc_25.jpg | Bin 0 -> 1517 bytes src/main/resources/static/img/zc_lock.jpg | Bin 0 -> 350 bytes .../static/js/bootstrap-3.3.5.min.js | 7 + .../static/js/jquery.ztree.all-3.5.min.js | 160 +++ .../static/js/jquery.ztree.exhide.js | 367 ++++++ .../static/js/selectTree/selectTree.js | 148 +++ src/main/resources/templates/index.html | 2 +- src/main/resources/templates/register.html | 79 ++ 69 files changed, 2409 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/static/css/bootstrap.min.css create mode 100644 src/main/resources/static/css/dmaku.css create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSans-Bold.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSans-BoldOblique.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSans-ExtraLight.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSans-Oblique.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSans.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSansMono-Bold.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSansMono-BoldOblique.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSansMono-Oblique.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSansMono.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSerif-Bold.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSerif-BoldItalic.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSerif-Italic.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/DejaVuSerif.ttf create mode 100644 src/main/resources/static/css/fonts/DejaVu/LICENSE.txt create mode 100644 src/main/resources/static/css/fonts/DejaVu/dejavu.less create mode 100644 src/main/resources/static/css/fonts/glyphs/KendoUIGlyphs.eot create mode 100644 src/main/resources/static/css/fonts/glyphs/KendoUIGlyphs.svg create mode 100644 src/main/resources/static/css/fonts/glyphs/KendoUIGlyphs.ttf create mode 100644 src/main/resources/static/css/fonts/glyphs/KendoUIGlyphs.woff create mode 100644 src/main/resources/static/css/fonts/glyphs/WebComponentsIcons.eot create mode 100644 src/main/resources/static/css/fonts/glyphs/WebComponentsIcons.svg create mode 100644 src/main/resources/static/css/fonts/glyphs/WebComponentsIcons.ttf create mode 100644 src/main/resources/static/css/fonts/glyphs/WebComponentsIcons.woff create mode 100644 src/main/resources/static/css/img/cicle_B.png create mode 100644 src/main/resources/static/css/img/cicle_G.png create mode 100644 src/main/resources/static/css/img/cicle_R.png create mode 100644 src/main/resources/static/css/img/cicle_W.png create mode 100644 src/main/resources/static/css/img/cicle_Y.png create mode 100644 src/main/resources/static/css/img/diy/1_close.png create mode 100644 src/main/resources/static/css/img/diy/1_open.png create mode 100644 src/main/resources/static/css/img/diy/2.png create mode 100644 src/main/resources/static/css/img/diy/3.png create mode 100644 src/main/resources/static/css/img/diy/4.png create mode 100644 src/main/resources/static/css/img/diy/5.png create mode 100644 src/main/resources/static/css/img/diy/6.png create mode 100644 src/main/resources/static/css/img/diy/7.png create mode 100644 src/main/resources/static/css/img/diy/8.png create mode 100644 src/main/resources/static/css/img/diy/9.png create mode 100644 src/main/resources/static/css/img/line_conn.gif create mode 100644 src/main/resources/static/css/img/loading.gif create mode 100644 src/main/resources/static/css/img/triangle.png create mode 100644 src/main/resources/static/css/img/zTreeStandard.gif create mode 100644 src/main/resources/static/css/img/zTreeStandard.png create mode 100644 src/main/resources/static/css/zTreeStyle.css create mode 100644 src/main/resources/static/img/bj_zhuce.jpg create mode 100644 src/main/resources/static/img/logo.png create mode 100644 src/main/resources/static/img/zc_03.jpg create mode 100644 src/main/resources/static/img/zc_06.jpg create mode 100644 src/main/resources/static/img/zc_10.jpg create mode 100644 src/main/resources/static/img/zc_12.jpg create mode 100644 src/main/resources/static/img/zc_15.jpg create mode 100644 src/main/resources/static/img/zc_16.jpg create mode 100644 src/main/resources/static/img/zc_19.jpg create mode 100644 src/main/resources/static/img/zc_22.jpg create mode 100644 src/main/resources/static/img/zc_25.jpg create mode 100644 src/main/resources/static/img/zc_lock.jpg create mode 100644 src/main/resources/static/js/bootstrap-3.3.5.min.js create mode 100644 src/main/resources/static/js/jquery.ztree.all-3.5.min.js create mode 100644 src/main/resources/static/js/jquery.ztree.exhide.js create mode 100644 src/main/resources/static/js/selectTree/selectTree.js create mode 100644 src/main/resources/templates/register.html diff --git a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java index c8c6534..4b894cd 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java @@ -1,5 +1,6 @@ package com.cetc32.dh.controller.rest; +import com.cetc32.dh.common.response.ResponseData; import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.dto.AreaCommonDTO; import com.cetc32.dh.entity.AreaCommon; @@ -11,10 +12,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; @@ -66,5 +64,10 @@ public class AreaCommonController { } return ResponseResult.success(areaCommon); } + @GetMapping("/0") + @LoginSkipped + public ResponseData allArea(){ + return ResponseData.success( areaCommonService.selectAll()); + } } diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 91860e8..c3a035f 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -9,6 +9,7 @@ package com.cetc32.dh.controller.rest; +import com.alibaba.fastjson.JSONObject; import com.cetc32.dh.beans.LoginParameter; import com.cetc32.dh.beans.LoginResult; import com.cetc32.dh.beans.ResultUserInfo; @@ -116,7 +117,45 @@ public class AuthController { CookieUtil.setCookie(request,response,"oldToken",jwtToken,60*60*2,true); return ResponseData.success(200,"success",data); } + /** + * 监测用户名是否存在 + * @param username + * **/ + @LoginSkipped + @GetMapping("/user/exist") + public ResponseData findUserByName(String username){ + System.out.println("username"+username); + BaseAdminUser user =userService.findByUserName(username); + if(user == null){ + return ResponseData.success( true); + }else{ + return ResponseData.success( false); + } + } + /*** + * WEB端用户注册,默认 + * @param userInfo 请求用户信息 + * @return 返回用户是否添加成功 + * **/ + @LoginSkipped + @PostMapping("/apply") + public ResponseData apply(@RequestBody UserInfo userInfo){ + BaseAdminUser user =new BaseAdminUser(); + System.out.println(JSONObject.toJSONString(userInfo).toString()); + user.setSysUserPwd(DigestUtils.Md5(userInfo.getUsername(),userInfo.getPassword())); + user.setUserStatus(-1); + user.setSysUserName(userInfo.getUsername()); + user.setSecurity(userInfo.getSecurity()); + user.setAreacode(userInfo.getAreacode()); + if(userService.insertUser(user)>0) + { + return ResponseData.success("添加成功"); + } + else { + return ResponseData.error("添加失败"); + } + } /** * * @@ -148,7 +187,7 @@ public class AuthController { @ApiImplicitParam(name = "username", value = "用户名", paramType = "String"), @ApiImplicitParam(name = "password", value = "密码", paramType = "String"), @ApiImplicitParam(name = "role", value = "角色id列表", paramType = "List"), - @ApiImplicitParam(name = "security", value = "密级(1:JM,2:MM,3:FM)", paramType = "Integer"), + @ApiImplicitParam(name = "security", value = "密级(1:JUEM,2:JIM,3:MM,4:FM)", paramType = "Integer"), @ApiImplicitParam(name = "department", value = "部门id列表", paramType = "List"), @ApiImplicitParam(name = "areacode", value = "区域id列表", paramType = "List") }) @@ -173,7 +212,7 @@ public class AuthController { // TODO 默认安全等级 if(userInfo.getSecurity()==null) { - userInfo.setSecurity(3); + userInfo.setSecurity(4); } if(userService.insertUser(userInfo)>0) { diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index ba55d0d..1521abf 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -6,18 +6,19 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller +@LoginSkipped public class IndexController { @Value("${eip}") String eip="http://www.baidu.com/"; private Logger logger = LoggerFactory.getLogger(this.getClass()); @RequestMapping({"/index","/"}) - @LoginSkipped public String index(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) ReturnUrl=eip; @@ -25,14 +26,14 @@ public class IndexController { map.put("originUrl", req.getRequestURL()); return "index"; } - /*@RequestMapping({"/index","/"}) - @LoginSkipped + @GetMapping({"/register","/new"}) public String register(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) ReturnUrl=eip; + System.out.println(ReturnUrl); map.put("ReturnUrl", ReturnUrl); map.put("originUrl", req.getRequestURL()); - return "index"; - }*/ + return "register"; + } } diff --git a/src/main/resources/mapper/AreaCommonMapper.xml b/src/main/resources/mapper/AreaCommonMapper.xml index 05147fe..018865c 100644 --- a/src/main/resources/mapper/AreaCommonMapper.xml +++ b/src/main/resources/mapper/AreaCommonMapper.xml @@ -37,7 +37,7 @@ - SELECT * FROM area_common diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index 432bb7b..815846e 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -96,7 +96,7 @@ SELECT FROM base_admin_user WHERE sys_user_name = #{userName} - and user_status = 1 + ");var k=o(a,d.id.INPUT,b);k.attr("value",a[r]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){f.editNodeBlur||f.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(f.editNodeBlur=!0,f.cancelCurEditNode(b)):a.keyCode=="27"&&f.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});o(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection= +!1;c.curEditNode=a}},moveNode:function(b,a,c,r,k,i){var j=m.getRoot(b),e=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||r!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)r=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(r!=d.move.TYPE_PREV&&r!=d.move.TYPE_NEXT)r=d.move.TYPE_INNER;if(r==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,f.setNodeLineIcos(b,a);c.parentTId=a.tId}var p; +t?p=t=b.treeObj:(!i&&r==d.move.TYPE_INNER?f.expandCollapseNode(b,a,!0,!1):i||f.expandCollapseNode(b,a.getParentNode(),!0,!1),t=o(a,b),p=o(a,d.id.UL,b),t.get(0)&&!p.get(0)&&(p=[],f.makeUlHtml(b,a,p,""),t.append(p.join(""))),p=o(a,d.id.UL,b));var q=o(c,b);q.get(0)?t.get(0)||q.remove():q=f.appendNodes(b,c.level,[c],null,!1,!0).join("");p.get(0)&&r==d.move.TYPE_INNER?p.append(q):t.get(0)&&r==d.move.TYPE_PREV?t.before(q):t.get(0)&&r==d.move.TYPE_NEXT&&t.after(q);var l=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(l= +0,g[e].length>1)x=g[e][1],x.isFirstNode=!0}else if(c.isLastNode)l=g[e].length-1,x=g[e][l-1],x.isLastNode=!0;else for(p=0,q=g[e].length;p=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w, +0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1, +g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b, +a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{}, +data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,f=c[d].length;a0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1, +node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&& +k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode= +function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode; +f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d"); + }, + showNode: function(setting, node, options) { + node.isHidden = false; + data.initShowForExCheck(setting, node); + $$(node, setting).show(); + }, + showNodes: function(setting, nodes, options) { + if (!nodes || nodes.length == 0) { + return; + } + var pList = {}, i, j; + for (i=0, j=nodes.length; i 0 && !parentNode[childKey][0].isHidden) { + parentNode[childKey][0].isFirstNode = true; + } else if (childLength > 0) { + view.setFirstNodeForHide(setting, parentNode[childKey]); + } + }, + setLastNode: function(setting, parentNode) { + var childKey = setting.data.key.children, childLength = parentNode[childKey].length; + if (childLength > 0 && !parentNode[childKey][0].isHidden) { + parentNode[childKey][childLength - 1].isLastNode = true; + } else if (childLength > 0) { + view.setLastNodeForHide(setting, parentNode[childKey]); + } + }, + setFirstNodeForHide: function(setting, nodes) { + var n,i,j; + for (i=0, j=nodes.length; i=0; i--) { + n = nodes[i]; + if (n.isLastNode) { + break; + } + if (!n.isHidden && !n.isLastNode) { + n.isLastNode = true; + view.setNodeLineIcos(setting, n); + break; + } else { + n = null; + } + } + return n; + }, + setLastNodeForShow: function(setting, nodes) { + var n,i,j, last, old; + for (i=nodes.length-1; i>=0; i--) { + n = nodes[i]; + if (!last && !n.isHidden && n.isLastNode) { + last = n; + break; + } else if (!last && !n.isHidden && !n.isLastNode) { + n.isLastNode = true; + last = n; + view.setNodeLineIcos(setting, n); + } else if (last && n.isLastNode) { + n.isLastNode = false; + old = n; + view.setNodeLineIcos(setting, n); + break; + } else { + n = null; + } + } + return {"new":last, "old":old}; + } + }, + + _z = { + view: _view, + data: _data + }; + $.extend(true, $.fn.zTree._z, _z); + + var zt = $.fn.zTree, + tools = zt._z.tools, + consts = zt.consts, + view = zt._z.view, + data = zt._z.data, + event = zt._z.event, + $$ = tools.$; + + data.addInitNode(_initNode); + data.addBeforeA(_beforeA); + data.addZTreeTools(_zTreeTools); + +// Override method in core + var _dInitNode = data.initNode; + data.initNode = function(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag) { + var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), + children = tmpPNode[setting.data.key.children]; + data.tmpHideFirstNode = view.setFirstNodeForHide(setting, children); + data.tmpHideLastNode = view.setLastNodeForHide(setting, children); + if (openFlag) { + view.setNodeLineIcos(setting, data.tmpHideFirstNode); + view.setNodeLineIcos(setting, data.tmpHideLastNode); + } + isFirstNode = (data.tmpHideFirstNode === node); + isLastNode = (data.tmpHideLastNode === node); + if (_dInitNode) _dInitNode.apply(data, arguments); + if (openFlag && isLastNode) { + view.clearOldLastNode(setting, node, openFlag); + } + }; + + var _makeChkFlag = data.makeChkFlag; + if (!!_makeChkFlag) { + data.makeChkFlag = function(setting, node) { + if (!!node && !!node.isHidden) { + return; + } + _makeChkFlag.apply(data, arguments); + } + } + + var _getTreeCheckedNodes = data.getTreeCheckedNodes; + if (!!_getTreeCheckedNodes) { + data.getTreeCheckedNodes = function(setting, nodes, checked, results) { + if (!!nodes && nodes.length > 0) { + var p = nodes[0].getParentNode(); + if (!!p && !!p.isHidden) { + return []; + } + } + return _getTreeCheckedNodes.apply(data, arguments); + } + } + + var _getTreeChangeCheckedNodes = data.getTreeChangeCheckedNodes; + if (!!_getTreeChangeCheckedNodes) { + data.getTreeChangeCheckedNodes = function(setting, nodes, results) { + if (!!nodes && nodes.length > 0) { + var p = nodes[0].getParentNode(); + if (!!p && !!p.isHidden) { + return []; + } + } + return _getTreeChangeCheckedNodes.apply(data, arguments); + } + } + + var _expandCollapseSonNode = view.expandCollapseSonNode; + if (!!_expandCollapseSonNode) { + view.expandCollapseSonNode = function(setting, node, expandFlag, animateFlag, callback) { + if (!!node && !!node.isHidden) { + return; + } + _expandCollapseSonNode.apply(view, arguments); + } + } + + var _setSonNodeCheckBox = view.setSonNodeCheckBox; + if (!!_setSonNodeCheckBox) { + view.setSonNodeCheckBox = function(setting, node, value, srcNode) { + if (!!node && !!node.isHidden) { + return; + } + _setSonNodeCheckBox.apply(view, arguments); + } + } + + var _repairParentChkClassWithSelf = view.repairParentChkClassWithSelf; + if (!!_repairParentChkClassWithSelf) { + view.repairParentChkClassWithSelf = function(setting, node) { + if (!!node && !!node.isHidden) { + return; + } + _repairParentChkClassWithSelf.apply(view, arguments); + } + } +})(jQuery); \ No newline at end of file diff --git a/src/main/resources/static/js/selectTree/selectTree.js b/src/main/resources/static/js/selectTree/selectTree.js new file mode 100644 index 0000000..9147f15 --- /dev/null +++ b/src/main/resources/static/js/selectTree/selectTree.js @@ -0,0 +1,148 @@ +/******************************************************************************* + * Copyright(C) CETC-32 + * @Description: + * @Author :徐文远 + * @version:1.0 + * @date : 2021/3/2 上午10:21 + ******************************************************************************/ +var relationzNodes =[ + {name:'全选',id:'1',pId:0,open:true}, + {name:'我是子节点1',id:'2',pId:1}, + {name:'我是子节点2',id:'3',pId:1}, + {name:'我是子节点3',id:'4',pId:1}, + {name:'我是子节点4',id:'5',pId:1}, + {name:'我是父亲节点1',id:'6',pId:0,open:false}, + {name:'我是子节点2',id:'7',pId:6}, + {name:'我是子节点3',id:'8',pId:6}, + {name:'我是子节点4',id:'9',pId:6}, +]; +// 在这里可以去异步获取值然后赋予 relationzNodes 代码省略 +$(document).ready(function(){ + $.ajax({ + url: "/rest/area/0", + type: "get", + dataType: "json", + contentType: "application/json;charset=UTF-8", + success: function (data) { + if(!!data.data){ + relationzNodes= data.data; + //初始化ztree + $.fn.zTree.init($("#relationTree"),{ + check: { + enable: true, + chkStyle: "checkbox" + }, + data: { + simpleData: { + enable: true, + idKey:"id", + pIdKey:"parentId", + rootPId:1000000 + } + }, + callback: { + //选中以后执行的方法,此方法除了onCheck还有onClick等 此方法中用于定义自己的业务 + onCheck: function(e, treeId, treeNode) { + + var zTree = $.fn.zTree.getZTreeObj("relationTree"), + nodes = zTree.getCheckedNodes(true), + v = "",//button 标签显示的内容 + relationTypeId="";//用于存放上面隐藏select的值 + if(nodes != null){ + for(var i=0, l=nodes.length; i"+nodes[i].name+""; + } + } + } + if(v.length > 0) { + v = v.substring(0, v.length-1); + }; + $("#relationTypeId").html(relationTypeId);//将选中的值放到select + $('.pull-left1', '#relationBtn').text(v).attr('title', v);//将中文(要显示的内容)放到button中显示 + if(v == ""){//如果没有选中任何值,显示默认内容 + $('.pull-left1', '#relationBtn').text('请选择').attr('title', '请选择'); + } + } + } + }, relationzNodes); + //如果是默认选中某值,调用内部的onCheck()方法,用于将值显示在页面 + $.fn.zTree.getZTreeObj("relationTree").setting.callback.onCheck(); + } + }, + error: function () { + + } + }); + +}) +function findUser(){ + var username = $("#username").val(); + //alert() + $.ajax({ + url: "/rest/auth/user/exist", + type: "get", + dataType: "json", + contentType: "application/json;charset=UTF-8", + data: {username:username}, + success: function (data) { + if(data.data==false){ + alert("用户名已存在"); + } + }, + error: function () { + + } + }); +} +function registor(){ + var username = $("#username").val(); + var password = $("#password").val(); + var security = $("#security").val(); + var areacode = $("#areacode").val(); + var passwordC = $("#passwordC").val(); + if(!!!username || !!!areacode || !!!security || !!! password ){ + alert("用户名,密码,安全等级,区域权限为必填项"); + return false; + } + if(password !== passwordC){ + alert("两次密码不匹配!!!") + return false + } + $.ajax({ + url: "/rest/auth/apply", + type: "POST", + dataType: "json", + contentType: "application/json;charset=UTF-8", + data: JSON.stringify({username:username,password:password,security:security,areacode:areacode}), + success: function (data) { + if(data.code == "200"){ + //window.location.href=$("#ReturnUrl").val()+"?token="+data.data.token; + alert("用户名注册成功,请等待管理员审核!"); + }else{ + alert(data.message); + } + }, + error: function () { + + } + }); +} +//点击按钮 显示或者关闭列表 +$('#relationBtn').on('click', function(){ + if($('#relationPanel').is(":visible")){ + $('#relationPanel').hide(); + }else{ + $('#relationPanel').show(); + } +}); +$(document).click(function(e){ + //点击空白其他区域隐藏展开的面板 + if( $(e.target).attr('id') != "relationPanel" && $(e.target).parents('#relationPanel').length <= 0 && + $(e.target).attr('id')!="relationBtn" && $(e.target).parents('#relationBtn').length <= 0 ){ + $('#relationPanel').hide(); + } +}); \ No newline at end of file diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 3eafbfa..5639a1c 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -63,7 +63,7 @@
- 立即注册 + 立即注册
diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html new file mode 100644 index 0000000..0303096 --- /dev/null +++ b/src/main/resources/templates/register.html @@ -0,0 +1,79 @@ + + + + + Web用户注册页面 - + + + + + + + + + + + +
+ +
+
+
+

欢迎注册

+
+ + + +
+ + + + +
+ + + + +
+  +
+
+
+ + +
+
+ +
+
+ +
+ + +
+
+ + + + \ No newline at end of file -- Gitee From e693823cd1c302b678dc79fa6ddd9e348586ac49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 9 Mar 2021 16:13:37 +0800 Subject: [PATCH 18/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E9=99=86=E5=90=8E=E5=8F=8D=E9=A6=88systemMenu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cetc32/dh/beans/ResultUserInfo.java | 59 +++++++++++++++++++ .../dh/controller/rest/AuthController.java | 18 ++++-- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java index dcc12de..15fc908 100644 --- a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java +++ b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java @@ -3,6 +3,7 @@ package com.cetc32.dh.beans; import com.cetc32.dh.entity.NumberS; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -18,6 +19,7 @@ public class ResultUserInfo extends NumberS { private Integer security; private List department; private List areacode; + private List permissions; public int getId() { return id; @@ -74,6 +76,63 @@ public class ResultUserInfo extends NumberS { } } + public void setPermissions(String[] permissions){ + if(permissions ==null) + { + this.permissions = new ArrayList<>(); + return; + } + if(permissions instanceof String[]) + { + if(permissions.length==0) + { + return; + } + if(this.permissions==null ) + this.permissions=new ArrayList<>(); + this.permissions.clear(); + this.permissions.addAll(Arrays.asList(permissions)); + } + } + public void setPermissions(List permissions){ + if(permissions ==null) + { + this.permissions = new ArrayList<>(); + return; + } + if(permissions instanceof List) + { + if(permissions.isEmpty()) + { + //this.permissions = new ArrayList<>(); + return; + } + if(this.permissions==null ) + this.permissions=new ArrayList<>(); + this.permissions.clear(); + this.permissions.addAll(permissions); + } + } + public void setPermissions(String permissions){ + if(permissions ==null) + { + this.permissions = new ArrayList<>(); + return; + } + if(permissions instanceof String) + { + if(permissions.isEmpty()) + { + //this.permissions = new ArrayList<>(); + return ; + } + String s=trimBothEndsChars(permissions,","); + this.permissions=Stream.of(s.split(",")).collect(Collectors.toList()); + } + } + public List getPermissions() { + return permissions; + } public String getUsername() { return username; diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index c3a035f..173c6c1 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -10,16 +10,15 @@ package com.cetc32.dh.controller.rest; import com.alibaba.fastjson.JSONObject; -import com.cetc32.dh.beans.LoginParameter; -import com.cetc32.dh.beans.LoginResult; -import com.cetc32.dh.beans.ResultUserInfo; -import com.cetc32.dh.beans.UserInfo; +import com.cetc32.dh.beans.*; import com.cetc32.dh.common.response.PageDataResult; import com.cetc32.dh.common.response.ResponseData; import com.cetc32.dh.config.RedisUtil; import com.cetc32.dh.entity.AreaCommon; import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.mybatis.AreaCommonMapper; +import com.cetc32.dh.service.AdminRoleService; +import com.cetc32.dh.service.AdminUserService; import com.cetc32.dh.service.AreaCommonService; import com.cetc32.dh.service.impl.AdminUserServiceImpl; import com.cetc32.webutil.common.annotations.LoginSkipped; @@ -71,11 +70,14 @@ public class AuthController { RedisUtil redisUtil; @Autowired - AdminUserServiceImpl userService; + AdminUserService userService; @Autowired AreaCommonService areaCommonMapper; + @Autowired + AdminRoleService adminRoleService; + /** * 用户登陆 * @param loginParameter "包含username和password的json字符串" @@ -393,6 +395,12 @@ public class AuthController { { long currentTimeMillis = System.currentTimeMillis()/1000; long exp=JWTUtil.getExpire(token); + ResultUserRole resultUserRole=null; + try{ + resultUserRole = adminRoleService.findRoleById(Integer.valueOf(user.getRoleId())); + }catch (Exception e){ + e.printStackTrace(); + } if(exp>currentTimeMillis) { ResultUserInfo data=new ResultUserInfo(); -- Gitee From fbff7c4c69204548a229ef2683f558691c16f13d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 9 Mar 2021 16:53:55 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E9=99=86=E5=90=8E=E5=8F=8D=E9=A6=88systemMenu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cetc32/dh/controller/rest/AuthController.java | 5 ++++- .../com/cetc32/dh/controller/rest/AuthRoleController.java | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 173c6c1..67ae2b2 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -397,7 +397,8 @@ public class AuthController { long exp=JWTUtil.getExpire(token); ResultUserRole resultUserRole=null; try{ - resultUserRole = adminRoleService.findRoleById(Integer.valueOf(user.getRoleId())); + String role =user.getRoleId().replaceAll(",",""); + resultUserRole = adminRoleService.findRoleById(Integer.valueOf(role)); }catch (Exception e){ e.printStackTrace(); } @@ -409,6 +410,8 @@ public class AuthController { data.setDepartment(user.getDepartment()); data.setRole(user.getRoleId()); data.setUsername(username); + if(resultUserRole!=null) + data.setPermissions(resultUserRole.getSystemMenu()); return ResponseData.success(200,"success",data); } else diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java index 19b7107..2a5681c 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java @@ -10,6 +10,7 @@ import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.entity.NumberS; import com.cetc32.dh.service.impl.AdminRoleServiceImpl; import com.cetc32.dh.service.impl.AdminUserServiceImpl; +import com.cetc32.webutil.common.annotations.AccessPermission; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -40,6 +41,7 @@ public class AuthRoleController { } @ApiOperation(value = "获取角色列表(不分页)", notes = "") + @AccessPermission(permission = "haha") @GetMapping(value = "/list") public ResponseData getRolesList(){ return ResponseData.success(adminRoleService.getRoleList()); -- Gitee From f43dd4465f36b98e10b37273b4e2ad10f219257a Mon Sep 17 00:00:00 2001 From: 872772895 <872772895@qq.com> Date: Mon, 15 Mar 2021 16:50:32 +0800 Subject: [PATCH 20/36] =?UTF-8?q?=E4=BE=9D=E8=B5=96=E6=9C=AC=E5=9C=B0jar?= =?UTF-8?q?=E5=8C=85=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 +++++ src/main/resources/web-util-1.0.jar | Bin 0 -> 20667 bytes 2 files changed, 5 insertions(+) create mode 100644 src/main/resources/web-util-1.0.jar diff --git a/pom.xml b/pom.xml index b9ecf80..63342cd 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,11 @@ web-util 1.0
+ + diff --git a/src/main/resources/web-util-1.0.jar b/src/main/resources/web-util-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..cb4291c31254779b34976fc21269bf14bc5249cc GIT binary patch literal 20667 zcma%jWmFwV(l#1`LvVrw5AN>n?i$?P-QC^Y-5r9vyF0<%9X>KMyEE^8Guf?k?m72I zS9RU)uCDIB^*mCdz#tF+03QJWCKQZi0RAH2@88Aw<+#a(B?Ks?-kTu;eEj(F|7(W$ z*Jk3}62b!fvT_vS0(KFrBEZy$zGuKr0apNo2hCpy9Lf|)k$c)zg=418=~8@u94oA^ z&C2ifLW_Q|*fqoX%%lzz7E0K`K}7Qfgh&h!U1?-k-m-Dw{#(RSg~ zdZ;=BYKuUU05mw71p9OZ3r#@q=!2q8l5K--ik{0~eL`R`4+@?2bXrzj#opB?hME

6BNuITEg<;W9a!7>BK@1B?RhmK3^tYSwj)%mI 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 o Date: Fri, 19 Mar 2021 10:50:12 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E8=B7=A8=E5=9F=9FSSO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cetc32/dh/controller/views/IndexController.java | 8 ++++++++ src/main/resources/application-xwy.yml | 6 +++--- src/main/resources/templates/index.html | 8 +++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index 1521abf..1cc2666 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -1,6 +1,8 @@ package com.cetc32.dh.controller.views; import com.cetc32.webutil.common.annotations.LoginSkipped; +import com.cetc32.webutil.common.util.CookieUtil; +import com.cetc32.webutil.common.util.JWTUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -22,6 +24,12 @@ public class IndexController { public String index(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) ReturnUrl=eip; + String token=CookieUtil.getCookieValue(req,"oldToken",true); + if((System.currentTimeMillis()/1000L)