jiangping
2025-01-16 f63d3a3be83fea258e7920efccd2567b6a511bb3
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
@@ -2,20 +2,23 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.doumee.api.BaseController;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageWrap;
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.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;
@@ -26,7 +29,6 @@
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;
@@ -52,17 +54,20 @@
    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 = "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);
        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());
@@ -90,8 +95,8 @@
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "会议主键", required = true),
    })
    public ApiResponse<MeetingDetailResponse> meetingDetail(@RequestParam Integer id) {
        return ApiResponse.success("查询成功", bookingsService.getMeetingDetail(id));
    public ApiResponse<MeetingDetailResponse> meetingDetail(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success("查询成功", bookingsService.getMeetingDetail(id,getLoginUser(token).getId()));
    }
@@ -120,18 +125,16 @@
        QrCodeUtils.encode(content,null, response.getOutputStream(), true);
    }*/
/*
    @LoginRequired
    @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 = systemUserService.getUserPage(pageWrap);
        IPage<UserResponse> page = bookingsService.getUserPage(pageWrap);
        return ApiResponse.success("查询成功", page);
    }
*/
    @ApiOperation("会议预约")
@@ -140,20 +143,57 @@
        LoginUserInfo user = getLoginUser(token);
        bookingsRequest.setCreator(user.getId());
        bookingsRequest.setEditor(user.getId());
        bookingsRequest.setLoginUserInfo(user);
        return ApiResponse.success("操作成功",bookingsService.reservationMeeting(bookingsRequest));
    }
    @ApiOperation("取消会议预约")
    @GetMapping("/reservationCancel")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "会议主键", required = true),
    })
    public ApiResponse reservationCancel(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
    @PostMapping("/reservationCancel")
    public ApiResponse reservationCancel(@RequestBody BusinessOverDTO businessOverDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        LoginUserInfo user = getLoginUser(token);
        bookingsService.reservationCancel(id,user.getId());
        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));
    }
}