From 400c712a036e97878fe63944ed2cfba303ab178c Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 06 五月 2024 14:23:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java | 12
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudWgListenerController.java | 209 ++++++++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMeetingController.java | 143 +++++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomsController.java | 196 +++++++
server/system_gateway/src/main/resources/bootstrap.yml | 2
server/meeting/meeting_web/src/main/java/com/doumee/api/web/MeetingApi.java | 3
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomRecordController.java | 90 +++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingTimeController.java | 99 +++
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java | 2
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java | 1
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectRelController.java | 90 +++
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java | 144 +++++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectsController.java | 103 ++++
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/RoomsMapper.java | 8
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomTimeController.java | 101 ++++
server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 2
server/meeting/meeting_web/src/main/java/com/doumee/api/web/UtilApi.java | 24
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/RoomsController.java | 74 ++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMultifileController.java | 90 +++
server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudUserRelController.java | 90 +++
20 files changed, 1,443 insertions(+), 40 deletions(-)
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
new file mode 100644
index 0000000..1f118e3
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
@@ -0,0 +1,144 @@
+package com.doumee.api.business;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.doumee.api.BaseController;
+import com.doumee.config.Jwt.JwtTokenUtil;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.QrCodeUtils;
+import com.doumee.dao.business.model.Bookings;
+import com.doumee.dao.web.request.BookingsRequest;
+import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.response.MeetingDetailResponse;
+import com.doumee.dao.web.response.MeetingListResponse;
+import com.doumee.dao.web.response.MonthDataResponse;
+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.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/4/29 9:42
+ */
+@Api(tags = "浼氳瀹ら瀹氫俊鎭〃")
+@RestController
+@RequestMapping("/business/meeting")
+public class MeetingController extends BaseController {
+
+ @Autowired
+ private BookingsService bookingsService;
+
+
+ @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
+ @GetMapping("/monthMeeting")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀 yyyy-MM", required = true)
+ })
+ public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ List<String> dataList = DateUtil.getDayByMonth(yearMonth);
+ List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
+ List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
+ for (String str:dataList) {
+ MonthDataResponse monthDataResponse = new MonthDataResponse();
+ monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
+ monthDataResponse.setMonthDate(str);
+ monthDataResponse.setMeetingNum(bookings.stream()
+ .filter(b-> DateUtil.dateToString(b.getStartTime(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size());
+ monthDataResponseList.add(monthDataResponse);
+ }
+ return ApiResponse.success("鏌ヨ鎴愬姛",monthDataResponseList);
+ }
+
+ @ApiOperation("鎴戠殑浼氳鍒楄〃")
+ @PostMapping("/myMeetingPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<IPage<MeetingListResponse>> myMeetingPage(@RequestBody PageWrap<MeetingPageRequest> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setUserId(user.getId());
+ IPage<MeetingListResponse> page = bookingsService.getMyMeetingPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛",page);
+ }
+
+
+
+ @ApiOperation("浼氳璇︽儏")
+ @GetMapping("/meetingDetail")
+ @ApiImplicitParams({
+// @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse<MeetingDetailResponse> meetingDetail(@RequestParam Integer id) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getMeetingDetail(id));
+ }
+
+ @ApiOperation("鑾峰彇浼氳寮�闂ㄤ簩缁寸爜")
+ @GetMapping("/getQrCode")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse<String> getQrCode(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getQrCode(id,user.getId()));
+ }
+
+ @ApiOperation("鑾峰彇浼氳寮�闂ㄤ簩缁寸爜-鍥剧墖娴�")
+ @GetMapping("/getQrCodeImg")
+ @ApiImplicitParams({
+// @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public void getQrCodeImg(@RequestParam Integer id,@RequestParam String token, HttpServletResponse response) throws Exception {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ String content =bookingsService.getQrCode(id,user.getId());
+ QrCodeUtils.encode(content,null, response.getOutputStream(), true);
+ }
+
+
+ @ApiOperation("浼氳棰勭害")
+ @PostMapping("/reservationMeeting")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<Integer> reservationMeeting(@RequestBody BookingsRequest bookingsRequest) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ bookingsRequest.setCreator(user.getId());
+ bookingsRequest.setEditor(user.getId());
+ return ApiResponse.success("鎿嶄綔鎴愬姛",bookingsService.reservationMeeting(bookingsRequest));
+ }
+
+ @ApiOperation("鍙栨秷浼氳棰勭害")
+ @GetMapping("/reservationCancel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse reservationCancel(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ bookingsService.reservationCancel(id,user.getId());
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/RoomsController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/RoomsController.java
index af5b02e..0160517 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/RoomsController.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/RoomsController.java
@@ -1,18 +1,30 @@
package com.doumee.api.business;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.doumee.api.BaseController;
+import com.doumee.config.Jwt.JwtTokenUtil;
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.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.QrCodeUtils;
+import com.doumee.dao.business.model.RoomTime;
import com.doumee.dao.business.model.Rooms;
+import com.doumee.dao.web.request.RoomTimeRequest;
+import com.doumee.dao.web.request.RoomsRequest;
+import com.doumee.dao.web.response.RoomsResponse;
+import com.doumee.service.business.RoomTimeService;
import com.doumee.service.business.RoomsService;
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.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -32,6 +44,8 @@
@Autowired
private RoomsService roomsService;
+ @Autowired
+ private RoomTimeService roomTimeService;
@PreventRepeat
@ApiOperation("鏂板缓")
@PostMapping("/create")
@@ -122,4 +136,62 @@
return ApiResponse.success(roomsService.findList(rooms));
}
+
+
+ @ApiOperation("鑾峰彇浼氳瀹ゅ紑闂ㄤ簩缁寸爜")
+ @GetMapping("/getQrCode")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳瀹や富閿�", required = true),
+ })
+ public ApiResponse<String> getQrCode(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ return ApiResponse.success("鏌ヨ鎴愬姛", roomsService.getQrCode(id,user.getId()));
+ }
+
+
+ @ApiOperation("鑾峰彇浼氳瀹ゅ紑闂ㄤ簩缁寸爜-鍥剧墖娴�")
+ @GetMapping("/getQrCodeImg")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳瀹や富閿�", required = true)
+ })
+ public void getQrCodeImg(@RequestParam Integer id,@RequestParam String token, HttpServletResponse response) throws Exception {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ String content =roomsService.getQrCode(id,user.getId());
+ QrCodeUtils.encode(content,null, response.getOutputStream(), true);
+ }
+
+ @ApiOperation("浼氳瀹ゅ垪琛�")
+ @GetMapping("/roomsList")
+ public ApiResponse<List<RoomsResponse>> roomsList() {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomsService.getRoomsList());
+ }
+
+ @ApiOperation("浼氳瀹ゆ椂闂村紑鏀惧垪琛�")
+ @PostMapping("/getRoomUseTime")
+ public ApiResponse<List<RoomTime>> getRoomUseTime(@RequestBody RoomTimeRequest roomTimeRequest) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomTimeService.getRoomUseTime(roomTimeRequest));
+ }
+
+ @ApiOperation("鎴戠殑浼氳瀹ゅ垪琛�")
+ @PostMapping("/myRoomsPage")
+ public ApiResponse<IPage<RoomsResponse>> myRoomsPage(@RequestBody PageWrap<RoomsRequest> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setUserId(user.getId());
+ IPage<RoomsResponse> page = roomsService.getRoomsPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛",page);
+ }
+
+
+ @ApiOperation("浼氳瀹よ鎯�")
+ @GetMapping("/getRoomDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "roomId", value = "浼氳瀹や富閿�", required = true),
+ })
+ public ApiResponse<RoomsResponse> getRoomDetail(@RequestParam Integer roomId) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomsService.getRoomDetail(roomId));
+ }
+
+
}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingTimeController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingTimeController.java
new file mode 100644
index 0000000..216de86
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingTimeController.java
@@ -0,0 +1,99 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.BookingTime;
+import com.doumee.service.business.BookingTimeService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "浼氳瀹ら绾︽椂闂存鍏宠仈琛�")
+@RestController
+@RequestMapping("/cloudService/bookingTime")
+public class CloudBookingTimeController extends BaseController {
+
+ @Autowired
+ private BookingTimeService bookingTimeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:bookingtime:create")
+ public ApiResponse create(@RequestBody BookingTime bookingTime) {
+ return ApiResponse.success(bookingTimeService.create(bookingTime));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:bookingtime:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ bookingTimeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:bookingtime: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));
+ }
+ bookingTimeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:bookingtime:update")
+ public ApiResponse updateById(@RequestBody BookingTime bookingTime) {
+ bookingTimeService.updateById(bookingTime);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:bookingtime:query")
+ public ApiResponse<PageData<BookingTime>> findPage (@RequestBody PageWrap<BookingTime> pageWrap) {
+ return ApiResponse.success(bookingTimeService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:bookingtime:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<BookingTime> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(BookingTime.class).export(bookingTimeService.findPage(pageWrap).getRecords(), "浼氳瀹ら绾︽椂闂存鍏宠仈琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:bookingtime:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(bookingTimeService.findById(id));
+ }
+
+
+
+ @ApiOperation("鏍规嵁绉戝鏃ユ湡鏌ヨ鏈夋晥鐨勬椂闂存")
+ @PostMapping("/findList")
+ @CloudRequiredPermission("business:roomtime:query")
+ public ApiResponse<List<BookingTime>> findPage (@RequestBody BookingTime pageWrap) {
+ return ApiResponse.success(bookingTimeService.findList(pageWrap));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMeetingController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMeetingController.java
new file mode 100644
index 0000000..8fa1a15
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMeetingController.java
@@ -0,0 +1,143 @@
+package com.doumee.api.cloud;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.doumee.api.BaseController;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.QrCodeUtils;
+import com.doumee.dao.business.model.Bookings;
+import com.doumee.dao.web.request.BookingsRequest;
+import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.response.MeetingDetailResponse;
+import com.doumee.dao.web.response.MeetingListResponse;
+import com.doumee.dao.web.response.MonthDataResponse;
+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.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/4/29 9:42
+ */
+@Api(tags = "浼氳瀹ら瀹氫俊鎭〃")
+@RestController
+@RequestMapping("/cloudService/meeting")
+public class CloudMeetingController extends BaseController {
+
+ @Autowired
+ private BookingsService bookingsService;
+
+
+ @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
+ @GetMapping("/monthMeeting")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀 yyyy-MM", required = true)
+ })
+ public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ List<String> dataList = DateUtil.getDayByMonth(yearMonth);
+ List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
+ List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
+ for (String str:dataList) {
+ MonthDataResponse monthDataResponse = new MonthDataResponse();
+ monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
+ monthDataResponse.setMonthDate(str);
+ monthDataResponse.setMeetingNum(bookings.stream()
+ .filter(b-> DateUtil.dateToString(b.getStartTime(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size());
+ monthDataResponseList.add(monthDataResponse);
+ }
+ return ApiResponse.success("鏌ヨ鎴愬姛",monthDataResponseList);
+ }
+
+ @ApiOperation("鎴戠殑浼氳鍒楄〃")
+ @PostMapping("/myMeetingPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<IPage<MeetingListResponse>> myMeetingPage(@RequestBody PageWrap<MeetingPageRequest> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setUserId(user.getId());
+ IPage<MeetingListResponse> page = bookingsService.getMyMeetingPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛",page);
+ }
+
+
+
+ @ApiOperation("浼氳璇︽儏")
+ @GetMapping("/meetingDetail")
+ @ApiImplicitParams({
+// @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse<MeetingDetailResponse> meetingDetail(@RequestParam Integer id) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getMeetingDetail(id));
+ }
+
+ @ApiOperation("鑾峰彇浼氳寮�闂ㄤ簩缁寸爜")
+ @GetMapping("/getQrCode")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse<String> getQrCode(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getQrCode(id,user.getId()));
+ }
+
+ @ApiOperation("鑾峰彇浼氳寮�闂ㄤ簩缁寸爜-鍥剧墖娴�")
+ @GetMapping("/getQrCodeImg")
+ @ApiImplicitParams({
+// @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public void getQrCodeImg(@RequestParam Integer id,@RequestParam String token, HttpServletResponse response) throws Exception {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ String content =bookingsService.getQrCode(id,user.getId());
+ QrCodeUtils.encode(content,null, response.getOutputStream(), true);
+ }
+
+
+ @ApiOperation("浼氳棰勭害")
+ @PostMapping("/reservationMeeting")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<Integer> reservationMeeting(@RequestBody BookingsRequest bookingsRequest) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ bookingsRequest.setCreator(user.getId());
+ bookingsRequest.setEditor(user.getId());
+ return ApiResponse.success("鎿嶄綔鎴愬姛",bookingsService.reservationMeeting(bookingsRequest));
+ }
+
+ @ApiOperation("鍙栨秷浼氳棰勭害")
+ @GetMapping("/reservationCancel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse reservationCancel(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ bookingsService.reservationCancel(id,user.getId());
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMultifileController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMultifileController.java
new file mode 100644
index 0000000..a2c1aae
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudMultifileController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.model.Multifile;
+import com.doumee.service.system.MultifileService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "闄勪欢涓婁紶淇℃伅琛�")
+@RestController
+@RequestMapping("/cloudService/multifile")
+public class CloudMultifileController extends BaseController {
+
+ @Autowired
+ private MultifileService multifileService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:multifile:create")
+ public ApiResponse create(@RequestBody Multifile multifile) {
+ return ApiResponse.success(multifileService.create(multifile));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:multifile:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ multifileService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:multifile: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));
+ }
+ multifileService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:multifile:update")
+ public ApiResponse updateById(@RequestBody Multifile multifile) {
+ multifileService.updateById(multifile);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:multifile:query")
+ public ApiResponse<PageData<Multifile>> findPage (@RequestBody PageWrap<Multifile> pageWrap) {
+ return ApiResponse.success(multifileService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:multifile:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Multifile.class).export(multifileService.findPage(pageWrap).getRecords(), "闄勪欢涓婁紶淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:multifile:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(multifileService.findById(id));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectRelController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectRelController.java
new file mode 100644
index 0000000..80f2eb3
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectRelController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ProjectRel;
+import com.doumee.service.business.ProjectRelService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "鏈嶅姟椤圭洰鍏宠仈琛�")
+@RestController
+@RequestMapping("/cloudService/projectRel")
+public class CloudProjectRelController extends BaseController {
+
+ @Autowired
+ private ProjectRelService projectRelService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:projectrel:create")
+ public ApiResponse create(@RequestBody ProjectRel projectRel) {
+ return ApiResponse.success(projectRelService.create(projectRel));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:projectrel:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ projectRelService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:projectrel: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));
+ }
+ projectRelService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:projectrel:update")
+ public ApiResponse updateById(@RequestBody ProjectRel projectRel) {
+ projectRelService.updateById(projectRel);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:projectrel:query")
+ public ApiResponse<PageData<ProjectRel>> findPage (@RequestBody PageWrap<ProjectRel> pageWrap) {
+ return ApiResponse.success(projectRelService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:projectrel:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ProjectRel> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ProjectRel.class).export(projectRelService.findPage(pageWrap).getRecords(), "鏈嶅姟椤圭洰鍏宠仈琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:projectrel:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(projectRelService.findById(id));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectsController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectsController.java
new file mode 100644
index 0000000..2c1fa9d
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudProjectsController.java
@@ -0,0 +1,103 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Projects;
+import com.doumee.dao.web.response.ProjectsResponse;
+import com.doumee.service.business.ProjectsService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "鏈嶅姟椤圭洰淇℃伅琛�")
+@RestController
+@RequestMapping("/cloudService/projects")
+public class CloudProjectsController extends BaseController {
+
+ @Autowired
+ private ProjectsService projectsService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:projects:create")
+ public ApiResponse create(@RequestBody Projects projects) {
+ projects.setCreator(getLoginUser().getId());
+ projects.setEditor(getLoginUser().getId());
+ return ApiResponse.success(projectsService.create(projects));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:projects:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ projectsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:projects: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));
+ }
+ projectsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:projects:update")
+ public ApiResponse updateById(@RequestBody Projects projects) {
+ projectsService.updateById(projects);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:projects:query")
+ public ApiResponse<PageData<Projects>> findPage (@RequestBody PageWrap<Projects> pageWrap) {
+ return ApiResponse.success(projectsService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:projects:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Projects> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Projects.class).export(projectsService.findPage(pageWrap).getRecords(), "鏈嶅姟椤圭洰淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:projects:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(projectsService.findById(id));
+ }
+
+
+
+ @ApiOperation("浼氳鍏宠仈鐨勯」鐩�")
+ @PostMapping("/findListByObjId")
+ @CloudRequiredPermission("business:projects:query")
+ public ApiResponse<List<ProjectsResponse>> findListByObjId (@RequestParam Integer objId, @RequestParam Integer objType) {
+ return ApiResponse.success(projectsService.getProjectsList(objId,objType));
+ }
+
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomRecordController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomRecordController.java
new file mode 100644
index 0000000..005be4b
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomRecordController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.RoomRecord;
+import com.doumee.service.business.RoomRecordService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/05 18:25
+ */
+@Api(tags = "浼氳瀹ゅ紑闂ㄨ褰曡〃")
+@RestController
+@RequestMapping("/cloudService/roomRecord")
+public class CloudRoomRecordController extends BaseController {
+
+ @Autowired
+ private RoomRecordService roomRecordService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:roomrecord:create")
+ public ApiResponse create(@RequestBody RoomRecord roomRecord) {
+ return ApiResponse.success(roomRecordService.create(roomRecord));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:roomrecord:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ roomRecordService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:roomrecord: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));
+ }
+ roomRecordService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:roomrecord:update")
+ public ApiResponse updateById(@RequestBody RoomRecord roomRecord) {
+ roomRecordService.updateById(roomRecord);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:roomrecord:query")
+ public ApiResponse<PageData<RoomRecord>> findPage (@RequestBody PageWrap<RoomRecord> pageWrap) {
+ return ApiResponse.success(roomRecordService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:roomrecord:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<RoomRecord> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(RoomRecord.class).exportWithFirstAndEnd(roomRecordService.findPage(pageWrap).getRecords(), "浼氳瀹ゅ紑闂ㄨ褰昣"+System.currentTimeMillis(),"浼氳瀹ゅ紑闂ㄨ褰曡〃", "浼氳瀹ゅ紑闂ㄨ褰曡〃",null,response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:roomrecord:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(roomRecordService.findById(id));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomTimeController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomTimeController.java
new file mode 100644
index 0000000..a7d30ef
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomTimeController.java
@@ -0,0 +1,101 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.RoomTime;
+import com.doumee.service.business.RoomTimeService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "浼氳瀹ら绾︽椂闂存淇℃伅琛�")
+@RestController
+@RequestMapping("/cloudService/roomTime")
+public class CloudRoomTimeController extends BaseController {
+
+ @Autowired
+ private RoomTimeService roomTimeService;
+
+
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:roomtime:create")
+ public ApiResponse create(@RequestBody RoomTime roomTime) {
+ return ApiResponse.success(roomTimeService.create(roomTime));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:roomtime:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ roomTimeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:roomtime: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));
+ }
+ roomTimeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:roomtime:update")
+ public ApiResponse updateById(@RequestBody RoomTime roomTime) {
+ roomTimeService.updateById(roomTime);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:roomtime:query")
+ public ApiResponse<PageData<RoomTime>> findPage (@RequestBody PageWrap<RoomTime> pageWrap) {
+ return ApiResponse.success(roomTimeService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:roomtime:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<RoomTime> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(RoomTime.class).export(roomTimeService.findPage(pageWrap).getRecords(), "浼氳瀹ら绾︽椂闂存淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:roomtime:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(roomTimeService.findById(id));
+ }
+
+
+
+ @ApiOperation("鏍规嵁绉戝鏃ユ湡鏌ヨ鏈夋晥鐨勬椂闂存")
+ @PostMapping("/findList")
+ @CloudRequiredPermission("business:roomtime:query")
+ public ApiResponse<List<RoomTime>> findPage (@RequestBody RoomTime pageWrap) {
+ return ApiResponse.success(roomTimeService.findList(pageWrap));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomsController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomsController.java
new file mode 100644
index 0000000..99dc39d
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudRoomsController.java
@@ -0,0 +1,196 @@
+package com.doumee.api.cloud;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.QrCodeUtils;
+import com.doumee.dao.business.model.RoomTime;
+import com.doumee.dao.business.model.Rooms;
+import com.doumee.dao.web.request.RoomTimeRequest;
+import com.doumee.dao.web.request.RoomsRequest;
+import com.doumee.dao.web.response.RoomsResponse;
+import com.doumee.service.business.RoomTimeService;
+import com.doumee.service.business.RoomsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "浼氳瀹や俊鎭〃")
+@RestController
+@RequestMapping("/cloudService/rooms")
+public class CloudRoomsController extends BaseController {
+
+ @Autowired
+ private RoomsService roomsService;
+
+ @Autowired
+ private RoomTimeService roomTimeService;
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:rooms:create")
+ public ApiResponse create(@RequestBody Rooms rooms) {
+ return ApiResponse.success(roomsService.create(rooms));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:rooms:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ roomsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:rooms: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));
+ }
+ roomsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:rooms:update")
+ public ApiResponse updateById(@RequestBody Rooms rooms) {
+ roomsService.updateById(rooms);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateStatusById")
+ @CloudRequiredPermission("business:rooms:update")
+ public ApiResponse updateStatusById(@RequestBody Rooms rooms) {
+ roomsService.updateStatusById(rooms);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:rooms:query")
+ public ApiResponse<PageData<Rooms>> findPage (@RequestBody PageWrap<Rooms> pageWrap) {
+ return ApiResponse.success(roomsService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鏌ヨ鏄惁瀛樺湪棰勭害璁板綍")
+ @GetMapping("/recordisExist")
+ @CloudRequiredPermission("business:rooms:query")
+ public ApiResponse<JSONObject> recordisExist (Integer id) {
+ JSONObject jsonObject=new JSONObject();
+ Integer res=roomsService.recordisExist(id);
+ if(Constants.equalsInteger(res,Constants.ONE)){
+ jsonObject.put("code","1");
+ jsonObject.put("msg","false");
+ }else{
+ jsonObject.put("code","0");
+ jsonObject.put("msg","sucess");
+ }
+ return ApiResponse.success(jsonObject);
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:rooms:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Rooms> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Rooms.class).export(roomsService.findPage(pageWrap).getRecords(), "浼氳瀹や俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:rooms:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(roomsService.findById(id));
+ }
+
+
+ @ApiOperation("鏌ヨ鏈夋晥鐨勪細璁璁板綍鏁版嵁")
+ @PostMapping("/findList")
+ @CloudRequiredPermission("business:rooms:query")
+ public ApiResponse<List<Rooms>> findList (@RequestBody Rooms rooms) {
+ return ApiResponse.success(roomsService.findList(rooms));
+ }
+
+
+
+ @ApiOperation("鑾峰彇浼氳瀹ゅ紑闂ㄤ簩缁寸爜")
+ @GetMapping("/getQrCode")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳瀹や富閿�", required = true),
+ })
+ public ApiResponse<String> getQrCode(@RequestParam Integer id) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ return ApiResponse.success("鏌ヨ鎴愬姛", roomsService.getQrCode(id,user.getId()));
+ }
+
+
+ @ApiOperation("鑾峰彇浼氳瀹ゅ紑闂ㄤ簩缁寸爜-鍥剧墖娴�")
+ @GetMapping("/getQrCodeImg")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳瀹や富閿�", required = true)
+ })
+ public void getQrCodeImg(@RequestParam Integer id,@RequestParam String token, HttpServletResponse response) throws Exception {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ String content =roomsService.getQrCode(id,user.getId());
+ QrCodeUtils.encode(content,null, response.getOutputStream(), true);
+ }
+
+ @ApiOperation("浼氳瀹ゅ垪琛�")
+ @GetMapping("/roomsList")
+ public ApiResponse<List<RoomsResponse>> roomsList() {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomsService.getRoomsList());
+ }
+
+ @ApiOperation("浼氳瀹ゆ椂闂村紑鏀惧垪琛�")
+ @PostMapping("/getRoomUseTime")
+ public ApiResponse<List<RoomTime>> getRoomUseTime(@RequestBody RoomTimeRequest roomTimeRequest) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomTimeService.getRoomUseTime(roomTimeRequest));
+ }
+
+ @ApiOperation("鎴戠殑浼氳瀹ゅ垪琛�")
+ @PostMapping("/myRoomsPage")
+ public ApiResponse<IPage<RoomsResponse>> myRoomsPage(@RequestBody PageWrap<RoomsRequest> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setUserId(user.getId());
+ IPage<RoomsResponse> page = roomsService.getRoomsPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛",page);
+ }
+
+
+ @ApiOperation("浼氳瀹よ鎯�")
+ @GetMapping("/getRoomDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "roomId", value = "浼氳瀹や富閿�", required = true),
+ })
+ public ApiResponse<RoomsResponse> getRoomDetail(@RequestParam Integer roomId) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",roomsService.getRoomDetail(roomId));
+ }
+
+
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudUserRelController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudUserRelController.java
new file mode 100644
index 0000000..1d5d78e
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudUserRelController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.cloud;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.UserRel;
+import com.doumee.service.business.UserRelService;
+import io.swagger.annotations.Api;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/05/04 18:18
+ */
+@Api(tags = "浼氳瀹ょ鐞嗗憳鍜屽弬浼氫汉鍛樺叧鑱旇〃")
+@RestController
+@RequestMapping("/cloudService/userRel")
+public class CloudUserRelController extends BaseController {
+
+ @Autowired
+ private UserRelService userRelService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:userrel:create")
+ public ApiResponse create(@RequestBody UserRel userRel) {
+ return ApiResponse.success(userRelService.create(userRel));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:userrel:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ userRelService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:userrel: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));
+ }
+ userRelService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:userrel:update")
+ public ApiResponse updateById(@RequestBody UserRel userRel) {
+ userRelService.updateById(userRel);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:userrel:query")
+ public ApiResponse<PageData<UserRel>> findPage (@RequestBody PageWrap<UserRel> pageWrap) {
+ return ApiResponse.success(userRelService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:userrel:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<UserRel> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(UserRel.class).export(userRelService.findPage(pageWrap).getRecords(), "浼氳瀹ょ鐞嗗憳鍜屽弬浼氫汉鍛樺叧鑱旇〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:userrel:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(userRelService.findById(id));
+ }
+}
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudWgListenerController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudWgListenerController.java
new file mode 100644
index 0000000..38dcd25
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudWgListenerController.java
@@ -0,0 +1,209 @@
+package com.doumee.api.cloud;
+
+import cn.hutool.core.io.IoUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.admin.request.InDeviceEntranceParam;
+import com.doumee.dao.admin.response.DevWgDataResponseParam;
+import com.doumee.dao.admin.response.DevWgResponseParam;
+import com.doumee.dao.admin.response.DevWgYtjResponseParam;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.BookingsService;
+import com.doumee.service.business.DevicesService;
+import com.doumee.service.system.SystemUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 寰厜浜岀淮鐮佽姹傚叆鍙�
+ *
+ * @author lishuai
+ * @email
+ * @date 2022-12-12 14:30:50
+ */
+@Api(tags = "寰厜浜岀淮鐮佽姹傚叆鍙f帴鍙�",value = "")
+@RestController
+@RequestMapping("/cloudService/wgListener")
+@Slf4j
+public class CloudWgListenerController {
+ @Autowired
+ private SystemUserService systemUserService;
+ @Autowired
+ private BookingsService bookingsService;
+ @Autowired
+ private DevicesService devicesService;
+ @ApiOperation(value="寰厜浜岀淮鐮佽繘鍦烘牳閿�鍏ュ彛")
+ @PostMapping("/qrcodeIn")
+ public void qrcodeIn(HttpServletRequest request, HttpServletResponse response) throws Exception{
+ // 鍏ュ彛璋冪敤杩斿洖json
+ response.setDateHeader("Expires", 0);
+ response.setHeader("Cache-Control", "no-cache");
+ response.setHeader("Pragma", "no-cache");
+ DevWgResponseParam json = reqJSONObject( request);
+ log.info("鎵撳嵃json鏁版嵁================="+json);
+ if(null == json) {
+ ApiResponse.outputCode(response,"-1");
+ return;
+ }
+ try {
+ if(StringUtils.equals("hello",json.getVgdecoderesult())){
+ //濡傛灉鏄績璺宠缃�
+ devicesService.doHeartDeal(json.getDevicenumber());
+ log.info("蹇冭烦鎴愬姛================="+json.getDevicenumber());
+ ApiResponse.outputCode(response,"-1");
+ }else{
+ bookingsService.openRoomDoor(json);
+ log.info("鎵爜鎴愬姛=================");
+ ApiResponse.outputCode(response,"0000");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ log.info("鎵爜寮傚父================="+e.getMessage());
+ ApiResponse.outputCode(response,"-1");
+ }
+ }
+ @ApiOperation(value="寰厜涓�浣撴満浜岀淮鐮佽繘鍦烘牳閿�鍏ュ彛")
+ @PostMapping("/qrcodeInYtj")
+ public void qrcodeInNew(HttpServletRequest request, HttpServletResponse response) throws Exception{
+ // 鍏ュ彛璋冪敤杩斿洖json
+ response.setDateHeader("Expires", 0);
+ response.setHeader("Content-Type", "text/html;charset=UTF-8");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setHeader("Pragma", "no-cache");
+ DevWgResponseParam json = reqJSONObjectYtj( request);
+ log.info("鎵撳嵃json鏁版嵁================="+json);
+ if(null == json) {
+ ApiResponse.outputCode(response,"-1");
+ return;
+ }
+ try {
+ if(StringUtils.equals("hello",json.getVgdecoderesult())){
+ //濡傛灉鏄績璺宠缃�
+ devicesService.doHeartDeal(json.getDevicenumber());
+ log.info("蹇冭烦鎴愬姛================="+json.getDevicenumber());
+ ApiResponse.outputCode(response,-1,"蹇冭烦澶辫触");
+ }else{
+ bookingsService.openRoomDoor(json);
+ log.info("鎵爜鎴愬姛=================");
+ ApiResponse.outputCode(response,0,"璁よ瘉鎴愬姛");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ log.info("鎵爜寮傚父================="+e.getMessage());
+ ApiResponse.outputCode(response,-1,e.getMessage());
+ }
+ }
+
+ private DevWgResponseParam reqJSONObjectYtj(HttpServletRequest request) throws Exception{
+ //"type":2,"data":"8tiDkHTlGJdmxP4yAkO7mPR2odwwPgtW","time":1692772938,"deviceSn":"C238180003"
+ String input = IoUtil.read(request.getInputStream(), "utf-8");
+ log.info("涓�浣撴満璇诲ご璁惧杩斿洖鐨勪簩缁寸爜淇℃伅==========="+input);
+ DevWgYtjResponseParam param1 = JSONObject.toJavaObject(JSONObject.parseObject(input), DevWgYtjResponseParam.class);
+ DevWgResponseParam param = new DevWgResponseParam();
+ param.setVgdecoderesult(param1.getData());
+ param.setDevicenumber(param1.getDeviceSn());
+ log.info("涓�浣撴満瀵硅薄鏁版嵁================="+param);
+ //瀵硅薄浼爅son
+ return param;
+ }
+
+ @ApiOperation(value="寰厜浜岀淮鐮佸嚭鍦烘牳閿�鍑哄彛")
+ @PostMapping("/qrcodeOut")
+ public void qrcodeOut( HttpServletRequest request, HttpServletResponse response) throws Exception {
+ // 鍑哄彛璋冪敤杩斿洖json
+ DevWgResponseParam json = reqJSONObject( request);
+ log.info("鎵撳嵃json鏁版嵁=================="+json);
+ if(null == json) {
+ return;
+ }
+ ApiResponse.outputCode(response,"0000");
+ }
+
+ /**
+ * 寰厜浜岀淮鐮佽澶撮椄鏈鸿姹傦紝璋冪敤杩涘嚭鍦烘帴鍙son灏佽
+ */
+ private DevWgResponseParam reqJSONObject( HttpServletRequest request) throws Exception{
+ String input = IoUtil.read(request.getInputStream(), "utf-8");
+ log.info("璇诲ご璁惧杩斿洖鐨勪簩缁寸爜淇℃伅==========="+input);
+ String[] split = input.split("&&");
+ DevWgResponseParam param = new DevWgResponseParam();
+ int indexOne = split[0].indexOf("=");
+ int indexTwo = split[1].indexOf("=");
+ param.setVgdecoderesult(split[0].substring(indexOne+1));
+ param.setDevicenumber(split[1].substring(indexTwo+1));
+ log.info("瀵硅薄鏁版嵁================="+param);
+ //瀵硅薄浼爅son
+// JSONObject json = getJSONObject(param);
+ return param;
+ }
+
+ @ApiOperation(value="浜嬩欢鐩戝惉鎸夌被鍨嬪鐞�---寰厜涓�浣撴満杩涘満")
+ @PostMapping("/taskTwo")
+ public void taskTwo( HttpServletRequest request, HttpServletResponse response) throws Exception {
+ // 鍏ュ彛璋冪敤杩斿洖json
+ JSONObject jsonObject = reqMachineJSONObject( request);
+ log.info("鍙傛暟================"+jsonObject);
+ if(null == jsonObject) {
+ return;
+ }
+ ApiResponse.outputCode(response,0,"success");
+ }
+
+ @ApiOperation(value="浜嬩欢鐩戝惉鎸夌被鍨嬪鐞�---寰厜涓�浣撴満鍑哄満")
+ @PostMapping("/taskOutTwo")
+ public void taskOutTwo( HttpServletRequest request, HttpServletResponse response) throws Exception {
+ // 鍏ュ彛璋冪敤杩斿洖json
+ JSONObject jsonObject = reqMachineJSONObject( request);
+ log.info("鍙傛暟================"+jsonObject);
+ if(null == jsonObject) {
+ return;
+ }
+
+ ApiResponse.outputCode(response,0,"success");
+ }
+
+ /**
+ * 寰厜涓�浣撴満闂告満璇锋眰锛岃皟鐢ㄨ繘鍑哄満鎺ュ彛json灏佽
+ * @return
+ */
+ private JSONObject reqMachineJSONObject( HttpServletRequest request) throws Exception {
+
+ // 鍋囪涓氬姟璁よ瘉鎴愬姛
+ String input = IoUtil.read(request.getInputStream(), "utf-8");
+ DevWgDataResponseParam responseParam = JSON.parseObject(input , DevWgDataResponseParam.class);
+ //瀵硅薄浼爅son
+ InDeviceEntranceParam param = new InDeviceEntranceParam();
+ if("1".equals(responseParam.getType())) { //浜鸿劯
+ param.setFlag("2");
+ param.setUserId(responseParam.getData());
+ }else if("2".equals(responseParam.getType())) { //浜岀淮鐮�
+ param.setFlag("1");
+ param.setCode(responseParam.getData());
+ }else if("3".equals(responseParam.getType())) { //鍒峰崱
+ param.setFlag("3");
+ // 鏍规嵁浼氬憳瀹炰綋鍗″彿鍏宠仈鏌ヨ锛屼細鍛樺伐鍙�
+ SystemUser memberDo = systemUserService.findById(1);
+ if(null != memberDo) {
+ param.setUserId( memberDo.getEmpNo());
+ }
+ param.setCardNo(responseParam.getData());
+
+ }
+ param.setDeskId(responseParam.getDeviceSn());
+ param.setInTime(DateUtil.getCurrDateTime());
+ param.setOutTime(DateUtil.getCurrDateTime());
+ JSONObject json =(JSONObject) JSONObject.toJSON(param);
+ return (JSONObject)JSONObject.toJSON(param);
+ }
+}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
index c5d653f..cc0769d 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -25,7 +25,7 @@
@Select(" select a.id , b.`NAME` as roomName , a.`NAME` as meetingName ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate ," +
" CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime, c.REALNAME as bookingUser ," +
" CASE WHEN a.START_TIME > now() and a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() or a.`STATUS` = 1 THEN 3 ELSE 2 END meetingStatus , b.IMGURL as imgUrl " +
- " from bookings a inner join rooms b on a.ROOM_ID = b.ID " +
+ " from meeting_book a inner join meeting_rooms b on a.ROOM_ID = b.ID " +
" inner join system_user c on a.CREATOR = c.id " +
" ${ew.customSqlSegment} ")
IPage<MeetingListResponse> myMeetingPage(IPage<MeetingListResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
@@ -36,7 +36,7 @@
" CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime, c.REALNAME as bookingUserName ," +
" CASE WHEN a.START_TIME > now() and a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() or a.`STATUS` = 1 THEN 3 ELSE 2 END meetingStatus ," +
" a.CONTENT as meetingContent, c.MOBILE as bookingUserMobile , e.`NAME` as bookingUserDepartment , a.CREATOR as bookingUserId , a.remark " +
- " from bookings a inner join rooms b on a.ROOM_ID = b.ID " +
+ " from meeting_book a inner join meeting_rooms b on a.ROOM_ID = b.ID " +
" inner join system_user c on a.CREATOR = c.id " +
" inner join system_department_user d on c.id = d.USER_ID " +
" INNER JOIN system_department e on d.DEPARTMENT_ID = e.ID " +
@@ -82,8 +82,8 @@
"b.ROOM_ID,\n" +
"r.NAME,\n" +
"SUM( CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60),DECIMAL(5,1))) c\n" +
- "FROM bookings b\n" +
- "LEFT JOIN rooms r ON r.ID = b.ROOM_ID \n" +
+ "FROM meeting_book b\n" +
+ "LEFT JOIN meeting_rooms r ON r.ID = b.ROOM_ID \n" +
"WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS = 0 \n" +
"GROUP BY b.ROOM_ID , DATE_FORMAT(b.START_TIME,'%m')\n" +
") t) t1 GROUP BY t1.name")
@@ -128,9 +128,9 @@
"SUM(" +
"CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60), DECIMAL(5,1))) c\n" +
"FROM \n" +
- "user_rel ur\n" +
+ "meeting_user_rel ur\n" +
"LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" +
- "LEFT JOIN bookings b ON ur.OBJ_ID = b.id \n" +
+ "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" +
"WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS = 0" +
"<if test='userId != null'>"+
"and ur.USER_ID = #{userId}\n" +
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
index e18fbf1..6df40b8 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
@@ -18,7 +18,7 @@
public interface ProjectsMapper extends BaseMapper<Projects> {
- @Select(" SELECT * FROM Projects " +
+ @Select(" SELECT * FROM meeting_projects " +
" ${ew.customSqlSegment} ")
List<ProjectsResponse> getProjectsList(@Param(Constants.WRAPPER) Wrapper wrapper);
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/RoomsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/RoomsMapper.java
index a24e01b..8e84c41 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/RoomsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/RoomsMapper.java
@@ -21,19 +21,17 @@
- @Select(" SELECT * FROM rooms " +
+ @Select(" SELECT * FROM meeting_rooms " +
" ${ew.customSqlSegment} ")
List<RoomsResponse> getRoomsList(@Param(Constants.WRAPPER) Wrapper wrapper);
-
- @Select(" select * from rooms " +
+ @Select(" select * from meeting_rooms " +
" ${ew.customSqlSegment} ")
IPage<RoomsResponse> myRoomsPage(IPage<RoomsResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
-
- @Select(" select * from rooms " +
+ @Select(" select * from meeting_rooms " +
" where id = #{id} ")
RoomsResponse myRoomsDetail(@Param("id") Integer id);
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
index eb33fb0..b047c08 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
@@ -151,6 +151,7 @@
}
+ @Override
public Integer recordisExist(Integer roomsId) {
MPJLambdaWrapper<Bookings> queryBooke = new MPJLambdaWrapper<>();
queryBooke.eq(Bookings::getIsdeleted, Constants.ZERO);
diff --git a/server/meeting/meeting_web/src/main/java/com/doumee/api/web/MeetingApi.java b/server/meeting/meeting_web/src/main/java/com/doumee/api/web/MeetingApi.java
index 862878c..73d1cbd 100644
--- a/server/meeting/meeting_web/src/main/java/com/doumee/api/web/MeetingApi.java
+++ b/server/meeting/meeting_web/src/main/java/com/doumee/api/web/MeetingApi.java
@@ -63,7 +63,8 @@
MonthDataResponse monthDataResponse = new MonthDataResponse();
monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
monthDataResponse.setMonthDate(str);
- monthDataResponse.setMeetingNum(bookings.stream().filter(b-> DateUtil.dateToString(b.getStartTime(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size());
+ monthDataResponse.setMeetingNum(bookings.stream()
+ .filter(b-> DateUtil.dateToString(b.getStartTime(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size());
monthDataResponseList.add(monthDataResponse);
}
return ApiResponse.success("鏌ヨ鎴愬姛",monthDataResponseList);
diff --git a/server/meeting/meeting_web/src/main/java/com/doumee/api/web/UtilApi.java b/server/meeting/meeting_web/src/main/java/com/doumee/api/web/UtilApi.java
index ce115c7..1d694f8 100644
--- a/server/meeting/meeting_web/src/main/java/com/doumee/api/web/UtilApi.java
+++ b/server/meeting/meeting_web/src/main/java/com/doumee/api/web/UtilApi.java
@@ -93,30 +93,6 @@
e.printStackTrace();
}
-// OutputStream out = null;
-// try{
-// response.setHeader("Cache-Control", "no-store, no-cache");
-// response.setContentType("image/jpeg");
-// InputStream inputStream = utilService.generateImgStream(bookingsId,userId);
-// out = response.getOutputStream();
-// int len = 0;
-// byte[] b = new byte[1024];
-// while ((len = inputStream.read(b)) != -1) {
-// out.write(b, 0, len);
-// }
-// out.flush();
-// }catch (Exception e){
-// e.printStackTrace();
-// }finally {
-// try {
-// if (out != null) {
-// out.close();
-// }
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-// }
-
}
diff --git a/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
index b4a3835..e76f0a1 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -34,7 +34,7 @@
if(payloads == null){
return null;
}
- payloads.setLoginDate(new Date());
+ payloads.setLoginDate(new Date());
Map<String,Object> map = new HashMap<>();
map.put("id",payloads.getId());
// Map<String,Object> map = BeanUtil.beanToMap(payloads);
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 69895a9..0ccf3f4 100644
--- a/server/system_gateway/src/main/resources/bootstrap.yml
+++ b/server/system_gateway/src/main/resources/bootstrap.yml
@@ -14,7 +14,7 @@
password: nacos
discovery:
server-addr: http://175.27.187.84:8848 #閰嶇疆Nacos鍦板潃
- namespace: dmvisit
+ namespace: dev_renkang
username: nacos
password: nacos
gateway:
--
Gitblit v1.9.3