yz_server/Server/Controllers/OrderManagement/DyOrderController.cs

133 lines
4.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}
}