Files
StoreWeb/Store.KJDWebService/Services/UpdateService.cs
T

231 lines
11 KiB
C#

using StoreHub.KJDWebService.Commons;
using StoreHub.Framework.Repositorys;
using Microsoft.Extensions.Configuration;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace StoreHub.KJDWebService.Services
{
public class UpdateService : ServiceBase
{
public UpdateService(SqlRepository sqlRepository, IConfiguration configuration) : base(sqlRepository, configuration)
{
}
public string GetUpdate(string inputData)
{
//string time1 = Encryption(time);
//return "time=" + time + "&code=" + time1 + "&NbCodeVersion=1" + "&version=" + BaseClass.VersionCount
if (!string.IsNullOrEmpty(inputData))
{
var time = 0;
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time);
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
if (time1 != EncrypUtil.Encryption(time))
return "{\"code\":50000,\"msg\":\"校验失败\"}";
var version = RegexUtils.GetStringQuery(ref inputData, "version").ParseToInt();
var serverVersion = Config("UpdateVersion");
var UpdateFiles = ""; //Config("UpdateFiles");
var UpdateExe = Config("UpdateExe");
var UpdateExeChk = Config("UpdateExeChk");
var LowVersion = Config("LowVersion");
serverVersion = "1115";
UpdateFiles = "http://weidian.e57.cn/kjd_update/Update1115.zip";
if (version > LowVersion.ParseToInt())
{
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateFiles + "\"}";
}
else if (version > 0)
{
return "{\"code\":501,\"msg\":\"版本过低已无法直接升级,请联系管理员获取最新安装包\"}";
}
else
{
return "{\"code\":502,\"msg\":\"get update version failed\"}";
}
}
return "{\"code\":19999,\"msg\":\"未知错误\"}";
}
public string GetUpdateNew(string inputData)
{
//string time1 = Encryption(time);
//return "time=" + time + "&code=" + time1 + "&NbCodeVersion=1" + "&version=" + BaseClass.VersionCount
if (!string.IsNullOrEmpty(inputData))
{
var time = 0;
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time);
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
if (time1 != EncrypUtil.Encryption(time))
return "{\"code\":50000,\"msg\":\"校验失败\"}";
var path = RegexUtils.GetStringQuery(ref inputData, "path");
var version = RegexUtils.GetStringQuery(ref inputData, "version").ParseToInt();
var serverVersion = Config("UpdateVersion");
var UpdateNewUrl = Config("UpdateNewUrl");
var UpdateExe = Config("UpdateExe");
var UpdateExeChk = Config("UpdateExeChk");
var LowVersion = Config("LowVersion");
int MaxVersion = 999999;
if (version <= 1200)
MaxVersion = 1200;
if (version <= 1159)
MaxVersion = 1159;
if (version > LowVersion.ParseToInt())
{
if (path != null)
{
try
{
var fileDir = Config("UpdateFileDir");
if (path == "29wx")
{
var file = Directory.GetFiles(fileDir);
var versionTmp = 0;
foreach (var f in file)
{
var v = Path.GetFileName(f).Replace("Update29wx", "").Replace(".zip", "").ParseToInt();
if (v > versionTmp && v <= serverVersion.ParseToInt() && v <= MaxVersion)
{
versionTmp = v;
}
}
if (versionTmp > 0)
{
serverVersion = versionTmp.ToString();
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateNewUrl + "Update" + serverVersion + ".zip\"}";
}
}
if (path == "29pdd")
{
var file = Directory.GetFiles(fileDir);
var versionTmp = 0;
foreach (var f in file)
{
var v = Path.GetFileName(f).Replace("Update29pdd", "").Replace(".zip", "").ParseToInt();
if (v > versionTmp && v <= serverVersion.ParseToInt() && v <= MaxVersion)
{
versionTmp = v;
}
}
if (versionTmp > 0)
{
serverVersion = versionTmp.ToString();
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateNewUrl + "Update" + serverVersion + ".zip\"}";
}
}
}
catch (Exception ex)
{
//return "{\"code\":500,\"msg\":\"升级文件查询失败\"}";
}
}
if (serverVersion.ParseToInt() > MaxVersion)
serverVersion = MaxVersion.ParseToString();
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateNewUrl + "Update" + serverVersion + ".zip\"}";
}
else if (version > 0)
{
return "{\"code\":501,\"msg\":\"版本过低已无法直接升级,请联系管理员获取最新安装包\"}";
}
else
{
return "{\"code\":502,\"msg\":\"get update version failed\"}";
}
}
return "{\"code\":19999,\"msg\":\"未知错误\"}";
}
public string GetWxFindOrderUpdate(string inputData)
{
//string time1 = Encryption(time);
//return "time=" + time + "&code=" + time1 + "&NbCodeVersion=1" + "&version=" + BaseClass.VersionCount
if (!string.IsNullOrEmpty(inputData))
{
var time = 0;
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time);
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
if (time1 != EncrypUtil.Encryption(time))
return "{\"code\":50000,\"msg\":\"校验失败\"}";
var path = RegexUtils.GetStringQuery(ref inputData, "path");
var version = RegexUtils.GetStringQuery(ref inputData, "version").ParseToInt();
var serverVersion = Config("UpdateVersion");
var UpdateFileNewUrl = Config("UpdateWxFindOrderUrl");
var UpdateExe = Config("UpdateExe");
var UpdateExeChk = Config("UpdateExeChk");
var LowVersion = Config("WxFindOrderLowVersion");
if (version > LowVersion.ParseToInt())
{
//if (path != null)
{
try
{
var fileDir = Config("UpdateWxFindOrderFileDir");
//if (path == "29wx")
{
var file = Directory.GetFiles(fileDir);
var versionTmp = 0;
foreach (var f in file)
{
var v = Path.GetFileName(f).Replace("WxFindOrderUpdate", "").Replace(".zip", "").ParseToInt();
if (v > versionTmp && v <= serverVersion.ParseToInt())
{
versionTmp = v;
}
}
if (versionTmp > 0)
{
serverVersion = versionTmp.ToString();
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateFileNewUrl + "WxFindOrderUpdate" + serverVersion + ".zip\"}";
}
}
}
catch (Exception ex)
{
//return "{\"code\":500,\"msg\":\"升级文件查询失败\"}";
}
}
if (serverVersion.ParseToInt() > 1159)
serverVersion = 1159.ToString();
return "{\"code\":200,\"msg\":\"success\",\"next_version\":" + serverVersion + ",\"exe_check\":\"" + UpdateExeChk +
"\",\"exe_address\":\"" + UpdateExe + "\",\"file_address\":\"" + UpdateFileNewUrl + "WxFindOrderUpdate" + serverVersion + ".zip\"}";
}
else if (version > 0)
{
return "{\"code\":501,\"msg\":\"版本过低已无法直接升级,请联系管理员获取最新安装包\"}";
}
else
{
return "{\"code\":502,\"msg\":\"get update version failed\"}";
}
}
return "{\"code\":19999,\"msg\":\"未知错误\"}";
}
}
}