Example #1
0
        /// <summary>
        /// 映射数据
        /// </summary>
        /// <param name="taobaoOrderModel"></param>
        /// <param name="logisticsInterface"></param>
        /// <returns></returns>
        private T_MySql_Order CreateMap(TaobaoOrderModel taobaoOrderModel)
        {
            try
            {
                var msgContent = taobaoOrderModel.ToJson();
                var mySqlOrder = new T_MySql_Order();
                mySqlOrder.OUTSYS_BILL_CODE = string.IsNullOrEmpty(taobaoOrderModel.mailNo) ? " " : taobaoOrderModel.mailNo;
                mySqlOrder.OUTSYS_ORDER_NO  = string.IsNullOrEmpty(taobaoOrderModel.txLogisticID) ? " " : taobaoOrderModel.txLogisticID;
                mySqlOrder.ORDER_SOURCE     = "TAOBAO";
                mySqlOrder.MSG_TYPE         = "JSON";
                //mySqlOrder.CREATE_BY = "";
                mySqlOrder.MSG_CONTENT     = string.IsNullOrEmpty(msgContent) ? "" : msgContent;
                mySqlOrder.IS_SYNC_SUCCESS = 0;
                mySqlOrder.CREATE_TIME     = DateTime.Now;

                mySqlOrder.CREATE_BY = mySqlOrder.ORDER_SOURCE;
                mySqlOrder.C1        = "";
                mySqlOrder.C2        = "";
                mySqlOrder.C3        = "";
                mySqlOrder.REMARK    = "";
                return(mySqlOrder);
            }
            catch (Exception e)
            {
                var message = new StringBuilder();
                message.Append("TAOBAO订单映射过程发生错误:" + taobaoOrderModel.ToJson());
                message.Append(e.Message + e.StackTrace);
                message.ToString().WriteToLog(LogerType.Error);
                return(null);
            }
        }
Example #2
0
 /// <summary>
 /// 映射数据
 /// </summary>
 /// <param name="taobaoOrderModel"></param>
 /// <param name="logisticsInterface"></param>
 /// <returns></returns>
 private T_MySql_Order CreateMap(TmsOrderModel taobaoOrderModel, string logisticsInterface)
 {
     try
     {
         var mySqlOrder = new T_MySql_Order
         {
             OUTSYS_BILL_CODE = string.IsNullOrEmpty(taobaoOrderModel.mailNo) ? " " : taobaoOrderModel.mailNo,
             OUTSYS_ORDER_NO  = string.IsNullOrEmpty(taobaoOrderModel.logisticsId)
                 ? " "
                 : taobaoOrderModel.logisticsId,
             ORDER_SOURCE = "TAOBAO_ONLINE",
             MSG_TYPE     = "JSON",
             //mySqlOrder.CREATE_BY = "",
             MSG_CONTENT     = string.IsNullOrEmpty(logisticsInterface) ? "" : logisticsInterface,
             IS_SYNC_SUCCESS = 0,
             CREATE_TIME     = DateTime.Now,
             CREATE_BY       = "TAOBAO_ONLINE",
             C1     = "",
             C2     = "",
             C3     = "",
             REMARK = ""
         };
         return(mySqlOrder);
     }
     catch (Exception e)
     {
         var message = new StringBuilder();
         message.Append("TAOBAO订单映射过程发生错误:" + logisticsInterface);
         message.Append(e.Message + e.StackTrace);
         message.ToString().WriteToLog(LogerType.Error);
         return(null);
     }
 }
        /// <summary>
        /// 映射关系
        /// </summary>
        /// <param name="taobaoOrderModel"></param>
        /// <param name="logisticsInterface"></param>
        /// <returns></returns>
        public T_MySql_Order CreateMap(AddOrder_HC addOrder_HC, string logisticsInterface)
        {
            try
            {
                var mysql_order = new T_MySql_Order
                {
                    OUTSYS_ORDER_NO = string.IsNullOrEmpty(addOrder_HC.logisticCode)
                            ? " "
                            : addOrder_HC.logisticCode,

                    OUTSYS_BILL_CODE = addOrder_HC.logisticCode,
                    ORDER_SOURCE     = "HUICHONG",
                    MSG_TYPE         = "JSON",
                    //mySqlOrder.CREATE_BY = "",
                    MSG_CONTENT     = string.IsNullOrEmpty(logisticsInterface) ? "" : logisticsInterface,
                    IS_SYNC_SUCCESS = 0,
                    CREATE_TIME     = DateTime.Now,
                    CREATE_BY       = "HUICHONG",
                    C1     = "",
                    C2     = "",
                    C3     = "",
                    REMARK = ""
                };
                return(mysql_order);
            }
            catch (Exception e)
            {
                var message = new StringBuilder();
                message.Append("TAOBAO订单映射过程发生错误:" + logisticsInterface);
                message.Append(e.Message + e.StackTrace);
                message.ToString().WriteToLog(LogerType.Error);
                return(null);
            }
        }
        /// <summary>
        /// charu
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public async Task <bool> Insert(T_MySql_Order t_MySql_Order)
        {
            //先获取动态表名
            var tableName = MysqlTableName.GetMySqlOrderTableName();

            return(await base.InsertAsync(_scope, new { tableName, t_MySql_Order.OUTSYS_ORDER_NO, t_MySql_Order.OUTSYS_BILL_CODE, t_MySql_Order.ORDER_SOURCE, t_MySql_Order.MSG_CONTENT, t_MySql_Order.MSG_TYPE, t_MySql_Order.REMARK, t_MySql_Order.IS_SYNC_SUCCESS, t_MySql_Order.CREATE_BY, t_MySql_Order.CREATE_TIME, C1 = "", C2 = "", C3 = "" }) > 0);
        }
        /// <summary>
        /// 映射数据
        /// </summary>
        /// <param name="order"></param>
        /// <param name="logisticsInterface"></param>
        /// <returns></returns>
        public static T_MySql_Order CreateMap(Aorder order, string logisticsInterface)
        {
            try
            {
                var mySqlOrder = new T_MySql_Order();
                mySqlOrder.OUTSYS_BILL_CODE = string.IsNullOrEmpty(order.mailNo) ? "" : order.mailNo;
                mySqlOrder.OUTSYS_ORDER_NO  = string.IsNullOrEmpty(order.logisticID) ? "" : order.logisticID;
                mySqlOrder.ORDER_SOURCE     = ENUM_ORDER_SOURCE.ALI.ToString();
                mySqlOrder.MSG_TYPE         = "JSON";
                //mySqlOrder.CREATE_BY = "";
                mySqlOrder.MSG_CONTENT     = string.IsNullOrEmpty(logisticsInterface) ? "" : logisticsInterface;
                mySqlOrder.IS_SYNC_SUCCESS = 0;
                mySqlOrder.CREATE_TIME     = DateTime.Now;

                mySqlOrder.CREATE_BY = mySqlOrder.ORDER_SOURCE;
                mySqlOrder.C1        = "";
                mySqlOrder.C2        = "";
                mySqlOrder.C3        = "";
                mySqlOrder.REMARK    = "";
                return(mySqlOrder);
            }
            catch (Exception e)
            {
                var message = new StringBuilder();
                message.Append("TAOBAO订单映射过程发生错误:" + logisticsInterface);
                message.Append(e.Message + e.StackTrace);
                return(null);
            }
        }
        protected virtual object CreateMysqlOrderParams(T_MySql_Order mysqlOrder)
        {
            #region 拼接动态类型的对象作为参数传递
            ////获取动态表名
            //var tableName = MysqlTableName.GetMySqlOrderTableName();
            ////声明动态对象
            //dynamic dyObj = new System.Dynamic.ExpandoObject();
            //var jObj = JObject.FromObject(mySqlOrder);
            //var jTokenPair = jObj.Children().ToArray();
            //foreach (var jToken in jTokenPair)
            //{
            //    var pair = (JProperty)jToken;
            //    ((IDictionary<string, object>)dyObj).Add(pair.Name, pair.Value);
            //}
            //((IDictionary<string, object>)dyObj).Add("tableName", tableName);
            //var json = JsonConvert.SerializeObject((object)dyObj);
            //var parameters = JsonConvert.DeserializeObject(json);
            #endregion

            var tableName  = MysqlTableName.GetMySqlOrderTableName();
            var parameters = new
            {
                tableName,
                mysqlOrder.OUTSYS_ORDER_NO,
                mysqlOrder.OUTSYS_BILL_CODE,
                mysqlOrder.ORDER_SOURCE,
                mysqlOrder.MSG_CONTENT,
                mysqlOrder.MSG_TYPE,
                mysqlOrder.REMARK,
                mysqlOrder.IS_SYNC_SUCCESS,
                mysqlOrder.CREATE_BY,
                mysqlOrder.CREATE_TIME,
                C1 = "",
                C2 = "",
                C3 = ""
            };
            return(parameters);
        }
        /// <summary>
        /// 写入到数据库Order-插入前检查是否重复,重复数据不插入,按天分表,表名动态传入
        /// </summary>
        /// <param name="mySqlOrder"></param>
        /// <returns></returns>
        public async Task <bool> AddOrder(T_MySql_Order mySqlOrder)
        {
            try
            {
                var parameters = CreateMysqlOrderParams(mySqlOrder);
                var eftRows    = await MysqlScope.Repository.InsertAsync <T_MySql_Order>("T_MySql_Order.Insert", parameters);

                return(eftRows > 0);
            }
            catch (Exception ex)
            {
                var msg     = ex.Message;
                var message = new StringBuilder();
                message.Append("新增订单写入时数据库发生错误:\n" + "订单号:" + mySqlOrder.OUTSYS_BILL_CODE + "运单号:" + mySqlOrder.OUTSYS_ORDER_NO);
                message.Append(msg);
                msg = message.ToString();

                msg += string.Format("\n JSON:\n<MySqlOrderData>{0}</MySqlOrderData>\n", mySqlOrder.MSG_CONTENT);
                msg.WriteToLog(LogerType.Error);

                return(false);
            }
        }