fix:1.优化查询 2.异常预处理

This commit is contained in:
nieziyan 2023-11-28 18:35:53 +08:00
parent b5775437e1
commit b4fae893cb
24 changed files with 156 additions and 200 deletions

View File

@ -13,9 +13,4 @@ public class AlarmRuleVo extends QueryRequest implements Serializable {
private String sourceType; private String sourceType;
private String sourceId; private String sourceId;
private Integer pageStart;
// 标记根据条件查询但不进行分页
private String pageFlag;
} }

View File

@ -15,9 +15,4 @@ public class AlarmVo extends QueryRequest implements Serializable {
private String startDate; private String startDate;
private String endDate; private String endDate;
private Integer pageStart;
// 标记根据条件查询但不进行分页
private String pageFlag;
} }

View File

@ -9,6 +9,4 @@ public class NuclideAvgVo extends QueryRequest {
private String startDate; private String startDate;
private String endDate; private String endDate;
private int pageStart;
} }

View File

@ -14,6 +14,4 @@ public class SourceVo extends QueryRequest implements Serializable {
private String startDate; private String startDate;
private String endDate; private String endDate;
private Integer pageStart;
} }

View File

@ -32,4 +32,8 @@ public class EmailDto implements Serializable {
private String stoerCapacity; private String stoerCapacity;
private boolean stoerRed; private boolean stoerRed;
private String username; // 邮箱用户名
private Integer isQiye; // 是否企业邮箱
} }

View File

@ -30,7 +30,7 @@ public class SysServerController {
@GetMapping("findInfo") @GetMapping("findInfo")
@ApiOperation(value = "服务器数据详情信息", notes = "服务器数据详情信息") @ApiOperation(value = "服务器数据详情信息", notes = "服务器数据详情信息")
public Result findInfo(String id){ public Result findInfo(@RequestParam String id){
return sysServerService.findInfo(id); return sysServerService.findInfo(id);
} }
@ -48,7 +48,7 @@ public class SysServerController {
@DeleteMapping("deleteById") @DeleteMapping("deleteById")
@ApiOperation(value = "删除服务器数据信息", notes = "删除服务器数据信息") @ApiOperation(value = "删除服务器数据信息", notes = "删除服务器数据信息")
public Result deleteById(String id){ public Result deleteById(@RequestParam String id){
return sysServerService.deleteById(id); return sysServerService.deleteById(id);
} }

View File

@ -1,5 +1,6 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.base.dto.NuclideAvgDto; import org.jeecg.modules.base.dto.NuclideAvgDto;
import org.jeecg.modules.base.entity.postgre.AlarmAnalysisNuclideAvg; import org.jeecg.modules.base.entity.postgre.AlarmAnalysisNuclideAvg;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -9,5 +10,5 @@ import java.util.Map;
public interface AlarmAnalysisNuclideAvgMapper extends BaseMapper<AlarmAnalysisNuclideAvg> { public interface AlarmAnalysisNuclideAvgMapper extends BaseMapper<AlarmAnalysisNuclideAvg> {
List<NuclideAvgDto> findPage(Map<String,Object> params); Page<NuclideAvgDto> findPage(Page<?> page, Map<String, Object> params);
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.base.dto.AlarmRuleDto; import org.jeecg.modules.base.dto.AlarmRuleDto;
import org.jeecg.modules.base.dto.AlarmRuleInfo; import org.jeecg.modules.base.dto.AlarmRuleInfo;
import org.jeecg.modules.base.entity.postgre.AlarmRule; import org.jeecg.modules.base.entity.postgre.AlarmRule;
@ -10,7 +11,7 @@ import java.util.Map;
public interface AlarmRuleMapper extends BaseMapper<AlarmRule> { public interface AlarmRuleMapper extends BaseMapper<AlarmRule> {
List<AlarmRuleDto> findPage(Map<String, Object> params); Page<AlarmRuleDto> findPage(Page<?> page, Map<String, Object> params);
AlarmRuleInfo findInfo(String alarmRuleId); AlarmRuleInfo findInfo(String alarmRuleId);
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.base.dto.DBInfo; import org.jeecg.modules.base.dto.DBInfo;
import org.jeecg.modules.base.dto.DatabaseDto; import org.jeecg.modules.base.dto.DatabaseDto;
@ -12,7 +13,7 @@ import java.util.Map;
public interface SysDatabaseMapper extends BaseMapper<SysDatabase> { public interface SysDatabaseMapper extends BaseMapper<SysDatabase> {
List<AlarmHistory> findAlarmHistory(Map<String,Object> params); Page<AlarmHistory> findAlarmHistory(Page<?> page, Map<String,Object> params);
List<DatabaseDto> findPage(Map<String,Object> params); Page<DatabaseDto> findPage(Page<?> page, Map<String,Object> params);
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.base.dto.*; import org.jeecg.modules.base.dto.*;
import org.jeecg.modules.base.entity.postgre.SysServer; import org.jeecg.modules.base.entity.postgre.SysServer;
@ -11,11 +12,11 @@ import java.util.Map;
public interface SysServerMapper extends BaseMapper<SysServer> { public interface SysServerMapper extends BaseMapper<SysServer> {
List<AlarmHistory> findAlarmHistory(Map<String,Object> params); Page<AlarmHistory> findAlarmHistory(Page<?> page, Map<String,Object> params);
List<ServerDto> findPage(Map<String,Object> params); Page<ServerDto> findPage(Page<?> page, Map<String,Object> params);
List<SourceDto> pageAll(String itemName); Page<SourceDto> pageAll(Page<?> page, String itemName);
List<AlarmInfo> alarmInfo(String sourceId); Page<AlarmInfo> alarmInfo(Page<?> page, String sourceId);
} }

View File

@ -17,16 +17,13 @@
FROM FROM
alarm_analysis_nuclide_avg alarm_analysis_nuclide_avg
<where> <where>
<if test="startDate != null and startDate != ''"> <if test="params.startDate != null and params.startDate != ''">
cacl_date &gt;= #{startDate} cacl_date &gt;= #{params.startDate}
</if> </if>
<if test="endDate != null and endDate != ''"> <if test="params.endDate != null and params.endDate != ''">
AND cacl_date &lt;= #{endDate} AND cacl_date &lt;= #{params.endDate}
</if> </if>
</where> </where>
ORDER BY cacl_date DESC ORDER BY cacl_date DESC
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
</mapper> </mapper>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mapper.AlarmRuleMapper"> <mapper namespace="org.jeecg.modules.mapper.AlarmRuleMapper">
<select id="findPage" parameterType="Map" resultType="org.jeecg.modules.base.dto.AlarmRuleDto"> <select id="findPage" resultType="org.jeecg.modules.base.dto.AlarmRuleDto">
SELECT SELECT
* *
FROM FROM
@ -28,20 +28,17 @@
INNER JOIN alarm_contact_group g ON g.id = r.contact_id INNER JOIN alarm_contact_group g ON g.id = r.contact_id
) AS res ) AS res
<where> <where>
<if test="enabled != null"> <if test="params.enabled != null">
enabled = #{enabled} enabled = #{params.enabled}
</if> </if>
<if test="sourceType != null and sourceType != ''"> <if test="params.sourceType != null and params.sourceType != ''">
AND source_type = #{sourceType} AND source_type = #{params.sourceType}
</if> </if>
<if test="sourceId != null and sourceId != ''"> <if test="params.sourceId != null and params.sourceId != ''">
AND source_id = #{sourceId} AND source_id = #{params.sourceId}
</if> </if>
</where> </where>
ORDER BY enabled DESC, create_time DESC ORDER BY enabled DESC, create_time DESC
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
<select id="findInfo" parameterType="String" resultType="org.jeecg.modules.base.dto.AlarmRuleInfo"> <select id="findInfo" parameterType="String" resultType="org.jeecg.modules.base.dto.AlarmRuleInfo">

View File

@ -32,6 +32,8 @@
SELECT SELECT
e.ID, e.ID,
e.NAME, e.NAME,
e.username,
e.is_qiye,
e.enabled, e.enabled,
e.email_server_address, e.email_server_address,
COUNT (l.id) AS alarms COUNT (l.id) AS alarms

View File

@ -13,23 +13,20 @@
INNER JOIN alarm_rule r ON r.source_id = s.id INNER JOIN alarm_rule r ON r.source_id = s.id
INNER JOIN alarm_log l ON l.rule_id = r.id INNER JOIN alarm_log l ON l.rule_id = r.id
<where> <where>
<if test="sourceId != null and sourceId.size() > 0"> <if test="params.sourceId != null and params.sourceId.size() > 0">
s.id IN s.id IN
<foreach collection="sourceId" index="index" open="(" close=")" item="item" separator=","> <foreach collection="params.sourceId" index="index" open="(" close=")" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="startDate != null and startDate != ''"> <if test="params.startDate != null and params.startDate != ''">
AND l.alarm_start_date &gt;= #{startDate} AND l.alarm_start_date &gt;= #{params.startDate}
</if> </if>
<if test="endDate != null and endDate != ''"> <if test="params.endDate != null and params.endDate != ''">
AND l.alarm_start_date &lt;= #{endDate} AND l.alarm_start_date &lt;= #{params.endDate}
</if> </if>
</where> </where>
ORDER BY alarm_start_date DESC ORDER BY alarm_start_date DESC
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
<select id="findPage" resultType="org.jeecg.modules.base.dto.ServerDto"> <select id="findPage" resultType="org.jeecg.modules.base.dto.ServerDto">
SELECT SELECT
@ -42,11 +39,8 @@
sys_server s sys_server s
LEFT JOIN alarm_rule r ON s.ID = r.source_id LEFT JOIN alarm_rule r ON s.ID = r.source_id
LEFT JOIN alarm_log l ON r.ID = l.rule_id LEFT JOIN alarm_log l ON r.ID = l.rule_id
AND l.alarm_start_date BETWEEN #{startDate} AND #{endDate} AND l.alarm_start_date BETWEEN #{params.startDate} AND #{params.endDate}
GROUP BY s.ID, s.NAME, s.host_id, s.ip_address GROUP BY s.ID, s.NAME, s.host_id, s.ip_address
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
<select id="pageAll" resultType="org.jeecg.modules.base.dto.SourceDto"> <select id="pageAll" resultType="org.jeecg.modules.base.dto.SourceDto">
SELECT SELECT

View File

@ -14,23 +14,20 @@
INNER JOIN alarm_rule r ON r.source_id = d.id INNER JOIN alarm_rule r ON r.source_id = d.id
INNER JOIN alarm_log l ON l.rule_id = r.id INNER JOIN alarm_log l ON l.rule_id = r.id
<where> <where>
<if test="sourceId != null and sourceId.size() > 0"> <if test="params.sourceId != null and params.sourceId.size() > 0">
d.id IN d.id IN
<foreach collection="sourceId" index="index" open="(" close=")" item="item" separator=","> <foreach collection="params.sourceId" index="index" open="(" close=")" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="startDate != null and startDate != ''"> <if test="params.startDate != null and params.startDate != ''">
AND l.alarm_start_date &gt;= #{startDate} AND l.alarm_start_date &gt;= #{params.startDate}
</if> </if>
<if test="endDate != null and endDate != ''"> <if test="params.endDate != null and params.endDate != ''">
AND l.alarm_start_date &lt;= #{endDate} AND l.alarm_start_date &lt;= #{params.endDate}
</if> </if>
</where> </where>
ORDER BY alarm_start_date DESC ORDER BY alarm_start_date DESC
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
<select id="findPage" resultType="org.jeecg.modules.base.dto.DatabaseDto"> <select id="findPage" resultType="org.jeecg.modules.base.dto.DatabaseDto">
SELECT SELECT
@ -43,10 +40,7 @@
sys_database d sys_database d
LEFT JOIN alarm_rule r ON d.ID = r.source_id LEFT JOIN alarm_rule r ON d.ID = r.source_id
LEFT JOIN alarm_log l ON r.ID = l.rule_id LEFT JOIN alarm_log l ON r.ID = l.rule_id
AND l.alarm_start_date BETWEEN #{startDate} AND #{endDate} AND l.alarm_start_date BETWEEN #{params.startDate} AND #{params.endDate}
GROUP BY d.ID, d.NAME, d.db_url, d.db_type GROUP BY d.ID, d.NAME, d.db_url, d.db_type
<if test="pageFlag == null">
LIMIT #{pageSize} OFFSET #{pageStart}
</if>
</select> </select>
</mapper> </mapper>

View File

@ -6,34 +6,40 @@ import com.netease.qiye.qiyeopenplatform.sdk.QiyeOpenPlatSDK;
import com.netease.qiye.qiyeopenplatform.sdk.QiyeOpenPlatSDKConfig; import com.netease.qiye.qiyeopenplatform.sdk.QiyeOpenPlatSDKConfig;
import com.netease.qiye.qiyeopenplatform.sdk.dto.Q; import com.netease.qiye.qiyeopenplatform.sdk.dto.Q;
import com.netease.qiye.qiyeopenplatform.sdk.dto.R; import com.netease.qiye.qiyeopenplatform.sdk.dto.R;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
@Slf4j
public class InstanceSDK { public class InstanceSDK {
public static QiyeOpenPlatSDK getInstance() { public static QiyeOpenPlatSDK getInstance() {
// 获取nacos armd.yaml配置文件中企业邮箱的相关配置信息 QiyeOpenPlatSDK qiyeOpenPlatSDK = null;
Property property = Property.getInstance(); try {
String appId = property.getAppId(); // 获取nacos armd.yaml配置文件中企业邮箱的相关配置信息
String orgOpenId = property.getOrgOpenId(); Property property = Property.getInstance();
String authCode = property.getAuthCode(); String appId = property.getAppId();
String urlPrefix = property.getUrlPrefix(); String orgOpenId = property.getOrgOpenId();
// 使用配置信息初始化配置类 String authCode = property.getAuthCode();
QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder() String urlPrefix = property.getUrlPrefix();
//应用ID // 使用配置信息初始化配置类
.appId(appId) QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder()
//企业OpenID //应用ID
.orgOpenId(orgOpenId) .appId(appId)
//服务地址信息 //企业OpenID
.urlPrefix(urlPrefix) .orgOpenId(orgOpenId)
.build(); //服务地址信息
// 使用配置类创建SDK实例 .urlPrefix(urlPrefix)
QiyeOpenPlatSDK qiyeOpenPlatSDK = new QiyeOpenPlatSDK("qiyeOpenPlatSDK", qiyeOpenPlatSDKConfig); .build();
// 通过授权码登录 获取Token类并给SDK实例设置Token类 // 使用配置类创建SDK实例
R<AppLoginResp> appLoginRespR = qiyeOpenPlatSDK.appLogin(authCode); qiyeOpenPlatSDK = new QiyeOpenPlatSDK("qiyeOpenPlatSDK", qiyeOpenPlatSDKConfig);
AppLoginResp appLoginResp = appLoginRespR.getDataBean(AppLoginResp.class); // 通过授权码登录 获取Token类并给SDK实例设置Token类
qiyeOpenPlatSDK.getQiyeOpenPlatSDKConfig().setupToken(appLoginResp); R<AppLoginResp> appLoginRespR = qiyeOpenPlatSDK.appLogin(authCode);
AppLoginResp appLoginResp = appLoginRespR.getDataBean(AppLoginResp.class);
return qiyeOpenPlatSDK; qiyeOpenPlatSDK.getQiyeOpenPlatSDKConfig().setupToken(appLoginResp);
return qiyeOpenPlatSDK;
}catch (Exception e){
log.error("网易企业邮箱QiyeOpenPlatSDK登录失败: {}", e.getMessage());
return null;
}
} }
} }

View File

@ -14,4 +14,13 @@ public class RParam {
private String orgOpenId; // 必须 private String orgOpenId; // 必须
private Boolean showAliasDomain; // 必须 private Boolean showAliasDomain; // 必须
public RParam(String account_name, String domain) {
this.account_name = account_name;
this.domain = domain;
}
public RParam() {
}
} }

View File

@ -12,17 +12,17 @@ import java.util.List;
public interface ISysServerService extends IService<SysServer> { public interface ISysServerService extends IService<SysServer> {
Result findPage(QueryRequest query); Result<?> findPage(QueryRequest query);
Result findInfo(String id); Result<?> findInfo(String id);
Result create(SysServer sysServer); Result<?> create(SysServer sysServer);
Result update(SysServer sysServer); Result<?> update(SysServer sysServer);
Result deleteById(String id); Result<?> deleteById(String id);
Result findAlarmHistory(SourceVo sourceVo); Result<?> findAlarmHistory(SourceVo sourceVo);
List<SourceDto> listAll(); List<SourceDto> listAll();

View File

@ -34,14 +34,9 @@ public class AlarmAnalysisNuclideAvgServiceImpl extends ServiceImpl<AlarmAnalysi
public Page<NuclideAvgDto> findPage(NuclideAvgVo nuclideAvgVo) { public Page<NuclideAvgDto> findPage(NuclideAvgVo nuclideAvgVo) {
Integer pageNo = nuclideAvgVo.getPageNo(); Integer pageNo = nuclideAvgVo.getPageNo();
Integer pageSize = nuclideAvgVo.getPageSize(); Integer pageSize = nuclideAvgVo.getPageSize();
int pageStart = (pageNo - 1) * pageSize;
nuclideAvgVo.setPageStart(pageStart);
Map<String, Object> params = BeanUtil.beanToMap(nuclideAvgVo); Map<String, Object> params = BeanUtil.beanToMap(nuclideAvgVo);
List<NuclideAvgDto> records = baseMapper.findPage(params); Page<NuclideAvgDto> page = new Page<>(pageNo, pageSize);
params.put("pageFlag","noPage"); page = baseMapper.findPage(page, params);
int total = baseMapper.findPage(params).size();
Page<NuclideAvgDto> page = new Page<>(pageNo,pageSize,total);
page.setRecords(records);
return page; return page;
} }
} }

View File

@ -58,17 +58,9 @@ public class AlarmRuleServiceImpl extends ServiceImpl<AlarmRuleMapper, AlarmRule
public Result<?> findPage(AlarmRuleVo alarmRuleVo) { public Result<?> findPage(AlarmRuleVo alarmRuleVo) {
Integer pageNo = alarmRuleVo.getPageNo(); Integer pageNo = alarmRuleVo.getPageNo();
Integer pageSize = alarmRuleVo.getPageSize(); Integer pageSize = alarmRuleVo.getPageSize();
Page<AlarmRuleDto> page = new Page<>(pageNo,pageSize); Page<AlarmRuleDto> page = new Page<>(pageNo, pageSize);
Integer pageStart = (pageNo - 1) * pageSize;
alarmRuleVo.setPageStart(pageStart);
Map<String, Object> params = BeanUtil.beanToMap(alarmRuleVo); Map<String, Object> params = BeanUtil.beanToMap(alarmRuleVo);
List<AlarmRuleDto> alarmHistories = baseMapper.findPage(params); page = baseMapper.findPage(page, params);
// 当前页数据
page.setRecords(alarmHistories);
// 获取数据总条数(经过查询条件过滤后的)
params.put("pageFlag","noPage");
int total = baseMapper.findPage(params).size();
page.setTotal(total);
return Result.OK(page); return Result.OK(page);
} }

View File

@ -53,10 +53,7 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
public Result<?> findPage(QueryRequest query) { public Result<?> findPage(QueryRequest query) {
Integer pageNo = query.getPageNo(); Integer pageNo = query.getPageNo();
Integer pageSize = query.getPageSize(); Integer pageSize = query.getPageSize();
Integer pageStart = (pageNo - 1) * pageSize;
Map<String,Object> params = new HashMap<>(); Map<String,Object> params = new HashMap<>();
params.put("pageSize",pageSize);
params.put("pageStart",pageStart);
DateTimeFormatter formatter = DateTimeFormatter DateTimeFormatter formatter = DateTimeFormatter
.ofPattern(DateConstant.DATE); .ofPattern(DateConstant.DATE);
String date = LocalDate.now().format(formatter); String date = LocalDate.now().format(formatter);
@ -64,7 +61,9 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
String endDate = date + DateConstant.TIME_END; String endDate = date + DateConstant.TIME_END;
params.put("startDate",startDate); params.put("startDate",startDate);
params.put("endDate",endDate); params.put("endDate",endDate);
List<DatabaseDto> databaseDtos = baseMapper.findPage(params); Page<DatabaseDto> page = new Page<>(pageNo, pageSize);
page = baseMapper.findPage(page, params);
List<DatabaseDto> databaseDtos = page.getRecords();
List<DictModel> items = systemClient.getItems(DictConstant.DATASOURCE_TYPE); List<DictModel> items = systemClient.getItems(DictConstant.DATASOURCE_TYPE);
// 数据库类型Map key:类型值 value:类型名称 // 数据库类型Map key:类型值 value:类型名称
Map<String, String> dataSourceMap = items.stream().collect(Collectors Map<String, String> dataSourceMap = items.stream().collect(Collectors
@ -85,9 +84,6 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
.setAlarmRed(true).setCpuUutilzation("35.8%") .setAlarmRed(true).setCpuUutilzation("35.8%")
.setMemoryUsage("55.8%").setDiskUsage("35.68%"); .setMemoryUsage("55.8%").setDiskUsage("35.68%");
} }
params.put("pageFlag","noPage");
long total = baseMapper.findPage(params).size();
Page<DatabaseDto> page = new Page<>(pageNo, pageSize, total);
page.setRecords(databaseDtos); page.setRecords(databaseDtos);
return Result.OK(page); return Result.OK(page);
} }
@ -202,16 +198,9 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
sourceVo.setEndDate(endDate + DateConstant.TIME_END); sourceVo.setEndDate(endDate + DateConstant.TIME_END);
Integer pageNo = sourceVo.getPageNo(); Integer pageNo = sourceVo.getPageNo();
Integer pageSize = sourceVo.getPageSize(); Integer pageSize = sourceVo.getPageSize();
Integer pageStart = (pageNo - 1) * pageSize;
sourceVo.setPageStart(pageStart);
Map<String, Object> params = BeanUtil.beanToMap(sourceVo); Map<String, Object> params = BeanUtil.beanToMap(sourceVo);
List<AlarmHistory> alarmHistories = baseMapper.findAlarmHistory(params); Page<AlarmHistory> page = new Page<>(pageNo, pageSize);
// 获取数据总条数(经过查询条件过滤后的) page = baseMapper.findAlarmHistory(page, params);
params.put("pageFlag","noPage");
int total = baseMapper.findAlarmHistory(params).size();
Page<AlarmHistory> page = new Page<>(pageNo,pageSize,total);
// 当前页数据
page.setRecords(alarmHistories);
return Result.OK(page); return Result.OK(page);
} }

View File

@ -101,15 +101,13 @@ public class SysEmailLogServiceImpl extends ServiceImpl<SysEmailLogMapper, SysEm
rParam.setAccount_name(accountName); rParam.setAccount_name(accountName);
// 获取已登录的SDK实例 // 获取已登录的SDK实例
QiyeOpenPlatSDK platSDK = InstanceSDK.getInstance(); QiyeOpenPlatSDK platSDK = InstanceSDK.getInstance();
if (ObjectUtil.isNull(platSDK))
return map;
AccountInfo mailAccountInfo = Account.getMailAccountInfo(platSDK, rParam); AccountInfo mailAccountInfo = Account.getMailAccountInfo(platSDK, rParam);
Integer usedQuota = mailAccountInfo.getUsedQuota(); Integer usedQuota = mailAccountInfo.getUsedQuota();
Integer unreadMsg = MailBox.unreadMsg(platSDK, rParam); Integer unreadMsg = MailBox.unreadMsg(platSDK, rParam);
// Integer maxQuota = mailAccountInfo.getMaxQuota();
// maxQuota = ObjectUtil.isNull(maxQuota) ? 0 : maxQuota;
// map.put("total", maxQuota < 0 ? maxQuota + "(No Limit)" : m2G(maxQuota));
map.put("usage", m2G(usedQuota)); // 邮箱空间使用量 单位G map.put("usage", m2G(usedQuota)); // 邮箱空间使用量 单位G
map.put("unreadMsg", unreadMsg); // 未读邮件数量 map.put("unreadMsg", unreadMsg); // 未读邮件数量
// map.put("usage","74.3%");
return map; return map;
} }

View File

@ -30,6 +30,7 @@ import org.jeecg.modules.entity.AlarmHistory;
import org.jeecg.modules.mapper.SysEmailMapper; import org.jeecg.modules.mapper.SysEmailMapper;
import org.jeecg.modules.qiyeEmail.base.InstanceSDK; import org.jeecg.modules.qiyeEmail.base.InstanceSDK;
import org.jeecg.modules.qiyeEmail.base.RParam; import org.jeecg.modules.qiyeEmail.base.RParam;
import org.jeecg.modules.qiyeEmail.base.dto.AccountInfo;
import org.jeecg.modules.qiyeEmail.service.Account; import org.jeecg.modules.qiyeEmail.service.Account;
import org.jeecg.modules.qiyeEmail.service.MailBox; import org.jeecg.modules.qiyeEmail.service.MailBox;
import org.jeecg.modules.service.ISysEmailService; import org.jeecg.modules.service.ISysEmailService;
@ -87,11 +88,34 @@ public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> i
String emailStatus = RedisConstant.EMAIL_STATUS; String emailStatus = RedisConstant.EMAIL_STATUS;
String statusKey = prefixStatus + emailStatus; String statusKey = prefixStatus + emailStatus;
Map<Object, Object> statusMap = redisUtil.hmget(statusKey); Map<Object, Object> statusMap = redisUtil.hmget(statusKey);
// 查询是否有企业邮箱
List<Integer> hasQieye = emailDtos.stream().map(EmailDto::getIsQiye)
.filter(ObjectUtil::isNotNull).filter(isQiye -> Qiye.IS.getValue() == isQiye)
.collect(Collectors.toList());
QiyeOpenPlatSDK platSDK = null;
// 如果emailDtos中存在企业邮箱 则提前登录为查询邮箱信息做准备
if (CollUtil.isNotEmpty(hasQieye)) platSDK = InstanceSDK.getInstance();
// 遍历emailDtos 完善每一个邮箱的详细配置信息
for (EmailDto emailDto : emailDtos) { for (EmailDto emailDto : emailDtos) {
String id = emailDto.getId(); String id = emailDto.getId();
Integer isQiye = emailDto.getIsQiye();
String capacity = "--";
if (ObjectUtil.isNotNull(isQiye) && Qiye.IS.getValue() == isQiye){
String username = emailDto.getUsername();
String[] info = StrUtil.split(username, SymbolConstant.AT);
if (ArrayUtil.length(info) == 2 && ObjectUtil.isNotNull(platSDK)){
String accountName = info[0];
String domain = info[1];
RParam param = new RParam(accountName, domain);
AccountInfo accountInfo = Account.getMailAccountInfo(platSDK, param);
Integer usedQuota = accountInfo.getUsedQuota();
if (ObjectUtil.isNotNull(usedQuota))
capacity = usedQuota + " MB";
}
}
Boolean online = (Boolean) statusMap.get(id); Boolean online = (Boolean) statusMap.get(id);
if (ObjectUtil.isNull(online)) online = false; if (ObjectUtil.isNull(online)) online = false;
emailDto.setOnline(online).setStoerCapacity("100%").setStoerRed(true) emailDto.setOnline(online).setStoerCapacity(capacity).setStoerRed(true)
.setToday(todayMap.getOrDefault(id, 0)) .setToday(todayMap.getOrDefault(id, 0))
.setYesterday(yestMap.getOrDefault(id, 0)) .setYesterday(yestMap.getOrDefault(id, 0))
.setWeekly(weekMap.getOrDefault(id, 0)); .setWeekly(weekMap.getOrDefault(id, 0));
@ -264,13 +288,4 @@ public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> i
boolean contains = CollUtil.contains(domains, domain); boolean contains = CollUtil.contains(domains, domain);
return contains ? Qiye.IS.getValue() : Qiye.NOT.getValue(); return contains ? Qiye.IS.getValue() : Qiye.NOT.getValue();
} }
public static void main(String[] args) {
/*QiyeOpenPlatSDK platSDK = InstanceSDK.getInstance();
RParam rParam = new RParam();
rParam.setDomain("ndc.org.cn");
rParam.setAccount_name("cnndc.rn.dr");
System.out.println(MailBox.unreadMsg(platSDK, rParam));*/
}
} }

View File

@ -10,6 +10,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
@ -41,6 +42,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service("sysServerService") @Service("sysServerService")
@Slf4j
public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer> implements ISysServerService { public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer> implements ISysServerService {
@Autowired @Autowired
@ -50,10 +52,7 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
public Result<?> findPage(QueryRequest query) { public Result<?> findPage(QueryRequest query) {
Integer pageNo = query.getPageNo(); Integer pageNo = query.getPageNo();
Integer pageSize = query.getPageSize(); Integer pageSize = query.getPageSize();
Integer pageStart = (pageNo - 1) * pageSize;
Map<String,Object> params = new HashMap<>(); Map<String,Object> params = new HashMap<>();
params.put("pageSize",pageSize);
params.put("pageStart",pageStart);
DateTimeFormatter formatter = DateTimeFormatter DateTimeFormatter formatter = DateTimeFormatter
.ofPattern(DateConstant.DATE); .ofPattern(DateConstant.DATE);
String date = LocalDate.now().format(formatter); String date = LocalDate.now().format(formatter);
@ -61,10 +60,17 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
String endDate = date + DateConstant.TIME_END; String endDate = date + DateConstant.TIME_END;
params.put("startDate",startDate); params.put("startDate",startDate);
params.put("endDate",endDate); params.put("endDate",endDate);
List<ServerDto> serverDtos = baseMapper.findPage(params); Page<ServerDto> page = new Page<>(pageNo, pageSize);
page = baseMapper.findPage(page, params);
List<ServerDto> serverDtos = page.getRecords();
// 获取所有在线服务器信息 // 获取所有在线服务器信息
List<Host> hosts = monitorAlarm.listOnApp(MonitorConstant.STATUS_ON, List<Host> hosts = new ArrayList<>();
MonitorConstant.SERVER_APP).getResult().getRecords(); try {
hosts = monitorAlarm.listOnApp(MonitorConstant.STATUS_ON,
MonitorConstant.SERVER_APP).getResult().getRecords();
}catch (Exception e){
log.error("向运管系统查询Server监控项信息异常: {}", e.getMessage());
}
for (ServerDto serverDto : serverDtos) { for (ServerDto serverDto : serverDtos) {
int alarms = serverDto.getAlarms(); int alarms = serverDto.getAlarms();
String hostIdS = serverDto.getHostId(); String hostIdS = serverDto.getHostId();
@ -85,44 +91,27 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
String memory = StrUtil.isBlank(memoryValue) ? "--" : String memory = StrUtil.isBlank(memoryValue) ? "--" :
NumUtil.keepStr(memoryValue, 1) + "%"; NumUtil.keepStr(memoryValue, 1) + "%";
// 磁盘使用率 // 磁盘使用率
serverDto.setOnline(true).setCpuUutilzation(cpu) serverDto.setOnline(true).setCpuUutilzation(cpu)
.setMemoryUsage(memory).setDiskUsage("--"); .setMemoryUsage(memory).setDiskUsage("--");
} }
} }
params.put("pageFlag","noPage");
// 统计Alarm总数 // 统计Alarm总数
List<ServerDto> noPage = baseMapper.findPage(params); // int alarms = noPage.stream().mapToInt(ServerDto::getAlarms).sum();
int alarms = noPage.stream().mapToInt(ServerDto::getAlarms).sum();
// 获取记录总条数
long total = noPage.size();
Page<ServerDto> page = new Page<>(pageNo, pageSize, total);
page.setRecords(serverDtos); page.setRecords(serverDtos);
return Result.OK(page); return Result.OK(page);
} }
@Override @Override
public Result<?> findInfo(String id) { public Result<?> findInfo(String id) {
Result result = new Result(); SysServer sysServer = getById(id);
if (StringUtils.isBlank(id)){ if (ObjectUtil.isNull(sysServer))
result.error500("id信息不能为空"); return Result.error(Prompt.DATA_NOT_EXITS);
} return Result.OK(sysServer);
//查询对应数据详情内容
LambdaQueryWrapper<SysServer> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysServer::getId, id);
SysServer sysServer = this.baseMapper.selectOne(queryWrapper);
if (Objects.isNull(sysServer)){
result.error500("查询数据不存在");
return result;
}
result.setSuccess(true);
result.setResult(sysServer);
return result;
} }
@Override @Override
@Transactional @Transactional
public Result create(SysServer sysServer) { public Result<?> create(SysServer sysServer) {
String name = sysServer.getName(); String name = sysServer.getName();
String ipAddress = sysServer.getIpAddress(); String ipAddress = sysServer.getIpAddress();
LambdaQueryWrapper<SysServer> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysServer> wrapper = new LambdaQueryWrapper<>();
@ -142,7 +131,7 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
@Override @Override
@Transactional @Transactional
public Result update(SysServer sysServer) { public Result<?> update(SysServer sysServer) {
SysServer server = getById(sysServer.getId()); SysServer server = getById(sysServer.getId());
if (ObjectUtil.isNull(server)) if (ObjectUtil.isNull(server))
return Result.error(Prompt.DATA_NOT_EXITS); return Result.error(Prompt.DATA_NOT_EXITS);
@ -168,15 +157,15 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
@Override @Override
@Transactional @Transactional
public Result deleteById(String id) { public Result<?> deleteById(String id) {
int count = baseMapper.deleteById(id); boolean success = removeById(id);
if(count == 1) if(success)
return Result.OK(Prompt.DELETE_SUCC); return Result.OK(Prompt.DELETE_SUCC);
return Result.error(Prompt.DELETE_ERR); return Result.error(Prompt.DELETE_ERR);
} }
@Override @Override
public Result findAlarmHistory(SourceVo sourceVo) { public Result<?> findAlarmHistory(SourceVo sourceVo) {
String startDate = sourceVo.getStartDate(); String startDate = sourceVo.getStartDate();
String endDate = sourceVo.getEndDate(); String endDate = sourceVo.getEndDate();
if (StrUtil.isNotBlank(startDate)) if (StrUtil.isNotBlank(startDate))
@ -185,16 +174,9 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
sourceVo.setEndDate(endDate + DateConstant.TIME_END); sourceVo.setEndDate(endDate + DateConstant.TIME_END);
Integer pageNo = sourceVo.getPageNo(); Integer pageNo = sourceVo.getPageNo();
Integer pageSize = sourceVo.getPageSize(); Integer pageSize = sourceVo.getPageSize();
Integer pageStart = (pageNo - 1) * pageSize;
sourceVo.setPageStart(pageStart);
Map<String, Object> params = BeanUtil.beanToMap(sourceVo); Map<String, Object> params = BeanUtil.beanToMap(sourceVo);
List<AlarmHistory> alarmHistories = baseMapper.findAlarmHistory(params); Page<AlarmHistory> page = new Page<>(pageNo, pageSize);
// 获取数据总条数(经过查询条件过滤后的) page = baseMapper.findAlarmHistory(page, params);
params.put("pageFlag","noPage");
Integer total = baseMapper.findAlarmHistory(params).size();
Page<AlarmHistory> page = new Page<>(pageNo,pageSize,total);
// 当前页数据
page.setRecords(alarmHistories);
return Result.OK(page); return Result.OK(page);
} }
@ -218,12 +200,8 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
public Page<?> pageAll(QueryRequest query) { public Page<?> pageAll(QueryRequest query) {
Integer pageNo = query.getPageNo(); Integer pageNo = query.getPageNo();
Integer pageSize = query.getPageSize(); Integer pageSize = query.getPageSize();
List<SourceDto> sourceDtos = baseMapper.pageAll(MonitorConstant.ITEM_CPUUSED); Page<SourceDto> page = new Page<>(pageNo, pageSize);
page = baseMapper.pageAll(page, MonitorConstant.ITEM_CPUUSED);
int total = sourceDtos.size();
Page<SourceDto> page = new Page<>(pageNo, pageSize, total);
List<SourceDto> records = PageUtil.page(pageNo, pageSize, sourceDtos);
page.setRecords(records);
return page; return page;
} }
@ -231,9 +209,8 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
public String getByName(String name) { public String getByName(String name) {
LambdaQueryWrapper<SysServer> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysServer> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysServer::getName,name); wrapper.eq(SysServer::getName,name);
String id = Optional.ofNullable(getOne(wrapper, false)) return Optional.ofNullable(getOne(wrapper, false))
.orElse(new SysServer()).getId(); .orElse(new SysServer()).getId();
return id;
} }
@Override @Override
@ -297,11 +274,8 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
@Override @Override
public Result<?> details_AlarmInfo(String sourceId, Integer pageNo, Integer pageSize) { public Result<?> details_AlarmInfo(String sourceId, Integer pageNo, Integer pageSize) {
List<AlarmInfo> alarmInfos = baseMapper.alarmInfo(sourceId); Page<AlarmInfo> page = new Page<>(pageNo, pageSize);
int total = alarmInfos.size(); page = baseMapper.alarmInfo(page, sourceId);
Page<AlarmInfo> page = new Page<>(pageNo, pageSize, total);
List<AlarmInfo> records = PageUtil.page(pageNo, pageSize, alarmInfos);
page.setRecords(records);
return Result.OK(page); return Result.OK(page);
} }
} }