public ReturnResult wlOrderCreateRequest_data(wlOrderCreateRequest requestData, int comid) { string url = wl_url + "wl.trip.order.create"; #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.create"; mlog.respstr = responseStr; mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); new WL_reqlogData().EditReqlog(mlog); wlOrderCreateResponse WlDealResponse = (wlOrderCreateResponse)JsonConvert.DeserializeObject(responseStr, typeof(wlOrderCreateResponse)); if (WlDealResponse.code == 200) { result.IsSuccess = true; result.Message = JsonConvert.SerializeObject(WlDealResponse); //创建订单 string wlid = WlDealResponse.body.wlOrderId; string orderid = requestData.body.partnerOrderId; requestData.body.comid = comid; using (var sql = new SqlHelper()) { try { var internalData = new InternalWlGetProInfoDealRequest(sql); int wl_id = internalData.InsertorUpdateWlOrderCreate(requestData, WlDealResponse);//一次性插入万龙id } catch { throw; } } } else { result.IsSuccess = false; result.Message = WlDealResponse.describe; } //记录在日志表 mlog.code = WlDealResponse.code.ToString(); mlog.describe = WlDealResponse.describe; mlog.mtorderid = WlDealResponse.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); }
//第一次插入订单,没有万龙订单id internal int InsertorUpdateWlOrderCreate(wlOrderCreateRequest m, wlOrderCreateResponse p) { if (m.body.id == 0) { string sql = @"INSERT INTO [wl_OrderCreate] (comid, orderid, name, mobile, partnerdealid, partnerId, wldealid, buyprice, unitprice, totalprice, quantity, traveldate, wlorderid, code, describe, status ) VALUES ( @comid, @partnerOrderId, @name, @mobile, @partnerdealid, @partnerId, @wldealid, @buyprice, @unitprice, @totalprice, @quantity, @traveldate, @wlorderid, @code, @describe, @status );select @@identity;"; var cmd = sqlHelper.PrepareTextSqlCommand(sql); cmd.AddParam("@comid", m.body.comid); cmd.AddParam("@subtime", DateTime.Now); cmd.AddParam("@name", m.body.contactPerson.name); cmd.AddParam("@mobile", m.body.contactPerson.mobile); cmd.AddParam("@partnerdealid", m.body.partnerDealId); cmd.AddParam("@partnerId", m.partnerId); cmd.AddParam("@wldealid", m.body.wlDealId); cmd.AddParam("@buyprice", m.body.buyPrice); cmd.AddParam("@unitprice", m.body.unitPrice); cmd.AddParam("@totalprice", m.body.totalPrice); cmd.AddParam("@quantity", m.body.quantity); cmd.AddParam("@traveldate", m.body.travelDate); cmd.AddParam("@partnerOrderId", int.Parse(m.body.partnerOrderId)); cmd.AddParam("@wlorderid", p.body.wlOrderId); cmd.AddParam("@code", p.code); cmd.AddParam("@describe", p.describe); cmd.AddParam("@status", 1);//第一次插入时候默认返回值为-1 object o = cmd.ExecuteScalar(); return(o == null ? 0 : int.Parse(o.ToString())); } else { string sql = @"UPDATE [wl_OrderCreate] SET comid=@comid, orderid=@partnerOrderId, name=@name, mobile=@mobile, partnerdealid=@partnerdealid, partnerId=@partnerId, wldealid=@wldealid, buyprice=@buyprice, unitprice=@unitprice, totalprice=@totalprice, quantity=@quantity, traveldate=@traveldate, wlorderid=@wlorderid, code=@code, describe=@describe, status=@status WHERE id=@id"; var cmd = sqlHelper.PrepareTextSqlCommand(sql); cmd.AddParam("@id", m.body.id); cmd.AddParam("@comid", m.body.comid); cmd.AddParam("@subtime", DateTime.Now); cmd.AddParam("@name", m.body.contactPerson.name); cmd.AddParam("@mobile", m.body.contactPerson.mobile); cmd.AddParam("@partnerdealid", m.body.partnerDealId); cmd.AddParam("@partnerId", m.partnerId); cmd.AddParam("@wldealid", m.body.wlDealId); cmd.AddParam("@buyprice", m.body.buyPrice); cmd.AddParam("@unitprice", m.body.unitPrice); cmd.AddParam("@totalprice", m.body.totalPrice); cmd.AddParam("@quantity", m.body.quantity); cmd.AddParam("@traveldate", m.body.travelDate); cmd.AddParam("@partnerOrderId", int.Parse(m.body.partnerOrderId)); cmd.AddParam("@wlorderid", p.body.wlOrderId); cmd.AddParam("@code", p.code); cmd.AddParam("@describe", p.describe); cmd.ExecuteNonQuery(); return(m.body.id); } }