Esempio n. 1
0
 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));
     }
 }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 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;
            }
        }