From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新
---
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java | 199 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 199 insertions(+), 0 deletions(-)
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
new file mode 100644
index 0000000..c9e983f
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
@@ -0,0 +1,199 @@
+package com.doumee.cloud.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.admin.request.BusinessOverDTO;
+import com.doumee.dao.business.model.Bookings;
+import com.doumee.dao.system.vo.UserResponse;
+import com.doumee.dao.web.request.BookingsRequest;
+import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.request.UserPageRequest;
+import com.doumee.dao.web.response.MeetingDetailResponse;
+import com.doumee.dao.web.response.MeetingListResponse;
+import com.doumee.dao.web.response.MonthDataResponse;
+import com.doumee.dao.web.response.RoomDetailResponse;
+import com.doumee.service.business.BookingsService;
+import com.doumee.service.system.SystemUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/5/6 10:16
+ */
+
+@Api(tags = "2銆侀瀹氫細璁笟鍔�")
+@Trace(exclude = true)
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/meeting")
+@Slf4j
+public class MeetingApi extends BaseController {
+
+ @Autowired
+ private BookingsService bookingsService;
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+
+
+ @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
+ @GetMapping("/monthMeeting")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀 yyyy-MM", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�3绠$悊鍛樻煡鐪嬪叏閮� ", required = true)
+ })
+ public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
+ ,@RequestParam(required = false) Integer queryType
+ ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ List<String> dataList = DateUtil.getDayByMonth(yearMonth);
+ List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
+ List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
+ 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")
+ public ApiResponse<IPage<MeetingListResponse>> myMeetingPage(@RequestBody PageWrap<MeetingPageRequest> pageWrap
+ ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ pageWrap.getModel().setUserId(user.getId());
+ IPage<MeetingListResponse> page = bookingsService.getMyMeetingPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛",page);
+ }
+
+
+ @ApiOperation("浼氳璇︽儏")
+ @GetMapping("/meetingDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "浼氳涓婚敭", required = true),
+ })
+ public ApiResponse<MeetingDetailResponse> meetingDetail(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getMeetingDetail(id,getLoginUser(token).getId()));
+ }
+
+
+ /* @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) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", bookingsService.getQrCode(id,getMemberId()));
+ }
+// @LoginRequired
+ @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 {
+ Integer memberId = JwtTokenUtil.getJwtPayLoad(token).getMemberId();
+ response.setHeader("Cache-Control", "no-store, no-cache");
+ response.setContentType("image/jpeg");
+ String content =bookingsService.getQrCode(id,memberId);
+ QrCodeUtils.encode(content,null, response.getOutputStream(), true);
+ }*/
+
+
+ @ApiOperation("鍙備細浜哄憳鍒嗛〉")
+ @PostMapping("/userPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<IPage<UserResponse>> userPage(@RequestBody PageWrap<UserPageRequest> pageWrap) {
+ IPage<UserResponse> page = bookingsService.getUserPage(pageWrap);
+ return ApiResponse.success("鏌ヨ鎴愬姛", page);
+ }
+
+
+ @ApiOperation("浼氳棰勭害")
+ @PostMapping("/reservationMeeting")
+ public ApiResponse<Integer> reservationMeeting(@RequestBody BookingsRequest bookingsRequest ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ bookingsRequest.setCreator(user.getId());
+ bookingsRequest.setEditor(user.getId());
+ bookingsRequest.setLoginUserInfo(user);
+ return ApiResponse.success("鎿嶄綔鎴愬姛",bookingsService.reservationMeeting(bookingsRequest));
+ }
+
+ @ApiOperation("鍙栨秷浼氳棰勭害")
+ @PostMapping("/reservationCancel")
+ public ApiResponse reservationCancel(@RequestBody BusinessOverDTO businessOverDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ businessOverDTO.setUserId(user.getId());
+ bookingsService.reservationCancel(businessOverDTO);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+
+ @ApiOperation("鎻愬墠缁撴潫浼氳")
+ @PostMapping("/reservationOver")
+ public ApiResponse reservationOver(@RequestBody BusinessOverDTO businessOverDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ businessOverDTO.setUserId(user.getId());
+ bookingsService.reservationOver(businessOverDTO);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @ApiOperation("鎻愬墠寮�濮嬩細璁�")
+ @PostMapping("/startEarly")
+ public ApiResponse startEarly(@RequestBody BusinessOverDTO businessOverDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ businessOverDTO.setUserId(user.getId());
+ businessOverDTO.setStartType(Constants.ZERO);
+ bookingsService.startEarly(businessOverDTO);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @ApiOperation("寮�濮嬩細璁�")
+ @PostMapping("/start")
+ public ApiResponse start(@RequestBody BusinessOverDTO businessOverDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo user = getLoginUser(token);
+ businessOverDTO.setUserId(user.getId());
+ businessOverDTO.setStartType(Constants.ONE);
+ bookingsService.start(businessOverDTO);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @LoginNoRequired
+ @ApiOperation("浼氳灞忎俊鎭�")
+ @GetMapping("/meetScreenData")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "roomId", value = "浼氳瀹や富閿�", required = true),
+ })
+ public ApiResponse<RoomDetailResponse> meetScreenData(@RequestParam Integer roomId) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",bookingsService.getRoomDetail(roomId));
+ }
+
+}
--
Gitblit v1.9.3