package com.landtool.lanbase.modules.res.service.impl;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.function.Consumer;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.landtool.lanbase.common.utils.HttpOperateUtils;
|
import com.landtool.lanbase.config.SysTemPropertyConfig;
|
import com.landtool.lanbase.modules.org.entity.OrgUnit;
|
import com.landtool.lanbase.modules.org.entity.OrgUser;
|
import com.landtool.lanbase.modules.org.entity.OrgUserJoinUnit;
|
import com.landtool.lanbase.modules.org.redis.OrgUserDefUnitRedis;
|
import com.landtool.lanbase.modules.org.redis.SysSystemInfoRedis;
|
import com.landtool.lanbase.modules.org.service.OrgUnitService;
|
import com.landtool.lanbase.modules.org.service.OrgUserService;
|
import com.landtool.lanbase.modules.res.dao.JitMonitorMapper;
|
import com.landtool.lanbase.modules.res.entity.Res_ActionRecord;
|
import com.landtool.lanbase.modules.res.service.JitMonitorService;
|
import com.landtool.lanbase.modules.sys.entity.SysSysteminfo;
|
|
@Service("JitMonitorService")
|
public class JitMonitorServiceImpl implements JitMonitorService {
|
@Autowired
|
private SysTemPropertyConfig tokenConfig;
|
@Autowired
|
private OrgUserService orgUserService;
|
@Autowired
|
private SysSystemInfoRedis sysSystemInfoRedis;
|
@Autowired
|
private OrgUserDefUnitRedis orgUserDefUnitRedis;
|
@Autowired
|
private OrgUnitService orgUnitService;
|
@Resource
|
private JitMonitorMapper JitMonitorMapper;
|
@Override
|
public List<Map> CountServerStatusAudited() {
|
return null;
|
|
}
|
|
@Override
|
public JSONObject calTop10UserForInvokingResource(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.calTop10UserForInvokingResource(map);
|
|
Map<String,Integer> unit=new HashMap<String, Integer>();
|
JSONObject json=new JSONObject();
|
list.forEach(new Consumer<Map>() {
|
|
@Override
|
public void accept(Map t) {
|
Long userid=Long.valueOf(t.get("USERID").toString());
|
OrgUser username=orgUserService.queryObject(Long.valueOf(t.get("USERID").toString()));
|
t.put("username", username);
|
|
OrgUnit org= orgUserService.getDefaultUnit(userid);
|
if(unit.containsKey(org.getUnitid()+"/"+org.getUnitname())){
|
unit.put(org.getUnitid()+"/"+org.getUnitname(), unit.get(org.getUnitid()+"/"+org.getUnitname())+Integer.valueOf(t.get("COUNT").toString()));
|
}else{
|
unit.put(org.getUnitid()+"/"+org.getUnitname(),0);
|
}
|
}
|
|
});
|
|
json.put("usercount", list);
|
json.put("unitcount", unit);
|
return json;
|
}
|
|
@Override
|
public List<Map> calTop10SysForInvokingResource(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.calTop10SysForInvokingResource(map);
|
list.forEach(new Consumer<Map>() {
|
|
@Override
|
public void accept(Map t) {
|
SysSysteminfo sysinfo=getAppSysInfo(Long.valueOf(t.get("APPID").toString()));
|
t.put("sysinfo", sysinfo);
|
}
|
});
|
return list;
|
}
|
public SysSysteminfo getAppSysInfo(Long appid) {
|
SysSysteminfo ssi=sysSystemInfoRedis.get(appid);
|
if(ssi==null){
|
try {
|
String url = tokenConfig.getApiServer() + "/api/sys/systeminfo/getSysteminfoById/"+appid;
|
ssi = HttpOperateUtils.getJsonObject(url, SysSysteminfo.class);
|
if (ssi != null) {
|
sysSystemInfoRedis.saveOrUpdate(ssi);
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
return ssi;
|
}
|
|
|
|
@Override
|
public List<Map> getTop10ResourceByActionType(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.getTop10ResourceByActionType(map);
|
return list;
|
}
|
|
@Override
|
public List<Map> getGisResNumByResStatus() {
|
List<Map> list=JitMonitorMapper.getGisResNumByResStatus();
|
return list;
|
}
|
|
@Override
|
public List<Map> getActiveResource(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.getActiveResource(map);
|
return list;
|
}
|
|
@Override
|
public List<Map> getResourceAssignTimesCount(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.getResourceAssignTimesCount(map);
|
return list;
|
}
|
|
@Override
|
public List<Map> queryResourceLog(Map<String, Object> map) {
|
List<Map> list=JitMonitorMapper.queryResourceLog(map);
|
return list;
|
}
|
|
@Override
|
public List<Res_ActionRecord> selectResActionRecordByResourceId(Map<String, Object> map) {
|
return JitMonitorMapper.selectResActionRecordByResourceId(map);
|
}
|
|
|
}
|