package cn.huge.module.meet.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.base.config.CurrentUser; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mediate.constant.MeetBaseConstsEnum; import cn.huge.module.meet.domain.dto.WindowInMeetInfo; import cn.huge.module.meet.domain.dto.WindowMediResultDTO; import cn.huge.module.meet.service.MeetInfoService; import cn.huge.module.meet.service.MeetVideoService; import lombok.extern.slf4j.Slf4j; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; /** * @author zhouxiantao * @create 2024-11-20 9:16 */ @Slf4j @RestController @RequestMapping("/api/web/meetInfo") public class MeetInfoWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private MeetInfoService service; @Autowired private MeetVideoService meetVideoService; /** * PC端调解视窗-添加预约会议信息 * * @param meetInfo 预约会议信息 * @return Object * @url {ctx}/api/web/meetInfo/addMeetInfo */ @PostMapping("/addMeetInfo") public Object addMeetInfo(@CurrentUser String userId, @RequestBody WindowInMeetInfo meetInfo) { try { service.addMeetInfo(userId, meetInfo); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.addMeetInfo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端调解视窗-添加云会议号 * * @param meetInfo 预约会议信息 * @return Object * @url {ctx}/api/web/meetInfo/addRoomInfo */ @PostMapping("/addRoomInfo") public Object addRoomInfo(@CurrentUser String userId, @RequestBody WindowInMeetInfo meetInfo) { try { service.addRoomInfo(userId, meetInfo); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.addRoomInfo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端调解视窗-查看预约会议记录 * * @param caseId 纠纷编号 * @return Object * @url {ctx}/api/web/meetInfo/getMeetInfo */ @GetMapping("/getMeetInfo") public Object getMeetInfo(@RequestParam(value = "caseId") String caseId) { try { return ReturnSucUtils.getRepInfo(service.getMeetInfo(caseId)); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.getMeetInfo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端调解视窗-删除预约会议信息 * * @param id 预约会议信息 * @return Object * @url {ctx}/api/web/meetInfo/delMeetInfo */ @GetMapping("/delMeetInfo") public Object delMeetInfo(@RequestParam(value = "id") String id) { try { service.delMeetInfo(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.delMeetInfo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端调解视窗-结束调解-反馈结果 * * @param windowMediResultDTO 调解结果反馈对象 * @return Object * @url {ctx}/api/web/meetInfo/saveVideo */ @PostMapping("/saveVideo") public Object saveVideo(@CurrentUser String userId, @RequestBody WindowMediResultDTO windowMediResultDTO) { try { service.saveVideo(windowMediResultDTO); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.saveVideo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端调解视窗-查看预约会议记录 * * @param caseId 纠纷编号 * @return Object * @url {ctx}/api/web/meetInfo/getVideo */ @GetMapping("/getVideo") public Object getVideo(@RequestParam(value = "caseId") String caseId) { try { return ReturnSucUtils.getRepInfo(service.getVideo(caseId)); } catch (Exception e) { log.error("Controller接口[MeetInfoWebController.getVideo]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } @RequestMapping("/down-video") public Object downLoadVideo(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "meetType") String meetType) { meetVideoService.saveCloudVideo(caseId, meetType, true); return ReturnSucUtils.getRepInfo(); } }