package com.doumee.cloud.web;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.doumee.config.Jwt.JwtTokenUtil;
|
import com.doumee.core.annotation.trace.Trace;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.core.utils.QrCodeUtils;
|
import com.doumee.dao.business.model.RoomTime;
|
import com.doumee.dao.web.request.RoomTimeRequest;
|
import com.doumee.dao.web.request.RoomsRequest;
|
import com.doumee.dao.web.response.*;
|
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 lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* Created by IntelliJ IDEA.
|
*
|
* @Author : Rk
|
* @create 2023/5/6 10:16
|
*/
|
|
@Api(tags = "3、会议室业务")
|
@Trace(exclude = true)
|
@RestController
|
@RequestMapping("/web/rooms")
|
@Slf4j
|
public class RoomsApi extends ApiController{
|
|
@Autowired
|
private RoomsService roomsService;
|
|
@Autowired
|
private RoomTimeService roomTimeService;
|
|
@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("查询成功", roomsService.getQrCode(id,getMemberId()));
|
}
|
|
@ApiOperation("获取会议室开门二维码-图片流")
|
@GetMapping("/getQrCodeImg")
|
@ApiImplicitParams({
|
@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 =roomsService.getQrCode(id,memberId);
|
QrCodeUtils.encode(content,null, response.getOutputStream(), true);
|
}
|
|
|
@ApiOperation("会议室列表")
|
@GetMapping("/roomsList")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
})
|
public ApiResponse<List<RoomsResponse>> roomsList() {
|
return ApiResponse.success("查询成功",roomsService.getRoomsList());
|
}
|
|
|
@ApiOperation("会议室时间开放列表")
|
@PostMapping("/getRoomUseTime")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
})
|
public ApiResponse<List<RoomTime>> getRoomUseTime(@RequestBody RoomTimeRequest roomTimeRequest) {
|
return ApiResponse.success("查询成功",roomTimeService.getRoomUseTime(roomTimeRequest));
|
}
|
|
@ApiOperation("我的会议室列表")
|
@PostMapping("/myRoomsPage")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
})
|
public ApiResponse<IPage<RoomsResponse>> myRoomsPage(@RequestBody PageWrap<RoomsRequest> pageWrap) {
|
pageWrap.getModel().setUserId(getMemberId());
|
IPage<RoomsResponse> page = roomsService.getRoomsPage(pageWrap);
|
return ApiResponse.success("查询成功",page);
|
}
|
|
|
@ApiOperation("会议室详情")
|
@GetMapping("/getRoomDetail")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "roomId", value = "会议室主键", required = true),
|
})
|
public ApiResponse<RoomsResponse> getRoomDetail(@RequestParam Integer roomId) {
|
return ApiResponse.success("查询成功",roomsService.getRoomDetail(roomId));
|
}
|
|
|
}
|