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; using Server.Services; namespace Server.Controllers.OrderManagement { public class TbOrderController : 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 GetTbOrders() { 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.tk_create_time > MinTime && o.tk_create_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.trade_id.Contains(Keyword) || o.trade_parent_id.Contains(Keyword)); break; case 4://商品编号查询 exp.And((o, u, r) => o.item_id.Contains(Keyword)); break; case 5://商品名称 exp.And((o, u, r) => o.item_title.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 TboderShow { ItemCount = o.item_num, Itemid = o.item_id, ItemTitle = o.item_title, OrderStatus = o.SystemOrderStatus, PayPrice = double.Parse(o.pay_price), UserHeadurl = u.Headurl, UserId = o.UserId, UsOrderNumber = o.trade_id, UserNickname = u.NickName, RobotName = r.Nickname, PartnerPoint = 0.00, //? RebatePoint = double.Parse(o.pub_share_fee), //? TkOrderNumber = null, // 联盟订单编号 ? RecommendPoint = 0.00, //? Commission = double.Parse(o.pub_share_fee),//? GrossProfit = o.pub_share_pre_fee, //? }).ToPageList(PageIndex, PageSize, ref tNumber); var res = new PageResult(DataList, tNumber, PageSize, PageIndex); return PutData(res); } /// /// 加淘宝商店黑名单 /// /// [HttpPost, ErrorFilter] public WebResult AddGoodsBlack() { var id = GetLong("Id"); var isCloud = GetBoolean("IsCloud"); var remark = GetString("Remark"); var order = Db.Queryable().SplitTable(it => it.Take(6)).Where(w => w.Id == id).First(); if (order == null) { return PutData("订单不存在"); } var ser = new BlacklistService(); var result = ser.AddGoodsBlack(order.item_id + "", LianmengType.淘宝联盟, order.item_title, remark, isCloud); if (string.IsNullOrWhiteSpace(result)) { return PutSuccess; } return PutData(result); } /// /// 加淘宝店铺黑名单 /// /// [HttpPost, ErrorFilter] public WebResult AddStoreBlack() { var id = GetLong("Id"); var isCloud = GetBoolean("IsCloud"); var remark = GetString("Remark"); var order = Db.Queryable().SplitTable(it => it.Take(6)).Where(w => w.Id == id).First(); if (order == null) { return PutData("订单不存在"); } var ser = new BlacklistService(); var result = ser.AddStoreBlack(LianmengType.淘宝联盟, order.shop_id + "", order.seller_shop_title, remark, isCloud); if (string.IsNullOrWhiteSpace(result)) { return PutSuccess; } return PutData(result); } } }