From 1abdc3dc706f93804b5e1a65845d6534f860a452 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 10 五月 2024 16:18:49 +0800
Subject: [PATCH] 最新版本

---
 /dev/null                                                                                         |  211 -------------------
 server/meeting/pom.xml                                                                            |   27 +-
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java      |  334 ++++++++++++++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarBook.java            |    4 
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingTimeCloudController.java |   14 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Devices.java           |    7 
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/UserRelCloudController.java     |   14 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarParks.java           |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java         |    4 
 9 files changed, 368 insertions(+), 251 deletions(-)

diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingTimeCloudController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingTimeCloudController.java
index 12d1fdd..91360d3 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingTimeCloudController.java
+++ b/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));
     }
 }
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsController.java
deleted file mode 100644
index 82ee367..0000000
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsController.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package com.doumee.cloud.admin;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.model.Bookings;
-import com.doumee.dao.business.vo.RoomStatisticsVo;
-import com.doumee.dao.system.dto.UserStatisticsDTO;
-import com.doumee.dao.system.vo.UserStatisticsVo;
-import com.doumee.dao.web.response.DateTimeResourceDate;
-import com.doumee.dao.web.response.MeetingDetailResponse;
-import com.doumee.service.business.BookingsService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/05/04 18:18
- */
-@Api(tags = "浼氳瀹ら瀹氫俊鎭〃")
-@RestController 
-@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/bookings")
-public class BookingsController extends BaseController {
-
-    @Autowired
-    private BookingsService bookingsService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:bookings:create")
-    public ApiResponse create(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        bookings.setUserInfo(getLoginUser(token));
-        return ApiResponse.success(bookingsService.create(bookings));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:bookings:delete")
-    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        bookingsService.deleteById(id,getLoginUser(token));
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:bookings:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        bookingsService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:bookings:update")
-    public ApiResponse updateById(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        bookings.setUserInfo(getLoginUser(token));
-        bookingsService.updateById(bookings);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:bookings:query")
-    public ApiResponse<PageData<Bookings>> findPage (@RequestBody PageWrap<Bookings> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        return ApiResponse.success(bookingsService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:bookings:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<Bookings> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(Bookings.class).export(bookingsService.findPage(pageWrap).getRecords(), "浼氳瀹ら瀹氫俊鎭〃", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:bookings:query")
-    public ApiResponse<MeetingDetailResponse> findById(@PathVariable Integer id) {
-        return ApiResponse.success(bookingsService.getMeetingDetail(id));
-    }
-
-
-    @ApiOperation("鍙栨秷")
-    @PostMapping("/cancelById")
-    @RequiresPermissions("business:bookings:update")
-    public ApiResponse cancelById(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        bookings.setUserInfo(getLoginUser(token));
-        bookingsService.cancelById(bookings);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("浼氳瀹や娇鐢ㄦ椂闀跨粺璁�")
-    @GetMapping("/getRoomStatistics")
-    @RequiresPermissions("business:bookings:update")
-    public ApiResponse<List<RoomStatisticsVo>> getRoomStatistics(@RequestParam Integer yearNum, @RequestParam Integer roomId){
-        return ApiResponse.success(bookingsService.getRoomStatistics(yearNum));
-    }
-
-    @ApiOperation("浜哄憳鍙傚姞浼氳鏃跺父")
-    @PostMapping("/getUserStatistics")
-    @RequiresPermissions("business:bookings:update")
-    public ApiResponse<PageData<UserStatisticsVo>> getUserStatistics(@RequestBody PageWrap<UserStatisticsDTO> pageWrap ){
-        return ApiResponse.success(bookingsService.getUserStatistics(pageWrap));
-    }
-
-    @ApiOperation("浜哄憳鍙備細鏃堕暱缁熻瀵煎嚭Excel")
-    @PostMapping("/exportUserStatistics")
-    @RequiresPermissions("business:bookings:exportExcel")
-    public void exportUserStatistics (@RequestBody PageWrap<UserStatisticsDTO> pageWrap,HttpServletResponse response) {
-        List<UserStatisticsVo> records = bookingsService.getUserStatistics(pageWrap).getRecords();
-        if (!CollectionUtils.isEmpty(records)){
-            JSONArray o = (JSONArray) JSON.toJSON(records);
-            o.forEach(s->{
-                JSONObject jsonObject = (JSONObject) s;
-                Set<Map.Entry<String, Object>> entries = jsonObject.entrySet();
-                for (Map.Entry<String, Object> entry:entries){
-
-                    if (entry.getValue() instanceof BigDecimal){
-                        BigDecimal value = (BigDecimal) entry.getValue();
-                        entry.setValue(value.compareTo(value.setScale(0, RoundingMode.DOWN)) > 0 ? value : value.setScale(0, RoundingMode.DOWN));
-                    }
-                }
-            });
-            records = o.toJavaList(UserStatisticsVo.class);
-        }
-        ExcelExporter.build(UserStatisticsVo.class).export(records, "浜哄憳鍙備細鏃堕暱缁熻", response);
-    }
-
-    @ApiOperation("浼氳瀹や娇鐢ㄦ椂闀跨粺璁″鍑篍xcel")
-    @PostMapping("/exportRoomStatistics")
-    @RequiresPermissions("business:bookings:exportExcel")
-    public void exportRoomStatistics (@RequestBody PageWrap<UserStatisticsDTO> pageWrap,HttpServletResponse response) {
-        List<RoomStatisticsVo> roomStatistics = bookingsService.getRoomStatistics(pageWrap.getModel().getYearNum());
-        if (!CollectionUtils.isEmpty(roomStatistics)){
-            JSONArray o = (JSONArray) JSON.toJSON(roomStatistics);
-            o.forEach(s->{
-                JSONObject jsonObject = (JSONObject) s;
-                Set<Map.Entry<String, Object>> entries = jsonObject.entrySet();
-                for (Map.Entry<String, Object> entry:entries){
-
-                    if (entry.getValue() instanceof BigDecimal){
-                        BigDecimal value = (BigDecimal) entry.getValue();
-                        entry.setValue(value.compareTo(value.setScale(0, RoundingMode.DOWN)) > 0 ? value : value.setScale(0, RoundingMode.DOWN));
-                    }
-                }
-            });
-            roomStatistics = o.toJavaList(RoomStatisticsVo.class);
-        }
-        ExcelExporter.build(RoomStatisticsVo.class).export(roomStatistics, "浼氳瀹や娇鐢ㄦ椂闀跨粺璁�", response);
-    }
-
-    @ApiOperation("鍙備笌鐨勯绾︿細璁�")
-    @GetMapping("/reservationCancel")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "1 浠婂ぉ 2 鏈懆", required = true),
-    })
-    public ApiResponse<List<Bookings>> getMyJoinBookingMeet(@RequestParam Integer type
-            ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-
-        LocalDateTime startTime = LocalDateTime.of(LocalDate.now(), LocalTime.of(00,00,00));
-        LocalDateTime endTime = LocalDateTime.of(LocalDate.now(), LocalTime.of(23,59,59));
-        if(Constants.equalsInteger(type,Constants.TWO)){
-            startTime =  DateUtil.getMonday();
-            endTime = DateUtil.getSunday();
-        }
-        return ApiResponse.success(bookingsService.getMyJoinBookingMeet(getLoginUser(token).getId(), null,startTime,endTime));
-    }
-
-    /**
-     * 鑾峰彇鐢ㄦ埛褰撳綋鏈堥绾︿細璁儏鍐�
-     * @return
-     */
-    @ApiOperation("鑾峰彇鐢ㄦ埛褰撳綋鏈堥绾︿細璁儏鍐�")
-    @PostMapping("/findMothBookingMeet")
-    public ApiResponse<List<DateTimeResourceDate>> findMothBookingMeet( @RequestParam(required = false) Integer roomId
-            ,String dateMonth,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        return ApiResponse.success(bookingsService.findMothBookingMeet(getLoginUser(token).getId(),roomId,dateMonth));
-    }
-}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/UserRelCloudController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/UserRelCloudController.java
index 774c1b0..b400986 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/UserRelCloudController.java
+++ b/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));
     }
 }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Devices.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Devices.java
index 0d3630b..31bdf95 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Devices.java
+++ b/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鏄�")
diff --git a/server/meeting/pom.xml b/server/meeting/pom.xml
index d2f272e..5a4ac9c 100644
--- a/server/meeting/pom.xml
+++ b/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 寰湇鍔tarter -->
-        <dependency>
-            <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-micro-spring-boot-starter</artifactId>
-            <version>3.0.3</version>
-            <scope>compile</scope>
-        </dependency>
+
+        <!-- 鎺ュ彛鏂囨。 -->
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
index e69de29..b47d7a0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
+++ b/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 = "涓婁紶鏂囦欢鍒癋TP")
+    @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("銆愪笂浼燜TP澶辫触銆�======================"+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);
+                    // 杞Щ鍒癋TP鏈嶅姟鍣�
+                    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;
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarBook.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarBook.java
index 2667ca9..ebdb631 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarBook.java
+++ b/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鏄�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarParks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarParks.java
index 4f5e839..6072d09 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarParks.java
+++ b/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鏄�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
index 32d6904..e8bc62b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
+++ b/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鏄�")

--
Gitblit v1.9.3