艾金辉
2023-07-22 64c7668818aa8272c0aae206a3c0f7007ca38e5d
ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/app/controller/ArdAppPositionController.java ÐÞ¸Ä
@@ -1,19 +1,28 @@
package com.ruoyi.app.controller;
package com.ruoyi.app.position.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.ruoyi.app.domain.ArdAppPosition;
import com.ruoyi.app.service.IArdAppPositionService;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.app.position.domain.ArdAppPosition;
import com.ruoyi.app.position.service.IArdAppPositionService;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
import com.ruoyi.rongcloud.service.RongCloudService;
import com.ruoyi.system.domain.SysUserOnline;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserOnlineService;
import com.ruoyi.system.service.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -27,12 +36,9 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import static org.bytedeco.javacv.FrameGrabber.list;
import java.util.*;
/**
 * app位置Controller
@@ -50,7 +56,7 @@
    @Autowired
    private ISysUserService sysUserService;
    @Autowired
    private ISysRoleService roleService;
    private RongCloudService rongCloudService;
    /**
     * æŸ¥è¯¢app位置列表
@@ -134,6 +140,58 @@
        return AjaxResult.success(list);
    }
    /**
     * èŽ·å–æ‰€æœ‰app用户
     */
    @ApiOperation("获取所有app用户")
    @GetMapping("/getAppUserlist")
    public AjaxResult getAppUserlist(Long deptId)
    {
        SysUser user=new SysUser();
        user.setDeptId(deptId);
        List<SysUser> list = sysUserService.selectAppUserList(user);
        return AjaxResult.success(list);
    }
    /**
     * èŽ·å–æ‰€æœ‰app用户
     */
    @ApiOperation("获取所有app用户pc")
    @GetMapping("/getAppUserForPclist")
    public AjaxResult getAppUserForPclist(Long deptId)
    {
        SysUser user=new SysUser();
        user.setDeptId(deptId);
        List<SysUser> list = sysUserService.selectAppUserList(user);
        List<SysUser> onLineList=new ArrayList<>();
        List<SysUser> offLineList=new ArrayList<>();
        for(SysUser sysUser:list)
        {
            Boolean online = rongCloudService.checkOnline(sysUser.getUserId());
            if(online)
            {
                onLineList.add(sysUser);
            }
            else
            {
                offLineList.add(sysUser);
            }
        }
        Map<String,Object> onlineMap=new HashMap<>();
        onlineMap.put("children",onLineList);
        onlineMap.put("name","在线用户("+onLineList.size()+")");
        onlineMap.put("disabled",true);
        onlineMap.put("id","onLine");
        Map<String,Object> offlineMap=new HashMap<>();
        offlineMap.put("children",offLineList);
        offlineMap.put("name","离线用户("+offLineList.size()+")");
        offlineMap.put("disabled",true);
        offlineMap.put("id","offLine");
        List< Map<String,Object> > lists = new ArrayList<>();
        lists.add(onlineMap);
        lists.add(offlineMap);
        return AjaxResult.success(lists);
    }
    /**
     * èŽ·å–ç”¨æˆ·è¯¦æƒ…
     */
    @ApiOperation("获取用户详情")
@@ -143,4 +201,11 @@
        SysUser sysUser = sysUserService.selectUserById(userId);
        return AjaxResult.success(sysUser);
    }
    @PostMapping("/uploadFile")
    @ApiOperation("上传文件")
    public AjaxResult uploadFile(MultipartFile file,String type)
    {
        String url = MinioUtils.putObjectAndGetUrl("app",type, file);
        return AjaxResult.success(url);
    }
}