| | |
| | | }; |
| | | #endregion |
| | | |
| | | #region 通过接口发送至erp 或 mes |
| | | #region 通过接口发送至mes |
| | | //系统对接后放开 |
| | | var jsonData = JsonConvert.SerializeObject(data); |
| | | |
| | |
| | | |
| | | var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//解析返回数据 |
| | | |
| | | |
| | | if (obj.status != "success") |
| | | { |
| | | throw new Exception("上传失败" + obj.message); |
| | | } |
| | | else |
| | | { |
| | | var token = obj.Data.token; |
| | | var expireTime = obj.Data.expire_time; |
| | | var time = DateTime.Now.AddMilliseconds(double.Parse(expireTime)); |
| | | if (sysToken == null)//添加 |
| | | { |
| | | var addToken = new SysToken() |
| | | { |
| | | SystemName = "MES", |
| | | Token = token, |
| | | ExpireTime = time, |
| | | CreateUser = 0 |
| | | }; |
| | | Db.Insertable(addToken).ExecuteCommand(); |
| | | return token; |
| | | } |
| | | else //修改 |
| | | { |
| | | sysToken.Token = token; |
| | | sysToken.ExpireTime = time; |
| | | sysToken.UpdateTime = DateTime.Now; |
| | | Db.Updateable(sysToken).ExecuteCommand(); |
| | | return token; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | catch (Exception) |
| | | { |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取赋码token令牌 |
| | | /// </summary> |
| | | /// <param name="url">获取赋码token令牌</param> |
| | | /// <returns></returns> |
| | | public string GetFuMaToken(string url) |
| | | { |
| | | try |
| | | { |
| | | var str = ""; |
| | | |
| | | //首先判断系统内是否有token值,效期是否失效 |
| | | var sysToken = Db.Queryable<SysToken>().First(m => m.IsDel == "0" && m.SystemName == "FuMa"); |
| | | if (sysToken != null && !string.IsNullOrWhiteSpace(sysToken.Token) && sysToken.ExpireTime > DateTime.Now) |
| | | { |
| | | str = sysToken.Token; |
| | | return str; //返回token值 |
| | | } |
| | | //return str; |
| | | #region 获取新的令牌 |
| | | //对接时更改路径 |
| | | var user = MesConfig.MesUser; |
| | | var pass = MesConfig.MesPassWord; |
| | | var secretKey = Md5Tools.CalcMd5(pass); |
| | | var nonce = Guid.NewGuid().ToString("N"); |
| | | var timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString(); |
| | | |
| | | var info = new string[] { user, secretKey, nonce, timestamp }; |
| | | Array.Sort(info, string.CompareOrdinal); //ASCII排序 |
| | | var miyao = string.Join("", info); //数组转换成字符串 |
| | | var sign = Md5Tools.CalcMd5(miyao); //签名 |
| | | |
| | | var data = new |
| | | { |
| | | user = user, |
| | | nonce = nonce, |
| | | timestamp = timestamp, |
| | | sign = sign, |
| | | jwt = true, //是否返回JWT令牌 |
| | | }; |
| | | #endregion |
| | | |
| | | #region 通过接口发送至赋码 |
| | | //系统对接后放开 |
| | | var jsonData = JsonConvert.SerializeObject(data); |
| | | |
| | | var response = HttpHelper.DoPost(url, jsonData, "FuMa申请获取令牌", "Fuma"); |
| | | |
| | | var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//解析返回数据 |
| | | |
| | | if (obj.status != "success") |
| | | { |
| | | throw new Exception("上传失败" + obj.message); |
| | |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |