| 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)); | 
|     } | 
|   | 
|   | 
| } |