|
@@ -15,10 +15,7 @@ import com.xunmei.deploy.service.FrontTaskService;
|
|
|
import com.xunmei.deploy.util.RedisPrefix;
|
|
import com.xunmei.deploy.util.RedisPrefix;
|
|
|
import com.xunmei.deploy.util.RedisTemplateUtil;
|
|
import com.xunmei.deploy.util.RedisTemplateUtil;
|
|
|
import com.xunmei.deploy.util.UTCTimeUtils;
|
|
import com.xunmei.deploy.util.UTCTimeUtils;
|
|
|
-import com.xunmei.deploy.vo.MachineInfo;
|
|
|
|
|
-import com.xunmei.deploy.vo.OrgVo;
|
|
|
|
|
-import com.xunmei.deploy.vo.TokenCache;
|
|
|
|
|
-import com.xunmei.deploy.vo.TokenVo;
|
|
|
|
|
|
|
+import com.xunmei.deploy.vo.*;
|
|
|
import com.xunmei.deploy.vo.heart.AppRunningInfo;
|
|
import com.xunmei.deploy.vo.heart.AppRunningInfo;
|
|
|
import com.xunmei.deploy.vo.heart.HeartBeat;
|
|
import com.xunmei.deploy.vo.heart.HeartBeat;
|
|
|
import com.xunmei.deploy.vo.heart.HeartResponse;
|
|
import com.xunmei.deploy.vo.heart.HeartResponse;
|
|
@@ -99,22 +96,18 @@ public class BeringServiceImpl extends ServiceImpl<HostInfoDao, HostInfo> imple
|
|
|
throw new ServerException("主机获取令牌失败:请求参数认证类型错误!");
|
|
throw new ServerException("主机获取令牌失败:请求参数认证类型错误!");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //验证秘钥是否合法
|
|
|
|
|
List<String> macs = machineInfo.getMacs();
|
|
List<String> macs = machineInfo.getMacs();
|
|
|
- if (null == macs || macs.size() <= 0){
|
|
|
|
|
|
|
+ if (null == macs || macs.size() == 0){
|
|
|
logger.error("主机获取令牌失败:传入machineInfo内macs数组为空!");
|
|
logger.error("主机获取令牌失败:传入machineInfo内macs数组为空!");
|
|
|
throw new ServerException("主机获取令牌失败:计算机macs信息不能为空!");
|
|
throw new ServerException("主机获取令牌失败:计算机macs信息不能为空!");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
Collections.sort(macs);
|
|
Collections.sort(macs);
|
|
|
- String macsStr = StringUtils.join(macs.toArray(), "");
|
|
|
|
|
- String str = macsStr + "zmoon";
|
|
|
|
|
|
|
|
|
|
- //md5加密--->按照生成规则生成后的秘钥
|
|
|
|
|
- String code = DigestUtils.md5DigestAsHex(str.getBytes());
|
|
|
|
|
|
|
+ //验证秘钥在iot_server_info表中对应iot_code是否存在
|
|
|
String clientSecret = tokenVo.getClient_secret();
|
|
String clientSecret = tokenVo.getClient_secret();
|
|
|
- if(!code.equals(clientSecret)){
|
|
|
|
|
- logger.error("主机获取令牌失败:client_secret={}与machineInfo内macs数组解析算法不一致!",clientSecret);
|
|
|
|
|
|
|
+ IotServerInfoVo iotServerInfoVo = baseMapper.getIoTServerInfoByIotCode(clientSecret);
|
|
|
|
|
+ if (iotServerInfoVo == null){
|
|
|
|
|
+ logger.error("主机获取令牌失败:client_secret={}在iot_server_info表中对应iot_code不存在!",clientSecret);
|
|
|
throw new ServerException("主机获取令牌失败:主机秘钥认证失败!");
|
|
throw new ServerException("主机获取令牌失败:主机秘钥认证失败!");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -135,7 +128,7 @@ public class BeringServiceImpl extends ServiceImpl<HostInfoDao, HostInfo> imple
|
|
|
if ("1".equals(sysConf.getConfigValue())){
|
|
if ("1".equals(sysConf.getConfigValue())){
|
|
|
logger.info("主机获取令牌:程序允许主机重新注册,开始注册\n{}",clientSecret,JSON.toJSONString(machineInfo));
|
|
logger.info("主机获取令牌:程序允许主机重新注册,开始注册\n{}",clientSecret,JSON.toJSONString(machineInfo));
|
|
|
hostInfo = new HostInfo();
|
|
hostInfo = new HostInfo();
|
|
|
- hostInfo.setId(code);
|
|
|
|
|
|
|
+ hostInfo.setId(clientSecret);
|
|
|
hostInfo.setHostName(machineInfo.getMachineName());
|
|
hostInfo.setHostName(machineInfo.getMachineName());
|
|
|
hostInfo.setHostIp(StringUtils.join(machineInfo.getIpAddresses().toArray(),","));
|
|
hostInfo.setHostIp(StringUtils.join(machineInfo.getIpAddresses().toArray(),","));
|
|
|
hostInfo.setHostSystem(machineInfo.getOsPlatform());
|
|
hostInfo.setHostSystem(machineInfo.getOsPlatform());
|
|
@@ -148,7 +141,7 @@ public class BeringServiceImpl extends ServiceImpl<HostInfoDao, HostInfo> imple
|
|
|
|
|
|
|
|
//删除frontTask中数据
|
|
//删除frontTask中数据
|
|
|
QueryWrapper<FrontTask> wrapper = new QueryWrapper<>();
|
|
QueryWrapper<FrontTask> wrapper = new QueryWrapper<>();
|
|
|
- wrapper.eq("host_id",code);
|
|
|
|
|
|
|
+ wrapper.eq("host_id",clientSecret);
|
|
|
frontTaskDao.delete(wrapper);
|
|
frontTaskDao.delete(wrapper);
|
|
|
|
|
|
|
|
//添加缓存信息
|
|
//添加缓存信息
|