using Common.Models.Enums; using Common.Models.SubTables; using Common.Models.UnqTables; using Server.MyClass.Views; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Http; namespace Server.Controllers.OrderManagement { public class DyOrderController:DefaultController { /// /// 获取机器人信息 /// /// [HttpPost, ErrorFilter] public WebResult GetRobotInfo() { var PageIndex = GetInt("PageIndex"); var PageSize = GetInt("PageSize"); var tNumber = 0; var Keyword = GetString("Keyword"); var exp = Expressionable.Create(); if (!string.IsNullOrEmpty(Keyword)) { exp.And(f => f.Nickname.Contains(Keyword)); } var DataList = Db.Queryable().Where(exp.ToExpression()) .Select(m => new RobotInfo { RobotId = m.Id, RobotName = m.Nickname }) .ToPageList(PageIndex, PageSize, ref tNumber); var res = new PageResult(DataList, tNumber, PageSize, PageIndex); return PutData(res); } /// /// 查询京东订单 /// /// [HttpPost, ErrorFilter] public WebResult GetDyOrders() { var PageIndex = GetInt("PageIndex", true); var PageSize = GetInt("PageSize", true); var tNumber = 0; var MinTime = GetTime("MinTime"); var MaxTime = GetTime("MaxTime"); var exp = Expressionable.Create(); if (MinTime == DateTime.MinValue) MinTime = DateTime.Now.AddMonths(-3); if (MaxTime == DateTime.MinValue) MaxTime = DateTime.Now; exp.And((o, u, r) => o.pay_success_time > MinTime && o.pay_success_time < MaxTime); var RobotId = GetInt("RobotId"); if (RobotId > 0) exp.And((o, u, r) => r.Id == RobotId); var OrderStatus = GetEnum("OrderStatus"); if (OrderStatus != SystemOrderStatus.未知) exp.And((o, u, r) => o.SystemOrderStatus == OrderStatus); var Keyword = GetString("Keyword"); if (!string.IsNullOrEmpty(Keyword)) { var KeywordType = GetInt("KeywordType", true); switch (KeywordType) { case 1://用户账号查询 exp.And((o, u, r) => u.Username.Contains(Keyword)); break; case 2://用户昵称查询 exp.And((o, u, r) => u.NickName.Contains(Keyword)); break; case 3://订单编号查询 exp.And((o, u, r) => o.order_id.ToString().Contains(Keyword)); break; case 4://商品编号查询 exp.And((o, u, r) => o.item_num.ToString().Contains(Keyword)); break; case 5://商品名称 exp.And((o, u, r) => o.product_name.Contains(Keyword)); break; default: break; } } var DataList = Db.Queryable() .SplitTable(it => it.Take(6)) .LeftJoin((o, u) => o.UserId == u.Id) .LeftJoin((o, u, r) => u.RobotId == r.Id) .Where(exp.ToExpression()) .Select((o, u, r) => new DyOrderShow { //ItemCount = Convert.ToInt32(o.), //? //Itemid = o.item_num.ToString(), //ItemTitle = o.product_name, //OrderStatus = o.SystemOrderStatus, //PayPrice = o.settled_tech_service_fee, //UserHeadurl = u.Headurl, //UserId = o.UserId, //UsOrderNumber = o.orderId.ToString(), //UserNickname = u.NickName, //RobotName = r.Nickname, //PartnerPoint = 0.00, //? //RebatePoint = o.subSideRate, //? //TkOrderNumber = null, // 联盟订单编号 ? //RecommendPoint = 0.00, //? //Commission = o.commissionRate,//? //GrossProfit = o.estimateCosPrice, //? }).ToPageList(PageIndex, PageSize, ref tNumber); var res = new PageResult(DataList, tNumber, PageSize, PageIndex); return PutData(res); } } }