‘liusuyi’
2023-08-24 a6c3b8e6eb7a0d48649cfa93487532e62c353d37
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,26 @@
    @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) {
                    Boolean appOnlineState = sysUser.getAppOnlineState().equals("1");
                    Boolean online = rongCloudService.checkOnline(sysUser.getUserId());
                    if (!appOnlineState.equals(online)) {
                        sysUser.setAppOnlineState(online ? "1" : "0");
                        sysUserService.updateUserProfile(sysUser);
                    }
                }
                sysUserService.updateUserProfile(sysUser);
            }
        } catch (Exception ex) {
            log.error("融云在线接口异常:" + ex.getMessage());
        }
    }
}