aijinhui
2023-09-06 94957a09881d41800588afeb6b357c29d2f2cdc3
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.rongcloud.service.RongCloudService;
import com.ruoyi.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -20,6 +21,7 @@
 * @Version: 1.0
 **/
@Component("RongCloudTask")
@Slf4j
public class RongCloudTask {
    @Resource
@@ -27,19 +29,30 @@
    @Resource
    RongCloudService rongCloudService;
    public void getAppUserOnlineStateTask()
    {
        List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
        if(SysUserList.size()>0) {
            for (SysUser sysUser : SysUserList) {
                Boolean online = rongCloudService.checkOnline(sysUser.getUserId());
                if (online) {
                    sysUser.setAppOnlineState("1");
                } else {
                    sysUser.setAppOnlineState("0");
    /**
     * 定时获取app用户在线状态
     * 刘苏义
     * 2023/8/9 9:17:48
     */
    public void getAppUserOnlineStateTask() {
        try {
            List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
            if (SysUserList.size() > 0) {
                for (SysUser sysUser : SysUserList) {
                    String state = sysUser.getAppOnlineState();//获取当前用户的在线状态
                    Boolean online = rongCloudService.checkOnline(sysUser.getUserId());//从融云获取在线状态
                    if (state != null) {
                        Boolean appOnlineState = state.equals("1");
                        if (appOnlineState == online) {
                            continue;
                        }
                    }
                    sysUser.setAppOnlineState(online ? "1" : "0");
                    sysUserService.updateUserProfile(sysUser);
                }
                sysUserService.updateUser(sysUser);
            }
        } catch (Exception ex) {
            log.error("融云在线接口异常:" + ex.getMessage());
        }
    }
}