初始化v1.2

This commit is contained in:
gaoyutao
2025-11-24 16:19:09 +08:00
parent c0f51ef007
commit de49404116
918 changed files with 4236 additions and 4239 deletions
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.tongran</groupId>
<artifactId>tongran-api</artifactId>
<version>3.6.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>tongran-api-system</artifactId>
<description>
tongran-api-system系统接口模块
</description>
<dependencies>
<!-- tongran Common Core-->
<dependency>
<groupId>com.tongran</groupId>
<artifactId>tongran-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,40 @@
package com.tongran.system.api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import com.tongran.common.core.constant.ServiceNameConstants;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.domain.SysFile;
import com.tongran.system.api.factory.RemoteFileFallbackFactory;
/**
* 文件服务
*
* @author tongran
*/
@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
public interface RemoteFileService
{
/**
* 上传文件
*
* @param file 文件信息
* @return 结果
*/
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
/**
* 删除文件
*
* @param fileUrl 文件地址
* @return 结果
*/
@DeleteMapping(value = "/delete", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public R<Boolean> delete(@RequestParam("fileUrl") String fileUrl);
}
@@ -0,0 +1,41 @@
package com.tongran.system.api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import com.tongran.common.core.constant.SecurityConstants;
import com.tongran.common.core.constant.ServiceNameConstants;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.domain.SysLogininfor;
import com.tongran.system.api.domain.SysOperLog;
import com.tongran.system.api.factory.RemoteLogFallbackFactory;
/**
* 日志服务
*
* @author tongran
*/
@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class)
public interface RemoteLogService
{
/**
* 保存系统日志
*
* @param sysOperLog 日志实体
* @param source 请求来源
* @return 结果
*/
@PostMapping("/operlog")
public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
/**
* 保存访问记录
*
* @param sysLogininfor 访问实体
* @param source 请求来源
* @return 结果
*/
@PostMapping("/logininfor")
public R<Boolean> saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,136 @@
package com.tongran.system.api;
import com.tongran.common.core.constant.SecurityConstants;
import com.tongran.common.core.constant.ServiceNameConstants;
import com.tongran.common.core.domain.R;
import com.tongran.common.core.web.page.TableDataInfo;
import com.tongran.system.api.domain.*;
import com.tongran.system.api.factory.RemoteRevenueConfigFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户服务
*
* @author tongran
*/
@FeignClient(contextId = "remoteRevenueConfigService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteRevenueConfigFallbackFactory.class)
public interface RemoteRevenueConfigService
{
/**
* 保存流量数据
* @param queryParam 流量数据列表
* @return 操作结果
*/
@PostMapping("/revenueConfig/autoSaveServiceTrafficData")
public R<String> autoSaveServiceTrafficData(@RequestBody EpsInitialTrafficDataRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 保存交换机流量数据
* @param queryParam 交换机流量数据列表
* @return 操作结果
*/
@PostMapping("/switchInfoDetails/autoSaveSwitchTraffic")
public R<String> autoSaveSwitchTraffic(@RequestBody InitialSwitchInfoDetailsRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 监控资源信息,如果检测到心跳异常,修改资源表在线状态
* @param queryParam
* @param source
* @return
*/
@PostMapping("/registration/updateStatusByResource")
public R<String> updateStatusByResource(@RequestBody RmResourceRegistrationRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据客户端id查询设备其他信息
* @param queryParam
* @param source
* @return
*/
@PostMapping("/interfaceName/getMsgByClientId")
public R<AllInterfaceNameRemote> getMsgByClientId(@RequestBody AllInterfaceNameRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据资源组id查询资源组名称
* @param id
* @param source
* @return
*/
@PostMapping("/group/getResourceGroupMsgById")
public R<RmResourceGroupRemote> getResourceGroupMsgById(@RequestBody Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据id查询资源信息
* @param ids
* @param source
* @return
*/
@PostMapping("/registration/getRegistrationByIds")
public R<List<RmResourceRegistrationRemote>> getRegistrationByIds(@RequestBody String[] ids, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 获取资源注册列表
* @param rmResourceRegistrationRemote
* @param source
* @return
*/
@PostMapping("/registration/list")
public R<TableDataInfo> getRegistrationList(@RequestBody RmResourceRegistrationRemote rmResourceRegistrationRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据硬件SN查询资源信息
* @param rmResourceRegistrationRemote
* @param source
* @return
*/
@PostMapping("/registration/getListByHardwareSn")
public R<RmResourceRegistrationRemote> getListByHardwareSn(@RequestBody RmResourceRegistrationRemote rmResourceRegistrationRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据clientId获取交换机名称信息
* @param rmSwitchManagementRemote
* @param source
* @return
*/
@PostMapping("/switchManagement/getSwitchNameByClientId")
public R<List<RmSwitchManagementRemote>> getSwitchNameByClientId(@RequestBody RmSwitchManagementRemote rmSwitchManagementRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 根据clientId修改交换机在线状态
* @param rmSwitchManagementRemote
* @param source
* @return
*/
@PostMapping("/switchManagement/updateSwitchMsgByClientId")
public R<Integer> updateSwitchMsgByClientId(@RequestBody RmSwitchManagementRemote rmSwitchManagementRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 自动注册
* @param rmRegisterMsgRemote
* @param source
* @return
*/
@PostMapping("/registration/innerAddRegist")
public R<Integer> innerAddRegist(@RequestBody RmRegisterMsgRemote rmRegisterMsgRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 添加节点标识
* @param rmResourceRegistrationRemote
* @param source
* @return
*/
@PostMapping("/registration/innerUpdateRegist")
public R<Integer> innerUpdateRegist(@RequestBody RmResourceRegistrationRemote rmResourceRegistrationRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 获取95值列表
* @param epsNodeBandwidthRemote
* @param source
* @return
*/
@PostMapping("/bandwidth/getEpsNodeBandWidthList")
public R<List<EpsNodeBandwidthRemote>> getEpsNodeBandWidthList(@RequestBody EpsNodeBandwidthRemote epsNodeBandwidthRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
@GetMapping("/businessScript/inner/{id}")
public R<EpsBusinessScriptRemote> getBusinessScriptMsgByScriptId(@PathVariable("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,101 @@
package com.tongran.system.api;
import com.tongran.common.core.constant.SecurityConstants;
import com.tongran.common.core.constant.ServiceNameConstants;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.domain.RmAlarmRecordRemote;
import com.tongran.system.api.domain.RmDeployScriptRemote;
import com.tongran.system.api.domain.RmMonitorPolicyRemote;
import com.tongran.system.api.domain.RmNetworkInterfaceRemote;
import com.tongran.system.api.factory.RemoteRocketMqFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@FeignClient(contextId = "remoteRocketMqService", value = ServiceNameConstants.ROCKETMQ_SERVICE, fallbackFactory = RemoteRocketMqFallbackFactory.class)
public interface RemoteRocketMqService {
/**
* 发送异步消息
* @param topic
* @param tag
* @param key
* @param value
* @param source
* @return
*/
@PostMapping("/api/rocketMessage/sendAsyncProducerMessage")
public R<Map> sendAsyncProducerMessage(@RequestParam("topic") String topic, @RequestParam("tag") String tag, @RequestParam("key") String key, @RequestParam("value") String value, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 查询告警记录
*
* @param rmAlarmRecordRemote
* @param source
* @return
*/
@PostMapping("/alarmRecord/getAlarmList")
public R<List<RmAlarmRecordRemote>> getAlarmList(@RequestBody RmAlarmRecordRemote rmAlarmRecordRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 资源告警处理情况
* @param source
* @return
*/
@GetMapping("/alarmRecord/alarmHandlingStatus")
public R<Map> alarmHandlingStatus(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 获取网卡接口列表
* @param rmNetworkInterfaceRemote
* @param source
* @return
*/
@PostMapping("/networkInterface/getNetworkInterfaceList")
public R<List<RmNetworkInterfaceRemote>> getNetworkInterfaceList(@RequestBody RmNetworkInterfaceRemote rmNetworkInterfaceRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 获取网卡接口列表
* @param rmNetworkInterfaceRemote
* @param source
* @return
*/
@PostMapping("/networkInterface/bindPublicIp")
public R<Integer> bindPublicIp(@RequestBody RmNetworkInterfaceRemote rmNetworkInterfaceRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 下发策略
* @param id
* @param source
* @return
*/
@GetMapping("/monitorPolicy/innerIssueSwitchPolicy")
public R<String> innerIssueSwitchPolicy(Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 查询策略信息
* @param rmMonitorPolicyRemote
* @param source
* @return
*/
@PostMapping("/monitorPolicy/getPolicyMsgInner")
public R<List<RmMonitorPolicyRemote>> getPolicyMsgInner(@RequestBody RmMonitorPolicyRemote rmMonitorPolicyRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 策略添加新设备
* @param rmMonitorPolicyRemote
* @param source
* @return
*/
@PostMapping("/monitorPolicy/updatePolicyMsgInner")
public R<Integer> updatePolicyMsgInner(@RequestBody RmMonitorPolicyRemote rmMonitorPolicyRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 下发优先级为0的策略
* @param clientId
* @param source
* @return
*/
@GetMapping("/monitorPolicy/issueDefaultPolicyByClientId")
public R<Integer> issueDefaultPolicyByClientId(String clientId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
@PostMapping("policy/addDeployScript")
R<Integer> addDeployScript(@RequestBody RmDeployScriptRemote addData, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,89 @@
package com.tongran.system.api;
import com.tongran.common.core.constant.SecurityConstants;
import com.tongran.common.core.constant.ServiceNameConstants;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.domain.EpsInitialTrafficDataRemote;
import com.tongran.system.api.domain.NodeBandwidth;
import com.tongran.system.api.domain.SysUser;
import com.tongran.system.api.factory.RemoteUserFallbackFactory;
import com.tongran.system.api.model.LoginUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* 用户服务
*
* @author tongran
*/
@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteUserService
{
/**
* 通过用户名查询用户信息
*
* @param username 用户名
* @param source 请求来源
* @return 结果
*/
@GetMapping("/user/info/{username}")
public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 注册用户信息
*
* @param sysUser 用户信息
* @param source 请求来源
* @return 结果
*/
@PostMapping("/user/register")
public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 记录用户登录IP地址和登录时间
*
* @param sysUser 用户信息
* @param source 请求来源
* @return 结果
*/
@PutMapping("/user/recordlogin")
public R<Boolean> recordUserLogin(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* @param nodeBandwidth 服务器带宽收益
* @param source 请求来源
* @return 结果
*/
@PostMapping("/bandwidth/list")
public R<NodeBandwidth> getBandwidth(@RequestBody NodeBandwidth nodeBandwidth, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* @param nodeBandwidth 服务器带宽收益
* @param source 请求来源
* @return 结果
*/
@PostMapping("/bandwidth")
public R<Boolean> saveBandwidth(@RequestBody NodeBandwidth nodeBandwidth, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 查询流量数据(POST方式)
* @param queryParam 查询参数实体
* source 请求来源
* @return 流量数据列表
*/
@PostMapping("/query")
public R<EpsInitialTrafficDataRemote> query(@RequestBody EpsInitialTrafficDataRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 批量保存流量数据
* @param queryParam 流量数据列表
* @return 操作结果
*/
@PostMapping("/batch")
public R<Boolean> batchInitialTraffic(@RequestBody EpsInitialTrafficDataRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 保存流量数据
* @param queryParam 流量数据列表
* @return 操作结果
*/
@PostMapping("/revenueConfig/autoSaveServiceTrafficData")
public R<Boolean> autoSaveServiceTrafficData(@RequestBody EpsInitialTrafficDataRemote queryParam, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,77 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.util.Set;
/**
* 所有接口名称对象 all_interface_name
*
* @author gyt
* @date 2025-08-25
*/
@Data
public class AllInterfaceNameRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 客户端唯一标识 */
@Excel(name = "客户端唯一标识")
private String clientId;
/** 接口名称 */
@Excel(name = "接口名称")
private String interfaceName;
/** 设备序列号 */
@Excel(name = "设备序列号")
private String deviceSn;
/** 节点名称 */
@Excel(name = "节点名称")
private String nodeName;
/** 业务代码 */
@Excel(name = "业务代码")
private String businessCode;
/** 业务名称 */
@Excel(name = "业务名称")
private String businessName;
/** 资源类型 */
@Excel(name = "资源类型")
private String resourceType;
/** 交换机名称 */
@Excel(name = "交换机名称")
private String switchName;
/** 接口连接设备类型 */
@Excel(name = "接口连接设备类型")
private String interfaceDeviceType;
/** 服务器网口 */
@Excel(name = "服务器网口")
private String serverPort;
/** 交换机硬件SN */
@Excel(name = "交换机硬件SN")
private String switchSn;
/** 接口名称集合 */
private Set<String> interfaceNames;
/** 交换机ip */
@Excel(name = "交换机ip")
private String switchIp;
/** 服务器ip */
@Excel(name = "服务器ip")
private String serverIp;
}
@@ -0,0 +1,35 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
/**
* 业务脚本管理对象 eps_business_script
*
* @author gyt
* @date 2025-10-13
*/
@Data
public class EpsBusinessScriptRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 脚本名称 */
@Excel(name = "脚本名称")
private String scriptName;
/** 脚本文件地址 */
@Excel(name = "脚本文件地址")
private String scriptPath;
/** 脚本默认参数 */
@Excel(name = "脚本默认参数")
private String defaultParams;
/** 结果失败判断关键字 */
@Excel(name = "结果失败判断关键字")
private String failedKeywords;
}
@@ -0,0 +1,62 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
* EPS初始流量数据实体类
* 用于存储设备的接收和发送流量数据
* 支持按时间自动分表存储(每月分成3个表)
*/
@Data
public class EpsInitialTrafficDataRemote extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 唯一标识ID */
private Long id;
/** 节点名称 */
@Excel(name = "节点名称")
private String nodeName;
/** 收益方式(1.流量,2包端) */
@Excel(name = "收益方式(1.流量,2包端)")
private String revenueMethod;
/** 硬件SN */
@Excel(name = "硬件SN")
private String hardwareSn;
/** 流量网口 */
@Excel(name = "流量网口")
private String trafficPort;
/** 95带宽值(Mbps) */
@Excel(name = "95带宽值(Mbps)")
private BigDecimal bandwidth95;
/** 包端带宽值 */
@Excel(name = "包端带宽值")
private BigDecimal packageBandwidth;
/** 业务名称 */
@Excel(name = "业务名称")
private String businessName;
/** 业务代码(12位) */
@Excel(name = "业务代码(12位)")
private String businessCode;
/** 注册状态 */
@Excel(name = "注册状态")
private String registrationStatus;
/** 开始时间 */
private String startTime;
/** 结束时间 */
private String endTime;
}
@@ -0,0 +1,136 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class EpsNodeBandwidthRemote extends BaseEntity {
/** id */
private Long id;
/** 节点名称 */
@Excel(name = "节点名称")
private String nodeName;
/** 硬件SN */
@Excel(name = "硬件SN")
private String hardwareSn;
/** 带宽值类型
* 1-95带宽值Mbps/日
* 2-95带宽值Mbps/月
* 3-包端带宽值Mbps/日
* 4-月均日95值Mbps
* 5-有效-95带宽值Mbps/日
* 6-有效-95带宽值Mbps/月
* 7-有效-月均日95值
* */
private String bandwidthType;
/** 带宽值结果 */
private BigDecimal bandwidthResult;
/** 95带宽值Mbps/日 */
@Excel(name = "95带宽值Mbps/日")
private BigDecimal bandwidth95Daily;
/** 95带宽值Mbps/月 */
@Excel(name = "95带宽值Mbps/月")
private BigDecimal bandwidth95Monthly;
/** 月均日95值 */
@Excel(name = "月均日95值")
private BigDecimal avgMonthlyBandwidth95;
/** 包端带宽值Mbps/日 */
@Excel(name = "包端带宽值Mbps/日")
private BigDecimal packageBandwidthDaily;
/** 有效-95带宽值Mbps/日 */
@Excel(name = "有效-95带宽值Mbps/日")
private BigDecimal effectiveBandwidth95Daily;
/** 有效-95带宽值Mbps/月 */
@Excel(name = "有效-95带宽值Mbps/月")
private BigDecimal effectiveBandwidth95Monthly;
/** 有效-月均95值 */
@Excel(name = "有效-月均95值")
private BigDecimal effectiveAvgMonthlyBandwidth95;
/** 金山流量Mbps/日 */
private BigDecimal machineFlow;
/** 设备业务客户id */
@Excel(name = "设备业务客户id")
private String customerId;
/** 设备业务客户名称 */
@Excel(name = "设备业务客户名称")
private String customerName;
/** 业务号 */
@Excel(name = "业务号")
private String serviceNumber;
/** 上联交换机 */
@Excel(name = "上联交换机")
private String uplinkSwitch;
/** 创建人id */
@Excel(name = "创建人id")
private Long creatorId;
/** 创建人名称 */
@Excel(name = "创建人名称")
private String creatorName;
/** 交换机sn */
@Excel(name = "交换机sn")
private String switchSn;
/** 接口名称 */
@Excel(name = "接口名称")
private String interfaceName;
/** 资源类型(1服务器,2交换机) */
@Excel(name = "资源类型")
private String resourceType;
/** 接口连接设备类型(1服务器,2机房出口) */
@Excel(name = "接口连接设备类型")
private String interfaceLinkDeviceType;
/** 业务名称 */
@Excel(name = "业务名称")
private String businessName;
/** 业务代码 */
@Excel(name = "业务代码")
private String businessId;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
/** 开始时间 */
private String startTime;
/** 结束时间 */
private String endTime;
/** 月份 */
private String monthTime;
/** 备注 */
private String remark1;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createDatetime;
private List<String> nodeNames;
private List<String> switchNames;
/** 计算方式 */
private String calculationMode;
/** 客户端id */
private String clientId;
}
@@ -0,0 +1,85 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 交换机监控信息对象 initial_switch_info_details
*
* @author gyt
* @date 2025-08-26
*/
@Data
public class InitialSwitchInfoDetailsRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 自增主键ID */
private Long id;
/** 客户端ID */
@Excel(name = "客户端ID")
private String clientId;
/** 网络接口名称(如eth0、ens33等) */
@Excel(name = "网络接口名称(如eth0、ens33等)")
private String name;
/** 接收流量(字节) */
@Excel(name = "接收流量(字节)")
private BigDecimal inBytes;
/** 发送流量(字节) */
@Excel(name = "发送流量(字节)")
private BigDecimal outBytes;
/** 接口状态(up/down等) */
@Excel(name = "接口状态(up/down等)")
private String status;
/** 接口类型(ethernet/wireless等) */
@Excel(name = "接口类型(ethernet/wireless等)")
private String type;
/** 接收流量(bytes/s */
@Excel(name = "接收流量", readConverterExp = "b=ytes/s")
private BigDecimal inSpeed;
/** 发送流量(bytes/s */
@Excel(name = "发送流量", readConverterExp = "b=ytes/s")
private BigDecimal outSpeed;
/** 交换机名称 */
@Excel(name = "交换机名称")
private String switchName;
/** 接口连接设备类型 */
@Excel(name = "接口连接设备类型")
private String interfaceDeviceType;
/** 服务器名称 */
@Excel(name = "服务器名称")
private String serverName;
/** 服务器网口 */
@Excel(name = "服务器网口")
private String serverPort;
/** 服务器硬件SN */
@Excel(name = "服务器硬件SN")
private String serverSn;
/** 交换机硬件SN */
@Excel(name = "交换机硬件SN")
private String switchSn;
/** 数据集合 */
private List<InitialSwitchInfoDetailsRemote> dataList;
private String startTime;
private String endTime;
}
@@ -0,0 +1,34 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class NetworkInfo {
// 运营商
@JsonProperty("carrier")
private String carrier;
// 市
@JsonProperty("city")
private String city;
// 网关
@JsonProperty("gateway")
private String gateway;
// IPv4 地址
@JsonProperty("ipv4")
private String ipv4;
// MAC 地址
@JsonProperty("mac")
private String mac;
// 接口名称:eth0, enp3s0
@JsonProperty("name")
private String name;
// 省
@JsonProperty("province")
private String province;
// 公网 IP
@JsonProperty("publicIp")
private String publicIp;
@JsonProperty("type")
private String type;
}
@@ -0,0 +1,236 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 节点带宽信息对象 eps_node_bandwidth
*
* @author gyt
* @date 2025-08-12
*/
public class NodeBandwidth extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 节点名称 */
@Excel(name = "节点名称")
private String nodeName;
/** 硬件SN */
@Excel(name = "硬件SN")
private String hardwareSn;
/** 95带宽值Mbps/日 */
@Excel(name = "95带宽值Mbps/日")
private BigDecimal bandwidth95Daily;
/** 95带宽值Mbps/月 */
@Excel(name = "95带宽值Mbps/月")
private BigDecimal bandwidth95Monthly;
/** 包端带宽值Mbps/日 */
@Excel(name = "包端带宽值Mbps/日")
private BigDecimal packageBandwidthDaily;
/** 设备业务客户id */
@Excel(name = "设备业务客户id")
private String customerId;
/** 设备业务客户名称 */
@Excel(name = "设备业务客户名称")
private String customerName;
/** 业务号 */
@Excel(name = "业务号")
private String serviceNumber;
/** 上联交换机 */
@Excel(name = "上联交换机")
private String uplinkSwitch;
/** 创建人id */
@Excel(name = "创建人id")
private Long creatorId;
/** 创建人名称 */
@Excel(name = "创建人名称")
private String creatorName;
/** remark1 */
@Excel(name = "remark1")
private String remark1;
/** remark2 */
@Excel(name = "remark2")
private String remark2;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setNodeName(String nodeName)
{
this.nodeName = nodeName;
}
public String getNodeName()
{
return nodeName;
}
public void setHardwareSn(String hardwareSn)
{
this.hardwareSn = hardwareSn;
}
public String getHardwareSn()
{
return hardwareSn;
}
public void setBandwidth95Daily(BigDecimal bandwidth95Daily)
{
this.bandwidth95Daily = bandwidth95Daily;
}
public BigDecimal getBandwidth95Daily()
{
return bandwidth95Daily;
}
public void setBandwidth95Monthly(BigDecimal bandwidth95Monthly)
{
this.bandwidth95Monthly = bandwidth95Monthly;
}
public BigDecimal getBandwidth95Monthly()
{
return bandwidth95Monthly;
}
public void setPackageBandwidthDaily(BigDecimal packageBandwidthDaily)
{
this.packageBandwidthDaily = packageBandwidthDaily;
}
public BigDecimal getPackageBandwidthDaily()
{
return packageBandwidthDaily;
}
public void setCustomerId(String customerId)
{
this.customerId = customerId;
}
public String getCustomerId()
{
return customerId;
}
public void setCustomerName(String customerName)
{
this.customerName = customerName;
}
public String getCustomerName()
{
return customerName;
}
public void setServiceNumber(String serviceNumber)
{
this.serviceNumber = serviceNumber;
}
public String getServiceNumber()
{
return serviceNumber;
}
public void setUplinkSwitch(String uplinkSwitch)
{
this.uplinkSwitch = uplinkSwitch;
}
public String getUplinkSwitch()
{
return uplinkSwitch;
}
public void setCreatorId(Long creatorId)
{
this.creatorId = creatorId;
}
public Long getCreatorId()
{
return creatorId;
}
public void setCreatorName(String creatorName)
{
this.creatorName = creatorName;
}
public String getCreatorName()
{
return creatorName;
}
public void setRemark1(String remark1)
{
this.remark1 = remark1;
}
public String getRemark1()
{
return remark1;
}
public void setRemark2(String remark2)
{
this.remark2 = remark2;
}
public String getRemark2()
{
return remark2;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("nodeName", getNodeName())
.append("hardwareSn", getHardwareSn())
.append("bandwidth95Daily", getBandwidth95Daily())
.append("bandwidth95Monthly", getBandwidth95Monthly())
.append("packageBandwidthDaily", getPackageBandwidthDaily())
.append("customerId", getCustomerId())
.append("customerName", getCustomerName())
.append("serviceNumber", getServiceNumber())
.append("uplinkSwitch", getUplinkSwitch())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("creatorId", getCreatorId())
.append("creatorName", getCreatorName())
.append("remark1", getRemark1())
.append("remark2", getRemark2())
.toString();
}
}
@@ -0,0 +1,150 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 告警记录对象 rm_alarm_record
*
* @author gyt
* @date 2025-09-12
*/
public class RmAlarmRecordRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 客户端ID/设备ID */
@Excel(name = "客户端ID/设备ID")
private String clientId;
/** 资源名称 */
@Excel(name = "资源名称")
private String resourceName;
/** 源IP地址 */
@Excel(name = "源IP地址")
private String sourceIp;
/** 告警发生时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "告警发生时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date occurTime;
/** 告警详细内容 */
@Excel(name = "告警详细内容")
private String content;
/** 重复告警次数 */
@Excel(name = "重复告警次数")
private Long repeatCount;
/** 状态:0-未处理,1-已处理 */
@Excel(name = "状态:0-未处理,1-已处理")
private String status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setClientId(String clientId)
{
this.clientId = clientId;
}
public String getClientId()
{
return clientId;
}
public void setResourceName(String resourceName)
{
this.resourceName = resourceName;
}
public String getResourceName()
{
return resourceName;
}
public void setSourceIp(String sourceIp)
{
this.sourceIp = sourceIp;
}
public String getSourceIp()
{
return sourceIp;
}
public void setOccurTime(Date occurTime)
{
this.occurTime = occurTime;
}
public Date getOccurTime()
{
return occurTime;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setRepeatCount(Long repeatCount)
{
this.repeatCount = repeatCount;
}
public Long getRepeatCount()
{
return repeatCount;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("clientId", getClientId())
.append("resourceName", getResourceName())
.append("sourceIp", getSourceIp())
.append("occurTime", getOccurTime())
.append("content", getContent())
.append("repeatCount", getRepeatCount())
.append("status", getStatus())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.toString();
}
}
@@ -0,0 +1,84 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class RmDeployScriptRemote {
/** 策略ID */
private Long id;
/** 策略名称 */
@Excel(name = "策略名称")
private String policyName;
/** 策略描述 */
@Excel(name = "策略描述")
private String description;
/** 关联资源组ID */
@Excel(name = "关联资源组ID")
private Long resourceGroupId;
/** 包含的设备ID列表(逗号分隔) */
private String includedDevicesId;
/** 包含设备 */
@Excel(name = "包含设备")
private String includedDevicesName;
/** 源文件地址格式 */
@Excel(name = "源文件地址格式")
private String sourceFilePathType;
/** 源文件路径 */
@Excel(name = "源文件路径")
private String sourceFilePath;
/** 目标目录 */
@Excel(name = "目标目录")
private String targetDirectory;
/** 命令执行内容 */
@Excel(name = "命令执行内容")
private String commandContent;
/** 0=立即执行,1=定时执行 */
@Excel(name = "执行方式", readConverterExp = "0=立即执行,1=定时执行")
private Integer executionMethod;
/** 定时执行时间 */
@Excel(name = "定时执行时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduledTime;
/** 定时执行时间(时间戳秒) */
private Long policyTime;
/** 策略状态:0-未下发,1-已下发 */
@Excel(name = "策略状态:0-未下发,1-已下发")
private String policyStatus;
/** 策略下发时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "策略下发时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date deployTime;
/** 脚本类型 */
@Excel(name = "脚本类型")
private String scriptType;
/** 资源组名称 */
private String resourceGroupName;
/** 资源组置空 */
private Boolean resourceGroupIdNull;
/** 部署设备 */
private String deployDevice;
/** 业务脚本名称 */
private String scriptName;
/** 业务脚本文件地址 */
private String scriptPath;
/** 业务脚本参数 */
private String defaultParams;
/** 业务下发名称 */
private String taskName;
}
@@ -0,0 +1,61 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
@Data
public class RmMonitorPolicyRemote extends BaseEntity {
/** 主键ID */
private Long id;
/** 策略名称 */
@Excel(name = "策略名称")
private String policyName;
/** 描述 */
@Excel(name = "描述")
private String description;
/** 资源组ID */
private Long resourceGroupId;
/** 资源组名称 */
@Excel(name = "关联资源组")
private String resourceGroupName;
/** 模板ID */
private Long templateId;
/** 模板名称 */
@Excel(name = "关联监控模板")
private String templateName;
/** 状态:0-待下发,1-已下发 */
@Excel(name = "策略状态", readConverterExp = "0=待下发,1=已下发")
private String status;
/** 下发策略时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "下发策略时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date deployTime;
/** 资源类型,linux switch */
private String resourceType;
/** 查询条件名称 */
private String queryName;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间")
private Date createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "修改时间")
private Date updateTime;
/** 交换机类型 */
private String switchType;
/** 部署设备 */
private String deployDevice;
/** 优先级 */
private String priority;
}
@@ -0,0 +1,57 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
@Data
public class RmNetworkInterfaceRemote extends BaseEntity {
/** 主键ID */
private Long id;
/** 客户端ID */
@Excel(name = "客户端ID")
private String clientId;
/** 运营商 */
@Excel(name = "运营商")
private String isp;
/** 省 */
@Excel(name = "")
private String province;
/** 市 */
@Excel(name = "")
private String city;
/** 公网IP */
@Excel(name = "公网IP")
private String publicIp;
/** 接口名称 */
@Excel(name = "接口名称")
private String interfaceName;
/** MAC地址 */
@Excel(name = "MAC地址")
private String macAddress;
/** 接口类型 */
@Excel(name = "接口类型")
private String interfaceType;
/** IPv4地址 */
@Excel(name = "IPv4地址")
private String ipv4Address;
/** 网关 */
@Excel(name = "网关")
private String gateway;
/** 绑定ip 1业务IP2管理ip */
private String bindIp;
/** 新旧标识 */
private Integer newFlag;
/** 服务器clientId集合 */
private String clientIds;
}
@@ -0,0 +1,23 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class RmRegisterMsgRemote {
@JsonProperty("clientId")
private String clientId;
@JsonProperty("sn")
private String sn;
@JsonProperty("networkInfo")
private List<NetworkInfo> networkInfo;
@JsonProperty("timestamp")
private long timestamp;
}
@@ -0,0 +1,60 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
* 资源分组对象 rm_resource_group
*
* @author gyt
* @date 2025-08-12
*/
@Data
public class RmResourceGroupRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 组名 */
@Excel(name = "组名")
private String groupName;
/** 描述 */
@Excel(name = "描述")
private String description;
/** 包含设备id */
private String includedDevicesId;
/** 包含设备名称 */
@Excel(name = "包含设备")
private String includedDevicesName;
/** 创建时间 */
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 修改时间 */
@Excel(name = "修改时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 创建人id */
private Long creatorId;
/** 创建人名称 */
private String creatorName;
/** 修改人id */
private Long updaterId;
/** 修改人名称 */
private String updaterName;
}
@@ -0,0 +1,182 @@
package com.tongran.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
* 资源注册对象 rm_resource_registration
*
* @author gyt
* @date 2025-08-12
*/
@Data
public class RmResourceRegistrationRemote extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 硬件SN */
@Excel(name = "硬件SN")
private String hardwareSn;
/** 资源类型
* 1 服务器,2 交换机*/
@Excel(name = "资源类型",readConverterExp = "1=服务器,2=交换机")
private String resourceType;
/** 资源名称 */
@Excel(name = "资源名称")
private String resourceName;
/** IP地址 */
@Excel(name = "IP地址")
private String ipAddress;
/** 端口1.162(SNMP),2.其他 */
@Excel(name = "端口")
private String resourcePort;
/**其他端口名称 */
private String otherPortName;
/** agent版本 */
@Excel(name = "agent版本")
private String agentVersion;
/** 协议 1.TCP,2.UDP */
@Excel(name = "协议",readConverterExp = "1=TCP,2=UDP")
private String protocol;
/** SNMP探测 0=否,1=是 */
@Excel(name = "",readConverterExp = "0=否,1=是")
private String snmpDetect;
/** 版本(1.SNMPv2,2.SNMPv3) */
@Excel(name = "SNMP版本",readConverterExp = "1=华为SNMPv2c,2=华为SNMPv3")
private String resourceVersion;
/** 读写权限(1.RW,2.ReadOnly) */
@Excel(name = "读写权限",readConverterExp = "1=只读,2=可读可写")
private String rwPermission;
/** 团体名称 */
@Excel(name = "团体名称")
private String teamName;
/** SNMP采集地址 */
@Excel(name = "SNMP采集地址")
private String snmpCollectAddr;
/** SNMP采集端口 */
@Excel(name = "SNMP采集端口")
private String snmpCollectPort;
/** 安全级别(1.authPriv、2.authNoPriv3.noAuthNoPriv) */
@Excel(name = "安全级别",readConverterExp = "1=authPriv,2=authNoPriv,3=noAuthNoPriv")
private String securityLevel;
/** 加密方式 1.md5,2.SHA */
@Excel(name = "加密方式",readConverterExp = "1=MD5,2=SHA")
private String encryption;
/** 用户名 */
@Excel(name = "用户名")
private String resourceUserName;
/** 密码 */
@Excel(name = "密码")
private String resourcePwd;
/** 注册状态 0-未注册,1-已注册 */
@Excel(name = "注册状态",readConverterExp = "0=未注册,1=已注册")
private String registrationStatus;
/** 在线状态 0-离线,1-在线 */
@Excel(name = "在线状态",readConverterExp = "0=离线,1=在线")
private String onlineStatus;
@Excel(name = "交换机在线状态",readConverterExp = "0=离线,1=在线")
private String switchOnlineStatus;
/** 描述 */
@Excel(name = "描述")
private String description;
/** 设备业务客户id */
private Long customerId;
/** 设备业务客户名称 */
@Excel(name = "设备业务客户")
private String customerName;
/** 业务号 */
@Excel(name = "业务号")
private String serviceNumber;
/** 创建人id */
private Long creatorId;
/** 创建人名称 */
private String creatorName;
/** 修改人id */
private Long updaterId;
/** 修改人名称 */
private String updaterName;
/** 监控项 */
private String monitorItems;
/** 自动发现项 */
private String discoveryRules;
/**
* 客户端ID
*/
private String clientId;
/**
* 运营商
*/
private String operator;
/**
* 省
*/
private String province;
/**
* 公网IP
*/
private String publicIp;
/**
* 业务名称
*/
private String businessName;
/**
* 逻辑节点标识
*/
private String logicalNodeId;
/**
* 多公网IP状态
*/
private String multiPublicIpStatus;
/**
* 心跳次数
*/
private Integer heartbeatCount;
/**
* 心跳周期(单位:秒)
*/
private Integer heartbeatInterval;
/** 上机时间 */
@Excel(name = "上机时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date onboardTime;
}
@@ -0,0 +1,74 @@
package com.tongran.system.api.domain;
import com.tongran.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class RmSwitchManagementRemote {
/** 主键ID */
private Long id;
/** 交换机名称 */
@Excel(name = "交换机名称")
private String switchName;
/** 硬件SN序列号 */
@Excel(name = "硬件SN序列号")
private String hardwareSn;
/** SNMP采集地址 */
@Excel(name = "SNMP采集地址")
private String snmpAddress;
/** SNMP采集端口 */
@Excel(name = "SNMP采集端口")
private Long snmpPort;
/** 在线状态(0-离线,1-在线) */
@Excel(name = "在线状态(0-离线,1-在线)")
private String onlineStatus;
/** 上机时间 */
private Date upTime;
/** 心跳监测次数 */
@Excel(name = "心跳监测次数")
private String heartbeatCount;
/** 心跳监测周期(秒) */
@Excel(name = "心跳监测周期(秒)")
private String heartbeatInterval;
/** 心跳检测OID */
@Excel(name = "心跳检测OID")
private String heartbeatOid;
/** SNMP版本(v1/v2c/v3) */
@Excel(name = "SNMP版本(v1/v2c/v3)")
private String snmpVersion;
/** 读写权限 */
@Excel(name = "读写权限")
private String readWritePermission;
/** 安全级别 */
@Excel(name = "安全级别")
private String securityLevel;
/** 加密方式 */
@Excel(name = "加密方式")
private String encryptionMethod;
/** 团体名称 */
@Excel(name = "团体名称")
private String communityName;
/** 密码 */
@Excel(name = "密码")
private String switchPassword;
/** 交换机类型 */
private String switchType;
/** 用户名 */
private String switchUser;
/** 自动生成客户端id(uuid) */
private String clientId;
}
@@ -0,0 +1,12 @@
package com.tongran.system.api.domain;
import lombok.Data;
@Data
public class RouteMsg {
/** 网卡名称 */
private String name;
/** 网关地址 */
private String gateway;
}
@@ -0,0 +1,203 @@
package com.tongran.system.api.domain;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 部门表 sys_dept
*
* @author tongran
*/
public class SysDept extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 部门ID */
private Long deptId;
/** 父部门ID */
private Long parentId;
/** 祖级列表 */
private String ancestors;
/** 部门名称 */
private String deptName;
/** 显示顺序 */
private Integer orderNum;
/** 负责人 */
private String leader;
/** 联系电话 */
private String phone;
/** 邮箱 */
private String email;
/** 部门状态:0正常,1停用 */
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 父部门名称 */
private String parentName;
/** 子部门 */
private List<SysDept> children = new ArrayList<SysDept>();
public Long getDeptId()
{
return deptId;
}
public void setDeptId(Long deptId)
{
this.deptId = deptId;
}
public Long getParentId()
{
return parentId;
}
public void setParentId(Long parentId)
{
this.parentId = parentId;
}
public String getAncestors()
{
return ancestors;
}
public void setAncestors(String ancestors)
{
this.ancestors = ancestors;
}
@NotBlank(message = "部门名称不能为空")
@Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
public String getDeptName()
{
return deptName;
}
public void setDeptName(String deptName)
{
this.deptName = deptName;
}
@NotNull(message = "显示顺序不能为空")
public Integer getOrderNum()
{
return orderNum;
}
public void setOrderNum(Integer orderNum)
{
this.orderNum = orderNum;
}
public String getLeader()
{
return leader;
}
public void setLeader(String leader)
{
this.leader = leader;
}
@Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
public String getPhone()
{
return phone;
}
public void setPhone(String phone)
{
this.phone = phone;
}
@Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getDelFlag()
{
return delFlag;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getParentName()
{
return parentName;
}
public void setParentName(String parentName)
{
this.parentName = parentName;
}
public List<SysDept> getChildren()
{
return children;
}
public void setChildren(List<SysDept> children)
{
this.children = children;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("deptId", getDeptId())
.append("parentId", getParentId())
.append("ancestors", getAncestors())
.append("deptName", getDeptName())
.append("orderNum", getOrderNum())
.append("leader", getLeader())
.append("phone", getPhone())
.append("email", getEmail())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}
@@ -0,0 +1,176 @@
package com.tongran.system.api.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.constant.UserConstants;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 字典数据表 sys_dict_data
*
* @author tongran
*/
public class SysDictData extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 字典编码 */
@Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
private Long dictCode;
/** 字典排序 */
@Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
private Long dictSort;
/** 字典标签 */
@Excel(name = "字典标签")
private String dictLabel;
/** 字典键值 */
@Excel(name = "字典键值")
private String dictValue;
/** 字典类型 */
@Excel(name = "字典类型")
private String dictType;
/** 样式属性(其他样式扩展) */
private String cssClass;
/** 表格字典样式 */
private String listClass;
/** 是否默认(Y是 N否) */
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault;
/** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public Long getDictCode()
{
return dictCode;
}
public void setDictCode(Long dictCode)
{
this.dictCode = dictCode;
}
public Long getDictSort()
{
return dictSort;
}
public void setDictSort(Long dictSort)
{
this.dictSort = dictSort;
}
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel()
{
return dictLabel;
}
public void setDictLabel(String dictLabel)
{
this.dictLabel = dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue()
{
return dictValue;
}
public void setDictValue(String dictValue)
{
this.dictValue = dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType()
{
return dictType;
}
public void setDictType(String dictType)
{
this.dictType = dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass()
{
return cssClass;
}
public void setCssClass(String cssClass)
{
this.cssClass = cssClass;
}
public String getListClass()
{
return listClass;
}
public void setListClass(String listClass)
{
this.listClass = listClass;
}
public boolean getDefault()
{
return UserConstants.YES.equals(this.isDefault);
}
public String getIsDefault()
{
return isDefault;
}
public void setIsDefault(String isDefault)
{
this.isDefault = isDefault;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("dictCode", getDictCode())
.append("dictSort", getDictSort())
.append("dictLabel", getDictLabel())
.append("dictValue", getDictValue())
.append("dictType", getDictType())
.append("cssClass", getCssClass())
.append("listClass", getListClass())
.append("isDefault", getIsDefault())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,96 @@
package com.tongran.system.api.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 字典类型表 sys_dict_type
*
* @author tongran
*/
public class SysDictType extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 字典主键 */
@Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
private Long dictId;
/** 字典名称 */
@Excel(name = "字典名称")
private String dictName;
/** 字典类型 */
@Excel(name = "字典类型")
private String dictType;
/** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public Long getDictId()
{
return dictId;
}
public void setDictId(Long dictId)
{
this.dictId = dictId;
}
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName()
{
return dictName;
}
public void setDictName(String dictName)
{
this.dictName = dictName;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
public String getDictType()
{
return dictType;
}
public void setDictType(String dictType)
{
this.dictType = dictType;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("dictId", getDictId())
.append("dictName", getDictName())
.append("dictType", getDictType())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,50 @@
package com.tongran.system.api.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 文件信息
*
* @author tongran
*/
public class SysFile
{
/**
* 文件名称
*/
private String name;
/**
* 文件地址
*/
private String url;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getUrl()
{
return url;
}
public void setUrl(String url)
{
this.url = url;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("name", getName())
.append("url", getUrl())
.toString();
}
}
@@ -0,0 +1,102 @@
package com.tongran.system.api.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 系统访问记录表 sys_logininfor
*
* @author tongran
*/
public class SysLogininfor extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** ID */
@Excel(name = "序号", cellType = ColumnType.NUMERIC)
private Long infoId;
/** 用户账号 */
@Excel(name = "用户账号")
private String userName;
/** 状态 0成功 1失败 */
@Excel(name = "状态", readConverterExp = "0=成功,1=失败")
private String status;
/** 地址 */
@Excel(name = "地址")
private String ipaddr;
/** 描述 */
@Excel(name = "描述")
private String msg;
/** 访问时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date accessTime;
public Long getInfoId()
{
return infoId;
}
public void setInfoId(Long infoId)
{
this.infoId = infoId;
}
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getIpaddr()
{
return ipaddr;
}
public void setIpaddr(String ipaddr)
{
this.ipaddr = ipaddr;
}
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
public Date getAccessTime()
{
return accessTime;
}
public void setAccessTime(Date accessTime)
{
this.accessTime = accessTime;
}
}
@@ -0,0 +1,255 @@
package com.tongran.system.api.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 操作日志记录表 oper_log
*
* @author tongran
*/
public class SysOperLog extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 日志主键 */
@Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
private Long operId;
/** 操作模块 */
@Excel(name = "操作模块")
private String title;
/** 业务类型(0其它 1新增 2修改 3删除) */
@Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
private Integer businessType;
/** 业务类型数组 */
private Integer[] businessTypes;
/** 请求方法 */
@Excel(name = "请求方法")
private String method;
/** 请求方式 */
@Excel(name = "请求方式")
private String requestMethod;
/** 操作类别(0其它 1后台用户 2手机端用户) */
@Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
private Integer operatorType;
/** 操作人员 */
@Excel(name = "操作人员")
private String operName;
/** 部门名称 */
@Excel(name = "部门名称")
private String deptName;
/** 请求url */
@Excel(name = "请求地址")
private String operUrl;
/** 操作地址 */
@Excel(name = "操作地址")
private String operIp;
/** 请求参数 */
@Excel(name = "请求参数")
private String operParam;
/** 返回参数 */
@Excel(name = "返回参数")
private String jsonResult;
/** 操作状态(0正常 1异常) */
@Excel(name = "状态", readConverterExp = "0=正常,1=异常")
private Integer status;
/** 错误消息 */
@Excel(name = "错误消息")
private String errorMsg;
/** 操作时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date operTime;
/** 消耗时间 */
@Excel(name = "消耗时间", suffix = "毫秒")
private Long costTime;
public Long getOperId()
{
return operId;
}
public void setOperId(Long operId)
{
this.operId = operId;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public Integer getBusinessType()
{
return businessType;
}
public void setBusinessType(Integer businessType)
{
this.businessType = businessType;
}
public Integer[] getBusinessTypes()
{
return businessTypes;
}
public void setBusinessTypes(Integer[] businessTypes)
{
this.businessTypes = businessTypes;
}
public String getMethod()
{
return method;
}
public void setMethod(String method)
{
this.method = method;
}
public String getRequestMethod()
{
return requestMethod;
}
public void setRequestMethod(String requestMethod)
{
this.requestMethod = requestMethod;
}
public Integer getOperatorType()
{
return operatorType;
}
public void setOperatorType(Integer operatorType)
{
this.operatorType = operatorType;
}
public String getOperName()
{
return operName;
}
public void setOperName(String operName)
{
this.operName = operName;
}
public String getDeptName()
{
return deptName;
}
public void setDeptName(String deptName)
{
this.deptName = deptName;
}
public String getOperUrl()
{
return operUrl;
}
public void setOperUrl(String operUrl)
{
this.operUrl = operUrl;
}
public String getOperIp()
{
return operIp;
}
public void setOperIp(String operIp)
{
this.operIp = operIp;
}
public String getOperParam()
{
return operParam;
}
public void setOperParam(String operParam)
{
this.operParam = operParam;
}
public String getJsonResult()
{
return jsonResult;
}
public void setJsonResult(String jsonResult)
{
this.jsonResult = jsonResult;
}
public Integer getStatus()
{
return status;
}
public void setStatus(Integer status)
{
this.status = status;
}
public String getErrorMsg()
{
return errorMsg;
}
public void setErrorMsg(String errorMsg)
{
this.errorMsg = errorMsg;
}
public Date getOperTime()
{
return operTime;
}
public void setOperTime(Date operTime)
{
this.operTime = operTime;
}
public Long getCostTime()
{
return costTime;
}
public void setCostTime(Long costTime)
{
this.costTime = costTime;
}
}
@@ -0,0 +1,241 @@
package com.tongran.system.api.domain;
import java.util.Set;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.web.domain.BaseEntity;
/**
* 角色表 sys_role
*
* @author tongran
*/
public class SysRole extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 角色ID */
@Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
private Long roleId;
/** 角色名称 */
@Excel(name = "角色名称")
private String roleName;
/** 角色权限 */
@Excel(name = "角色权限")
private String roleKey;
/** 角色排序 */
@Excel(name = "角色排序")
private Integer roleSort;
/** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
@Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
private String dataScope;
/** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
private boolean menuCheckStrictly;
/** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
private boolean deptCheckStrictly;
/** 角色状态(0正常 1停用) */
@Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 用户是否存在此角色标识 默认不存在 */
private boolean flag = false;
/** 菜单组 */
private Long[] menuIds;
/** 部门组(数据权限) */
private Long[] deptIds;
/** 角色菜单权限 */
private Set<String> permissions;
public SysRole()
{
}
public SysRole(Long roleId)
{
this.roleId = roleId;
}
public Long getRoleId()
{
return roleId;
}
public void setRoleId(Long roleId)
{
this.roleId = roleId;
}
public boolean isAdmin()
{
return isAdmin(this.roleId);
}
public static boolean isAdmin(Long roleId)
{
return roleId != null && 1L == roleId;
}
@NotBlank(message = "角色名称不能为空")
@Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
public String getRoleName()
{
return roleName;
}
public void setRoleName(String roleName)
{
this.roleName = roleName;
}
@NotBlank(message = "权限字符不能为空")
@Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
public String getRoleKey()
{
return roleKey;
}
public void setRoleKey(String roleKey)
{
this.roleKey = roleKey;
}
@NotNull(message = "显示顺序不能为空")
public Integer getRoleSort()
{
return roleSort;
}
public void setRoleSort(Integer roleSort)
{
this.roleSort = roleSort;
}
public String getDataScope()
{
return dataScope;
}
public void setDataScope(String dataScope)
{
this.dataScope = dataScope;
}
public boolean isMenuCheckStrictly()
{
return menuCheckStrictly;
}
public void setMenuCheckStrictly(boolean menuCheckStrictly)
{
this.menuCheckStrictly = menuCheckStrictly;
}
public boolean isDeptCheckStrictly()
{
return deptCheckStrictly;
}
public void setDeptCheckStrictly(boolean deptCheckStrictly)
{
this.deptCheckStrictly = deptCheckStrictly;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getDelFlag()
{
return delFlag;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public boolean isFlag()
{
return flag;
}
public void setFlag(boolean flag)
{
this.flag = flag;
}
public Long[] getMenuIds()
{
return menuIds;
}
public void setMenuIds(Long[] menuIds)
{
this.menuIds = menuIds;
}
public Long[] getDeptIds()
{
return deptIds;
}
public void setDeptIds(Long[] deptIds)
{
this.deptIds = deptIds;
}
public Set<String> getPermissions()
{
return permissions;
}
public void setPermissions(Set<String> permissions)
{
this.permissions = permissions;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("roleId", getRoleId())
.append("roleName", getRoleName())
.append("roleKey", getRoleKey())
.append("roleSort", getRoleSort())
.append("dataScope", getDataScope())
.append("menuCheckStrictly", isMenuCheckStrictly())
.append("deptCheckStrictly", isDeptCheckStrictly())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,339 @@
package com.tongran.system.api.domain;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.annotation.Excel.ColumnType;
import com.tongran.common.core.annotation.Excel.Type;
import com.tongran.common.core.constant.UserConstants;
import com.tongran.common.core.annotation.Excels;
import com.tongran.common.core.web.domain.BaseEntity;
import com.tongran.common.core.xss.Xss;
/**
* 用户对象 sys_user
*
* @author tongran
*/
public class SysUser extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@Excel(name = "用户序号", type = Type.EXPORT, cellType = ColumnType.NUMERIC, prompt = "用户编号")
private Long userId;
/** 部门ID */
@Excel(name = "部门编号", type = Type.IMPORT)
private Long deptId;
/** 用户账号 */
@Excel(name = "登录名称")
private String userName;
/** 用户昵称 */
@Excel(name = "用户名称")
private String nickName;
/** 用户邮箱 */
@Excel(name = "用户邮箱")
private String email;
/** 手机号码 */
@Excel(name = "手机号码", cellType = ColumnType.TEXT)
private String phonenumber;
/** 用户性别 */
@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
private String sex;
/** 用户头像 */
private String avatar;
/** 密码 */
private String password;
/** 账号状态(0正常 1停用) */
@Excel(name = "账号状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 最后登录IP */
@Excel(name = "最后登录IP", type = Type.EXPORT)
private String loginIp;
/** 最后登录时间 */
@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
private Date loginDate;
/** 密码最后更新时间 */
private Date pwdUpdateDate;
/** 部门对象 */
@Excels({
@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
@Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
})
private SysDept dept;
/** 角色对象 */
private List<SysRole> roles;
/** 角色组 */
private Long[] roleIds;
/** 岗位组 */
private Long[] postIds;
/** 角色ID */
private Long roleId;
public SysUser()
{
}
public SysUser(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public boolean isAdmin()
{
return isAdmin(this.userId);
}
public static boolean isAdmin(Long userId)
{
return UserConstants.isAdmin(userId);
}
public Long getDeptId()
{
return deptId;
}
public void setDeptId(Long deptId)
{
this.deptId = deptId;
}
@Xss(message = "用户昵称不能包含脚本字符")
@Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
public String getNickName()
{
return nickName;
}
public void setNickName(String nickName)
{
this.nickName = nickName;
}
@Xss(message = "用户账号不能包含脚本字符")
@NotBlank(message = "用户账号不能为空")
@Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
@Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
@Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
public String getPhonenumber()
{
return phonenumber;
}
public void setPhonenumber(String phonenumber)
{
this.phonenumber = phonenumber;
}
public String getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
public String getAvatar()
{
return avatar;
}
public void setAvatar(String avatar)
{
this.avatar = avatar;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getDelFlag()
{
return delFlag;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getLoginIp()
{
return loginIp;
}
public void setLoginIp(String loginIp)
{
this.loginIp = loginIp;
}
public Date getLoginDate()
{
return loginDate;
}
public void setLoginDate(Date loginDate)
{
this.loginDate = loginDate;
}
public Date getPwdUpdateDate()
{
return pwdUpdateDate;
}
public void setPwdUpdateDate(Date pwdUpdateDate)
{
this.pwdUpdateDate = pwdUpdateDate;
}
public SysDept getDept()
{
return dept;
}
public void setDept(SysDept dept)
{
this.dept = dept;
}
public List<SysRole> getRoles()
{
return roles;
}
public void setRoles(List<SysRole> roles)
{
this.roles = roles;
}
public Long[] getRoleIds()
{
return roleIds;
}
public void setRoleIds(Long[] roleIds)
{
this.roleIds = roleIds;
}
public Long[] getPostIds()
{
return postIds;
}
public void setPostIds(Long[] postIds)
{
this.postIds = postIds;
}
public Long getRoleId()
{
return roleId;
}
public void setRoleId(Long roleId)
{
this.roleId = roleId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("userId", getUserId())
.append("deptId", getDeptId())
.append("userName", getUserName())
.append("nickName", getNickName())
.append("email", getEmail())
.append("phonenumber", getPhonenumber())
.append("sex", getSex())
.append("avatar", getAvatar())
.append("password", getPassword())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("loginIp", getLoginIp())
.append("loginDate", getLoginDate())
.append("pwdUpdateDate", getPwdUpdateDate())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("dept", getDept())
.toString();
}
}
@@ -0,0 +1,41 @@
package com.tongran.system.api.factory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.RemoteFileService;
import com.tongran.system.api.domain.SysFile;
/**
* 文件服务降级处理
*
* @author tongran
*/
@Component
public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);
@Override
public RemoteFileService create(Throwable throwable)
{
log.error("文件服务调用失败:{}", throwable.getMessage());
return new RemoteFileService()
{
@Override
public R<SysFile> upload(MultipartFile file)
{
return R.fail("上传文件失败:" + throwable.getMessage());
}
@Override
public R<Boolean> delete(String fileUrl)
{
return R.fail("删除文件失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,42 @@
package com.tongran.system.api.factory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.RemoteLogService;
import com.tongran.system.api.domain.SysLogininfor;
import com.tongran.system.api.domain.SysOperLog;
/**
* 日志服务降级处理
*
* @author tongran
*/
@Component
public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
@Override
public RemoteLogService create(Throwable throwable)
{
log.error("日志服务调用失败:{}", throwable.getMessage());
return new RemoteLogService()
{
@Override
public R<Boolean> saveLog(SysOperLog sysOperLog, String source)
{
return R.fail("保存操作日志失败:" + throwable.getMessage());
}
@Override
public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source)
{
return R.fail("保存登录日志失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,101 @@
package com.tongran.system.api.factory;
import com.tongran.common.core.domain.R;
import com.tongran.common.core.web.page.TableDataInfo;
import com.tongran.system.api.RemoteRevenueConfigService;
import com.tongran.system.api.domain.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 用户服务降级处理
*
* @author tongran
*/
@Component
public class RemoteRevenueConfigFallbackFactory implements FallbackFactory<RemoteRevenueConfigService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteRevenueConfigFallbackFactory.class);
@Override
public RemoteRevenueConfigService create(Throwable throwable)
{
log.error("流量业务服务调用失败:{}", throwable.getMessage());
return new RemoteRevenueConfigService()
{
@Override
public R<String> autoSaveServiceTrafficData(EpsInitialTrafficDataRemote queryParam, String source) {
return R.fail("保存流量数据失败:" + throwable.getMessage());
}
@Override
public R<String> autoSaveSwitchTraffic(InitialSwitchInfoDetailsRemote queryParam, String source) {
return R.fail("保存交换机流量数据失败:" + throwable.getMessage());
}
@Override
public R<String> updateStatusByResource(RmResourceRegistrationRemote queryParam, String source) {
return R.fail("资源状态修改失败:" + throwable.getMessage());
}
@Override
public R<AllInterfaceNameRemote> getMsgByClientId(AllInterfaceNameRemote queryParam, String source) {
return R.fail("获取服务器信息失败:" + throwable.getMessage());
}
@Override
public R<RmResourceGroupRemote> getResourceGroupMsgById(Long id, String source) {
return R.fail("获取资源组信息失败:" + throwable.getMessage());
}
@Override
public R<List<RmResourceRegistrationRemote>> getRegistrationByIds(String[] ids, String source) {
return R.fail("获取资源注册信息失败:" + throwable.getMessage());
}
@Override
public R<TableDataInfo> getRegistrationList(RmResourceRegistrationRemote rmResourceRegistrationRemote, String source) {
return R.fail("获取资源注册列表信息失败:" + throwable.getMessage());
}
@Override
public R<RmResourceRegistrationRemote> getListByHardwareSn(RmResourceRegistrationRemote rmResourceRegistrationRemote, String source) {
return R.fail("根据SN获取资源注册列表信息失败:" + throwable.getMessage());
}
@Override
public R<List<RmSwitchManagementRemote>> getSwitchNameByClientId(RmSwitchManagementRemote rmSwitchManagementRemote, String source) {
return R.fail("根据clientId获取交换机信息失败:" + throwable.getMessage());
}
@Override
public R<Integer> updateSwitchMsgByClientId(RmSwitchManagementRemote rmSwitchManagementRemote, String source) {
return R.fail("根据clientId修改交换机信息失败:" + throwable.getMessage());
}
@Override
public R<Integer> innerAddRegist(RmRegisterMsgRemote rmRegisterMsgRemote, String source) {
return R.fail("自动注册失败:" + throwable.getMessage());
}
@Override
public R<Integer> innerUpdateRegist(RmResourceRegistrationRemote rmResourceRegistrationRemote, String source) {
return R.fail("修改服务器注册信息失败:" + throwable.getMessage());
}
@Override
public R<List<EpsNodeBandwidthRemote>> getEpsNodeBandWidthList(EpsNodeBandwidthRemote epsNodeBandwidthRemote, String source) {
return R.fail("获取95值列表失败:" + throwable.getMessage());
}
@Override
public R<EpsBusinessScriptRemote> getBusinessScriptMsgByScriptId(Long id, String source) {
return R.fail("获取错误关键词失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,88 @@
package com.tongran.system.api.factory;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.RemoteRocketMqService;
import com.tongran.system.api.domain.RmAlarmRecordRemote;
import com.tongran.system.api.domain.RmDeployScriptRemote;
import com.tongran.system.api.domain.RmMonitorPolicyRemote;
import com.tongran.system.api.domain.RmNetworkInterfaceRemote;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 用户服务降级处理
*
* @author tongran
*/
@Component
public class RemoteRocketMqFallbackFactory implements FallbackFactory<RemoteRocketMqService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteRocketMqFallbackFactory.class);
@Override
public RemoteRocketMqService create(Throwable throwable)
{
log.error("rocketMq服务调用失败:{}", throwable.getMessage());
return new RemoteRocketMqService()
{
@Override
public R<Map> sendAsyncProducerMessage(String topic, String tag, String key, String value, String source) {
Map<String, Object> errorMap = new HashMap<>();
errorMap.put("msg", "生产者发送消息失败");
errorMap.put("error", throwable.getMessage());
return R.fail(errorMap);
}
@Override
public R<List<RmAlarmRecordRemote>> getAlarmList(RmAlarmRecordRemote rmAlarmRecordRemote, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<Map> alarmHandlingStatus(String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<List<RmNetworkInterfaceRemote>> getNetworkInterfaceList(RmNetworkInterfaceRemote rmNetworkInterfaceRemote, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<Integer> bindPublicIp(RmNetworkInterfaceRemote rmNetworkInterfaceRemote, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<String> innerIssueSwitchPolicy(Long id, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<List<RmMonitorPolicyRemote>> getPolicyMsgInner(RmMonitorPolicyRemote rmMonitorPolicyRemote, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<Integer> updatePolicyMsgInner(RmMonitorPolicyRemote rmMonitorPolicyRemote, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<Integer> issueDefaultPolicyByClientId(String clientId, String source) {
return R.fail(throwable.getMessage());
}
@Override
public R<Integer> addDeployScript(RmDeployScriptRemote addData, String source) {
return R.fail(throwable.getMessage());
}
};
}
}
@@ -0,0 +1,72 @@
package com.tongran.system.api.factory;
import com.tongran.common.core.domain.R;
import com.tongran.system.api.RemoteUserService;
import com.tongran.system.api.domain.EpsInitialTrafficDataRemote;
import com.tongran.system.api.domain.NodeBandwidth;
import com.tongran.system.api.domain.SysUser;
import com.tongran.system.api.model.LoginUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 用户服务降级处理
*
* @author tongran
*/
@Component
public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
@Override
public RemoteUserService create(Throwable throwable)
{
log.error("用户服务调用失败:{}", throwable.getMessage());
return new RemoteUserService()
{
@Override
public R<LoginUser> getUserInfo(String username, String source)
{
return R.fail("获取用户失败:" + throwable.getMessage());
}
@Override
public R<Boolean> registerUserInfo(SysUser sysUser, String source)
{
return R.fail("注册用户失败:" + throwable.getMessage());
}
@Override
public R<Boolean> recordUserLogin(SysUser sysUser, String source)
{
return R.fail("记录用户登录信息失败:" + throwable.getMessage());
}
@Override
public R<NodeBandwidth> getBandwidth(NodeBandwidth nodeBandwidth, String source) {
return R.fail("获取服务器带宽失败:" + throwable.getMessage());
}
@Override
public R<Boolean> saveBandwidth(NodeBandwidth nodeBandwidth, String source) {
return R.fail("新增服务器带宽失败:" + throwable.getMessage());
}
@Override
public R<EpsInitialTrafficDataRemote> query(EpsInitialTrafficDataRemote queryParam, String source) {
return R.fail("获取初始流量数据失败:" + throwable.getMessage());
}
@Override
public R<Boolean> batchInitialTraffic(EpsInitialTrafficDataRemote queryParam, String source) {
return R.fail("新增初始流量数据失败:" + throwable.getMessage());
}
@Override
public R<Boolean> autoSaveServiceTrafficData(EpsInitialTrafficDataRemote queryParam, String source) {
return R.fail("保存流量数据失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,150 @@
package com.tongran.system.api.model;
import java.io.Serializable;
import java.util.Set;
import com.tongran.system.api.domain.SysUser;
/**
* 用户信息
*
* @author tongran
*/
public class LoginUser implements Serializable
{
private static final long serialVersionUID = 1L;
/**
* 用户唯一标识
*/
private String token;
/**
* 用户名id
*/
private Long userid;
/**
* 用户名
*/
private String username;
/**
* 登录时间
*/
private Long loginTime;
/**
* 过期时间
*/
private Long expireTime;
/**
* 登录IP地址
*/
private String ipaddr;
/**
* 权限列表
*/
private Set<String> permissions;
/**
* 角色列表
*/
private Set<String> roles;
/**
* 用户信息
*/
private SysUser sysUser;
public String getToken()
{
return token;
}
public void setToken(String token)
{
this.token = token;
}
public Long getUserid()
{
return userid;
}
public void setUserid(Long userid)
{
this.userid = userid;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public Long getLoginTime()
{
return loginTime;
}
public void setLoginTime(Long loginTime)
{
this.loginTime = loginTime;
}
public Long getExpireTime()
{
return expireTime;
}
public void setExpireTime(Long expireTime)
{
this.expireTime = expireTime;
}
public String getIpaddr()
{
return ipaddr;
}
public void setIpaddr(String ipaddr)
{
this.ipaddr = ipaddr;
}
public Set<String> getPermissions()
{
return permissions;
}
public void setPermissions(Set<String> permissions)
{
this.permissions = permissions;
}
public Set<String> getRoles()
{
return roles;
}
public void setRoles(Set<String> roles)
{
this.roles = roles;
}
public SysUser getSysUser()
{
return sysUser;
}
public void setSysUser(SysUser sysUser)
{
this.sysUser = sysUser;
}
}
@@ -0,0 +1,5 @@
com.tongran.system.api.factory.RemoteUserFallbackFactory
com.tongran.system.api.factory.RemoteLogFallbackFactory
com.tongran.system.api.factory.RemoteFileFallbackFactory
com.tongran.system.api.factory.RemoteRevenueConfigFallbackFactory
com.tongran.system.api.factory.RemoteRocketMqFallbackFactory