RoomController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. @GetMapping("/checkCanDel")
  70. public ResultData checkCanDel(@RequestParam(required = false) String roomId) {
  71. if(roomId == null){
  72. throw new BusinessException(ResultCode.PARAM_MISS);
  73. }
  74. Room room = roomService.getById(roomId);
  75. if(room == null){
  76. throw new BusinessException(ResultCode.ROOM_MISS);
  77. }
  78. return ResultData.ok(roomService.checkCanDel(room));
  79. }
  80. /**
  81. * 获取分享二维码
  82. * roomId 房间id
  83. * type follower leader
  84. */
  85. @GetMapping("/roomGetShareCode")
  86. public ResultData roomGetShareCode(@RequestParam(required = false) String roomId){
  87. if(roomId == null){
  88. throw new BusinessException(ResultCode.PARAM_MISS);
  89. }
  90. return ResultData.ok(roomService.getWxQrCode(roomId,"follower"));
  91. }
  92. /**
  93. * 获取分享二维码
  94. */
  95. @GetMapping("/roomGetHostCode")
  96. public ResultData roomGetHostCode(@RequestParam(required = false) String roomId){
  97. if(roomId == null){
  98. throw new BusinessException(ResultCode.PARAM_MISS);
  99. }
  100. return ResultData.ok(roomService.getWxQrCode(roomId,"leader"));
  101. }
  102. /**
  103. * 加入房间,开启带看,退出房间
  104. * type 0 加入房间,1退出房间
  105. * role follower leader
  106. */
  107. @GetMapping("/inOrOutRoom")
  108. public ResultData inOrOutRoom(@RequestParam(required = false) String role,
  109. @RequestParam(required = false) String roomId,
  110. @RequestParam(required = false) Integer type,
  111. @RequestParam(required = false) String userId){
  112. String platform = request.getHeader("platform");
  113. roomService.inOrOutRoom(roomId,role,type,userId,platform);
  114. return ResultData.ok();
  115. }
  116. /**
  117. * 分享房间
  118. * roomId 房间ida
  119. */
  120. @GetMapping("/shareRoom")
  121. public ResultData shareRoom(@RequestParam(required = false) String roomId,
  122. @RequestParam(required = false) String userId){
  123. if(roomId == null){
  124. throw new BusinessException(ResultCode.PARAM_MISS);
  125. }
  126. roomShareLogService.saveLog(roomId,userId);
  127. return ResultData.ok();
  128. }
  129. /**
  130. * 获取房间密码
  131. */
  132. @PostMapping("/checkRoomVisitPassword")
  133. public ResultData checkRoomVisitPassword(@RequestBody CheckRoomPasswordParam param){
  134. if(StringUtils.isBlank(param.getRoomId()) || StringUtils.isBlank(param.getPassword())){
  135. throw new BusinessException(ResultCode.PARAM_MISS);
  136. }
  137. String roomId = param.getRoomId();
  138. if(param.getRoomId().contains("_")){
  139. roomId = param.getRoomId().split("_")[0];
  140. }
  141. Room room = roomService.getById(roomId);
  142. String pwd = MD5.create().digestHex(room.getVisitPassword());
  143. Boolean flag = pwd.equals(param.getPassword());
  144. return ResultData.ok(flag);
  145. }
  146. //火调解散房间
  147. @GetMapping("/dissolveTheRoom")
  148. public ResultData dissolveTheRoom(@RequestParam(required = false) String roomId){
  149. roomService.dissolveTheRoom(roomId);
  150. return ResultData.ok();
  151. }
  152. //火调开启房间
  153. @GetMapping("/openTheRoom")
  154. public ResultData openTheRoom(@RequestParam(required = false) String roomId){
  155. roomService.openTheRoom(roomId);
  156. return ResultData.ok();
  157. }
  158. }