public async Task <string> Add(CheckInModel checkInModel) { string strRequestJson = checkInModel.ToJson(); ("原始请求内容:" + strRequestJson).WriteToLog(); if (string.IsNullOrEmpty(strRequestJson)) { return(ResponseMessageHandle("", "S05", "消息内容为空")); } //2、消息类型检查 if (!string.Equals(checkInModel.msg_type, BaseInfo.OrderCreateMsgType)) { return(ResponseMessageHandle("", "S04", "消息类型msg_type错误")); } //3、签名检查 try { if (!SignHelper.CheckDataDigest(checkInModel.logistics_interface, checkInModel.data_digest, BaseInfo.SecretKey)) { return(ResponseMessageHandle("", "S02", "消息签名不符,请检查签名")); } } catch (Exception ex) { var mess = new StringBuilder(); mess.Append("报文消息签名检查失败:\n"); mess.Append("\n报文内容:" + checkInModel.logistics_interface); mess.Append("\n错误信息:" + ex.Message + "\n" + ex.StackTrace); mess.ToString().WriteToLog(LogerType.Error); return(ResponseMessageHandle("", "S02", "报文消息签名检查失败")); } //4、报文转换为实体对象 TaobaoOrderModel model; try { model = checkInModel.logistics_interface.ToObjectIgnoreNull <TaobaoOrderModel>(); } catch (Exception ex) { var mess = new StringBuilder(); mess.Append("报文内容格式不符合规范,Json格式转换失败:\n"); mess.Append("\n报文内容:" + checkInModel.logistics_interface); mess.Append("\n错误信息:" + ex.Message + "\n" + ex.StackTrace); mess.ToString().WriteToLog(LogerType.Error); return(ResponseMessageHandle("", "S01", "报文内容格式不符合规范,Json格式转换失败")); } #region 5、写入Mysql数据库 var ret = await t_MySql_OrderService.AddTaoBao(model); return(!ret? ResponseMessageHandle(model.txLogisticID, "S07", "订单写入数据库失败", LogerType.Fatal) : ResponseMessageHandle(model.txLogisticID, "", "", LogerType.Info, true)); #endregion }
public async Task <string> modifyCancelAsync(CheckInModel checkInModel) { string strRequestJson = checkInModel.ToJson(); ("原始请求内容:" + strRequestJson).WriteToLog(); if (string.IsNullOrEmpty(strRequestJson)) { return(ResponseMessageHandle("", "S05", "消息内容为空")); } //2、消息类型检查 if (!string.Equals(checkInModel.msg_type, BaseInfo.OrderUpdateMsgType)) { return(ResponseMessageHandle("", "S04", "消息类型msg_type错误")); } ; //3、签名检查 try { if (!SignHelper.CheckDataDigest(checkInModel.logistics_interface, checkInModel.data_digest, BaseInfo.SecretKey)) { return(ResponseMessageHandle("", "S02", "消息签名不符,请检查签名")); } } catch (Exception ex) { var mess = new StringBuilder(); mess.Append("报文消息签名检查失败:\n"); mess.Append("\n报文内容:" + checkInModel.logistics_interface); mess.Append("\n错误信息:" + ex.Message + "\n" + ex.StackTrace); mess.ToString().WriteToLog(LogerType.Error); return(ResponseMessageHandle("", "S02", "报文消息签名检查失败")); } //4、报文转换为实体对象 UpdateTaobaoOrderModel model; try { model = checkInModel.logistics_interface.ToObjectIgnoreNull <UpdateTaobaoOrderModel>(); } catch (Exception ex) { var mess = new StringBuilder(); mess.Append("报文内容格式不符合规范,Json格式转换失败:\n"); mess.Append("\n报文内容:" + checkInModel.logistics_interface); mess.Append("\n错误信息:" + ex.Message + "\n" + ex.StackTrace); mess.ToString().WriteToLog(LogerType.Error); return(ResponseMessageHandle("", "S01", "报文内容格式不符合规范,Json格式转换失败")); } //5、检查物流公司编号是否与预置的相同 if (model.logisticProviderID != BaseInfo.CpCode) { ("报文内容" + strRequestJson + " 物流公司编号与预先设定的不同:" + model.logisticProviderID).WriteToLog(); return(ResponseMessageHandle(model.logisticProviderID, "S03", "物流公司编号与预先设定的不同,请检查")); } //5、更新信息写入数据库(包含1、取消订单;2、更新面单号) var ret = await t_ORDERService.EditOrder(model, BaseInfo.CpCode); var jsonRet = ret.ToJson(); jsonRet.WriteToLog(); return(jsonRet); }