Exemplo n.º 1
0
 public int EditReqlog(WL_reqlog m)
 {
     using (var helper = new SqlHelper())
     {
         int id = new InternalWL_reqlog(helper).EditReqlog(m);
         return(id);
     }
 }
        public ReturnResult wlOrderRefundRequest_data(wlOrderRefundRequest requestData, int comid, int orderStatus)
        {
            string url = wl_url + "wl.trip.order.refund";

            #region  记入日志表
            string    reqip = CommonFunc.GetRealIP();
            WL_reqlog mlog  = new WL_reqlog
            {
                id                  = 0,
                reqstr              = JsonConvert.SerializeObject(requestData),
                subtime             = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                respstr             = "",
                resptime            = "",
                code                = "",
                describe            = "",
                req_type            = "",
                orderid             = requestData.body.partnerOrderId,
                sendip              = reqip,
                stockagentcompanyid = comid
            };
            int logid = new WL_reqlogData().EditReqlog(mlog);
            mlog.id = logid;
            #endregion

            ReturnResult result = new ReturnResult
            {
                IsSuccess = false,
            };
            try
            {
                var responseStr = DoRequest(url, JsonConvert.SerializeObject(requestData));
                if (string.IsNullOrEmpty(responseStr))
                {
                    result.Message = "返回数据为空";
                }
                else
                {
                    mlog.req_type = "wl.trip.order.refund";
                    mlog.respstr  = responseStr;
                    mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    new WL_reqlogData().EditReqlog(mlog);

                    wlOrderRefundResponse wlOrderRefundResponse = (wlOrderRefundResponse)JsonConvert.DeserializeObject(responseStr, typeof(wlOrderRefundResponse));
                    if (wlOrderRefundResponse.code == 200)
                    {
                        result.IsSuccess = true;
                        result.Message   = "退款返回";

                        //完成支付
                        using (var sql = new SqlHelper())
                        {
                            try
                            {
                                var internalData = new InternalWlGetProInfoDealRequest(sql);
                                int wl_id        = internalData.UpdateWlOrderBack(wlOrderRefundResponse, orderStatus, requestData);//一次性插入万龙id
                            }
                            catch
                            {
                                throw;
                            }
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = wlOrderRefundResponse.describe;
                    }

                    //记录在日志表
                    mlog.code      = wlOrderRefundResponse.code.ToString();
                    mlog.describe  = wlOrderRefundResponse.describe;
                    mlog.mtorderid = wlOrderRefundResponse.body.wlOrderId;
                }
            }
            catch (Exception ex)
            {
                result.Message = "异常" + ex.Message;
            }

            #region  记录在日志表
            //mlog.req_type = "wl.trip.order.get";
            //mlog.respstr = result.Message;
            //mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            new WL_reqlogData().EditReqlog(mlog);
            #endregion

            return(result);
        }
        public ReturnResult ProductChangedNotify(WlGetProInfoDealRequest requestData, int comid)
        {
            string url = wl_url + "wl.trip.order.get";

            #region  记入日志表
            string    reqip = CommonFunc.GetRealIP();
            WL_reqlog mlog  = new WL_reqlog
            {
                id                  = 0,
                reqstr              = JsonConvert.SerializeObject(requestData),
                subtime             = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                respstr             = "",
                resptime            = "",
                code                = "",
                describe            = "",
                req_type            = "",
                sendip              = reqip,
                orderid             = "0",
                stockagentcompanyid = comid
            };
            int logid = new WL_reqlogData().EditReqlog(mlog);
            mlog.id = logid;
            #endregion

            ReturnResult result = new ReturnResult
            {
                IsSuccess = false,
            };
            try
            {
                var responseStr = DoRequest(url, JsonConvert.SerializeObject(requestData));
                if (string.IsNullOrEmpty(responseStr))
                {
                    result.Message = "返回数据为空";
                }
                else
                {
                    mlog.req_type = "wl.trip.order.get";
                    mlog.respstr  = responseStr;
                    mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    new WL_reqlogData().EditReqlog(mlog);



                    WlDealResponse responseBody = (WlDealResponse)JsonConvert.DeserializeObject(responseStr, typeof(WlDealResponse));
                    if (responseBody.code == 200)
                    {
                        result.IsSuccess = true;
                        result.Message   = JsonConvert.SerializeObject(responseBody);

                        //写入产品数据
                        using (var sql = new SqlHelper())
                        {
                            try
                            {
                                var internalData = new InternalWlGetProInfoDealRequest(sql);

                                //更新返回后先对所有产品线进行下线,对上线的产品进行标注
                                var closewlpro = internalData.UPCloseWlProDeal(comid);

                                ////循环对所有下载的数据依次插入
                                for (int i = 0; i < responseBody.body.Count; i++)
                                {
                                    responseBody.body[i].id    = 0;     //临时都做为新的记录进行插入
                                    responseBody.body[i].comid = comid; //商户id
                                    responseBody.body[i].state = 1;     //商户id
                                    //对已拉取过的产品进行更新而不是插入
                                    var pro_temp = internalData.SelectproidgetWlProDeal(responseBody.body[i].proID, responseBody.body[i].comid);
                                    if (pro_temp != null)
                                    {
                                        responseBody.body[i].id = pro_temp.id;
                                    }


                                    int wlpro_id = internalData.InsertorUpdateWlProDeal(responseBody.body[i]);//插入只插入主要数据,后期更新
                                }
                            }
                            catch
                            {
                                throw;
                            }
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = responseBody.describe;
                    }

                    //记录在日志表
                    mlog.code     = responseBody.code.ToString();
                    mlog.describe = responseBody.describe;
                }
            }
            catch (Exception ex)
            {
                result.Message = "异常" + ex.Message;
            }

            #region  记录在日志表
            //mlog.req_type = "wl.trip.order.get";
            //mlog.respstr = result.Message;
            //mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            new WL_reqlogData().EditReqlog(mlog);
            #endregion

            return(result);
        }
Exemplo n.º 4
0
        internal int EditReqlog(WL_reqlog m)
        {
            if (m.id == 0)
            {
                string sql = @"INSERT INTO  [WL_reqlog]
                           ([reqstr]
                           ,[subtime]
                           ,[respstr]
                           ,[resptime]
                           ,[code]
                           ,[describe]
                           ,[req_type]
                           ,[sendip]
                           ,orderid
                           ,mtorderid
                           ,ordernum
                           ,issecond_req,stockagentcompanyid)
                     VALUES
                           (@reqstr 
                           ,@subtime 
                           ,@respstr 
                           ,@resptime 
                           ,@code
                           ,@describe 
                           ,@req_type 
                           ,@sendip
                           ,@orderid
                           ,@mtorderid
                           ,@ordernum
                           ,@issecond_req,@stockagentcompanyid);select @@identity;";
                var    cmd = sqlHelper.PrepareTextSqlCommand(sql);
                cmd.AddParam("@reqstr", m.reqstr);
                cmd.AddParam("@subtime", m.subtime);
                cmd.AddParam("@respstr", m.respstr);
                cmd.AddParam("@resptime", m.resptime);
                cmd.AddParam("@code", m.code);
                cmd.AddParam("@describe", m.describe);
                cmd.AddParam("@req_type", m.req_type);
                cmd.AddParam("@sendip", m.sendip);

                if (m.mtorderid == null)
                {
                    m.mtorderid = "";
                }
                cmd.AddParam("@mtorderid", m.mtorderid);
                if (m.orderid == null)
                {
                    m.orderid = "";
                }
                cmd.AddParam("@orderid", m.orderid);
                if (m.ordernum == null)
                {
                    m.ordernum = "";
                }
                cmd.AddParam("@ordernum", m.ordernum);
                if (m.issecond_req == null)
                {
                    m.issecond_req = 0;
                }
                cmd.AddParam("@issecond_req", m.issecond_req);
                if (m.stockagentcompanyid == null)
                {
                    m.stockagentcompanyid = 0;
                }
                cmd.AddParam("@stockagentcompanyid", m.stockagentcompanyid);

                object o = cmd.ExecuteScalar();
                return(o == null ? 0 : int.Parse(o.ToString()));
            }
            else
            {
                string sql = @"UPDATE  [WL_reqlog]
                               SET [reqstr] = @reqstr 
                                  ,[subtime] = @subtime 
                                  ,[respstr] = @respstr 
                                  ,[resptime] = @resptime 
                                  ,[code] = @code 
                                  ,[describe] = @describe 
                                  ,[req_type] = @req_type 
                                  ,[sendip] = @sendip 
                                  ,mtorderid=@mtorderid
                                  ,orderid=@orderid
                                  ,ordernum=@ordernum
                                  ,issecond_req=@issecond_req
                                  ,stockagentcompanyid=@stockagentcompanyid
                             WHERE id=@id";
                var    cmd = sqlHelper.PrepareTextSqlCommand(sql);
                cmd.AddParam("@id", m.id);
                cmd.AddParam("@reqstr", m.reqstr);
                cmd.AddParam("@subtime", m.subtime);

                if (m.respstr == null)
                {
                    m.respstr = "";
                }
                cmd.AddParam("@respstr", m.respstr);
                cmd.AddParam("@resptime", m.resptime);
                cmd.AddParam("@code", m.code);
                cmd.AddParam("@describe", m.describe);
                cmd.AddParam("@req_type", m.req_type);
                cmd.AddParam("@sendip", m.sendip);
                if (m.mtorderid == null)
                {
                    m.mtorderid = "";
                }
                cmd.AddParam("@mtorderid", m.mtorderid);
                if (m.orderid == null)
                {
                    m.orderid = "";
                }
                cmd.AddParam("@orderid", m.orderid);
                if (m.ordernum == null)
                {
                    m.ordernum = "";
                }
                cmd.AddParam("@ordernum", m.ordernum);
                if (m.issecond_req == null)
                {
                    m.issecond_req = 0;
                }
                cmd.AddParam("@issecond_req", m.issecond_req);
                if (m.stockagentcompanyid == null)
                {
                    m.stockagentcompanyid = 0;
                }
                cmd.AddParam("@stockagentcompanyid", m.stockagentcompanyid);

                cmd.ExecuteNonQuery();
                return(m.id);
            }
        }