Commit 0b3a2bb9 by tutingyin

refactor: 设备详情拆分

cpu 系统资源 网卡信息 磁盘信息 usb信息
parent 8f85cf11
...@@ -25,7 +25,7 @@ import java.io.IOException; ...@@ -25,7 +25,7 @@ import java.io.IOException;
*/ */
public class SerialAuthenticationFilter extends AbstractAuthenticationProcessingFilter { public class SerialAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
public static final String SPRING_SECURITY_FORM_IMEI_KEY = "serialNum"; public static final String SPRING_SECURITY_FORM_IMEI_KEY = "serial";
public static final String COMPANY_ID = "companyId"; public static final String COMPANY_ID = "companyId";
public static final String SECRET_KEY = "secretKey"; public static final String SECRET_KEY = "secretKey";
......
...@@ -10,12 +10,14 @@ import com.skr.mdm.authentication.user.UserTimeCheckException; ...@@ -10,12 +10,14 @@ import com.skr.mdm.authentication.user.UserTimeCheckException;
import com.skr.mdm.constant.RequestHeaderConstants; import com.skr.mdm.constant.RequestHeaderConstants;
import com.skr.mdm.enums.MdmEncryptEnum; import com.skr.mdm.enums.MdmEncryptEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.security.Key;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
...@@ -49,7 +51,7 @@ public class AntiReplayUtil { ...@@ -49,7 +51,7 @@ public class AntiReplayUtil {
*/ */
public void userAntiReplay(HttpServletRequest request) { public void userAntiReplay(HttpServletRequest request) {
String secretKey = request.getHeader("secretKey"); String secretKey = request.getHeader("secretKey");
log.debug("secretKey:{}", secretKey); log.error("secretKey:{}", secretKey);
String nonce = request.getHeader(this.nonceParameter); String nonce = request.getHeader(this.nonceParameter);
String timestampParameter = request.getHeader(this.timestampHeaderParameter); String timestampParameter = request.getHeader(this.timestampHeaderParameter);
String sign = request.getHeader(this.signParameter); String sign = request.getHeader(this.signParameter);
...@@ -76,26 +78,31 @@ public class AntiReplayUtil { ...@@ -76,26 +78,31 @@ public class AntiReplayUtil {
if (MdmEncryptEnum.SM.getMdmEncrypt().equals(mdmEncrypt)) { if (MdmEncryptEnum.SM.getMdmEncrypt().equals(mdmEncrypt)) {
TreeMap<String, Object> treeMap = new TreeMap<>(); TreeMap<String, Object> treeMap = new TreeMap<>();
Map<String, String[]> parameterMap = request.getParameterMap(); Map<String, String[]> parameterMap = request.getParameterMap();
log.debug("parameterMap:{}", parameterMap); log.error("parameterMap:{}", parameterMap);
for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
String[] values = entry.getValue(); String[] values = entry.getValue();
for (String value : values) { for (String value : values) {
log.debug("value:{}", value); log.error("value:{}", value);
treeMap.put(entry.getKey(), value); treeMap.put(entry.getKey(), value);
} }
} }
log.debug("treeMap:{}", treeMap); log.error("treeMap:{}", treeMap);
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
treeMap.forEach((k, v) -> { treeMap.forEach((k, v) -> {
stringBuffer.append(k); stringBuffer.append(k);
System.out.println("key: " + k);
stringBuffer.append(v); stringBuffer.append(v);
System.out.println("value: " + v);
}); });
log.debug("stringBuffer:{}", stringBuffer); log.error("stringBuffer:{}", stringBuffer);
String data = timestamp + nonce + secretKey + stringBuffer; String data = timestamp + nonce + secretKey + stringBuffer;
log.debug("data:{}", data); log.error("data:{}", data);
String sm3 = SmUtil.sm3(data); String sm3 = SmUtil.sm3(data);
log.debug("sm3:{}", sm3); log.error("sm3:{}", sm3);
SM2 sm2 = SmUtils.sm2Crypt(); SM2 sm2 = SmUtils.sm2Crypt();
System.out.println(sm2.signHex((Hex.encodeHexString(sm3.getBytes()))));
if (!sm2.verifyHex(sm3, sign)) { if (!sm2.verifyHex(sm3, sign)) {
log.warn("签名错误:{} md5Hex:{} 请求地址:{}", sign, sm3, request.getRequestURI()); log.warn("签名错误:{} md5Hex:{} 请求地址:{}", sign, sm3, request.getRequestURI());
throw new IllegalUserRequestException(); throw new IllegalUserRequestException();
......
...@@ -90,7 +90,7 @@ public class DeviceEquipmentVO { ...@@ -90,7 +90,7 @@ public class DeviceEquipmentVO {
/** /**
* 生产日期 * 生产日期
*/ */
private String productionDate; private Date productionDate;
/** /**
* 厂商信息 * 厂商信息
......
...@@ -35,8 +35,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic ...@@ -35,8 +35,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
@EnableWebSecurity @EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter { public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${mdm.encrypt}")
private String mdmEncrypt = "AES"; private String mdmEncrypt;
@Autowired @Autowired
private UserAuthenticationSuccessHandler userAuthenticationSuccessHandler; private UserAuthenticationSuccessHandler userAuthenticationSuccessHandler;
......
...@@ -83,4 +83,4 @@ public class UserOfflineTask { ...@@ -83,4 +83,4 @@ public class UserOfflineTask {
}); });
log.info("websocket离线定时检测结束 耗时:{}秒", timer.intervalSecond()); log.info("websocket离线定时检测结束 耗时:{}秒", timer.intervalSecond());
} }
} }
\ No newline at end of file
...@@ -5,7 +5,6 @@ server: ...@@ -5,7 +5,6 @@ server:
websocket: websocket:
port: 8073 port: 8073
spring: spring:
application: application:
name: MDMClient name: MDMClient
......
...@@ -30,18 +30,18 @@ spring: ...@@ -30,18 +30,18 @@ spring:
pathmatch: pathmatch:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
#server: server:
# ssl: ssl:
# key-store: classpath:key/mdm.keystore #表示密钥文件名 key-store: classpath:key/server.keystore #表示密钥文件名
# key-alias: mdmKeystore #表示密钥别名 key-alias: tomcatKey #表示密钥别名
# key-store-password: tkmdm999 #就是在cmd命令执行过程中输入的密码 key-store-password: tkmdm999 #就是在cmd命令执行过程中输入的密码
# enabled: true enabled: true
# client-auth: need client-auth: need
# # 持有ssl证书的信任存储库 # 持有ssl证书的信任存储库
# trust-store: classpath:key/mdm.keystore trust-store: classpath:key/server.keystore
# trust-store-password: tkmdm999 trust-store-password: tkmdm999
# key-store-type: JKS key-store-type: JKS
# trust-store-type: JKS trust-store-type: JKS
token: token:
expire: expire:
......
...@@ -68,7 +68,7 @@ public class EquipmentDiskDTO { ...@@ -68,7 +68,7 @@ public class EquipmentDiskDTO {
/** /**
* uuid * uuid
*/ */
private Integer uuid; private String uuid;
/** /**
* 是否挂载 * 是否挂载
......
...@@ -2,6 +2,7 @@ package com.skr.mdm.dto; ...@@ -2,6 +2,7 @@ package com.skr.mdm.dto;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -15,8 +16,8 @@ public class EquipmentInfoCopyDTO { ...@@ -15,8 +16,8 @@ public class EquipmentInfoCopyDTO {
private EquipmentCPUDTO equipmentCPUDTO; private EquipmentCPUDTO equipmentCPUDTO;
private EquipmentSysResourceDTO sysResourceDTO; private EquipmentSysResourceDTO sysResourceDTO;
private List<EquipmentUsbDTO> equipmentUsbDTOList; private List<EquipmentUsbDTO> equipmentUsbDTOList;
private EquipmentDiskDTO equipmentDiskDTO; private List<EquipmentDiskDTO> equipmentDiskDTOList;
private EquipmentNetDTO equipmentNetDTO; private List<EquipmentNetDTO> equipmentNetDTOList;
/** /**
...@@ -26,7 +27,7 @@ public class EquipmentInfoCopyDTO { ...@@ -26,7 +27,7 @@ public class EquipmentInfoCopyDTO {
/** /**
* 主板生产时间 * 主板生产时间
*/ */
private String productionDate; private Date productionDate;
/** /**
* 主板生产厂商 * 主板生产厂商
*/ */
......
...@@ -11,6 +11,11 @@ import lombok.Data; ...@@ -11,6 +11,11 @@ import lombok.Data;
public class EquipmentNetDTO { public class EquipmentNetDTO {
/** /**
* name
*/
private String name;
/**
* MAC * MAC
*/ */
private String mac; private String mac;
...@@ -33,12 +38,12 @@ public class EquipmentNetDTO { ...@@ -33,12 +38,12 @@ public class EquipmentNetDTO {
/** /**
* vid * vid
*/ */
private Integer vid; private String vid;
/** /**
* pid * pid
*/ */
private Integer pid; private String pid;
} }
\ No newline at end of file
...@@ -28,7 +28,7 @@ public class ChannelInitializerHandler extends ChannelInitializer { ...@@ -28,7 +28,7 @@ public class ChannelInitializerHandler extends ChannelInitializer {
@Override @Override
protected void initChannel(Channel ch) throws Exception { protected void initChannel(Channel ch) throws Exception {
String keyPath = "key" + File.separator + "mdm.keystore"; String keyPath = "key" + File.separator + "server.keystore";
SSLContext sslContext = SSLUtil.createSSLContext("JKS", keyPath, "tkmdm999"); SSLContext sslContext = SSLUtil.createSSLContext("JKS", keyPath, "tkmdm999");
// SSLEngine 此类允许使用ssl安全套接层协议进行安全通信 // SSLEngine 此类允许使用ssl安全套接层协议进行安全通信
SSLEngine engine = sslContext.createSSLEngine(); SSLEngine engine = sslContext.createSSLEngine();
...@@ -46,7 +46,7 @@ public class ChannelInitializerHandler extends ChannelInitializer { ...@@ -46,7 +46,7 @@ public class ChannelInitializerHandler extends ChannelInitializer {
// 分块向客户端写数据,防止发送大文件时导致内存溢出 // 分块向客户端写数据,防止发送大文件时导致内存溢出
.addLast(new ChunkedWriteHandler()) .addLast(new ChunkedWriteHandler())
// 心跳机制 // 心跳机制
.addLast(new IdleStateHandler(180, 120, 60, TimeUnit.SECONDS)) .addLast(new IdleStateHandler(15, 10,5, TimeUnit.SECONDS))
.addLast(websocketHandler); .addLast(websocketHandler);
} }
} }
\ No newline at end of file
...@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -52,7 +53,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -52,7 +53,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
private static final String WEBSOCKET = "websocket"; private static final String WEBSOCKET = "websocket";
private static final String UPGRADE = "Upgrade"; private static final String UPGRADE = "Upgrade";
private static final String ANDROID = "android"; private static final String PC = "pc";
private static final String USER_AGENT = "User-Agent"; private static final String USER_AGENT = "User-Agent";
private WebSocketServerHandshaker webSocketServerHandshaker; private WebSocketServerHandshaker webSocketServerHandshaker;
...@@ -61,8 +62,6 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -61,8 +62,6 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
@Autowired @Autowired
private AfterUserConnectionHandler userConnectionHandler; private AfterUserConnectionHandler userConnectionHandler;
@Autowired @Autowired
private DeviceEquipmentDao equipmentDao;
@Autowired
private SysSendMsgDao sysSendMsgDao; private SysSendMsgDao sysSendMsgDao;
...@@ -70,12 +69,18 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -70,12 +69,18 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
protected void channelRead0(ChannelHandlerContext ctx, Object msg) throws Exception { protected void channelRead0(ChannelHandlerContext ctx, Object msg) throws Exception {
// 握手请求 // 握手请求
if (msg instanceof FullHttpRequest) { if (msg instanceof FullHttpRequest) {
log.warn("socket 1");
handHttpRequest(ctx, (FullHttpRequest) msg); handHttpRequest(ctx, (FullHttpRequest) msg);
} } else
// websocket消息 // websocket消息
if (msg instanceof WebSocketFrame) { if (msg instanceof WebSocketFrame) {
handWebsocket(ctx, (WebSocketFrame) msg); log.warn("socket 2");
} handWebsocket(ctx, (WebSocketFrame) msg);
} else {
log.warn("弃用解析");
}
} }
@Override @Override
...@@ -131,8 +136,10 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -131,8 +136,10 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
private void handHttpRequest(ChannelHandlerContext context, FullHttpRequest fullHttpRequest) { private void handHttpRequest(ChannelHandlerContext context, FullHttpRequest fullHttpRequest) {
String channelId = context.channel().id().asShortText(); String channelId = context.channel().id().asShortText();
if (!fullHttpRequest.decoderResult().isSuccess() || !StringUtils.equals(WEBSOCKET, fullHttpRequest.headers().get(UPGRADE)) || String upgrade = fullHttpRequest.headers().get(UPGRADE);
!StringUtils.equalsIgnoreCase(ANDROID, fullHttpRequest.headers().get(USER_AGENT))) { String userAgent = fullHttpRequest.headers().get(USER_AGENT);
if (!fullHttpRequest.decoderResult().isSuccess() || !StringUtils.equals(WEBSOCKET, upgrade) ||
!StringUtils.equalsIgnoreCase(PC, userAgent)) {
log.warn("channelId:{} websocket非法请求,拒绝连接", channelId); log.warn("channelId:{} websocket非法请求,拒绝连接", channelId);
setHttpResponse(context, new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST)); setHttpResponse(context, new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST));
return; return;
...@@ -178,6 +185,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -178,6 +185,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
} }
private void handWebsocket(ChannelHandlerContext context, WebSocketFrame webSocketFrame) { private void handWebsocket(ChannelHandlerContext context, WebSocketFrame webSocketFrame) {
log.warn("socket frame {}",webSocketFrame);
if (webSocketFrame instanceof CloseWebSocketFrame) { if (webSocketFrame instanceof CloseWebSocketFrame) {
webSocketServerHandshaker.close(context.channel(), (CloseWebSocketFrame) webSocketFrame.retain()); webSocketServerHandshaker.close(context.channel(), (CloseWebSocketFrame) webSocketFrame.retain());
} }
...@@ -263,4 +271,4 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> { ...@@ -263,4 +271,4 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
return wsAntiReplayUtil.antiReplay(fullHttpRequest); return wsAntiReplayUtil.antiReplay(fullHttpRequest);
} }
} }
\ No newline at end of file
...@@ -6,6 +6,8 @@ import io.netty.channel.ChannelOption; ...@@ -6,6 +6,8 @@ import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup; import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -31,7 +33,8 @@ public class WebsocketServer { ...@@ -31,7 +33,8 @@ public class WebsocketServer {
.channel(NioServerSocketChannel.class) .channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 128) .option(ChannelOption.SO_BACKLOG, 128)
.childOption(ChannelOption.SO_KEEPALIVE, true) .childOption(ChannelOption.SO_KEEPALIVE, true)
.childHandler(channelInitializerHandler); .childHandler(channelInitializerHandler)
.handler(new LoggingHandler(LogLevel.INFO));
ChannelFuture channelFuture = bootstrap.bind(port).sync(); ChannelFuture channelFuture = bootstrap.bind(port).sync();
log.info("websocket服务端已启动 端口: {}", port); log.info("websocket服务端已启动 端口: {}", port);
...@@ -42,4 +45,4 @@ public class WebsocketServer { ...@@ -42,4 +45,4 @@ public class WebsocketServer {
} }
} }
} }
\ No newline at end of file
...@@ -55,9 +55,9 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService { ...@@ -55,9 +55,9 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
operationEquipmentUsb(equipmentId, equipmentInfoDTO.getEquipmentUsbDTOList()); operationEquipmentUsb(equipmentId, equipmentInfoDTO.getEquipmentUsbDTOList());
operationEquipmentDisk(equipmentId, equipmentInfoDTO.getEquipmentDiskDTO()); operationEquipmentDisk(equipmentId, equipmentInfoDTO.getEquipmentDiskDTOList());
operationEquipmentNet(equipmentId, equipmentInfoDTO.getEquipmentNetDTO()); operationEquipmentNet(equipmentId, equipmentInfoDTO.getEquipmentNetDTOList());
// 更新主板生产商 生产时间 主板名称 // 更新主板生产商 生产时间 主板名称
new LambdaUpdateChainWrapper<>(equipmentDao) new LambdaUpdateChainWrapper<>(equipmentDao)
...@@ -175,25 +175,28 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService { ...@@ -175,25 +175,28 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
* 磁盘详情更新/新增 * 磁盘详情更新/新增
* *
* @param equipmentId * @param equipmentId
* @param equipmentDiskDTO * @param equipmentDiskDTOList
*/ */
public void operationEquipmentDisk(Integer equipmentId, EquipmentDiskDTO equipmentDiskDTO) { public void operationEquipmentDisk(Integer equipmentId, List<EquipmentDiskDTO> equipmentDiskDTOList) {
if (Objects.nonNull(equipmentDiskDTO)) { if (CollectionUtils.isNotEmpty(equipmentDiskDTOList)) {
DeviceEquipmentDiskDO deviceEquipmentDiskDO = new DeviceEquipmentDiskDO(); for (EquipmentDiskDTO equipmentDiskDTO : equipmentDiskDTOList) {
BeanUtils.copyProperties(equipmentDiskDTO, deviceEquipmentDiskDO); DeviceEquipmentDiskDO deviceEquipmentDiskDO = new DeviceEquipmentDiskDO();
BeanUtils.copyProperties(equipmentDiskDTO, deviceEquipmentDiskDO);
deviceEquipmentDiskDO.setEquipmentId(equipmentId);
DeviceEquipmentDiskDO equipmentDiskDO = new LambdaQueryChainWrapper<>(equipmentDiskDao) deviceEquipmentDiskDO.setEquipmentId(equipmentId);
.eq(DeviceEquipmentDiskDO::getEquipmentId, equipmentId) DeviceEquipmentDiskDO equipmentDiskDO = new LambdaQueryChainWrapper<>(equipmentDiskDao)
.one(); .eq(DeviceEquipmentDiskDO::getEquipmentId, equipmentId)
if (Objects.isNull(equipmentDiskDO)) { .one();
// 添加设备信息 if (Objects.isNull(equipmentDiskDO)) {
equipmentDiskDao.insertSelective(deviceEquipmentDiskDO); // 添加设备信息
} else { equipmentDiskDao.insertSelective(deviceEquipmentDiskDO);
// 修改设备信息 } else {
deviceEquipmentDiskDO.setId(equipmentDiskDO.getId()); // 修改设备信息
equipmentDiskDao.updateByPrimaryKeySelective(deviceEquipmentDiskDO); deviceEquipmentDiskDO.setId(equipmentDiskDO.getId());
equipmentDiskDao.updateByPrimaryKeySelective(deviceEquipmentDiskDO);
}
} }
} }
} }
...@@ -201,24 +204,26 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService { ...@@ -201,24 +204,26 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
* 网卡更新/新增 * 网卡更新/新增
* *
* @param equipmentId * @param equipmentId
* @param equipmentNetDTO * @param equipmentNetDTOList
*/ */
private void operationEquipmentNet(Integer equipmentId, EquipmentNetDTO equipmentNetDTO) { private void operationEquipmentNet(Integer equipmentId, List<EquipmentNetDTO> equipmentNetDTOList) {
if (Objects.nonNull(equipmentNetDTO)) { if (CollectionUtils.isNotEmpty(equipmentNetDTOList)) {
DeviceEquipmentNetDO equipmentNetDO = new DeviceEquipmentNetDO(); for (EquipmentNetDTO equipmentNetDTO : equipmentNetDTOList) {
BeanUtils.copyProperties(equipmentNetDTO, equipmentNetDO); DeviceEquipmentNetDO equipmentNetDO = new DeviceEquipmentNetDO();
BeanUtils.copyProperties(equipmentNetDTO, equipmentNetDO);
equipmentNetDO.setEquipmentId(equipmentId);
DeviceEquipmentNetDO deviceEquipmentNetDO = new LambdaQueryChainWrapper<>(equipmentNetDao) equipmentNetDO.setEquipmentId(equipmentId);
.eq(DeviceEquipmentNetDO::getEquipmentId, equipmentId) DeviceEquipmentNetDO deviceEquipmentNetDO = new LambdaQueryChainWrapper<>(equipmentNetDao)
.one(); .eq(DeviceEquipmentNetDO::getEquipmentId, equipmentId)
if (Objects.isNull(deviceEquipmentNetDO)) { .one();
// 添加设备信息 if (Objects.isNull(deviceEquipmentNetDO)) {
equipmentNetDao.insertSelective(equipmentNetDO); // 添加设备信息
} else { equipmentNetDao.insertSelective(equipmentNetDO);
// 修改设备信息 } else {
equipmentNetDO.setId(deviceEquipmentNetDO.getId()); // 修改设备信息
equipmentNetDao.updateByPrimaryKeySelective(equipmentNetDO); equipmentNetDO.setId(deviceEquipmentNetDO.getId());
equipmentNetDao.updateByPrimaryKeySelective(equipmentNetDO);
}
} }
} }
} }
......
package com.skr.mdm.service.impl.equipment; //package com.skr.mdm.service.impl.equipment;
//
import cn.hutool.json.JSONUtil; //import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; //import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; //import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.skr.mdm.annotation.CmdHandler; //import com.skr.mdm.annotation.CmdHandler;
import com.skr.mdm.constant.CmdTypeConstants; //import com.skr.mdm.constant.CmdTypeConstants;
import com.skr.mdm.dao.DeviceEquipmentDao; //import com.skr.mdm.dao.DeviceEquipmentDao;
import com.skr.mdm.dao.DeviceEquipmentInfoDao; //import com.skr.mdm.dao.DeviceEquipmentInfoDao;
import com.skr.mdm.dto.EquipmentInfoDTO; //import com.skr.mdm.dto.EquipmentInfoDTO;
import com.skr.mdm.dto.LoginUserDTO; //import com.skr.mdm.dto.LoginUserDTO;
import com.skr.mdm.entity.DeviceEquipmentDO; //import com.skr.mdm.entity.DeviceEquipmentDO;
import com.skr.mdm.entity.DeviceEquipmentInfoDO; //import com.skr.mdm.entity.DeviceEquipmentInfoDO;
import com.skr.mdm.result.ResponseResult; //import com.skr.mdm.result.ResponseResult;
import com.skr.mdm.service.CmdHandlerService; //import com.skr.mdm.service.CmdHandlerService;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; //import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder; //import org.springframework.security.core.context.SecurityContextHolder;
//
/** ///**
* @author nfq // * @author nfq
* @date 2020/7/30 17:08 // * @date 2020/7/30 17:08
*/ // */
@Slf4j //@Slf4j
@CmdHandler(cmdType = CmdTypeConstants.DEV_INFO) //@CmdHandler(cmdType = CmdTypeConstants.DEV_INFO)
public class EquipmentInfoServiceImpl implements CmdHandlerService { //public class EquipmentInfoServiceImpl implements CmdHandlerService {
//
private static final String SPLIT = "-"; // private static final String SPLIT = "-";
//
@Autowired // @Autowired
private DeviceEquipmentDao equipmentDao; // private DeviceEquipmentDao equipmentDao;
@Autowired // @Autowired
private DeviceEquipmentInfoDao equipmentInfoDao; // private DeviceEquipmentInfoDao equipmentInfoDao;
//
@Override // @Override
public ResponseResult cmdHandler(Integer equipmentId, String data) { // public ResponseResult cmdHandler(Integer equipmentId, String data) {
try { // try {
LoginUserDTO loginUserDTO = (LoginUserDTO) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); // LoginUserDTO loginUserDTO = (LoginUserDTO) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
EquipmentInfoDTO equipmentInfoDTO = JSONUtil.toBean(data, EquipmentInfoDTO.class); // EquipmentInfoDTO equipmentInfoDTO = JSONUtil.toBean(data, EquipmentInfoDTO.class);
DeviceEquipmentInfoDO equipmentInfoDO = new DeviceEquipmentInfoDO(); // DeviceEquipmentInfoDO equipmentInfoDO = new DeviceEquipmentInfoDO();
BeanUtils.copyProperties(equipmentInfoDTO, equipmentInfoDO); // BeanUtils.copyProperties(equipmentInfoDTO, equipmentInfoDO);
equipmentInfoDO.setEquipmentId(equipmentId); // equipmentInfoDO.setEquipmentId(equipmentId);
if (StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()) || StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber())) { // if (StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()) || StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber())) {
new LambdaUpdateChainWrapper<>(equipmentDao)
.set(StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()), DeviceEquipmentDO::getEquipmentModel, equipmentInfoDTO.getEquipmentModel())
.set(StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber()), DeviceEquipmentDO::getPhoneNumber, equipmentInfoDTO.getPhoneNumber())
.eq(DeviceEquipmentDO::getId, equipmentId)
.update();
}
equipmentInfoDO.setImei2(getImei2(equipmentInfoDO.getImei2(), equipmentId, loginUserDTO.getSerialNumber()));
DeviceEquipmentInfoDO deviceEquipmentInfoDO = new LambdaQueryChainWrapper<>(equipmentInfoDao)
.eq(DeviceEquipmentInfoDO::getEquipmentId, equipmentId)
.one();
if (deviceEquipmentInfoDO == null) {
// 添加设备信息
equipmentInfoDao.insert(equipmentInfoDO);
// new LambdaUpdateChainWrapper<>(equipmentDao) // new LambdaUpdateChainWrapper<>(equipmentDao)
// .set(DeviceEquipmentDO::getOaid, equipmentInfoDTO.getOaid()) // .set(StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()), DeviceEquipmentDO::getEquipmentModel, equipmentInfoDTO.getEquipmentModel())
// .set(DeviceEquipmentDO::getUuid, equipmentInfoDTO.getUuid()) // .set(StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber()), DeviceEquipmentDO::getPhoneNumber, equipmentInfoDTO.getPhoneNumber())
// .eq(DeviceEquipmentDO::getId, equipmentId) // .eq(DeviceEquipmentDO::getId, equipmentId)
// .update(); // .update();
return ResponseResult.success(); // }
} // equipmentInfoDO.setImei2(getImei2(equipmentInfoDO.getImei2(), equipmentId, loginUserDTO.getSerialNumber()));
// 修改设备信息 // DeviceEquipmentInfoDO deviceEquipmentInfoDO = new LambdaQueryChainWrapper<>(equipmentInfoDao)
equipmentInfoDO.setId(deviceEquipmentInfoDO.getId()); // .eq(DeviceEquipmentInfoDO::getEquipmentId, equipmentId)
equipmentInfoDao.updateById(equipmentInfoDO); // .one();
return ResponseResult.success(); // if (deviceEquipmentInfoDO == null) {
} catch (Exception e) { // // 添加设备信息
log.error("上传设备信息异常: " + equipmentId + data, e); // equipmentInfoDao.insert(equipmentInfoDO);
return ResponseResult.failure(); //// new LambdaUpdateChainWrapper<>(equipmentDao)
} //// .set(DeviceEquipmentDO::getOaid, equipmentInfoDTO.getOaid())
} //// .set(DeviceEquipmentDO::getUuid, equipmentInfoDTO.getUuid())
//// .eq(DeviceEquipmentDO::getId, equipmentId)
/** //// .update();
* 获取IMEI2 // return ResponseResult.success();
* // }
* @param imei // // 修改设备信息
* @param equipmentId // equipmentInfoDO.setId(deviceEquipmentInfoDO.getId());
* @return // equipmentInfoDao.updateById(equipmentInfoDO);
*/ // return ResponseResult.success();
private String getImei2(String imei, Integer equipmentId, String imeiLogin) { // } catch (Exception e) {
if (StringUtils.isNotBlank(imei)) { // log.error("上传设备信息异常: " + equipmentId + data, e);
if (imei.contains(SPLIT)) { // return ResponseResult.failure();
imei+=""; // }
String[] split = StringUtils.split(imei, SPLIT); // }
String imeiFirst = split[0]; //
String imeiEnd = split[1]; // /**
if (StringUtils.isBlank(imeiLogin)) { // * 获取IMEI2
// 同步IMEI1 // *
new LambdaUpdateChainWrapper<>(equipmentDao) // * @param imei
.set(DeviceEquipmentDO::getSerialNumber, imeiFirst) // * @param equipmentId
.eq(DeviceEquipmentDO::getId, equipmentId) // * @return
.update(); // */
return imeiEnd; // private String getImei2(String imei, Integer equipmentId, String imeiLogin) {
} // if (StringUtils.isNotBlank(imei)) {
if (imeiLogin.equals(imeiFirst)) { // if (imei.contains(SPLIT)) {
return imeiEnd; // imei+="";
} // String[] split = StringUtils.split(imei, SPLIT);
return imeiFirst; // String imeiFirst = split[0];
} // String imeiEnd = split[1];
} // if (StringUtils.isBlank(imeiLogin)) {
return null; // // 同步IMEI1
} // new LambdaUpdateChainWrapper<>(equipmentDao)
} // .set(DeviceEquipmentDO::getSerialNumber, imeiFirst)
\ No newline at end of file // .eq(DeviceEquipmentDO::getId, equipmentId)
// .update();
// return imeiEnd;
// }
// if (imeiLogin.equals(imeiFirst)) {
// return imeiEnd;
// }
// return imeiFirst;
// }
// }
// return null;
// }
//}
\ No newline at end of file
...@@ -2,6 +2,8 @@ package com.skr.mdm.entity; ...@@ -2,6 +2,8 @@ package com.skr.mdm.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
/** /**
...@@ -9,6 +11,7 @@ import lombok.Data; ...@@ -9,6 +11,7 @@ import lombok.Data;
* device_equipment_disk * device_equipment_disk
*/ */
@Data @Data
@TableName("device_equipment_disk")
public class DeviceEquipmentDiskDO implements Serializable { public class DeviceEquipmentDiskDO implements Serializable {
/** /**
* id * id
...@@ -26,7 +29,7 @@ public class DeviceEquipmentDiskDO implements Serializable { ...@@ -26,7 +29,7 @@ public class DeviceEquipmentDiskDO implements Serializable {
private String path; private String path;
/** /**
* 执照 * 制造
*/ */
private String vendor; private String vendor;
...@@ -63,7 +66,7 @@ public class DeviceEquipmentDiskDO implements Serializable { ...@@ -63,7 +66,7 @@ public class DeviceEquipmentDiskDO implements Serializable {
/** /**
* 扇区字节数 * 扇区字节数
*/ */
private String IntegersPerSec; private String bytesPerSec;
/** /**
* 容量 * 容量
......
...@@ -24,6 +24,11 @@ public class DeviceEquipmentNetDO implements Serializable { ...@@ -24,6 +24,11 @@ public class DeviceEquipmentNetDO implements Serializable {
private Integer equipmentId; private Integer equipmentId;
/** /**
* name
*/
private String name;
/**
* MAC * MAC
*/ */
private String mac; private String mac;
...@@ -46,12 +51,12 @@ public class DeviceEquipmentNetDO implements Serializable { ...@@ -46,12 +51,12 @@ public class DeviceEquipmentNetDO implements Serializable {
/** /**
* vid * vid
*/ */
private Integer vid; private String vid;
/** /**
* pid * pid
*/ */
private Integer pid; private String pid;
private Date createTime; private Date createTime;
......
...@@ -2,6 +2,8 @@ package com.skr.mdm.entity; ...@@ -2,6 +2,8 @@ package com.skr.mdm.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
/** /**
...@@ -9,6 +11,7 @@ import lombok.Data; ...@@ -9,6 +11,7 @@ import lombok.Data;
* device_equipment_sys_source * device_equipment_sys_source
*/ */
@Data @Data
@TableName("device_equipment_sys_source")
public class DeviceEquipmentSysSourceDO implements Serializable { public class DeviceEquipmentSysSourceDO implements Serializable {
/** /**
* id * id
......
...@@ -6,8 +6,7 @@ import com.skr.mdm.bean.vo.strategy.StrategyVO; ...@@ -6,8 +6,7 @@ import com.skr.mdm.bean.vo.strategy.StrategyVO;
import java.util.List; import java.util.List;
public interface ConfigStrategyService extends DefaultStrategyService { public interface ConfigStrategyService {
List<StrategyVO> listStrategy(StrategyQueryQO strategyQueryQO);
} }
\ No newline at end of file
package com.skr.mdm.api.strategy.service.impl;
import com.skr.mdm.api.strategy.service.ConfigStrategyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author nfq
* @date 2022-10-18 15:00
*/
@Service
@Slf4j
public class ConfigStrategyServiceImpl implements ConfigStrategyService {
}
\ No newline at end of file
package com.skr.mdm.api.strategy.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.skr.mdm.api.strategy.service.FunctionInfoStrategyService;
import com.skr.mdm.dao.RailStrategyInfoDao;
import com.skr.mdm.entity.RailStrategyInfoDO;
import org.springframework.stereotype.Service;
/**
* @author nfq
* @date 2022-10-18 15:10
*/
@Service
public class FunctionInfoStrategyServiceImpl extends ServiceImpl<RailStrategyInfoDao, RailStrategyInfoDO> implements FunctionInfoStrategyService {
}
\ No newline at end of file
...@@ -45,9 +45,9 @@ public class StrategyServiceImpl implements StrategyService { ...@@ -45,9 +45,9 @@ public class StrategyServiceImpl implements StrategyService {
if (StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) { if (StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) {
return ResponseResult.success(PageUtil.getPageResult(strategyDao.listStrategy(strategyQueryQO))); return ResponseResult.success(PageUtil.getPageResult(strategyDao.listStrategy(strategyQueryQO)));
} }
if (StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) { // if (StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) {
return ResponseResult.success(PageUtil.getPageResult(configStrategyService.listStrategy(strategyQueryQO))); // return ResponseResult.success(PageUtil.getPageResult(configStrategyService.listStrategy(strategyQueryQO)));
} // }
if (StrategyTypeEnum.URL_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) { if (StrategyTypeEnum.URL_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) {
return ResponseResult.success(PageUtil.getPageResult(urlStrategyService.listStrategy(strategyQueryQO))); return ResponseResult.success(PageUtil.getPageResult(urlStrategyService.listStrategy(strategyQueryQO)));
} }
...@@ -62,9 +62,9 @@ public class StrategyServiceImpl implements StrategyService { ...@@ -62,9 +62,9 @@ public class StrategyServiceImpl implements StrategyService {
StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType()), StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType()),
strategyTypeIssuedQO, loginAdminDTO)); strategyTypeIssuedQO, loginAdminDTO));
ResponseResultManager.add(configStrategyService.issuedStrategy( // ResponseResultManager.add(configStrategyService.issuedStrategy(
StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()), // StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()),
strategyTypeIssuedQO, loginAdminDTO)); // strategyTypeIssuedQO, loginAdminDTO));
ResponseResultManager.add(urlStrategyService.issuedStrategy( ResponseResultManager.add(urlStrategyService.issuedStrategy(
StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.URL_STRATEGY.getStrategyType()), StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.URL_STRATEGY.getStrategyType()),
...@@ -79,8 +79,8 @@ public class StrategyServiceImpl implements StrategyService { ...@@ -79,8 +79,8 @@ public class StrategyServiceImpl implements StrategyService {
ResponseResultManager.add(functionStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList, ResponseResultManager.add(functionStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList,
StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType()), loginAdminDTO)); StrategyTypeEnum.FUNCTION_STRATEGY.getStrategyType()), loginAdminDTO));
ResponseResultManager.add(configStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList, // ResponseResultManager.add(configStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList,
StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()), loginAdminDTO)); // StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()), loginAdminDTO));
ResponseResultManager.add(urlStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList, ResponseResultManager.add(urlStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList,
StrategyTypeEnum.URL_STRATEGY.getStrategyType()), loginAdminDTO)); StrategyTypeEnum.URL_STRATEGY.getStrategyType()), loginAdminDTO));
...@@ -88,4 +88,4 @@ public class StrategyServiceImpl implements StrategyService { ...@@ -88,4 +88,4 @@ public class StrategyServiceImpl implements StrategyService {
return ResponseResultManager.get(); return ResponseResultManager.get();
} }
} }
\ No newline at end of file
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