133 lines
4.8 KiB
C#
133 lines
4.8 KiB
C#
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
|
||
{
|
||
/// <summary>
|
||
/// 获取机器人信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost, ErrorFilter]
|
||
public WebResult GetRobotInfo()
|
||
{
|
||
var PageIndex = GetInt("PageIndex");
|
||
var PageSize = GetInt("PageSize");
|
||
var tNumber = 0;
|
||
|
||
var Keyword = GetString("Keyword");
|
||
|
||
var exp = Expressionable.Create<Robot>();
|
||
|
||
if (!string.IsNullOrEmpty(Keyword))
|
||
{
|
||
exp.And(f => f.Nickname.Contains(Keyword));
|
||
}
|
||
var DataList = Db.Queryable<Robot>().Where(exp.ToExpression())
|
||
.Select(m => new RobotInfo { RobotId = m.Id, RobotName = m.Nickname })
|
||
.ToPageList(PageIndex, PageSize, ref tNumber);
|
||
|
||
var res = new PageResult<RobotInfo>(DataList, tNumber, PageSize, PageIndex);
|
||
return PutData(res);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询京东订单
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[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<DyOrder, User, Robot>();
|
||
|
||
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<SystemOrderStatus>("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<DyOrder>()
|
||
.SplitTable(it => it.Take(6))
|
||
.LeftJoin<User>((o, u) => o.UserId == u.Id)
|
||
.LeftJoin<Robot>((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<DyOrderShow>(DataList, tNumber, PageSize, PageIndex);
|
||
|
||
return PutData(res);
|
||
}
|
||
}
|
||
}
|