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/admin/MeetingCloudController.java |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 178 insertions(+), 0 deletions(-)

diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
new file mode 100644
index 0000000..f72e362
--- /dev/null
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
@@ -0,0 +1,178 @@
+package com.doumee.cloud.admin;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.doumee.api.BaseController;
+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.core.utils.QrCodeUtils;
+import com.doumee.dao.admin.request.BusinessOverDTO;
+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(Constants.CLOUD_SERVICE_URL_INDEX+"/business/meeting")
+public class MeetingCloudController extends BaseController {
+
+    @Autowired
+    private BookingsService bookingsService;
+
+
+    @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 = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        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")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<IPage<MeetingListResponse>> myMeetingPage(@RequestBody PageWrap<MeetingPageRequest> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo user = this.getLoginUser(token);
+        //(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( @RequestHeader(Constants.HEADER_USER_TOKEN) String token,@RequestParam Integer id) {
+        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,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo user = getLoginUser(token);
+        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,@RequestHeader(Constants.HEADER_USER_TOKEN) String token, HttpServletResponse response) throws  Exception {
+        LoginUserInfo user = getLoginUser(token);
+        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,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo user = getLoginUser(token);
+        bookingsRequest.setCreator(user.getId());
+        bookingsRequest.setEditor(user.getId());
+        bookingsRequest.setLoginUserInfo(this.getLoginUser(token));
+        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("/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("鎿嶄綔鎴愬姛");
+    }
+
+    @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("鎿嶄綔鎴愬姛");
+    }
+
+
+
+
+}

--
Gitblit v1.9.3