增加服务器下架处理,

服务器详情增加agent最新版本、cpu核数、内存字段。
开发pppoe主表及子表CRUD
This commit is contained in:
gaoyutao
2025-12-29 18:25:32 +08:00
parent c852fbd506
commit 6e2ca8ac53
23 changed files with 1065 additions and 30 deletions
@@ -0,0 +1,66 @@
package com.tongran.rocketmq.controller;
import com.tongran.common.core.web.controller.BaseController;
import com.tongran.common.core.web.domain.AjaxResult;
import com.tongran.common.log.annotation.Log;
import com.tongran.common.log.enums.BusinessType;
import com.tongran.common.security.annotation.RequiresPermissions;
import com.tongran.rocketmq.domain.RmPppoeConfigMain;
import com.tongran.rocketmq.service.IRmPppoeConfigMainService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* PPPoE配置主表Controller
*
* @author tongran
* @date 2025-12-29
*/
@RestController
@RequestMapping("/rmPppoeConfigMain")
@RequiresPermissions("system:registration")
public class RmPppoeConfigMainController extends BaseController
{
@Autowired
private IRmPppoeConfigMainService rmPppoeConfigMainService;
/**
* 获取PPPoE配置主表详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(rmPppoeConfigMainService.selectRmPppoeConfigMainById(id));
}
/**
* 新增PPPoE配置主表
*/
@Log(title = "PPPoE配置主表", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody RmPppoeConfigMain rmPppoeConfigMain)
{
return toAjax(rmPppoeConfigMainService.insertRmPppoeConfigMain(rmPppoeConfigMain));
}
/**
* 修改PPPoE配置主表
*/
@Log(title = "PPPoE配置主表", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody RmPppoeConfigMain rmPppoeConfigMain)
{
return toAjax(rmPppoeConfigMainService.updateRmPppoeConfigMain(rmPppoeConfigMain));
}
/**
* 删除PPPoE配置主表
*/
@Log(title = "PPPoE配置主表", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(rmPppoeConfigMainService.deleteRmPppoeConfigMainByIds(ids));
}
}
@@ -0,0 +1,42 @@
package com.tongran.rocketmq.controller;
import com.tongran.common.core.web.controller.BaseController;
import com.tongran.common.core.web.domain.AjaxResult;
import com.tongran.common.security.annotation.RequiresPermissions;
import com.tongran.rocketmq.domain.RmPppoeConfigSub;
import com.tongran.rocketmq.service.IRmPppoeConfigSubService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* PPPoE配置子表Controller
*
* @author tongran
* @date 2025-12-29
*/
@RestController
@RequestMapping("/rmPppoeConfigSub")
@RequiresPermissions("system:registration")
public class RmPppoeConfigSubController extends BaseController
{
@Autowired
private IRmPppoeConfigSubService rmPppoeConfigSubService;
/**
* 查询PPPoE配置子表列表
*/
@PostMapping("/list")
public AjaxResult list(@RequestBody RmPppoeConfigSub rmPppoeConfigSub)
{
List<RmPppoeConfigSub> list = rmPppoeConfigSubService.selectRmPppoeConfigSubList(rmPppoeConfigSub);
return success(list);
}
}
@@ -42,9 +42,12 @@ public class InitialCpuInfo extends BaseEntity
@Excel(name = "CPU使用率(%)")
private Long uti;
/** CPU数量(核数) */
/** CPU数量 */
@Excel(name = "CPU数量")
private Long num;
/** CPU核数 */
@Excel(name = "CPU核数")
private Long cores;
/** CPU正常运行时间(秒) */
@Excel(name = "CPU正常运行时间")
@@ -0,0 +1,41 @@
package com.tongran.rocketmq.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.util.List;
/**
* PPPoE配置主表对象 rm_pppoe_config_main
*
* @author tongran
* @date 2025-12-29
*/
@Data
public class RmPppoeConfigMain extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 客户端ID */
@Excel(name = "客户端ID")
private String clientId;
/** 是否启用PPPoE(0-否,1-是) */
@Excel(name = "是否启用PPPoE(0-否,1-是)")
private Long pppoeEnabled;
/** PPPoE配置方式 */
@Excel(name = "PPPoE配置方式")
private String pppoeConfigMode;
/** PPPoE网卡名称 */
@Excel(name = "PPPoE网卡名称")
private String pppoeInterface;
/** pppoe子表集合 */
private List<RmPppoeConfigSub> subList;
}
@@ -0,0 +1,56 @@
package com.tongran.rocketmq.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import com.tongran.rocketmq.domain.vo.RmPppoeConfigSubVo;
import lombok.Data;
/**
* PPPoE配置子表对象 rm_pppoe_config_sub
*
* @author tongran
* @date 2025-12-29
*/
@Data
public class RmPppoeConfigSub extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 主表ID */
@Excel(name = "主表ID")
private Long mainId;
/** 序号 */
@Excel(name = "序号")
private Long serialNumber;
/** VLANID */
@Excel(name = "VLANID")
private Long vlanId;
/** IPv4地址 */
@Excel(name = "IPv4地址")
private String ipv4Address;
/** IPv4掩码位数 */
@Excel(name = "IPv4掩码位数")
private Long ipv4MaskBits;
/** IPv4网关 */
@Excel(name = "IPv4网关")
private String ipv4Gateway;
public RmPppoeConfigSubVo toVo() {
RmPppoeConfigSubVo vo = new RmPppoeConfigSubVo();
vo.setSerialNumber(this.serialNumber);
vo.setVlanId(this.vlanId);
vo.setIpv4Address(this.ipv4Address);
vo.setIpv4MaskBits(this.ipv4MaskBits);
vo.setIpv4Gateway(this.ipv4Gateway);
return vo;
}
}
@@ -19,6 +19,8 @@ public class PolicyTypeVo {
private String netName;
/** frp配置信息 */
private String frpMsg;
/** pppoe配置信息 */
private String pppoeConfig;
/** 时间戳 */
private Long timestamp = Instant.now().getEpochSecond();
}
@@ -0,0 +1,20 @@
package com.tongran.rocketmq.domain.vo;
import lombok.Data;
import java.util.List;
@Data
public class PppoeVo {
/** 是否启用PPPoE(0-否,1-是) */
private Long pppoeEnabled;
/** PPPoE配置方式 */
private String pppoeConfigMode;
/** PPPoE网卡名称 */
private String pppoeInterface;
/** pppoe子表集合 */
private List<RmPppoeConfigSubVo> subList;
}
@@ -0,0 +1,29 @@
package com.tongran.rocketmq.domain.vo;
import lombok.Data;
/**
* PPPoE配置子表对象 rm_pppoe_config_sub
*
* @author tongran
* @date 2025-12-29
*/
@Data
public class RmPppoeConfigSubVo
{
/** 序号 */
private Long serialNumber;
/** VLANID */
private Long vlanId;
/** IPv4地址 */
private String ipv4Address;
/** IPv4掩码位数 */
private Long ipv4MaskBits;
/** IPv4网关 */
private String ipv4Gateway;
}
@@ -0,0 +1,61 @@
package com.tongran.rocketmq.mapper;
import java.util.List;
import com.tongran.rocketmq.domain.RmPppoeConfigMain;
/**
* PPPoE配置主表Mapper接口
*
* @author tongran
* @date 2025-12-29
*/
public interface RmPppoeConfigMainMapper
{
/**
* 查询PPPoE配置主表
*
* @param id PPPoE配置主表主键
* @return PPPoE配置主表
*/
public RmPppoeConfigMain selectRmPppoeConfigMainById(Long id);
/**
* 查询PPPoE配置主表列表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return PPPoE配置主表集合
*/
public List<RmPppoeConfigMain> selectRmPppoeConfigMainList(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 新增PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
public int insertRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 修改PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
public int updateRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 删除PPPoE配置主表
*
* @param id PPPoE配置主表主键
* @return 结果
*/
public int deleteRmPppoeConfigMainById(Long id);
/**
* 批量删除PPPoE配置主表
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteRmPppoeConfigMainByIds(Long[] ids);
}
@@ -0,0 +1,76 @@
package com.tongran.rocketmq.mapper;
import com.tongran.rocketmq.domain.RmPppoeConfigSub;
import java.util.List;
/**
* PPPoE配置子表Mapper接口
*
* @author tongran
* @date 2025-12-29
*/
public interface RmPppoeConfigSubMapper
{
/**
* 查询PPPoE配置子表
*
* @param id PPPoE配置子表主键
* @return PPPoE配置子表
*/
public RmPppoeConfigSub selectRmPppoeConfigSubById(Long id);
/**
* 查询PPPoE配置子表列表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return PPPoE配置子表集合
*/
public List<RmPppoeConfigSub> selectRmPppoeConfigSubList(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 新增PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
public int insertRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 修改PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
public int updateRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 删除PPPoE配置子表
*
* @param id PPPoE配置子表主键
* @return 结果
*/
public int deleteRmPppoeConfigSubById(Long id);
/**
* 批量删除PPPoE配置子表
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteRmPppoeConfigSubByIds(Long[] ids);
/**
* 批量新增子表信息
* @param subList
* @return
*/
int batchInsertRmPppoeConfigSub(List<RmPppoeConfigSub> subList);
/**
* 根据主表id删除子表信息
* @param mainId
* @return
*/
int deleteRmPppoeConfigSubByMainId(Long mainId);
}
@@ -0,0 +1,61 @@
package com.tongran.rocketmq.service;
import java.util.List;
import com.tongran.rocketmq.domain.RmPppoeConfigMain;
/**
* PPPoE配置主表Service接口
*
* @author tongran
* @date 2025-12-29
*/
public interface IRmPppoeConfigMainService
{
/**
* 查询PPPoE配置主表
*
* @param id PPPoE配置主表主键
* @return PPPoE配置主表
*/
public RmPppoeConfigMain selectRmPppoeConfigMainById(Long id);
/**
* 查询PPPoE配置主表列表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return PPPoE配置主表集合
*/
public List<RmPppoeConfigMain> selectRmPppoeConfigMainList(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 新增PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
public int insertRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 修改PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
public int updateRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain);
/**
* 批量删除PPPoE配置主表
*
* @param ids 需要删除的PPPoE配置主表主键集合
* @return 结果
*/
public int deleteRmPppoeConfigMainByIds(Long[] ids);
/**
* 删除PPPoE配置主表信息
*
* @param id PPPoE配置主表主键
* @return 结果
*/
public int deleteRmPppoeConfigMainById(Long id);
}
@@ -0,0 +1,61 @@
package com.tongran.rocketmq.service;
import java.util.List;
import com.tongran.rocketmq.domain.RmPppoeConfigSub;
/**
* PPPoE配置子表Service接口
*
* @author tongran
* @date 2025-12-29
*/
public interface IRmPppoeConfigSubService
{
/**
* 查询PPPoE配置子表
*
* @param id PPPoE配置子表主键
* @return PPPoE配置子表
*/
public RmPppoeConfigSub selectRmPppoeConfigSubById(Long id);
/**
* 查询PPPoE配置子表列表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return PPPoE配置子表集合
*/
public List<RmPppoeConfigSub> selectRmPppoeConfigSubList(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 新增PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
public int insertRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 修改PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
public int updateRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);
/**
* 批量删除PPPoE配置子表
*
* @param ids 需要删除的PPPoE配置子表主键集合
* @return 结果
*/
public int deleteRmPppoeConfigSubByIds(Long[] ids);
/**
* 删除PPPoE配置子表信息
*
* @param id PPPoE配置子表主键
* @return 结果
*/
public int deleteRmPppoeConfigSubById(Long id);
}
@@ -0,0 +1,155 @@
package com.tongran.rocketmq.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.tongran.common.core.enums.MsgEnum;
import com.tongran.common.core.utils.DateUtils;
import com.tongran.rocketmq.domain.DeviceMessage;
import com.tongran.rocketmq.domain.RmPppoeConfigMain;
import com.tongran.rocketmq.domain.RmPppoeConfigSub;
import com.tongran.rocketmq.domain.vo.PolicyTypeVo;
import com.tongran.rocketmq.domain.vo.PppoeVo;
import com.tongran.rocketmq.domain.vo.RmPppoeConfigSubVo;
import com.tongran.rocketmq.mapper.RmPppoeConfigMainMapper;
import com.tongran.rocketmq.mapper.RmPppoeConfigSubMapper;
import com.tongran.rocketmq.model.ProducerMode;
import com.tongran.rocketmq.producer.MessageProducer;
import com.tongran.rocketmq.service.IRmPppoeConfigMainService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* PPPoE配置主表Service业务层处理
*
* @author tongran
* @date 2025-12-29
*/
@Service
public class RmPppoeConfigMainServiceImpl implements IRmPppoeConfigMainService
{
@Autowired
private RmPppoeConfigMainMapper rmPppoeConfigMainMapper;
@Autowired
private RmPppoeConfigSubMapper rmPppoeConfigSubMapper;
@Autowired
private ProducerMode producerMode;
/**
* 查询PPPoE配置主表
*
* @param id PPPoE配置主表主键
* @return PPPoE配置主表
*/
@Override
public RmPppoeConfigMain selectRmPppoeConfigMainById(Long id)
{
RmPppoeConfigMain rmPppoeConfigMain = rmPppoeConfigMainMapper.selectRmPppoeConfigMainById(id);
// 查询子表信息
RmPppoeConfigSub rmPppoeConfigSub = new RmPppoeConfigSub();
rmPppoeConfigSub.setMainId(id);
List<RmPppoeConfigSub> subList = rmPppoeConfigSubMapper.selectRmPppoeConfigSubList(rmPppoeConfigSub);
rmPppoeConfigMain.setSubList(subList);
return rmPppoeConfigMain;
}
/**
* 查询PPPoE配置主表列表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return PPPoE配置主表
*/
@Override
public List<RmPppoeConfigMain> selectRmPppoeConfigMainList(RmPppoeConfigMain rmPppoeConfigMain)
{
return rmPppoeConfigMainMapper.selectRmPppoeConfigMainList(rmPppoeConfigMain);
}
/**
* 新增PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
@Override
public int insertRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain)
{
rmPppoeConfigMain.setCreateTime(DateUtils.getNowDate());
int rows = rmPppoeConfigMainMapper.insertRmPppoeConfigMain(rmPppoeConfigMain);
List<RmPppoeConfigSub> subList = rmPppoeConfigMain.getSubList();
if(subList != null && !subList.isEmpty()){
for (RmPppoeConfigSub rmPppoeConfigSub : subList) {
rmPppoeConfigSub.setMainId(rmPppoeConfigMain.getId());
rmPppoeConfigSub.setCreateTime(DateUtils.getNowDate());
rmPppoeConfigSub.setUpdateTime(DateUtils.getNowDate());
}
// 删除子表信息
rmPppoeConfigSubMapper.deleteRmPppoeConfigSubByMainId(rmPppoeConfigMain.getId());
// 批量新增
rmPppoeConfigSubMapper.batchInsertRmPppoeConfigSub(subList);
}
// 构建pppoe策略
PppoeVo pppoeVo = new PppoeVo();
BeanUtils.copyProperties(rmPppoeConfigMain, pppoeVo);
List<RmPppoeConfigSubVo> voList = subList.stream()
.map(RmPppoeConfigSub::toVo)
.collect(Collectors.toList());
pppoeVo.setSubList(voList);
String pppoeStr = JSONObject.toJSONString(pppoeVo);
PolicyTypeVo policyTypeVo = new PolicyTypeVo();
policyTypeVo.setPppoeConfig(pppoeStr);
MessageProducer messageProducer = new MessageProducer();
String configJson = JSONObject.toJSONString(policyTypeVo);
DeviceMessage message = new DeviceMessage();
message.setClientId(rmPppoeConfigMain.getClientId());
message.setData(configJson);
message.setDataType(MsgEnum.获取最新策略应答.getValue());
messageProducer.sendAsyncProducerMessage(
producerMode.getAgentTopic(),
"",
"",
JSONObject.toJSONString(message)
);
return 1;
}
/**
* 修改PPPoE配置主表
*
* @param rmPppoeConfigMain PPPoE配置主表
* @return 结果
*/
@Override
public int updateRmPppoeConfigMain(RmPppoeConfigMain rmPppoeConfigMain)
{
rmPppoeConfigMain.setUpdateTime(DateUtils.getNowDate());
return rmPppoeConfigMainMapper.updateRmPppoeConfigMain(rmPppoeConfigMain);
}
/**
* 批量删除PPPoE配置主表
*
* @param ids 需要删除的PPPoE配置主表主键
* @return 结果
*/
@Override
public int deleteRmPppoeConfigMainByIds(Long[] ids)
{
return rmPppoeConfigMainMapper.deleteRmPppoeConfigMainByIds(ids);
}
/**
* 删除PPPoE配置主表信息
*
* @param id PPPoE配置主表主键
* @return 结果
*/
@Override
public int deleteRmPppoeConfigMainById(Long id)
{
return rmPppoeConfigMainMapper.deleteRmPppoeConfigMainById(id);
}
}
@@ -0,0 +1,96 @@
package com.tongran.rocketmq.service.impl;
import java.util.List;
import com.tongran.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tongran.rocketmq.mapper.RmPppoeConfigSubMapper;
import com.tongran.rocketmq.domain.RmPppoeConfigSub;
import com.tongran.rocketmq.service.IRmPppoeConfigSubService;
/**
* PPPoE配置子表Service业务层处理
*
* @author tongran
* @date 2025-12-29
*/
@Service
public class RmPppoeConfigSubServiceImpl implements IRmPppoeConfigSubService
{
@Autowired
private RmPppoeConfigSubMapper rmPppoeConfigSubMapper;
/**
* 查询PPPoE配置子表
*
* @param id PPPoE配置子表主键
* @return PPPoE配置子表
*/
@Override
public RmPppoeConfigSub selectRmPppoeConfigSubById(Long id)
{
return rmPppoeConfigSubMapper.selectRmPppoeConfigSubById(id);
}
/**
* 查询PPPoE配置子表列表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return PPPoE配置子表
*/
@Override
public List<RmPppoeConfigSub> selectRmPppoeConfigSubList(RmPppoeConfigSub rmPppoeConfigSub)
{
return rmPppoeConfigSubMapper.selectRmPppoeConfigSubList(rmPppoeConfigSub);
}
/**
* 新增PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
@Override
public int insertRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub)
{
rmPppoeConfigSub.setCreateTime(DateUtils.getNowDate());
return rmPppoeConfigSubMapper.insertRmPppoeConfigSub(rmPppoeConfigSub);
}
/**
* 修改PPPoE配置子表
*
* @param rmPppoeConfigSub PPPoE配置子表
* @return 结果
*/
@Override
public int updateRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub)
{
rmPppoeConfigSub.setUpdateTime(DateUtils.getNowDate());
return rmPppoeConfigSubMapper.updateRmPppoeConfigSub(rmPppoeConfigSub);
}
/**
* 批量删除PPPoE配置子表
*
* @param ids 需要删除的PPPoE配置子表主键
* @return 结果
*/
@Override
public int deleteRmPppoeConfigSubByIds(Long[] ids)
{
return rmPppoeConfigSubMapper.deleteRmPppoeConfigSubByIds(ids);
}
/**
* 删除PPPoE配置子表信息
*
* @param id PPPoE配置子表主键
* @return 结果
*/
@Override
public int deleteRmPppoeConfigSubById(Long id)
{
return rmPppoeConfigSubMapper.deleteRmPppoeConfigSubById(id);
}
}