|
@@ -15,6 +15,7 @@ using WingInterfaceLibrary.Result.Device;
|
|
|
using WingServerCommon.Log;
|
|
|
using WingServerCommon.Mapper;
|
|
|
using WingServerCommon.Service;
|
|
|
+using WingServerCommon.Config;
|
|
|
|
|
|
namespace WingDeviceService.Service
|
|
|
{
|
|
@@ -68,27 +69,9 @@ namespace WingDeviceService.Service
|
|
|
#endregion
|
|
|
|
|
|
var deviceDto = await _deviceInfoDBServiceProxy.FindDeviceInfoBySerialNumberAsync(request.DeviceUniqueCode);
|
|
|
- var shortCode = deviceDto?.ShortCode;
|
|
|
- var deviceCode = deviceDto?.DeviceCode;
|
|
|
- var deviceName = deviceDto?.Name;
|
|
|
- if (string.IsNullOrWhiteSpace(shortCode))
|
|
|
- {
|
|
|
- shortCode = GenerateShortCode();
|
|
|
- }
|
|
|
- if (string.IsNullOrWhiteSpace(deviceName))
|
|
|
- {
|
|
|
- if (deviceDto == null && !string.IsNullOrWhiteSpace(request.Name))
|
|
|
- {
|
|
|
- deviceName = request.Name;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- deviceName = shortCode;
|
|
|
- }
|
|
|
- }
|
|
|
if (deviceDto == null)
|
|
|
{
|
|
|
- var deviceInfoDB = new DeviceInfoDTO()
|
|
|
+ deviceDto = new DeviceInfoDTO()
|
|
|
{
|
|
|
SerialNumber = request.DeviceUniqueCode,
|
|
|
Name = request.Name,
|
|
@@ -98,15 +81,29 @@ namespace WingDeviceService.Service
|
|
|
DeviceModel = request.DeviceModel,
|
|
|
DeviceType = request.DeviceType,
|
|
|
DeviceSoftwareVersion = request.SoftwareVersion,
|
|
|
- ShortCode = shortCode,
|
|
|
SystemVersion = request.SystemVersion,
|
|
|
CPUModel = request.CPUModel,
|
|
|
SystemLanguage = request.SystemLanguage,
|
|
|
- IsEncryptedShow=true
|
|
|
+ IsEncryptedShow = true
|
|
|
};
|
|
|
- deviceCode = await _deviceInfoDBServiceProxy.InsertDeviceInfoAsync(new WingInterfaceLibrary.DB.Request.CreateDeviceInfoDBRequest
|
|
|
+ var shortCode = deviceDto.ShortCode;
|
|
|
+ for (var i = 0; i < 5; i++)
|
|
|
+ {
|
|
|
+ shortCode = GenerateShortCode();
|
|
|
+ if (!string.IsNullOrWhiteSpace(shortCode))
|
|
|
+ {
|
|
|
+ var device = await _deviceInfoDBServiceProxy.FindDeviceInfoByShortCodeAsync(shortCode);
|
|
|
+ if (device == null || string.IsNullOrWhiteSpace(device.DeviceCode))
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ shortCode = string.Empty;
|
|
|
+ }
|
|
|
+ deviceDto.ShortCode = shortCode;
|
|
|
+ deviceDto.DeviceCode = await _deviceInfoDBServiceProxy.InsertDeviceInfoAsync(new WingInterfaceLibrary.DB.Request.CreateDeviceInfoDBRequest
|
|
|
{
|
|
|
- Data = deviceInfoDB
|
|
|
+ Data = deviceDto
|
|
|
});
|
|
|
//创建虚拟机构
|
|
|
var inventedOrgCode = "invented_" + shortCode;
|
|
@@ -140,7 +137,12 @@ namespace WingDeviceService.Service
|
|
|
deviceDto.SystemLanguage = request.SystemLanguage;
|
|
|
await _deviceInfoDBServiceProxy.UpdateDeviceInfoByCodeAsync(deviceDto.DeviceCode, deviceDto, string.Empty, true);
|
|
|
}
|
|
|
- var applyRequest = new ApplyTokenRequest(AccountType.US, deviceName, request.Platform, request.LoginSource, deviceCode, _sourceUrl, 0);
|
|
|
+ var deviceName = deviceDto.Name;
|
|
|
+ if (!string.IsNullOrWhiteSpace(deviceName))
|
|
|
+ {
|
|
|
+ deviceName = deviceDto.ShortCode;
|
|
|
+ }
|
|
|
+ var applyRequest = new ApplyTokenRequest(AccountType.US, deviceName, request.Platform, request.LoginSource, deviceDto.DeviceCode, ConfigurationManager.Host, 0);
|
|
|
var tokenInfo = await _authenticationService.ApplyTokenAsync(applyRequest);
|
|
|
if (!string.IsNullOrWhiteSpace(tokenInfo.Code))
|
|
|
{
|
|
@@ -149,7 +151,7 @@ namespace WingDeviceService.Service
|
|
|
return new ConnectResult
|
|
|
{
|
|
|
Token = tokenInfo.Code,
|
|
|
- UniqueCode = shortCode
|
|
|
+ UniqueCode = deviceDto.ShortCode
|
|
|
};
|
|
|
}
|
|
|
catch (Exception ex)
|
|
@@ -243,8 +245,8 @@ namespace WingDeviceService.Service
|
|
|
{
|
|
|
ThrowCustomerException(CustomerRpcCode.DeviceNotExist, "Not find device");
|
|
|
}
|
|
|
- deviceDTO.IsEncryptedShow= request.IsEncryptedShow;
|
|
|
- return await _deviceInfoDBServiceProxy.UpdateDeviceInfoByCodeAsync(deviceDTO.DeviceCode, deviceDTO, string.Empty);
|
|
|
+ deviceDTO.IsEncryptedShow = request.IsEncryptedShow;
|
|
|
+ return await _deviceInfoDBServiceProxy.UpdateDeviceInfoByCodeAsync(deviceDTO.DeviceCode, deviceDTO, string.Empty);
|
|
|
}
|
|
|
}
|
|
|
}
|