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\":\"未知错误\"}"; } } }