231 lines
11 KiB
C#
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\":\"未知错误\"}";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|