public ActionResult AddUserOrderFromSearch(Tborder model) { try { ////var goods = db.tb_goods.Find(model.GoodsID); //var us = db.tb_userinfos.FirstOrDefault(s => s.UserID == model.YUserID); //var usgrade = us.UserGrade; //decimal temprebatemoney = 0; ////初级会员 //if (usgrade == UserGrade.Primary) //{ // temprebatemoney = decimal.Round((model.RebateMoney * (decimal)0.1), 2); //} ////高级会员、运营商、合伙人 //else //{ // temprebatemoney = decimal.Round((model.RebateMoney * (decimal)0.5), 2); //} //model.BalanceTime = Convert.ToDateTime("1990-01-01"); //model.OrderState = TbOrderState.NoBalance; //model.UserID = us.ID; //model.OrderTime = DateTime.Now; //model.RebateMoney = temprebatemoney; //db.Tborder.Add(model); //db.SaveChanges(); return(Json(Comm.ToJsonResult("Success", "成功"), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(Comm.ToJsonResult("Error", ex.Message), JsonRequestBehavior.AllowGet)); } }
public async Task <IActionResult> PutTborder(short id, Tborder tborder) { if (id != tborder.TborderId) { return(BadRequest()); } _context.Entry(tborder).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TborderExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Tborder> > PostTborder(Tborder tborder) { _context.Tborder.Add(tborder); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (TborderExists(tborder.TborderId)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetTborder", new { id = tborder.TborderId }, tborder)); }
public ActionResult GetUserOrder(string userids, string typecode, int?page = 1, int?pageSize = 20) { try { var usermodel = db.tb_userinfos.FirstOrDefault(s => s.UserID == userids); if (usermodel == null) { return(Json(Comm.ToJsonResult("nofind", "用户不存在"), JsonRequestBehavior.AllowGet)); } else { int userid = usermodel.ID; int starpagesize = page.Value * pageSize.Value - pageSize.Value; int endpagesize = page.Value * pageSize.Value; List <temptborder> data = new List <temptborder>(); //查询所有订单 if (typecode == "all") { //拼接参数 SqlParameter[] parameters = { new SqlParameter("@userid", SqlDbType.Int), new SqlParameter("@Adzoneid", SqlDbType.NVarChar), new SqlParameter("@starpagesize", SqlDbType.Int), new SqlParameter("@endpagesize", SqlDbType.Int) }; parameters[0].Value = userid; parameters[1].Value = usermodel.Adzoneid; parameters[2].Value = starpagesize; parameters[3].Value = endpagesize; string sqlstr = string.Empty; sqlstr = string.Format(@"SELECT * FROM (SELECT CAST(ROW_NUMBER() over(order by COUNT(g.ID) DESC) AS INTEGER) AS Ornumber,g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState FROM dbo.Tborders g INNER JOIN dbo.UserSettlements us ON us.OrderCode=g.OrderCode WHERE us.UserID=@userid AND us.FromUserAdzoneid=@Adzoneid and us.EstimateIncome>0 GROUP BY g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState) t WHERE t.Ornumber > @starpagesize AND t.Ornumber<=@endpagesize"); data = db.Database.SqlQuery <temptborder>(sqlstr, parameters).ToList(); } //查询待结算和已结算订单 else if (typecode == "settlementstr" || typecode == "alreadysettledstr") { int state = 0; if (typecode == "settlementstr") { state = 0; } else if (typecode == "alreadysettledstr") { state = 1; } //拼接参数 SqlParameter[] parameters = { new SqlParameter("@userid", SqlDbType.Int), new SqlParameter("@state", SqlDbType.Int), new SqlParameter("@starpagesize", SqlDbType.Int), new SqlParameter("@endpagesize", SqlDbType.Int), new SqlParameter("@Adzoneid", SqlDbType.NVarChar), }; parameters[0].Value = userid; parameters[1].Value = state; parameters[2].Value = starpagesize; parameters[3].Value = endpagesize; parameters[4].Value = usermodel.Adzoneid; string sqlstr = string.Empty; sqlstr = string.Format(@"SELECT * FROM (SELECT CAST(ROW_NUMBER() over(order by COUNT(g.ID) DESC) AS INTEGER) AS Ornumber,g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState FROM dbo.Tborders g INNER JOIN dbo.UserSettlements us ON us.OrderCode=g.OrderCode WHERE us.UserID=@userid and us.SettlementState=@state AND us.FromUserAdzoneid=@Adzoneid AND us.EstimateIncome>0 GROUP BY g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState) t WHERE t.Ornumber > @starpagesize AND t.Ornumber<=@endpagesize"); data = db.Database.SqlQuery <temptborder>(sqlstr, parameters).ToList(); } else if (typecode == "subordinatestr") { //拼接参数 SqlParameter[] param = { new SqlParameter("@userid", SqlDbType.Int), }; param[0].Value = userid; string tempsql = string.Format(@"SELECT DISTINCT b.ID FROM dbo.tb_userinfo a CROSS JOIN dbo.tb_userinfo b WHERE b.ParentID = @userid"); List <tempuserid> useriddata = db.Database.SqlQuery <tempuserid>(tempsql, param).ToList(); string tempuserstr = ""; if (useriddata.Count > 0) { for (int i = 0; i < useriddata.Count; i++) { if (tempuserstr == "") { tempuserstr = useriddata[i].ID.ToString(); } else { tempuserstr = tempuserstr + "," + useriddata[i].ID.ToString(); } } //拼接参数 SqlParameter[] parameters = { new SqlParameter("@useridstr", SqlDbType.NVarChar), new SqlParameter("@starpagesize", SqlDbType.Int), new SqlParameter("@endpagesize", SqlDbType.Int) }; parameters[0].Value = tempuserstr; parameters[1].Value = starpagesize; parameters[2].Value = endpagesize; string sqlstr = string.Empty; sqlstr = string.Format(@"SELECT * FROM (SELECT CAST(ROW_NUMBER() over(order by COUNT(g.ID) DESC) AS INTEGER) AS Ornumber,g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState FROM dbo.Tborders g INNER JOIN dbo.UserSettlements us ON us.OrderCode=g.OrderCode WHERE us.UserID in(@useridstr) AND us.EstimateIncome>0 GROUP BY g.GoodsName,g.OrderCode,g.OrderPrice,g.GoodsImage, g.OrderTime,g.SettlementTime,us.EstimateIncome,g.GoodsID,g.ID,g.OrderState) t WHERE t.Ornumber > @starpagesize AND t.Ornumber<=@endpagesize"); data = db.Database.SqlQuery <temptborder>(sqlstr, parameters).ToList(); } } List <temptborder> tempdata = new List <temptborder>(); if (data.Count > 0) { for (int i = 0; i < data.Count; i++) { temptborder model = new temptborder(); string tempimg = data[i].GoodsImage; if (string.IsNullOrWhiteSpace(tempimg)) { //根据商品id获取商品图片 ITopClient client = new DefaultTopClient(AliPayConfig.tkapp_url, AliPayConfig.tkapp_key, AliPayConfig.tkapp_secret, "json"); TbkItemInfoGetRequest req = new TbkItemInfoGetRequest(); req.NumIids = data[i].GoodsID; req.Platform = 2L; //req.Ip = "11.22.33.43"; TbkItemInfoGetResponse rsp = client.Execute(req); var jsondataformain = Newtonsoft.Json.JsonConvert.DeserializeObject(rsp.Body) as JContainer;//转json格式 var jsonreturn = jsondataformain.SelectToken("tbk_item_info_get_response"); if (jsonreturn != null) { string s = jsonreturn.ToString(); var js = Newtonsoft.Json.JsonConvert.DeserializeObject(s) as JContainer; string s1 = js.SelectToken("results").ToString(); var js1 = Newtonsoft.Json.JsonConvert.DeserializeObject(s1) as JContainer; string s2 = js1.SelectToken("n_tbk_item").ToString(); s2 = s2.TrimEnd(']'); s2 = s2.TrimStart('['); Newtonsoft.Json.Linq.JObject datas = JsonHelper.DeserializeObject(s2.Trim()); if (datas != null) { int tempid = data[i].ID; string tempstr = datas.SelectToken("pict_url").ToString(); Tborder ordermodel = db.Tborder.Find(tempid); ordermodel.GoodsImage = tempstr; db.SaveChanges(); model.GoodsImage = tempstr; } } else { model.GoodsImage = string.Empty; } } else { model.GoodsImage = data[i].GoodsImage; } model.GoodsName = data[i].GoodsName; model.OrderCode = data[i].OrderCode; model.OrderPrice = data[i].OrderPrice; model.OrderTimestr = data[i].OrderTime.ToString(); model.EstimateIncome = data[i].EstimateIncome; model.SettlementTimestr = data[i].SettlementTime.ToString(); tempdata.Add(model); } return(Json(Comm.ToJsonResult("Success", "成功", tempdata), JsonRequestBehavior.AllowGet)); } else { return(Json(Comm.ToJsonResult("Success", "成功", tempdata), JsonRequestBehavior.AllowGet)); } } } catch (Exception ex) { return(Json(Comm.ToJsonResult("Error", ex.Message), JsonRequestBehavior.AllowGet)); } }
public void getinfo(string cmd, string data) { try { bool isload = false; //创建广告位 if (cmd.Equals("adzone_add") && !isload) { isload = true; Newtonsoft.Json.Linq.JObject datas = JsonHelper.DeserializeObject(data); string memberID = datas.SelectToken("memberID").ToString(); string mediaID = datas.SelectToken("mediaID").ToString(); string adzoneID = datas.SelectToken("adzoneID").ToString(); string temppid = "mm_" + memberID + "_" + mediaID + "_" + adzoneID; tb_TKInfo model = new tb_TKInfo(); model.Adzoneid = adzoneID; model.Memberid = memberID; model.PID = temppid; model.PIDState = YesOrNo.No; model.Siteid = mediaID; db.tb_TKInfo.Add(model); db.SaveChanges(); isload = false; } //付款订单 else if (cmd.Equals("payorderorder") && !isload) { isload = true; var datas = Newtonsoft.Json.JsonConvert.DeserializeObject(data) as JContainer;//转json格式 JsonHelper.DeserializeObject(data); string ss2 = datas.ToString(); JsonSerializer serializer1 = new JsonSerializer(); StringReader sr1 = new StringReader(ss2); object o1 = serializer1.Deserialize(new JsonTextReader(sr1), typeof(List <OrderModel>)); List <OrderModel> list = o1 as List <OrderModel>; if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { string tempgoodsid = list[i].商品ID.ToString(); // datas.SelectToken("商品ID").ToString(); string ordercode = list[i].订单编号.ToString(); //datas.SelectToken("订单编号").ToString(); string ggid = list[i].广告位ID.ToString(); //datas.SelectToken("广告位ID").ToString(); string goodimg = ""; decimal ygsr = decimal.Round(decimal.Parse(list[i].预估收入.ToString() == "" ? "0" : list[i].预估收入.ToString()), 2); decimal jsje = decimal.Round(decimal.Parse(list[i].结算金额.ToString() == "" ? "0" : list[i].结算金额.ToString()), 2); decimal xgyg = decimal.Round(decimal.Parse(list[i].效果预估.ToString()), 2); string ordertime = list[i].创建时间.ToString(); string ratestr = list[i].收入比率.ToString(); string[] tempstr = ratestr.Split('%'); //var tborder = db.Tborder.FirstOrDefault(s => s.OrderCode == ordercode); //如果还没同步过订单则进行数据保存 if (!db.Tborder.Any(s => s.OrderCode == ordercode)) { //根据商品id获取商品图片 //ITopClient client = new DefaultTopClient(AliPayConfig.tkapp_url, AliPayConfig.tkapp_key, AliPayConfig.tkapp_secret, "json"); //TbkItemInfoGetRequest req = new TbkItemInfoGetRequest(); //req.NumIids = tempgoodsid; //req.Platform = 2L; ////req.Ip = "11.22.33.43"; //TbkItemInfoGetResponse rsp = client.Execute(req); //var jsondataformain = Newtonsoft.Json.JsonConvert.DeserializeObject(rsp.Body) as JContainer;//转json格式 //string s = jsondataformain.SelectToken("tbk_item_info_get_response").ToString(); //var js = Newtonsoft.Json.JsonConvert.DeserializeObject(s) as JContainer; //string s1 = js.SelectToken("results").ToString(); //var js1 = Newtonsoft.Json.JsonConvert.DeserializeObject(s1) as JContainer; //string s2 = js1.SelectToken("n_tbk_item").ToString(); //JsonSerializer serializer = new JsonSerializer(); //StringReader sr = new StringReader(s2); //object o = serializer.Deserialize(new JsonTextReader(sr), typeof(stroemodel)); //List<stroemodel> modellist = o as List<stroemodel>; //if (modellist.Count > 0) //{ // goodimg = modellist[0].pict_url; //} Tborder m = new Tborder(); m.AdsenseID = ggid; m.EffectIncome = xgyg; m.EstimateIncome = xgyg; m.GoodsID = tempgoodsid; m.GoodsImage = goodimg; m.GoodsName = list[i].商品信息.ToString(); //datas.SelectToken("商品信息").ToString(); m.GoodsPrice = decimal.Round(decimal.Parse(list[i].商品单价.ToString()), 2); m.IncomeRate = decimal.Round(decimal.Parse(tempstr[0]), 2); m.OrderCode = ordercode; m.OrderPrice = decimal.Round(decimal.Parse(list[i].付款金额.ToString()), 2); m.OrderState = TbOrderState.NoBalance; m.OrderTime = Convert.ToDateTime(ordertime); m.OrderType = list[i].订单类型.ToString();//datas.SelectToken("订单类型").ToString(); m.SettlementMoney = jsje; m.SettlementTime = Convert.ToDateTime("1990-01-01"); m.StoreName = list[i].所属店铺.ToString(); //datas.SelectToken("所属店铺").ToString(); db.Tborder.Add(m); int row = db.SaveChanges(); if (row > 0) { //计算用户结算佣金 OrderCommon oc = new OrderCommon(); oc.SetUserGradeRate(ggid, xgyg, "pay", ordertime, ordercode, "1990-01-01"); isload = false; } } } } } //结算订单 else if (cmd.Equals("Settlementorder") && !isload) { var datas = Newtonsoft.Json.JsonConvert.DeserializeObject(data) as JContainer;//转json格式 JsonHelper.DeserializeObject(data); string ss2 = datas.ToString(); JsonSerializer serializer1 = new JsonSerializer(); StringReader sr1 = new StringReader(ss2); object o1 = serializer1.Deserialize(new JsonTextReader(sr1), typeof(List <OrderModel>)); List <OrderModel> list = o1 as List <OrderModel>; if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { string tempgoodsid = list[i].商品ID.ToString(); string ordercode = list[i].订单编号.ToString(); string ggid = list[i].广告位ID.ToString(); string goodimg = ""; decimal ygsr = decimal.Round(decimal.Parse(list[i].预估收入.ToString() == "" ? "0" : list[i].预估收入.ToString()), 2); decimal jsje = decimal.Round(decimal.Parse(list[i].结算金额.ToString() == "" ? "0" : list[i].结算金额.ToString()), 2); string ordertime = list[i].创建时间.ToString(); string jstime = list[i].结算时间.ToString(); string ratestr = list[i].收入比率.ToString(); string[] tempstr = ratestr.Split('%'); //如果还没同步过订单则进行数据保存 if (!db.Tborder.Any(s => s.OrderCode == ordercode)) { //根据商品id获取商品图片 //ITopClient client = new DefaultTopClient(AliPayConfig.tkapp_url, AliPayConfig.tkapp_key, AliPayConfig.tkapp_secret, "json"); //TbkItemInfoGetRequest req = new TbkItemInfoGetRequest(); //req.NumIids = tempgoodsid; //req.Platform = 2L; ////req.Ip = "11.22.33.43"; //TbkItemInfoGetResponse rsp = client.Execute(req); //var jsondataformain = Newtonsoft.Json.JsonConvert.DeserializeObject(rsp.Body) as JContainer;//转json格式 //string s = jsondataformain.SelectToken("tbk_item_info_get_response").ToString(); //var js = Newtonsoft.Json.JsonConvert.DeserializeObject(s) as JContainer; //string s1 = js.SelectToken("results").ToString(); //var js1 = Newtonsoft.Json.JsonConvert.DeserializeObject(s1) as JContainer; //string s2 = js1.SelectToken("n_tbk_item").ToString(); //JsonSerializer serializer = new JsonSerializer(); //StringReader sr = new StringReader(s2); //object o = serializer.Deserialize(new JsonTextReader(sr), typeof(stroemodel)); //List<stroemodel> modellist = o as List<stroemodel>; //if (modellist.Count > 0) //{ // goodimg = modellist[0].pict_url; //} //[{"创建时间":"2019-03-21 09:25:25","点击时间":"2019-03-21 09:24:14","商品信息":"4条装日系内裤女纯棉高腰大码女士三角裤全棉质面料少女蕾丝短裤", //"商品ID":"541009215405","掌柜旺旺":"wisdomfeng","所属店铺":"美多拉内衣","商品数":"1","商品单价":"76.00","订单状态":"订单付款","订单类型":"淘宝","收入比率":"9.00 %", //"分成比率":"100.00 %","付款金额":"37.80","效果预估":"3.40","结算金额":"0.00","预估收入":"0.00","结算时间":"","佣金比率":"9.00 %","佣金金额":"0.00","技术服务费比率":"", //"补贴比率":"0.00 %","补贴金额":"0.00","补贴类型":"-","成交平台":"无线","第三方服务来源":"--","订单编号":"384487585332201957","类目名称":"内衣/家居服","来源媒体ID":"283700162","来源媒体名称":"rp云购", //"广告位ID":"96815000311","广告位名称":"001"}] Tborder m = new Tborder(); m.AdsenseID = ggid; m.EffectIncome = decimal.Round(decimal.Parse(list[i].效果预估.ToString()), 2); m.EstimateIncome = ygsr; m.GoodsID = tempgoodsid; m.GoodsImage = goodimg; m.GoodsName = list[i].商品信息.ToString();//datas.SelectToken("商品信息").ToString(); m.GoodsPrice = decimal.Round(decimal.Parse(list[i].商品单价.ToString()), 2); m.IncomeRate = decimal.Round(decimal.Parse(tempstr[0]), 2); m.OrderCode = list[i].订单编号.ToString();//datas.SelectToken("订单编号").ToString(); m.OrderPrice = decimal.Round(decimal.Parse(list[i].付款金额.ToString()), 2); m.OrderState = TbOrderState.IsBalance; m.OrderTime = Convert.ToDateTime(list[i].创建时间.ToString()); m.OrderType = list[i].订单类型.ToString(); m.SettlementMoney = jsje; m.SettlementTime = Convert.ToDateTime(jstime); m.StoreName = list[i].所属店铺.ToString();// datas.SelectToken("所属店铺").ToString(); db.Tborder.Add(m); int row = db.SaveChanges(); if (row > 0) { //计算用户结算佣金 OrderCommon oc = new OrderCommon(); oc.SetUserGradeRate(ggid, ygsr, "Settlement", ordertime, ordercode, jstime); isload = true; } } else { var tborder = db.Tborder.FirstOrDefault(s => s.OrderCode == ordercode); tborder.SettlementMoney = jsje; tborder.EstimateIncome = ygsr; tborder.OrderState = TbOrderState.IsBalance; tborder.SettlementTime = Convert.ToDateTime(jstime); int row = db.SaveChanges(); //if (row > 0) //{ //计算用户结算佣金 OrderCommon oc = new OrderCommon(); oc.SetUserGradeRate(ggid, ygsr, "Settlement", ordertime, ordercode, jstime); isload = true; //} } } } } } catch (Exception ex) { throw ex; } }