RoomController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package com.fdkankan.tk.controller;
  2. import cn.hutool.crypto.digest.MD5;
  3. import com.fdkankan.tk.common.ResultCode;
  4. import com.fdkankan.tk.common.ResultData;
  5. import com.fdkankan.tk.entity.Room;
  6. import com.fdkankan.tk.exception.BusinessException;
  7. import com.fdkankan.tk.request.CheckRoomPasswordParam;
  8. import com.fdkankan.tk.request.RoomAddParam;
  9. import com.fdkankan.tk.request.RoomListParam;
  10. import com.fdkankan.tk.response.RoomAddUserParam;
  11. import com.fdkankan.tk.service.IRoomService;
  12. import com.fdkankan.tk.service.IRoomShareLogService;
  13. import com.fdkankan.tk.util.MD5Utils;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.io.IOException;
  19. /**
  20. *房间管理
  21. */
  22. @RestController
  23. @Slf4j
  24. public class RoomController extends BaseController{
  25. @Autowired
  26. IRoomService roomService;
  27. @Autowired
  28. IRoomShareLogService roomShareLogService;
  29. /**
  30. * 根据房间id获取详情
  31. */
  32. @GetMapping("/roomInfo")
  33. public ResultData roomInfo(@RequestParam(required = false) String roomId){
  34. return ResultData.ok(roomService.getRoomInfo(roomId,getToken(),getWxToken()));
  35. }
  36. /**
  37. * 房间访问次数 +1
  38. */
  39. @GetMapping("/roomAddView")
  40. public ResultData roomAddView(@RequestParam(required = false) String roomId){
  41. //roomService.roomAddView(roomId);
  42. return ResultData.ok();
  43. }
  44. /**
  45. * 房间列表
  46. */
  47. @PostMapping("/roomList")
  48. public ResultData pageList(@RequestBody RoomListParam param){
  49. return ResultData.ok(roomService.pageList(param,getToken(),getWxToken()));
  50. }
  51. /**
  52. * 创建房间
  53. */
  54. @PostMapping("/roomAddOrUpdate")
  55. public ResultData createRoom(@RequestBody RoomAddParam param){
  56. return ResultData.ok(roomService.addOrUpdate(param,getToken()));
  57. }
  58. /**
  59. * 删除房间
  60. */
  61. @PostMapping("/roomDelete")
  62. public ResultData roomDelete(@RequestBody RoomAddParam param) {
  63. if(param.getRoomId() == null){
  64. throw new BusinessException(ResultCode.PARAM_MISS);
  65. }
  66. roomService.deleteById(param.getRoomId());
  67. return ResultData.ok();
  68. }
  69. /**
  70. * 获取分享二维码
  71. * roomId 房间id
  72. * type follower leader
  73. */
  74. @GetMapping("/roomGetShareCode")
  75. public ResultData roomGetShareCode(@RequestParam(required = false) String roomId){
  76. if(roomId == null){
  77. throw new BusinessException(ResultCode.PARAM_MISS);
  78. }
  79. return ResultData.ok(roomService.getWxQrCode(roomId,"follower"));
  80. }
  81. /**
  82. * 获取分享二维码
  83. */
  84. @GetMapping("/roomGetHostCode")
  85. public ResultData roomGetHostCode(@RequestParam(required = false) String roomId){
  86. if(roomId == null){
  87. throw new BusinessException(ResultCode.PARAM_MISS);
  88. }
  89. return ResultData.ok(roomService.getWxQrCode(roomId,"leader"));
  90. }
  91. /**
  92. * 加入房间,开启带看,退出房间
  93. * type 0 加入房间,1退出房间
  94. * role follower leader
  95. */
  96. @GetMapping("/inOrOutRoom")
  97. public ResultData inOrOutRoom(@RequestParam(required = false) String role,
  98. @RequestParam(required = false) String roomId,
  99. @RequestParam(required = false) Integer type,
  100. @RequestParam(required = false) String userId){
  101. roomService.inOrOutRoom(roomId,role,type,userId);
  102. return ResultData.ok();
  103. }
  104. /**
  105. * 分享房间
  106. * roomId 房间ida
  107. */
  108. @GetMapping("/shareRoom")
  109. public ResultData shareRoom(@RequestParam(required = false) String roomId,
  110. @RequestParam(required = false) String userId){
  111. if(roomId == null){
  112. throw new BusinessException(ResultCode.PARAM_MISS);
  113. }
  114. roomShareLogService.saveLog(roomId,userId);
  115. return ResultData.ok();
  116. }
  117. /**
  118. * 获取房间密码
  119. */
  120. @PostMapping("/checkRoomVisitPassword")
  121. public ResultData checkRoomVisitPassword(@RequestBody CheckRoomPasswordParam param){
  122. if(StringUtils.isBlank(param.getRoomId()) || StringUtils.isBlank(param.getPassword())){
  123. throw new BusinessException(ResultCode.PARAM_MISS);
  124. }
  125. String roomId = param.getRoomId();
  126. if(param.getRoomId().contains("_")){
  127. roomId = param.getRoomId().split("_")[0];
  128. }
  129. Room room = roomService.getById(roomId);
  130. String pwd = MD5.create().digestHex(room.getVisitPassword());
  131. Boolean flag = pwd.equals(param.getPassword());
  132. return ResultData.ok(flag);
  133. }
  134. }