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 CountServerStatusAudited() { return null; } @Override public JSONObject calTop10UserForInvokingResource(Map map) { List list=JitMonitorMapper.calTop10UserForInvokingResource(map); Map unit=new HashMap(); JSONObject json=new JSONObject(); list.forEach(new Consumer() { @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 calTop10SysForInvokingResource(Map map) { List list=JitMonitorMapper.calTop10SysForInvokingResource(map); list.forEach(new Consumer() { @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 getTop10ResourceByActionType(Map map) { List list=JitMonitorMapper.getTop10ResourceByActionType(map); return list; } @Override public List getGisResNumByResStatus() { List list=JitMonitorMapper.getGisResNumByResStatus(); return list; } @Override public List getActiveResource(Map map) { List list=JitMonitorMapper.getActiveResource(map); return list; } @Override public List getResourceAssignTimesCount(Map map) { List list=JitMonitorMapper.getResourceAssignTimesCount(map); return list; } @Override public List queryResourceLog(Map map) { List list=JitMonitorMapper.queryResourceLog(map); return list; } @Override public List selectResActionRecordByResourceId(Map map) { return JitMonitorMapper.selectResActionRecordByResourceId(map); } }