Commit fe7499ab by tutingyin

refactor: 配置策略适配 功能策略适配

parent b7e1729d
package com.skr.mdm.bean.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -43,7 +41,6 @@ public class OaLeaveDTO implements Serializable {
@ApiModelProperty("请假结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty("事由")
......@@ -51,4 +48,4 @@ public class OaLeaveDTO implements Serializable {
@ApiModelProperty("策略消息体")
private List<OaLeaveStrategyDTO> strategyList;
}
}
\ No newline at end of file
......@@ -33,7 +33,7 @@ public class ExportLogExcelMiddleQO implements Serializable {
private String deviceName;
/**
* 设备类型 1:手机 2:手环 3:记录仪
* 设备类型 1:手机 2:手环 3:记录仪 4: PC
*/
private String deviceType;
......@@ -44,4 +44,4 @@ public class ExportLogExcelMiddleQO implements Serializable {
private String oaid;
private String info;
}
}
\ No newline at end of file
package com.skr.mdm.bean.qo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -24,4 +23,4 @@ public class LicenseCreateQO {
@ApiModelProperty(value = "证书失效时间")
private Date expiryTime;
}
}
\ No newline at end of file
......@@ -24,22 +24,24 @@ public class AppStrategyQO extends BaseStrategyQO {
@NotBlank(message = "策略名称不能为空")
private String strategyName;
@ApiModelProperty(value = "应用商店安装黑白名单")
private AppStrategyInfoQO appStoreInstallSourceQO;
@ApiModelProperty(value = "应用安装黑白名单")
private AppStrategyInfoQO appStrategyInstallQO;
@ApiModelProperty(value = "应用运行黑白名单")
private AppStrategyInfoQO appStrategyRunQO;
@ApiModelProperty(value = "安装来源")
private AppStrategyInfoQO appStrategyInstallSourceQO;
@ApiModelProperty(value = "应用防卸载")
private List<Integer> notUninstallAppIdList;
@ApiModelProperty(value = "应用运行黑白名单")
private AppStrategyInfoQO appStrategyRunQO;
@ApiModelProperty(value = "快捷应用")
private List<Integer> shortcutsAppIdList;
@ApiModelProperty(value = "应用使用权限")
private AppStrategyUsePermissionQO appStrategyUsePermissionQO;
}
}
\ No newline at end of file
package com.skr.mdm.bean.qo.strategy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author tty
* @date 2024/9/13 9:56
*/
@Data
public class ConfigQO {
@ApiModelProperty(value = "类型 0:无 1:黑 2:白")
private Integer type;
@ApiModelProperty(value = "配置集合")
private List<Object> configList;
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.skr.mdm.bean.qo.strategy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author nfq
* @date 2020/8/26 9:56
......@@ -25,26 +27,17 @@ public class ConfigStrategyInfoQO {
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "热点白名单")
private String hotSpotWhitelist;
@ApiModelProperty(value = "蓝牙白名单")
private String bluetoothWhitelist;
@ApiModelProperty(value = "通话白名单")
private String callWhitelist;
@ApiModelProperty(value = "密码配置")
private PasswordConfigQO passwordConfigQO;
@ApiModelProperty(value = "usb黑白名单配置")
private ConfigQO usbQO;
@ApiModelProperty(value = "apn配置")
private ApnConfigQO apnConfigQO;
@ApiModelProperty(value = "wifi黑白名单配置")
private ConfigQO wifiQO;
@ApiModelProperty(value = "vpn配置")
private VpnConfigQO vpnConfigQO;
@ApiModelProperty(value = "蓝牙黑白名单配置")
private ConfigQO bluetoothQO;
@ApiModelProperty(value = "wifi白名单")
private WifiWhitelistQO wifiWhitelistQO;
@ApiModelProperty(value = "热点黑白名单配置")
private ConfigQO hotSpotQO;
@ApiModelProperty(value = "锁屏壁纸")
private String wingPaper;
......@@ -53,4 +46,4 @@ public class ConfigStrategyInfoQO {
private String desktopWallPaper;
}
}
\ No newline at end of file
......@@ -20,28 +20,10 @@ public class StrategyNetworkIsolationQO extends BaseStrategyQO {
@NotBlank(message = "策略名称不能为空")
@ApiModelProperty(value = "策略名称")
private String strategyName;
@ApiModelProperty(value = "作用域 (1:个人域 2:工作域 3:个人域和工作域)")
private Integer actionScope;
@ApiModelProperty(value = "1: 有围栏策略 0:无围栏策略")
private Integer rail;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "半径")
private String radius;
@ApiModelProperty(value = "自定义范围")
private String locs;
@ApiModelProperty(value = "url")
@ApiModelProperty(value = "url 主要字段 可有多条数据 ',' 分割 json数组格式传参 列: '[1,2,3,4,5]'")
private String url;
@ApiModelProperty(value = "ip")
@ApiModelProperty(value = "ip 主要字段 可有多条数据 ',' 分割 json数组格式传参 列: '[1,2,3,4,5]'")
private String ip;
@ApiModelProperty(value = "dns")
@ApiModelProperty(value = "dns 主要字段 可有多条数据 ',' 分割 json数组格式传参 列: '[1,2,3,4,5]'")
private String dns;
}
\ No newline at end of file
package com.skr.mdm.bean.qo.strategy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author tty
* @date 2024/9/13 9:56
*/
@Data
public class UsbConfigQO {
@ApiModelProperty(value = "pid")
private Integer pid;
@ApiModelProperty(value = "pid")
private Integer vid;
}
\ No newline at end of file
package com.skr.mdm.bean.qo.violation;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -30,7 +29,6 @@ public class ViolationStatisticsQO implements Serializable {
@ApiModelProperty("违规时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String violationTime;
}
}
\ No newline at end of file
......@@ -31,6 +31,8 @@ public class ReloadSO {
private List<RailStrategySO> railStrategyList;
@ApiModelProperty(value = "配置策略")
private List<ConfigStrategySO> configStrategyList;
@ApiModelProperty(value = "內外网隔离策略")
private List<NetworkIsoStrategySO> networkIsolationStrategyList;
@ApiModelProperty(value = "合规策略")
private List<SystemComplianceSO> complianceStrategyList;
@ApiModelProperty(value = "应用策略")
......
......@@ -36,7 +36,7 @@ public class DeviceExcelInfoSO implements Serializable {
private String userName;
/**
* 设备类型 1:手机 2:手环 3:记录仪
* 设备类型 1:手机 2:手环 3:记录仪 4: PC
*/
@ExcelProperty("类型")
private String deviceType;
......@@ -60,4 +60,4 @@ public class DeviceExcelInfoSO implements Serializable {
@ColumnWidth(35)
private String info;
}
}
\ No newline at end of file
package com.skr.mdm.bean.so.oaleave;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.skr.mdm.bean.so.AppStrategySO;
import com.skr.mdm.bean.so.strategy.*;
import lombok.Builder;
......@@ -26,11 +25,9 @@ public class OaLeaveStrategySO {
private Integer id;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
private List<RailStrategySO> railStrategySOList;
......
package com.skr.mdm.bean.so.strategy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author tty
* @date 2024/9/13 11:56
*/
@Data
public class ConfigSO {
@ApiModelProperty(value = "类型 0:无 1:黑 2:白")
private Integer type;
@ApiModelProperty(value = "配置信息")
private String msg;
}
\ No newline at end of file
......@@ -38,16 +38,19 @@ public class ConfigStrategyInfoSO {
@ApiModelProperty(value = "结束时间")
@JsonSerialize(using = DateConvertUtil.class)
private Date endTime;
@ApiModelProperty(value = "蓝牙白名单")
private String bluetoothWhitelist;
@ApiModelProperty(value = "密码配置")
private PasswordConfigSO passwordConfigSO;
@ApiModelProperty(value = "apn配置")
private ApnConfigSO apnConfigSO;
@ApiModelProperty(value = "vpn配置")
private VpnConfigSO vpnConfigSO;
@ApiModelProperty(value = "wifi白名单")
private WifiWhitelistSO wifiWhitelistSO;
@ApiModelProperty(value = "usb黑白名单配置")
private ConfigSO usbSO;
@ApiModelProperty(value = "wifi黑白名单配置")
private ConfigSO wifiSO;
@ApiModelProperty(value = "蓝牙黑白名单配置")
private ConfigSO bluetoothSO;
@ApiModelProperty(value = "热点黑白名单配置")
private ConfigSO hotSpotSO;
@ApiModelProperty(value = "策略全局类型(1:公司全局 2:部门全局 3:个人)")
private Integer globalType;
......
......@@ -38,13 +38,13 @@ public class NetworkIsoStrategySO {
private String locs;
@ApiModelProperty(value = "url")
private String url;
private Object url;
@ApiModelProperty(value = "ip")
private String ip;
private Object ip;
@ApiModelProperty(value = "dns")
private String dns;
private Object dns;
@ApiModelProperty(value = "下发时间")
private Long sendTime;
......
package com.skr.mdm.bean.vo.access;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -176,7 +175,6 @@ public class WechatQqStrategyInfoVO implements Serializable {
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(hidden = true)
private Date createTime;
......@@ -184,7 +182,6 @@ public class WechatQqStrategyInfoVO implements Serializable {
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(hidden = true)
private Date updateTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.alarm;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -20,6 +19,5 @@ public class AlarmReceiverVO {
private String phoneNumber;
@ApiModelProperty(value = "状态(1 未确认 2:已确认)")
private Integer state;
private Date confirmTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.alarm;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -27,8 +26,7 @@ public class AlarmRecordVO implements Serializable {
private String address;
@ApiModelProperty(value = "状态(1 未确认 2:已确认)")
private Integer state;
private Date alarmTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.app;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
package com.skr.mdm.bean.vo.app;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -38,4 +38,4 @@ public class AppUninstallVO {
@ApiModelProperty(value = "部门全局ID数组")
private String departmentIds;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.appstore;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
......@@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
package com.skr.mdm.bean.vo.appstore;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -142,7 +142,6 @@ public class AppStoreVO implements Serializable {
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
......
package com.skr.mdm.bean.vo.appstore;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
package com.skr.mdm.bean.vo.cmd;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -28,4 +28,4 @@ public class InformCmdVO {
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.communication;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -30,4 +30,4 @@ public class CallDisplayUserVO {
private Date issuedTime;
}
}
\ No newline at end of file
......@@ -5,7 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......
package com.skr.mdm.bean.vo.communication;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......
package com.skr.mdm.bean.vo.communication;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -32,4 +32,4 @@ public class CallWhitelistUserVO {
private Date issuedTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.communication;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -33,4 +33,4 @@ public class CommunicationStrategyVO {
private String departmentIds;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.communication;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -30,4 +30,4 @@ public class SmsListVO {
@ExcelProperty(value = "短信时间")
private Date smsTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.company;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -37,4 +37,4 @@ public class CompanyVO {
@ApiModelProperty(value = "公司超管")
private String adminName;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.compliance;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -27,4 +27,4 @@ public class AppComplianceUserVO {
@ApiModelProperty(value = "下发时间")
private Date issuedTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.content;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -33,7 +33,6 @@ public class ContentVO implements Serializable {
@ApiModelProperty("修改时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty("操作者")
......@@ -47,4 +46,4 @@ public class ContentVO implements Serializable {
@ApiModelProperty(value = "部门全局ID数组")
private String departmentIds;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -21,7 +21,6 @@ public class AppInstallVO {
private String appName;
private String packageName;
private String versionCode;
private Date installTime;
private String isInstall;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -37,12 +37,10 @@ public class ClientOaLeaveVO implements Serializable {
@ApiModelProperty("请假开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@ApiModelProperty("请假结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty("事由")
......@@ -53,7 +51,6 @@ public class ClientOaLeaveVO implements Serializable {
@ApiModelProperty("提交时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -37,7 +37,6 @@ public class DeviceComplianceStrategyVO implements Serializable {
@ApiModelProperty(value = "下发时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date issuedTime;
@ApiModelProperty(value = "状态 (1:下发中 2:下发成功 3:执行中 4:执行成功 )")
......@@ -51,6 +50,5 @@ public class DeviceComplianceStrategyVO implements Serializable {
@ApiModelProperty(value = "违规时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date violationTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -111,7 +111,6 @@ public class DeviceEquipmentInfoVO {
private String longitude;
@ApiModelProperty("位置更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String posCorrentionTime;
@ApiModelProperty("root 状态 0:未 ROOT 1:已 ROOT")
private String rootStatus;
......@@ -143,4 +142,4 @@ public class DeviceEquipmentInfoVO {
@ApiModelProperty("最后更新时间")
private Date updateTime;
}
}
\ No newline at end of file
......@@ -45,9 +45,9 @@ public class DeviceEquipmentVO {
private String departmentName;
/**
* 设备类型 1:手机 2:手环 3:记录仪
* 设备类型 1:手机 2:手环 3:记录仪 9: PC
*/
@ApiModelProperty("设备类型 1:手机 2:手环 3:记录仪")
@ApiModelProperty("设备类型 1:手机 2:手环 3:记录仪 9: PC")
private Integer equipmentType;
/**
......@@ -80,6 +80,7 @@ public class DeviceEquipmentVO {
@ApiModelProperty("设备型号")
private String equipmentModel;
@ApiModelProperty("序列号")
private String serialNumber;
/**
......@@ -109,8 +110,6 @@ public class DeviceEquipmentVO {
@ApiModelProperty("最后在线时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date offlineTime;
@ApiModelProperty(value = "机卡绑定(0:未绑定 1:绑定)")
private Integer isCardBinding;
@ApiModelProperty(value = "解绑密码")
private String cardUnbindPassword;
@ApiModelProperty(value = "离线解锁码")
......
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -17,4 +17,4 @@ public class DeviceSimRecordVO {
private String state;
private Date changeTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.equipment;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -45,17 +45,14 @@ public class OaLeaveVO implements Serializable {
@ApiModelProperty("请假开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@ApiModelProperty("请假结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty("销假时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reportTime;
@ApiModelProperty("事由")
......@@ -69,7 +66,6 @@ public class OaLeaveVO implements Serializable {
@ApiModelProperty("提交时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
}
\ No newline at end of file
......@@ -33,15 +33,10 @@ public class SendCmdMessageInfoVO {
private String state;
@ApiModelProperty("点名状态 1:未点 2:已点")
private Integer rollCallStatus;
@ApiModelProperty("imei")
private String imei;
@ApiModelProperty("uuid ")
private String uuid;
@ApiModelProperty("oaid")
private String oaid;
@ApiModelProperty("serialNumber")
private String serialNumber;
@ApiModelProperty("下发时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String sendTime;
@ApiModelProperty("流量状态(1:未超 2:已超)")
private Integer flowStatus;
......@@ -52,7 +47,6 @@ public class SendCmdMessageInfoVO {
@ApiModelProperty("通知查看状态 1:未查看 2:已查看")
private Integer readStatus;
@ApiModelProperty("点名应答时间")
private Date responseTime;
}
\ No newline at end of file
package com.skr.mdm.bean.vo.function;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -21,4 +21,4 @@ public class FunctionScopeVO {
private Date createTime;
private Date updateTime;
}
}
\ No newline at end of file
......@@ -13,5 +13,6 @@ public class IndexEquipmentTypeVO {
private long braceletCount;
private long recorderCount;
private long watchesCount;
private long pcCount;
private long otherCount;
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -26,4 +26,4 @@ public class LogAppViolationVO {
@ExcelProperty(value = "违规时间")
private Date violationTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -24,4 +24,4 @@ public class LogDealVO {
@ExcelProperty(value = "交易时间")
private Date dealTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -20,4 +20,4 @@ public class LogSafeWechatChatVO {
private Date chatTime;
@ApiModelProperty(value = "是否是文件(0:否 1:是)")
private Integer isFile;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -26,4 +26,4 @@ public class LogSafeWechatUserVO {
@ApiModelProperty(value = "获取时间")
private Date pullTime;
}
}
\ No newline at end of file
......@@ -2,7 +2,7 @@ package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
......@@ -29,4 +29,4 @@ public class LogSensitiveWordVO {
private String violationType;
@ExcelProperty(value = "上下语境")
private String violationText;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -26,4 +26,4 @@ public class LogUrlBlacklistVO {
@ExcelProperty(value = "访问时间")
private Date visitTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -26,4 +26,4 @@ public class LogUrlViolationVO {
@ExcelProperty(value = "访问时间")
private Date visitTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -26,4 +26,4 @@ public class LogUrlVisitBadVO {
@ExcelProperty(value = "访问时间")
private Date visitTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -24,4 +24,4 @@ public class LogUrlVisitVO {
@ExcelProperty(value = "访问时间")
private Date visitTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.log;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -18,4 +18,4 @@ public class LogWechatQqInfoVO {
@ApiModelProperty(value = "发送时间")
private Date sendTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.report;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -24,4 +24,4 @@ public class DealReportVO {
@ExcelProperty(value = "交易时间")
private Date dealTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.report;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -24,4 +24,4 @@ public class SensitiveWordViolationReportVO {
@ExcelProperty(value = "违规时间")
private Date violationTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.report;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -26,4 +26,4 @@ public class UrlBlacklistReportVO {
@ExcelProperty(value = "访问时间")
private Date visitTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.role;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -29,4 +29,4 @@ public class RoleVO {
@ApiModelProperty(value = "操作者")
private String operator;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.sensitive;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -34,4 +34,4 @@ public class SensitiveWordUserVO {
private Date issuedTime;
@ApiModelProperty(value = "敏感词违规")
private List<SensitiveWordViolationVO> sensitiveWordViolationVOList;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.sensitive;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -47,4 +47,4 @@ public class SensitiveWordVO {
private String appDisablePackage;
@ApiModelProperty(value = "违规告警(0:否 1:是)")
private Integer isWarning;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.sensitive;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -20,4 +20,4 @@ public class SensitiveWordViolationVO {
@ApiModelProperty(value = "违规时间")
private Date violationTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.strategy;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.skr.mdm.bean.so.strategy.ConfigSO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -49,19 +50,16 @@ public class ConfigStrategyInfoVO {
@ApiModelProperty(value = "结束时间")
private Date endTime;
@ApiModelProperty(value = "蓝牙白名单")
private String bluetoothWhitelist;
@ApiModelProperty(value = "密码配置")
private PasswordConfigVO passwordConfigVO;
@ApiModelProperty(value = "蓝牙黑白名单配置")
private ConfigVO bluetoothVO;
@ApiModelProperty(value = "apn配置")
private ApnConfigVO apnConfigVO;
@ApiModelProperty(value = "usb配置")
private ConfigVO usbVO;
@ApiModelProperty(value = "vpn配置")
private VpnConfigVO vpnConfigVO;
@ApiModelProperty(value = "热点")
private ConfigVO hotSpotVO;
@ApiModelProperty(value = "wifi白名单")
private WifiWhitelistVO wifiWhitelistVO;
private ConfigVO wifiVO;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.strategy;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -38,4 +38,4 @@ public class OaLeaveStrategyVO {
@ApiModelProperty(value = "操作时间")
private Date updateTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.strategy;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -301,4 +301,4 @@ public class RailStrategyInfoVO {
@ApiModelProperty(value = "墙纸")
private String wallpaper;
}
}
\ No newline at end of file
......@@ -39,13 +39,13 @@ public class StrategyNetworkIsolationVO {
private String locs;
@ApiModelProperty(value = "url")
private String url;
private Object url;
@ApiModelProperty(value = "ip")
private String ip;
private Object ip;
@ApiModelProperty(value = "dns")
private String dns;
private Object dns;
@ApiModelProperty(value = "策略全局类型(1:公司全局 2:部门全局 3:个人)")
private Integer globalType;
......
package com.skr.mdm.bean.vo.strategy;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -37,7 +37,6 @@ public class StrategyUserVO {
private Integer state;
@ApiModelProperty(value = "下发时间")
private Date issuedTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.strategy;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -27,7 +27,6 @@ public class StrategyVO {
private Integer strategyType;
@ApiModelProperty(value = "操作时间")
private Date operateTime;
@ApiModelProperty(value = "操作者")
......
package com.skr.mdm.bean.vo.strategy;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -41,4 +41,4 @@ public class ViolationRecordsVO {
@ExcelProperty(value = "违规内容")
private String violationContent;
}
}
\ No newline at end of file
......@@ -28,7 +28,6 @@ public class LogAdminVO {
@ApiModelProperty(name = "createTime", value = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(name = "operator", value = "操作人")
......@@ -41,4 +40,4 @@ public class LogAdminVO {
private String operateUser;
private Boolean exportFlag;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.system;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -40,11 +40,9 @@ public class SysChangeCertificateVO {
private String issuerDn;
@ApiModelProperty("起始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
@ApiModelProperty("到期时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty("证书名称")
private String certificateName;
......
......@@ -19,7 +19,7 @@ public class UserEquipmentVO implements Serializable {
private Integer id;
private Integer userId;
@ApiModelProperty("设备类型(1:手机 2:手环 3:记录仪)")
@ApiModelProperty("设备类型(1:手机 2:手环 3:记录仪 4: PC)")
private String equipmentType;
@ApiModelProperty("设备名称")
......@@ -31,4 +31,4 @@ public class UserEquipmentVO implements Serializable {
private String imei;
private String oaid;
private String uuid;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.user;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -76,4 +76,4 @@ public class UserVO {
@ApiModelProperty("公司id")
private Integer companyId;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.warn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -30,4 +30,4 @@ public class AppUseUrlUserVO {
private Date issuedTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.warn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -26,4 +26,4 @@ public class AppUseUrlVO {
@ApiModelProperty(value = "操作者")
private String operator;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.warn;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -34,4 +34,4 @@ public class AppUseUrlViolationVO {
@ExcelProperty(value = "违规时间")
@ApiModelProperty(value = "违规时间")
private Date violationTime;
}
}
\ No newline at end of file
package com.skr.mdm.bean.vo.warn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -33,4 +33,4 @@ public class WarnDealVO {
@ApiModelProperty(value = "操作时间")
private Date operateTime;
}
}
\ No newline at end of file
package com.skr.mdm.controller;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dto.LoginUserDTO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService;
import com.skr.mdm.service.StrategyFactory;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
* @author nfq
* @date 2020/8/11 16:52
*/
@RestController
@RequestMapping("configStrategy")
@Api(tags = "配置策略")
public class ConfigStrategyController {
@PostMapping("callback")
@ApiOperation("配置策略下发回调")
public ResponseResult configStrategyCallback(@RequestParam @ApiParam(value = "回调内容", required = true) String data,
@ApiIgnore Authentication authentication) {
LoginUserDTO loginUserDTO = (LoginUserDTO) authentication.getPrincipal();
CmdHandlerService strategy = StrategyFactory.getStrategy(CmdTypeConstants.CONFIG_STRATEGY_CALLBACK);
return strategy.cmdHandler(loginUserDTO.getId(), data);
}
}
\ No newline at end of file
package com.skr.mdm.controller;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dto.LoginUserDTO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService;
import com.skr.mdm.service.StrategyFactory;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
* @author nfq
* @date 2020/8/11 16:52
*/
@RestController
@RequestMapping("networkStrategy")
@Api(tags = "内外网隔离策略")
public class NetworkIosStrategyController {
@PostMapping("callback")
@ApiOperation("内外网隔离策略下发回调")
public ResponseResult configStrategyCallback(@RequestParam @ApiParam(value = "回调内容", required = true) String data,
@ApiIgnore Authentication authentication) {
LoginUserDTO loginUserDTO = (LoginUserDTO) authentication.getPrincipal();
CmdHandlerService strategy = StrategyFactory.getStrategy(CmdTypeConstants.NETWORK_ISOLATION);
return strategy.cmdHandler(loginUserDTO.getId(), data);
}
}
\ No newline at end of file
package com.skr.mdm.controller;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dto.LoginUserDTO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.bean.so.strategy.RailStrategySO;
import com.skr.mdm.service.CmdHandlerService;
import com.skr.mdm.service.StrategyFactory;
import io.swagger.annotations.*;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
* @author nfq
* @date 2020/8/11 17:20
*/
@RestController
@RequestMapping("railStrategy")
@Api(tags = "功能策略")
public class RailStrategyController {
@PostMapping("callback")
@ApiOperation("功能策略下发回调")
@ApiResponses({
@ApiResponse(code = 200, message = "成功", response = RailStrategySO.class)
})
public ResponseResult callback(@RequestParam @ApiParam(value = "回调内容", required = true) String data, @ApiIgnore Authentication authentication) {
LoginUserDTO loginUserDTO = (LoginUserDTO) authentication.getPrincipal();
CmdHandlerService strategy = StrategyFactory.getStrategy(CmdTypeConstants.RAIL_ISSUED_CALLBACK);
return strategy.cmdHandler(loginUserDTO.getId(), data);
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.reload.handler;
import com.skr.mdm.annotation.MdmReloadHandler;
import com.skr.mdm.bean.bo.StrategyIssuedBO;
import com.skr.mdm.bean.so.ReloadSO;
import com.skr.mdm.bean.so.strategy.ConfigStrategySO;
import com.skr.mdm.dao.StrategyConfigDao;
import com.skr.mdm.enums.StrategyEquipmentStateEnum;
import com.skr.mdm.enums.StrategyStateEnum;
import com.skr.mdm.manager.ConfigStrategyManager;
import com.skr.mdm.service.impl.reload.ReloadHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author nfq
* @date 2022/06/10 11:51
*/
@MdmReloadHandler
@Slf4j
public class ConfigStrategyReloadHandler implements ReloadHandler {
@Autowired
private StrategyConfigDao strategyConfigDao;
@Autowired
private ConfigStrategyManager configStrategyManager;
@Override
public void doHandler(ReloadSO reloadSO, Integer equipmentId) {
try {
List<StrategyIssuedBO> strategyIssuedBOList = strategyConfigDao.listStrategyIdByEquipmentId(equipmentId,
StrategyStateEnum.DISABLE.getState(), StrategyEquipmentStateEnum.ISSUING.getState());
List<ConfigStrategySO> configStrategySOList = new ArrayList<>(strategyIssuedBOList.size());
if (CollectionUtils.isNotEmpty(strategyIssuedBOList)) {
List<Integer> strategyIdList = strategyIssuedBOList.stream().map(StrategyIssuedBO::getStrategyId)
.collect(Collectors.toList());
configStrategySOList = configStrategyManager.getConfigStrategySO(strategyIdList, System.currentTimeMillis());
Map<Integer, StrategyIssuedBO> strategyIssuedBOMap = strategyIssuedBOList.stream()
.collect(Collectors.toMap(StrategyIssuedBO::getStrategyId, strategyIssuedBO -> strategyIssuedBO));
configStrategySOList.forEach(configStrategySO -> {
if (strategyIssuedBOMap.containsKey(configStrategySO.getId())) {
StrategyIssuedBO strategyIssuedBO = strategyIssuedBOMap.get(configStrategySO.getId());
configStrategySO.setSendTime(strategyIssuedBO.getSendTime().getTime());
}
});
}
reloadSO.setConfigStrategyList(configStrategySOList);
} catch (Exception e) {
log.error("卸载重装配置策略异常:" + equipmentId, e);
}
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.reload.handler;
import com.skr.mdm.annotation.MdmReloadHandler;
import com.skr.mdm.bean.bo.StrategyIssuedBO;
import com.skr.mdm.bean.so.ReloadSO;
import com.skr.mdm.bean.so.strategy.RailStrategySO;
import com.skr.mdm.dao.RailStrategyDao;
import com.skr.mdm.enums.StrategyEquipmentStateEnum;
import com.skr.mdm.enums.StrategyStateEnum;
import com.skr.mdm.manager.FunctionStrategyManager;
import com.skr.mdm.service.impl.reload.ReloadHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author nfq
* @date 2022/06/10 11:46
*/
@MdmReloadHandler
@Slf4j
public class FunctionStrategyReloadHandler implements ReloadHandler {
@Autowired
private RailStrategyDao strategyDao;
@Autowired
private FunctionStrategyManager functionStrategyManager;
@Override
public void doHandler(ReloadSO reloadSO, Integer equipmentId) {
try {
List<StrategyIssuedBO> strategyIssuedBOList = strategyDao.listStrategyIdByEquipmentId(equipmentId, StrategyStateEnum.DISABLE.getState(), StrategyEquipmentStateEnum.ISSUING.getState());
List<RailStrategySO> railStrategySOList = new ArrayList<>(strategyIssuedBOList.size());
if (CollectionUtils.isNotEmpty(strategyIssuedBOList)) {
List<Integer> strategyIdList = strategyIssuedBOList.stream().map(StrategyIssuedBO::getStrategyId)
.collect(Collectors.toList());
railStrategySOList = functionStrategyManager.getRailStrategySOList(strategyIdList, System.currentTimeMillis());
Map<Integer, StrategyIssuedBO> strategyIssuedBOMap = strategyIssuedBOList.stream()
.collect(Collectors.toMap(StrategyIssuedBO::getStrategyId, strategyIssuedBO -> strategyIssuedBO));
railStrategySOList.forEach(railStrategySO -> {
if (strategyIssuedBOMap.containsKey(railStrategySO.getId())) {
StrategyIssuedBO strategyIssuedBO = strategyIssuedBOMap.get(railStrategySO.getId());
railStrategySO.setSendTime(strategyIssuedBO.getSendTime().getTime());
}
});
}
reloadSO.setRailStrategyList(railStrategySOList);
} catch (Exception e) {
log.error("卸载重装功能策略异常:" + equipmentId, e);
}
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.reload.handler;
import com.skr.mdm.annotation.MdmReloadHandler;
import com.skr.mdm.bean.bo.StrategyIssuedBO;
import com.skr.mdm.bean.so.ReloadSO;
import com.skr.mdm.bean.so.strategy.NetworkIsoStrategySO;
import com.skr.mdm.dao.StrategyNetworkIsolationDao;
import com.skr.mdm.enums.StrategyEquipmentStateEnum;
import com.skr.mdm.enums.StrategyStateEnum;
import com.skr.mdm.manager.NetworkIsoStrategyManager;
import com.skr.mdm.service.impl.reload.ReloadHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author nfq
* @date 2022/06/10 11:51
*/
@MdmReloadHandler
@Slf4j
public class NetworkIsoStrategyReloadHandler implements ReloadHandler {
@Autowired
private StrategyNetworkIsolationDao networkIsolationDao;
@Autowired
private NetworkIsoStrategyManager networkIsoStrategyManager;
@Override
public void doHandler(ReloadSO reloadSO, Integer equipmentId) {
try {
List<StrategyIssuedBO> strategyIssuedBOList = networkIsolationDao.listStrategyIdByEquipmentId(equipmentId,
StrategyStateEnum.DISABLE.getState(), StrategyEquipmentStateEnum.ISSUING.getState());
List<NetworkIsoStrategySO> networkIsoStrategySOList = new ArrayList<>(strategyIssuedBOList.size());
if (CollectionUtils.isNotEmpty(strategyIssuedBOList)) {
List<Integer> strategyIdList = strategyIssuedBOList.stream().map(StrategyIssuedBO::getStrategyId)
.collect(Collectors.toList());
networkIsoStrategySOList = networkIsoStrategyManager.getStrategySO(strategyIdList, System.currentTimeMillis());
Map<Integer, StrategyIssuedBO> strategyIssuedBOMap = strategyIssuedBOList.stream()
.collect(Collectors.toMap(StrategyIssuedBO::getStrategyId, strategyIssuedBO -> strategyIssuedBO));
networkIsoStrategySOList.forEach(configStrategySO -> {
if (strategyIssuedBOMap.containsKey(configStrategySO.getId())) {
StrategyIssuedBO strategyIssuedBO = strategyIssuedBOMap.get(configStrategySO.getId());
configStrategySO.setSendTime(strategyIssuedBO.getSendTime().getTime());
}
});
}
reloadSO.setNetworkIsolationStrategyList(networkIsoStrategySOList);
} catch (Exception e) {
log.error("卸载重装配置策略异常:" + equipmentId, e);
}
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.strategy;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.skr.mdm.annotation.CmdHandler;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dao.StrategyConfigUserDao;
import com.skr.mdm.dto.StrategyCallbackInfoDTO;
import com.skr.mdm.entity.StrategyConfigUserDO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
/**
* @author nfq
* @date 2020/8/3 11:53
*/
@Slf4j
@CmdHandler(cmdType = CmdTypeConstants.CONFIG_STRATEGY_CALLBACK)
public class ConfigStrategyServiceImpl implements CmdHandlerService {
@Autowired
private StrategyConfigUserDao strategyConfigUserDao;
@Override
public ResponseResult cmdHandler(Integer equipmentId, String data) {
// 配置策略下发回调
try {
JSONArray jsonArray = JSONUtil.parseArray(data);
List<StrategyCallbackInfoDTO> strategyCallbackInfoDTOList = JSONUtil.toList(jsonArray, StrategyCallbackInfoDTO.class);
List<Integer> cidList = new ArrayList<>(strategyCallbackInfoDTOList.size());
strategyCallbackInfoDTOList.forEach(strategyCallbackInfoDTO -> {
LambdaUpdateChainWrapper<StrategyConfigUserDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(strategyConfigUserDao);
updateChainWrapper
.set(strategyCallbackInfoDTO.getState() != null, StrategyConfigUserDO::getState, strategyCallbackInfoDTO.getState())
.set(strategyCallbackInfoDTO.getMdmStatus() != null, StrategyConfigUserDO::getMdmStatus, strategyCallbackInfoDTO.getMdmStatus())
.eq(StrategyConfigUserDO::getStrategyId, strategyCallbackInfoDTO.getStrategyId())
.eq(StrategyConfigUserDO::getEquipmentId, equipmentId)
.update();
cidList.add(strategyCallbackInfoDTO.getCid());
});
return ResponseResult.success(JSONUtil.toJsonStr(cidList));
} catch (Exception e) {
log.error("配置策略回调异常:" + equipmentId + data, e);
return ResponseResult.failure();
}
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.strategy;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.skr.mdm.annotation.CmdHandler;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dao.StrategyNetworkIsolationUserDao;
import com.skr.mdm.dto.StrategyCallbackInfoDTO;
import com.skr.mdm.entity.StrategyNetworkIsolationUserDO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
/**
* @author tty
* @date 2024/9/12 16:33
*/
@Slf4j
@CmdHandler(cmdType = CmdTypeConstants.NETWORK_ISOLATION)
public class NetworkIsoStrategyServiceImpl implements CmdHandlerService {
@Autowired
private StrategyNetworkIsolationUserDao networkIsolationUserDao;
@Override
public ResponseResult cmdHandler(Integer equipmentId, String data) {
try {
JSONArray jsonArray = JSONUtil.parseArray(data);
List<StrategyCallbackInfoDTO> strategyCallbackInfoDTOList = JSONUtil.toList(jsonArray, StrategyCallbackInfoDTO.class);
List<Integer> cidList = new ArrayList<>(strategyCallbackInfoDTOList.size());
strategyCallbackInfoDTOList.forEach(strategyCallbackInfoDTO -> {
LambdaUpdateChainWrapper<StrategyNetworkIsolationUserDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(networkIsolationUserDao);
updateChainWrapper
.set(strategyCallbackInfoDTO.getState() != null, StrategyNetworkIsolationUserDO::getState, strategyCallbackInfoDTO.getState())
.set(strategyCallbackInfoDTO.getMdmStatus() != null, StrategyNetworkIsolationUserDO::getMdmStatus, strategyCallbackInfoDTO.getMdmStatus())
.eq(StrategyNetworkIsolationUserDO::getStrategyId, strategyCallbackInfoDTO.getStrategyId())
.eq(StrategyNetworkIsolationUserDO::getEquipmentId, equipmentId)
.update();
cidList.add(strategyCallbackInfoDTO.getCid());
});
return ResponseResult.success(JSONUtil.toJsonStr(cidList));
} catch (Exception e) {
log.error("内外网隔离策略回调异常:" + equipmentId + data, e);
return ResponseResult.failure();
}
}
}
\ No newline at end of file
package com.skr.mdm.service.impl.strategy;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.skr.mdm.annotation.CmdHandler;
import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dao.RailStrategyUserDao;
import com.skr.mdm.dto.StrategyCallbackInfoDTO;
import com.skr.mdm.entity.RailStrategyUserDO;
import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
/**
* @author nfq
* @date 2020/8/3 11:51
*/
@Slf4j
@CmdHandler(cmdType = CmdTypeConstants.RAIL_ISSUED_CALLBACK)
public class RailStrategyServiceImpl implements CmdHandlerService {
@Autowired
private RailStrategyUserDao railStrategyUserDao;
@Override
public ResponseResult cmdHandler(Integer equipmentId, String data) {
// 围栏策略下发回调
try {
JSONArray jsonArray = JSONUtil.parseArray(data);
List<StrategyCallbackInfoDTO> strategyCallbackInfoDTOList = JSONUtil.toList(jsonArray, StrategyCallbackInfoDTO.class);
List<Integer> cidList = new ArrayList<>(strategyCallbackInfoDTOList.size());
strategyCallbackInfoDTOList.forEach(strategyCallbackInfoDTO -> {
LambdaUpdateChainWrapper<RailStrategyUserDO> updateChainWrapper = new LambdaUpdateChainWrapper<RailStrategyUserDO>(railStrategyUserDao);
updateChainWrapper
.set(strategyCallbackInfoDTO.getState() != null, RailStrategyUserDO::getState, strategyCallbackInfoDTO.getState())
.set(strategyCallbackInfoDTO.getMdmStatus() != null, RailStrategyUserDO::getMdmStatus, strategyCallbackInfoDTO.getMdmStatus())
.eq(RailStrategyUserDO::getStrategyId, strategyCallbackInfoDTO.getStrategyId())
.eq(RailStrategyUserDO::getEquipmentId, equipmentId)
.update();
cidList.add(strategyCallbackInfoDTO.getCid());
});
return ResponseResult.success(JSONUtil.toJsonStr(cidList));
} catch (Exception e) {
log.error("功能策略回调异常:" + equipmentId + data, e);
return ResponseResult.failure();
}
}
}
\ No newline at end of file
......@@ -355,5 +355,10 @@ public class CmdTypeConstants {
*/
public static final short URL_CALL_BACK = 0x3F0;
/**
* 内外网网络隔离策略回调
*/
public static final short NETWORK_ISOLATION = 0x3F1;
}
\ No newline at end of file
......@@ -18,8 +18,9 @@ public enum EquipmentTypeEnum {
WRISTBAND(2, "手环"),
RECORDER(3, "记录仪"),
WATCHES(4, "手表"),
PC(9, "PC端"),
OTHER(5, "其他");
private Integer type;
private String name;
}
}
\ No newline at end of file
......@@ -17,13 +17,17 @@ public enum StrategyCmdEnum {
ISSUED_RAIL_STRATEGY("围栏策略下发","issuedRailStrategy"),
ISSUED_CONFIG_STRATEGY("配置策略下发", "issuedConfigStrategy"),
ISSUED_COMPLIANCE_STRATEGY("合规策略下发", "issuedComplianceStrategy"),
ISSUED_NETWORK_STRATEGY("内外网隔离策略下发", "issuedNetworkStrategy"),
DELETE_RAIL_STRATEGY("围栏策略删除下发", "deleteRailStrategy"),
DELETE_CONFIG_STRATEGY("配置策略删除下发", "deleteConfigStrategy"),
DELETE_NETWORK_STRATEGY("内外网隔离策略删除下发", "deleteNetworkStrategy"),
DELETE_COMPLIANCE_STRATEGY("合规策略删除下发", "deleteComplianceStrategy"),
ENABLE_RAIL_STRATEGY("启用围栏策略", "enableRailStrategy"),
DISABLE_RAIL_STRATEGY("禁用围栏策略", "disableRailStrategy"),
ENABLE_CONFIG_STRATEGY("启用配置策略", "enableConfigStrategy"),
DISABLE_CONFIG_STRATEGY("禁用配置策略", "disableConfigStrategy"),
ENABLE_NETWORK_STRATEGY("启用内外网隔离策略", "enableNetworkStrategy"),
DISABLE_NETWORK_STRATEGY("禁用内外网隔离策略", "disableNetworkStrategy"),
ENABLE_COMPLIANCE_STRATEGY("启用合规策略", "enableComplianceStrategy"),
DISABLE_COMPLIANCE_STRATEGY("禁用合规策略", "disableComplianceStrategy");
......@@ -32,4 +36,4 @@ public enum StrategyCmdEnum {
private final String cmdType;
private final String cmd;
}
}
\ No newline at end of file
......@@ -17,6 +17,7 @@ public enum StrategyTypeEnum {
FUNCTION_STRATEGY(1, "功能策略"),
CONFIG_STRATEGY(2, "配置策略"),
URL_STRATEGY(3, "网址策略"),
NETWORK_ISO(4, "内外网隔离"),
SYSTEM_COMPLIANCE_STRATEGY(1, "系统合规策略"),
APP_COMPLIANCE_STRATEGY(2, "应用合规策略"),
NETWORK_COMPLIANCE_STRATEGY(3, "网络合规策略"),
......@@ -25,4 +26,4 @@ public enum StrategyTypeEnum {
private Integer strategyType;
private String strategyName;
}
}
\ No newline at end of file
package com.skr.mdm.license;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
......@@ -65,4 +65,4 @@ public class LicenseCreateParam implements Serializable {
* 额外的服务器硬件校验信息
*/
private LicenseCheckModel licenseCheckModel;
}
}
\ No newline at end of file
package com.skr.mdm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skr.mdm.bean.bo.StrategyIssuedBO;
import com.skr.mdm.bean.qo.StrategyQueryQO;
import com.skr.mdm.bean.vo.strategy.StrategyVO;
import com.skr.mdm.entity.StrategyConfigDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 策略信息主表(StrategyConfig)表数据库访问层
*
* @author nfq
* @since 2020-08-26 10:26:49
*/
@Repository
public interface StrategyConfigDao extends BaseMapper<StrategyConfigDO> {
/**
* 根据公司ID删除
* @param companyId 公司ID
*/
void deleteByCompanyId(@Param("companyId") Integer companyId);
/**
* 获取未禁用配置策略
* @param equipmentId
* @param state
* @return
*/
List<StrategyIssuedBO> listStrategyIdByEquipmentId(@Param("equipmentId") Integer equipmentId, @Param("state") Integer state, @Param("issuedState") Integer issuedState);
/**
* 策略列表
* @param strategyQueryQO
* @return
*/
List<StrategyVO> listStrategy(StrategyQueryQO strategyQueryQO);
}
\ No newline at end of file
package com.skr.mdm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skr.mdm.entity.StrategyConfigInfoDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* 策略配置时间段表(StrategyConfigInfo)表数据库访问层
*
* @author nfq
* @since 2020-08-26 10:26:49
*/
@Repository
public interface StrategyConfigInfoDao extends BaseMapper<StrategyConfigInfoDO> {
/**
* 根据公司ID删除
* @param companyId 公司ID
*/
void deleteByCompanyId(@Param("companyId") Integer companyId);
}
\ No newline at end of file
package com.skr.mdm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skr.mdm.entity.StrategyConfigInfoListDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface StrategyConfigInfoListDao extends BaseMapper<StrategyConfigInfoListDO> {
void deleteByCompanyId(@Param("companyId") Integer companyId);
int deleteByPrimaryKey(Integer id);
int insert(StrategyConfigInfoListDO record);
int insertSelective(StrategyConfigInfoListDO record);
StrategyConfigInfoListDO selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(StrategyConfigInfoListDO record);
int updateByPrimaryKey(StrategyConfigInfoListDO record);
}
\ No newline at end of file
package com.skr.mdm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skr.mdm.bean.qo.controller.LargeScreenQO;
import com.skr.mdm.bean.vo.strategy.StrategyUserVO;
import com.skr.mdm.entity.StrategyConfigUserDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
/**
* 策略作用人(StrategyConfigUser)表数据库访问层
*
* @author nfq
* @since 2020-08-03 16:58:13
*/
@Repository
public interface StrategyConfigUserDao extends BaseMapper<StrategyConfigUserDO> {
/**
* 根据设备ID删除
* @param equipmentIdList 设备ID集合
*/
void deleteByEquipmentIdList(@Param("equipmentIdList") List<Integer> equipmentIdList);
/**
* 批量添加
* @param list
*/
void insertBatch(@Param("list") List<StrategyConfigUserDO> list);
/**
* 配置策略作用人列表
* @param strategyId
* @return
*/
List<StrategyUserVO> listStrategyUser(@Param("strategyId") Integer strategyId,
@Param("searchType") Integer searchType,
@Param("searchValue") String searchValue);
/**
* 批量更新
* @param list
*/
void updateBatch(@Param("list") List<StrategyConfigUserDO> list);
/**
* 批量更新设备状态
* @param strategyId
* @param equipmentIdList
* @param issuedTime
* @param state
* @return
*/
int updateStateByStrategyId(@Param("strategyId") Integer strategyId, @Param("equipmentIdList") List<Integer> equipmentIdList, @Param("issuedTime") Date issuedTime, @Param("state") Integer state);
/**
* 获取策略设备id
* @param list
* @return
*/
List<Integer> listEquipmentIdByStrategyIds(@Param("list") List<Integer> list);
List<Integer> queryConfigStrategyStatistics(LargeScreenQO largeScreenQO);
void insertStrategyConfigUser(@Param("deviceIdList") List<Integer> deviceIdList, @Param("id") Integer id);
List<Integer> listStrategyIdListByEquipmentId(@Param("deviceIdList") List<Integer> deviceIdList);
}
\ No newline at end of file
package com.skr.mdm.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -55,14 +55,12 @@ public class AppStrategyDO implements Serializable {
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private static final long serialVersionUID = 1L;
......
......@@ -39,7 +39,6 @@ public class AppTypeDO implements Serializable {
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private static final long serialVersionUID = 1L;
......
package com.skr.mdm.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -31,8 +31,7 @@ public class AuCompanyStatisticsDO implements Serializable {
private String createTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private static final long serialVersionUID = 1L;
......
package com.skr.mdm.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......
package com.skr.mdm.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -78,7 +78,6 @@ public class ContentDocumentDO implements Serializable {
* 文档有效期 全局时有效
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date validTime;
private Date createTime;
......
package com.skr.mdm.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment