This commit is contained in:
张良(004796)
2024-01-18 18:40:07 +08:00
parent 3e5b7b9984
commit 715cb4474a
3 changed files with 36 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
import com.ruoyi.cai.manager.CurrentUserManager; import com.ruoyi.cai.manager.CurrentUserManager;
import com.ruoyi.cai.service.UserAlbumService; import com.ruoyi.cai.service.UserAlbumService;
import com.ruoyi.cai.service.UserMemberService; import com.ruoyi.cai.service.UserMemberService;
import com.ruoyi.cai.service.UserOnlineService;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
@@ -17,6 +18,7 @@ import com.ruoyi.common.helper.LoginHelper;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -26,6 +28,7 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/api/user") @RequestMapping("/api/user")
@Tag(name = "用户相关接口") @Tag(name = "用户相关接口")
@Slf4j
public class UserAppController { public class UserAppController {
@Autowired @Autowired
private CurrentUserManager currentUserManager; private CurrentUserManager currentUserManager;
@@ -33,6 +36,19 @@ public class UserAppController {
private UserAlbumService userAlbumService; private UserAlbumService userAlbumService;
@Autowired @Autowired
private UserMemberService userMemberService; private UserMemberService userMemberService;
@Autowired
private UserOnlineService userOnlineService;
@GetMapping("/更新用户在线状态")
@Operation(summary = "更新用户在线状态")
@Log(title = "更新用户在线状态", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Void> activeUpdate(){
try {
userOnlineService.activeUpdate();
}catch (Exception e){
log.error("更新当前用户失败");
}
return R.ok();
}
@GetMapping("/info") @GetMapping("/info")
@Operation(summary = "当前用户信息") @Operation(summary = "当前用户信息")

View File

@@ -15,4 +15,8 @@ public interface UserOnlineService extends IService<UserOnline> {
UserOnline getByUserId(Long userId); UserOnline getByUserId(Long userId);
OnlineStatusVo onlineStatus(Long userId, Integer openVideoStatus, Integer videoStatus, Integer isAnchor); OnlineStatusVo onlineStatus(Long userId, Integer openVideoStatus, Integer videoStatus, Integer isAnchor);
void activeUpdate();
} }

View File

@@ -6,9 +6,12 @@ import com.ruoyi.cai.domain.UserOnline;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo; import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
import com.ruoyi.cai.mapper.UserOnlineMapper; import com.ruoyi.cai.mapper.UserOnlineMapper;
import com.ruoyi.cai.service.UserOnlineService; import com.ruoyi.cai.service.UserOnlineService;
import com.ruoyi.common.helper.LoginHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
/** /**
* 用户在线状态Service业务层处理 * 用户在线状态Service业务层处理
* *
@@ -55,4 +58,17 @@ public class UserOnlineServiceImpl extends ServiceImpl<UserOnlineMapper, UserOnl
return vo; return vo;
} }
@Override
public void activeUpdate() {
Long userId = LoginHelper.getUserId();
UserOnline userOnline = this.getByUserId(userId);
if(userOnline == null){
return;
}
this.update(Wrappers.lambdaUpdate(UserOnline.class)
.eq(UserOnline::getUserId,userId)
.set(UserOnline::getStatus,1)
.set(UserOnline::getLastLiveTime, LocalDateTime.now()));
}
} }