From a6731e8595067919c21a6c5afad3934b96dfbf3f Mon Sep 17 00:00:00 2001 From: 18792927508 <1322446236@qq.com> Date: Tue, 14 Nov 2023 11:35:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E7=9B=B8=E5=85=B3=EF=BC=8C?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=A1=88=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseApplicationController.java | 22 ++++-- .../src/main/resources/application-druid.yml | 2 +- .../src/main/resources/application.yml | 6 +- .../domain/ReservedConference.java | 7 +- .../domain/vo/ReservedConferenceVO.java | 1 - .../mapper/CaseApplicationMapper.java | 7 +- .../mapper/ReservedConferenceMapper.java | 2 +- .../service/ICaseApplicationService.java | 7 +- .../impl/CaseApplicationServiceImpl.java | 72 +++++++++++-------- .../wisdomarbitrate/CaseApplicationMapper.xml | 24 +++++-- .../ReservedConferenceMapper.xml | 8 ++- 11 files changed, 102 insertions(+), 56 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java index 0b2c994..84d2b55 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java @@ -377,16 +377,24 @@ public class CaseApplicationController extends BaseController { } /** - * 腾讯云销毁房间回调 - * @param body - * @param request + * 生成房间号 * @return */ @Anonymous - @PostMapping("/destroyRoomBack") - public AjaxResult destroyRoomBack( @RequestBody String body, HttpServletRequest request) { - caseApplicationService.destroyRoomBack(body,request); - return success(); + @GetMapping("/createRoomId") + public AjaxResult createRoomId(@RequestParam("caseId") Long caseId) { + + return success(caseApplicationService.createRoomId(caseId)); + } + /** + * 删除房间号 + * @return + */ + @Anonymous + @PostMapping("/deleteRoom") + public AjaxResult deleteRoom(@RequestParam("roomId") String roomId) { + + return caseApplicationService.deleteRoom(roomId); } /** * 根据案件id查询已预约的会议 diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 4da42d5..fb697f9 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://121.40.189.20:3306/smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://121.40.189.20:3306/test_smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: YMzc157# # 从库数据源 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 7aa036c..2099c50 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -18,7 +18,7 @@ ruoyi: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 9001 + port: 8001 servlet: # 应用的访问路径 context-path: / @@ -176,6 +176,6 @@ identityAuthentication: # 腾讯云即时通信相关配置 imConfig: # sdkAppId - sdkAppId: 1600011167 + sdkAppId: 1600012141 # 密钥 - secretKey: 17d136d9327576a247f991bdfed3a6d14cebc7d540a52245086829c3a1421a86 \ No newline at end of file + secretKey: 6075dc0ad9ae26d4186bfdffc192c649f2826140c84974f2e2b882997fcc8a54 \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ReservedConference.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ReservedConference.java index 20fa84e..de4886f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ReservedConference.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ReservedConference.java @@ -35,14 +35,19 @@ public class ReservedConference { */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date scheduleEndTime; + /** + * 会议类型,0-创建会议,1-预约会议 + */ + private Integer roomType; public ReservedConference() { } - public ReservedConference(Long caseId, String roomId, Date scheduleStartTime, Date scheduleEndTime) { + public ReservedConference(Long caseId, String roomId, Date scheduleStartTime, Date scheduleEndTime,Integer roomType) { this.caseId = caseId; this.roomId = roomId; this.scheduleStartTime = scheduleStartTime; this.scheduleEndTime = scheduleEndTime; + this.roomType = roomType; } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ReservedConferenceVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ReservedConferenceVO.java index fa755db..d0457eb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ReservedConferenceVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ReservedConferenceVO.java @@ -22,7 +22,6 @@ public class ReservedConferenceVO { /** * 房间号id */ - @NotEmpty(message = "房主id不能为空") private String roomId; @NotNull(message = "会议开始时间不能为空") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java index 1bbe1d4..678590e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java @@ -79,7 +79,7 @@ public interface CaseApplicationMapper { /** * 批量删除案件 - * @param caseApplication + * @param ids * @return */ int batchDeletecaseApplication(@Param("ids") List ids); @@ -104,4 +104,9 @@ public interface CaseApplicationMapper { * @return */ List selectHandledCase(CaseApplication caseApplication); + /** + * 查询最大房间号 + * @return + */ + Integer selectMaxRoomId(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ReservedConferenceMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ReservedConferenceMapper.java index b0b1bb1..2dac90b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ReservedConferenceMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ReservedConferenceMapper.java @@ -33,7 +33,7 @@ public interface ReservedConferenceMapper { * 根据房间号删除 * @param roomId */ - void deleteByRoomId(@Param("roomId")String roomId); + Integer deleteByRoomId(@Param("roomId")String roomId); void batchDeleteByIds(@Param("ids") List ids); diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java index f5ad080..b55f3e3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java @@ -6,6 +6,7 @@ import com.ruoyi.wisdomarbitrate.domain.*; import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO; import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO; import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -98,11 +99,9 @@ public interface ICaseApplicationService { /** * 腾讯云销毁房间回调 - * @param body - * @param request * @return */ - void destroyRoomBack(String body, HttpServletRequest request); + String createRoomId(Long caseId); /** * 根据案件id查询已预约的会议 @@ -110,4 +109,6 @@ public interface ICaseApplicationService { * @return */ List reserveConferenceList(Long caseId); + + AjaxResult deleteRoom( String roomId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java index ea4f4aa..729025e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java @@ -177,7 +177,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { deptIds.add(sysUser.getDeptId()); caseApplication.setDeptIds(deptIds); } - if (StrUtil.isEmpty(caseApplication.getNameId()) && role.getRoleName().equals("申请人")) { + if ( role.getRoleName().equals("申请人")) { // 查询角色有关的用户部门 caseApplication.setApplicationOrganId(String.valueOf(sysUser.getDeptId())); } @@ -185,10 +185,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { // caseApplication.setIdCard(String.valueOf(sysUser.getIdCard())); } - if (role.getRoleName().equals("申请人")) { - // - caseApplication.setNameId(String.valueOf(sysUser.getDeptId())); - } + } @@ -241,9 +238,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { deptIds.add(sysUser.getDeptId()); caseApplication.setDeptIds(deptIds); } - if (StrUtil.isEmpty(caseApplication.getNameId()) && role.getRoleName().equals("申请人")) { + if ( role.getRoleName().equals("申请人")) { // 查询角色有关的用户部门 - caseApplication.setNameId(String.valueOf(sysUser.getDeptId())); + caseApplication.setApplicationOrganId(String.valueOf(sysUser.getDeptId())); } if (role.getRoleName().equals("被申请人")) { // @@ -2544,6 +2541,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { if (StrUtil.isEmpty(userSign)) { return AjaxResult.error("生成userSign失败"); } + // 生成房间号id + String roomId = generateRoomId(); Date startTime = reservedConferenceVO.getScheduleStartTime(); Date endTime = reservedConferenceVO.getScheduleEndTime(); Random rand = new Random(); @@ -2555,7 +2554,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { JSONObject bodyParams = new JSONObject(); JSONObject roomParams = new JSONObject(); bodyParams.put("ownerId", reservedConferenceVO.getOwnerId()); - bodyParams.put("roomId", reservedConferenceVO.getRoomId()); + bodyParams.put("roomId", roomId); bodyParams.put("scheduleStartTime", startTime); bodyParams.put("scheduleEndTime", endTime); @@ -2577,11 +2576,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { switch ((int) resJson.get("errorCode")) { case 0: // todo 不需要绑定,以后删 绑定房间号和案件id - caseApplicationMapper.bindCaseId(reservedConferenceVO.getCaseId(), reservedConferenceVO.getRoomId()); + caseApplicationMapper.bindCaseId(reservedConferenceVO.getCaseId(), roomId); // 新增预约会议表 - ReservedConference conference = new ReservedConference(reservedConferenceVO.getCaseId(), reservedConferenceVO.getRoomId(), - reservedConferenceVO.getScheduleStartTime(), reservedConferenceVO.getScheduleEndTime()); + ReservedConference conference = new ReservedConference(reservedConferenceVO.getCaseId(), roomId, + reservedConferenceVO.getScheduleStartTime(), reservedConferenceVO.getScheduleEndTime(),1); reservedConferenceMapper.insert(conference); return AjaxResult.success("预约会议成功"); @@ -2600,26 +2599,32 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } } + /** - * 销毁房间回调 - * - * @param body - * @param request + * 生成房间号 */ @Override - public void destroyRoomBack(String body, HttpServletRequest request) { - // todo 测试回调 - reservedConferenceMapper.insert(new ReservedConference(999888L, body, null, null)); - JSONObject jsonObject = (JSONObject) JSON.parse(body); - // 事件类型 - Integer eventType = jsonObject.getInteger("EventType"); - // 事件信息 - String eventInfo = jsonObject.getString("EventInfo"); - JSONObject eventInfoJson = (JSONObject) JSON.parse(eventInfo); - // 104 退出房间事件 - if (eventType == 104) { - // 删除预定会议表 - reservedConferenceMapper.deleteByRoomId(eventInfoJson.getString("RoomId")); + public String createRoomId(Long caseId) { + String roomId = generateRoomId(); + // 新增预约会议表 + ReservedConference conference = new ReservedConference(caseId, roomId, + null, null,0); + reservedConferenceMapper.insert(conference); + return roomId; + } + + /** + * 获取房间号 + * @return + */ + public String generateRoomId() { + // 查询最大房间号 + Integer maxRoomId = caseApplicationMapper.selectMaxRoomId(); + + if (null == maxRoomId || maxRoomId >999999) { + return "000001"; + } else { + return String.format("%06d", maxRoomId); } } @@ -2654,6 +2659,17 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } return result; } + + /** + * 删除房间号 + * @param roomId + * @return + */ + @Override + public AjaxResult deleteRoom(String roomId) { + + return AjaxResult.success( reservedConferenceMapper.deleteByRoomId(roomId)); + } } diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 7b684c9..88ad061 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -88,8 +88,15 @@ order by c.create_time desc,c.case_num desc - + diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ReservedConferenceMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ReservedConferenceMapper.xml index 607eda0..e2b7339 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ReservedConferenceMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ReservedConferenceMapper.xml @@ -9,12 +9,14 @@ case_id, room_id, schedule_start_time, - schedule_end_time + schedule_end_time, + room_type )values( #{caseId}, #{roomId}, #{scheduleStartTime}, - #{scheduleEndTime} + #{scheduleEndTime}, + #{roomType} ) @@ -28,7 +30,7 @@