jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
@@ -189,7 +189,7 @@ ErrorCode result = queueService.startBedDoctorOff(roomId, bedNo, userId, userNickname); if (result.equals(SUCCESS)) return success(0); return success(SUCCESS.getCode()); return error(result); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java
@@ -31,6 +31,9 @@ .orderByDesc(RoomDO::getId)); } @Update(" update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null") Integer resetRoom(@Param("newStatus") BedStatusEnum newStatus); @Select({ "SELECT room_id, room_name, count(1) as bed_num FROM lihu.clinic_room group by room_id;" }) List<RoomStatisticsDO> roomStatistic(); @@ -39,7 +42,8 @@ "where status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + " </foreach> );" + " </foreach> )" + " and deleted = 0;" + "</script>") List<RoomDO> simpleRoomList(@Param("curStatusList") List<BedStatusEnum> curStatusList); jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java
@@ -6,6 +6,7 @@ import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; import cn.lihu.jh.module.system.api.oauth2.OAuth2TokenApi; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -30,6 +31,9 @@ @Resource private RoomMapper roomMapper; @Resource private OAuth2TokenApi oAuth2TokenApi; @Override public Integer createRoom(RoomSaveReqVO createReqVO) { @@ -86,4 +90,17 @@ bedStatusEnumList.add(BedStatusEnum.PAUSE); return roomMapper.simpleRoomList(bedStatusEnumList); } private void resetRoom() { List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); bedStatusEnumList.add(BedStatusEnum.PAUSE); List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList); Integer ret = roomMapper.resetRoom(BedStatusEnum.CLOSED); // List<Long> userIdList = roomDOList.stream().map(roomDO -> roomDO.getDocId()).toList(); oAuth2TokenApi.tick(userIdList); } } jh-module-system/jh-module-system-api/src/main/java/cn/lihu/jh/module/system/api/oauth2/OAuth2TokenApi.java
@@ -5,6 +5,7 @@ import cn.lihu.jh.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; import javax.validation.Valid; import java.util.List; /** * OAuth2.0 Token API 接口 @@ -46,4 +47,10 @@ */ OAuth2AccessTokenRespDTO refreshAccessToken(String refreshToken, String clientId); /** * 踢人 * @param userIdList * @return void */ void tick(List<Long> userIdList); } jh-module-system/jh-module-system-biz/src/main/java/cn/lihu/jh/module/system/api/oauth2/OAuth2TokenApiImpl.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * OAuth2.0 Token API 实现类 @@ -46,4 +47,9 @@ return BeanUtils.toBean(accessTokenDO, OAuth2AccessTokenRespDTO.class); } @Override public void tick(List<Long> userIdList) { oauth2TokenService.tick(userIdList); } } jh-module-system/jh-module-system-biz/src/main/java/cn/lihu/jh/module/system/service/oauth2/OAuth2TokenService.java
@@ -77,4 +77,10 @@ */ PageResult<OAuth2AccessTokenDO> getAccessTokenPage(OAuth2AccessTokenPageReqVO reqVO); /** * 踢人 * @param userIdList * @return void */ void tick(List<Long> userIdList); } jh-module-system/jh-module-system-biz/src/main/java/cn/lihu/jh/module/system/service/oauth2/OAuth2TokenServiceImpl.java
@@ -144,6 +144,19 @@ return oauth2AccessTokenMapper.selectPage(reqVO); } @Override public void tick(List<Long> userIdList) { userIdList.forEach((userId)-> { OAuth2AccessTokenPageReqVO reqVO = new OAuth2AccessTokenPageReqVO(); reqVO.setUserId( userId ); PageResult<OAuth2AccessTokenDO> pageResult = oauth2AccessTokenMapper.selectPage(reqVO); List<OAuth2AccessTokenDO> oAuth2AccessTokenDOList = pageResult.getList(); oAuth2AccessTokenDOList.forEach((oAuth2AccessTokenDO) -> { removeAccessToken(oAuth2AccessTokenDO.getAccessToken()); }); }); } private OAuth2AccessTokenDO createOAuth2AccessToken(OAuth2RefreshTokenDO refreshTokenDO, OAuth2ClientDO clientDO) { OAuth2AccessTokenDO accessTokenDO = new OAuth2AccessTokenDO().setAccessToken(generateAccessToken()) .setUserId(refreshTokenDO.getUserId()).setUserType(refreshTokenDO.getUserType())