server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingTimeCloudController.java
@@ -36,6 +36,7 @@ @PostMapping("/create") @CloudRequiredPermission("business:bookingtime:create") public ApiResponse create(@RequestBody BookingTime bookingTime,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { bookingTime.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(bookingTimeService.create(bookingTime)); } @@ -50,7 +51,7 @@ @ApiOperation("æ¹éå é¤") @GetMapping("/delete/batch") @CloudRequiredPermission("business:bookingtime:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { public ApiResponse deleteByIdInBatch(@RequestParam String ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { @@ -63,7 +64,8 @@ @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateById") @CloudRequiredPermission("business:bookingtime:update") public ApiResponse updateById(@RequestBody BookingTime bookingTime) { public ApiResponse updateById(@RequestBody BookingTime bookingTime, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { bookingTime.setLoginUserInfo(this.getLoginUser(token)); bookingTimeService.updateById(bookingTime); return ApiResponse.success(null); } @@ -71,21 +73,21 @@ @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @CloudRequiredPermission("business:bookingtime:query") public ApiResponse<PageData<BookingTime>> findPage (@RequestBody PageWrap<BookingTime> pageWrap) { public ApiResponse<PageData<BookingTime>> findPage (@RequestBody PageWrap<BookingTime> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(bookingTimeService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:bookingtime:exportExcel") public void exportExcel (@RequestBody PageWrap<BookingTime> pageWrap, HttpServletResponse response) { public void exportExcel (@RequestBody PageWrap<BookingTime> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ExcelExporter.build(BookingTime.class).export(bookingTimeService.findPage(pageWrap).getRecords(), "ä¼è®®å®¤é¢çº¦æ¶é´æ®µå ³è表", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @CloudRequiredPermission("business:bookingtime:query") public ApiResponse findById(@PathVariable Integer id) { public ApiResponse findById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(bookingTimeService.findById(id)); } @@ -94,7 +96,7 @@ @ApiOperation("æ ¹æ®ç§å®¤æ¥ææ¥è¯¢ææçæ¶é´æ®µ") @PostMapping("/findList") @CloudRequiredPermission("business:roomtime:query") public ApiResponse<List<BookingTime>> findPage (@RequestBody BookingTime pageWrap) { public ApiResponse<List<BookingTime>> findPage (@RequestBody BookingTime pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(bookingTimeService.findList(pageWrap)); } } server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsController.java
ÎļþÒÑɾ³ý server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/UserRelCloudController.java
@@ -35,14 +35,14 @@ @ApiOperation("æ°å»º") @PostMapping("/create") @CloudRequiredPermission("business:userrel:create") public ApiResponse create(@RequestBody UserRel userRel) { public ApiResponse create(@RequestBody UserRel userRel, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(userRelService.create(userRel)); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") @CloudRequiredPermission("business:userrel:delete") public ApiResponse deleteById(@PathVariable Integer id) { public ApiResponse deleteById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { userRelService.deleteById(id); return ApiResponse.success(null); } @@ -50,7 +50,7 @@ @ApiOperation("æ¹éå é¤") @GetMapping("/delete/batch") @CloudRequiredPermission("business:userrel:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { public ApiResponse deleteByIdInBatch(@RequestParam String ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { @@ -63,7 +63,7 @@ @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateById") @CloudRequiredPermission("business:userrel:update") public ApiResponse updateById(@RequestBody UserRel userRel) { public ApiResponse updateById(@RequestBody UserRel userRel, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { userRelService.updateById(userRel); return ApiResponse.success(null); } @@ -71,21 +71,21 @@ @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @CloudRequiredPermission("business:userrel:query") public ApiResponse<PageData<UserRel>> findPage (@RequestBody PageWrap<UserRel> pageWrap) { public ApiResponse<PageData<UserRel>> findPage (@RequestBody PageWrap<UserRel> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(userRelService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:userrel:exportExcel") public void exportExcel (@RequestBody PageWrap<UserRel> pageWrap, HttpServletResponse response) { public void exportExcel (@RequestBody PageWrap<UserRel> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ExcelExporter.build(UserRel.class).export(userRelService.findPage(pageWrap).getRecords(), "ä¼è®®å®¤ç®¡çåååä¼äººåå ³è表", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @CloudRequiredPermission("business:userrel:query") public ApiResponse findById(@PathVariable Integer id) { public ApiResponse findById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(userRelService.findById(id)); } } server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Devices.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.constants.OperaType; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; @@ -22,7 +23,7 @@ @Data @ApiModel("设å¤ç®¡çä¿¡æ¯è¡¨") @TableName("`devices`") public class Devices { public class Devices extends LoginUserModel { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @@ -35,7 +36,6 @@ @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @@ -44,8 +44,7 @@ @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") server/meeting/pom.xml
@@ -20,12 +20,21 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.12.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <!-- <version>2.2.7.RELEASE</version>--> </dependency> <!--<dependency> <groupId>org.springframework.cloud</groupId> @@ -33,20 +42,10 @@ </dependency>--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <!-- <version>2.2.7.RELEASE</version>--> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <!-- <version>2.2.7.RELEASE</version>--> <!-- <version>2.2.7.RELEASE</version>--> </dependency> <!-- Swagger å¢å¼ºknife4j å¾®æå¡starter --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-micro-spring-boot-starter</artifactId> <version>3.0.3</version> <scope>compile</scope> </dependency> <!-- æ¥å£ææ¡£ --> </dependencies> </project> server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
@@ -0,0 +1,334 @@ package com.doumee.cloud.common; import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.FtpUtil; import com.doumee.core.utils.aliyun.ALiYunUtil; 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.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.UUID; /** * @author Eva.Caesar Liu * @date 2023/02/14 11:14 */ @Api(tags = "å ¬å ±ä¸ä¼ æ¥å£") @Trace(exclude = true) @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/public") @Slf4j public class PublicCloudController extends BaseController { @Autowired private SystemDictDataBiz systemDictDataBiz; public static FtpUtil ftp = null; @ApiOperation(value = "ä¸ä¼ æä»¶å°FTP") @RequestMapping(method= RequestMethod.POST,value="/upload") @ResponseBody public void upload(HttpServletRequest request, HttpServletResponse response, String folder) throws Exception { // folder = systemDictDataBiz.queryByCode(Constants.FTP,folder).getCode(); String prefixPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode(); InputStream is = null; response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Map<String, Object> context = new HashMap<>(); try { if(ftp == null){ ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); }else{ ftp.connect(); } CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator<String> it = multipartRequest.getFileNames(); while (it.hasNext()) { MultipartFile file = multipartRequest.getFile(it.next()); String originname = file.getOriginalFilename(); is = file.getInputStream(); String date = DateUtil.getNowShortDate(); String fName = date+"/"+ UUID.randomUUID()+".jpg"; String fileName = folder+"/"+fName; boolean r = ftp.uploadInputstream(is,fileName); if(r){ context.put("success", true); context.put("code", 200); context.put("errno",0); JSONObject fileJSON = new JSONObject(); // fileJSON.put("prefixPath", prefixPath); // fileJSON.put("folder", folder); fileJSON.put("url", prefixPath+fileName); fileJSON.put("imgaddr", fName); fileJSON.put("imgname", fileName); fileJSON.put("originname", originname); context.put("data",fileJSON); context.put("message","è¯·æ±æå"); writerJson(response, context); return; } } } } catch (Exception e) { log.error("ãä¸ä¼ FTP失败ã======================"+e.getMessage()); } context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); context.put("errno",0); writerJson(response, context); return; } public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName, String access_id, String access_key, String resourcePath, String endpoint) throws Exception { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Map<String, Object> context = new HashMap<>(); CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator<String> it = multipartRequest.getFileNames(); while (it.hasNext()) { MultipartFile file = multipartRequest.getFile((String) it.next());// file // multipartRequest.getFile((String) // it.next()); if (file != null) { // 1ãä¸ä¼ å°æå¡å¨ä¸´æ¶æä»¶å¤¹ String uploadFileName = file.getOriginalFilename(); String originname = uploadFileName; if (originname.lastIndexOf("/") >= 0) { originname = originname.substring(originname.lastIndexOf("/") + 1); } String nfix = "";// åç¼å if (StringUtils.isNotBlank(uploadFileName)) { nfix = uploadFileName.substring(uploadFileName.lastIndexOf(".")); } if (StringUtils.equalsIgnoreCase(nfix, ".exe")) { context.put("code", 4000); context.put("message", "对ä¸èµ·ï¼æä»¶æ ¼å¼\".exe\"ä¸ä¼ æè¯¯ï¼"); return; } if (StringUtils.equalsIgnoreCase(nfix, ".dll")) { context.put("code", 4000); context.put("message", "对ä¸èµ·ï¼æä»¶æ ¼å¼\".dll\"ä¸ä¼ æè¯¯ï¼"); return; } String nowDate = DateUtil.getNowShortDate();// å½åæ¶é´ï¼å¹´ææ¥ï¼ String fileName = UUID.randomUUID().toString() + nfix; String tempFileName = nowDate + "/" + fileName; String key = folder + tempFileName;// æä»¶å ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key); if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) { // ç§»å¨æå,è¿åæä»¶å // sendSuccessMessage(response, resourcePath+key); context.put("success", true); context.put("code", 200); context.put("errno",0); JSONObject fileJSON = new JSONObject(); fileJSON.put("url", resourcePath + key); fileJSON.put("imgaddr", tempFileName); fileJSON.put("imgname", fileName); fileJSON.put("originname", originname); context.put("data",fileJSON); context.put("message","è¯·æ±æå"); writerJson(response, context); return; } else { // ç§»å¨å¤±è´¥ context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); writerJson(response, context); return; } } } } context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); context.put("errno",0); writerJson(response, context); return; } public static void writerJson(HttpServletResponse response, Object object) { response.setContentType("application/json"); writer(response, JSONObject.toJSONString(object)); } private static void writer(HttpServletResponse response, String str) { try { StringBuffer result = new StringBuffer(); //设置页é¢ä¸ç¼å response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF-8"); PrintWriter out = null; out = response.getWriter(); out.print(str); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); Map<String, Object> context = new HashMap<>(); if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator<String> it = multipartRequest.getFileNames(); while (it.hasNext()) { MultipartFile file = multipartRequest.getFile((String) it.next());// file // = // (CommonsMultipartFile) // multipartRequest.getFile((String) // it.next()); if (file != null) { if (file.getSize() > 200 * 1024 * 1024L) { context.put("code", 4000); context.put("message", "ä¸ä¼ æä»¶è¿å¤§"); return; } System.out.println(file.getOriginalFilename()); if (file.getOriginalFilename() == null) { context.put("code", 4000); context.put("message", "æä»¶åä¸å¯ä¸ºç©º"); return; } /* * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename(). * contains(" ")){ sendFailureMessage(response,"æä»¶åç§°æè¯¯,ä¸å¯å«æéå·çç¹æ®å符"); } */ String nowDate = DateUtil.getNowShortDate(); folder += nowDate + "/"; String strDirPath = rootPath + folder; File dirPath = new File(strDirPath); if (!dirPath.exists()) { dirPath.mkdirs(); } String uploadFileName = file.getOriginalFilename(); String x = UUID.randomUUID().toString().replace("-", "") + uploadFileName.substring(uploadFileName.lastIndexOf(".")); String fileName = folder + x; String fileNames = nowDate + "/" + x; uploadFileName = uploadFileName.replace(" ", ""); uploadFileName = uploadFileName.replace("ï¼", ","); uploadFileName = uploadFileName.replaceAll(",", "-"); System.err.println("R:" + fileName); String fileAndPath = dir + fileName; System.err.println("A:" + fileAndPath); // 夿妿䏴æ¶ç®å½ä¸åå¨ç¸ååç§°çæä»¶å å é¤ï¼å¨ä¸ä¼ File tempFile = new File(rootPath + fileName); if (tempFile.isFile() && tempFile.exists()) { tempFile.getAbsoluteFile().delete(); } // ä¸ä¼ å°æå¡å¨ä¸´æ¶æä»¶å¤¹ file.transferTo(tempFile); // 转移å°FTPæå¡å¨ String nfix = ""; if (null != uploadFileName) { nfix = uploadFileName.substring(uploadFileName.lastIndexOf(".")); } if (StringUtils.equalsIgnoreCase(nfix, ".exe")) { context.put("code", 4000); context.put("message", "对ä¸èµ·ï¼æä»¶æ ¼å¼\".exe\"ä¸ä¼ æè¯¯ï¼"); return; } if (StringUtils.equalsIgnoreCase(nfix, ".dll")) { context.put("code", 4000); context.put("message", "对ä¸èµ·ï¼æä»¶æ ¼å¼\".dll\"ä¸ä¼ æè¯¯ï¼"); return; } String remoteName = fileName; String remoteFileName = fileAndPath; /* Map map = new HashMap(); map.put("url", remoteFileName); map.put("alt", uploadFileName); map.put("href", remoteFileName); List maps = Arrays.asList(remoteFileName);*/ if (true) { // å ³éFTPæµ // ç§»å¨æå,è¿åæä»¶å /*context.put("error", 0); context.put("url", remoteFileName); context.put("fullurl", remoteFileName); context.put("fname", uploadFileName); context.put("data", maps); context.put("halfurl", fileNames);*/ context.put("success", true); context.put("code", 200); context.put("errno",0); JSONObject fileJSON = new JSONObject(); fileJSON.put("url", remoteFileName); fileJSON.put("imgaddr", fileNames); fileJSON.put("imgname", uploadFileName); fileJSON.put("originname", uploadFileName); context.put("data",fileJSON); context.put("message","è¯·æ±æå"); writerJson(response, context); return; } else { // ç§»å¨å¤±è´¥ context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); writerJson(response, context); } } context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); writerJson(response, context); return; } } context.put("code", 0); context.put("message", "ä¸ä¼ 失败"); writerJson(response, context); return; } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarBook.java
@@ -31,7 +31,6 @@ @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ") @@ -40,8 +39,7 @@ @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarParks.java
@@ -31,7 +31,6 @@ @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ") @@ -40,8 +39,7 @@ @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
@@ -31,7 +31,6 @@ @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @@ -40,8 +39,7 @@ @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯")