yz_server/Server/Controllers/OrderManagement/WphOrderController .cs

177 lines
6.4 KiB
C#
Raw Permalink Normal View History

2022-04-16 07:48:12 +00:00
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 WphOrderController : 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);
}
[HttpPost, ErrorFilter]
public WebResult GetWphOrders()
{
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<WphOrder, User, Robot>();
if (MinTime == DateTime.MinValue) MinTime = DateTime.Now.AddMonths(-3);
if (MaxTime == DateTime.MinValue) MaxTime = DateTime.Now;
exp.And((o, u, r) => o.orderTime > MinTime && o.orderTime < 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.orderSn.ToString().Contains(Keyword));
break;
case 4://商品编号查询
exp.And((o, u, r) => o.goodsId.ToString().Contains(Keyword));
break;
case 5://商品名称
exp.And((o, u, r) => o.goodsName.Contains(Keyword));
break;
default:
break;
}
}
var DataList = Db.Queryable<WphOrder>()
.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 WphOrderShow
{
ItemCount = o.goodsCount,
Itemid = o.goodsId.ToString(),
ItemTitle = o.goodsName,
OrderStatus = o.SystemOrderStatus,
PayPrice = o.goodsFinalPrice,
UserHeadurl = u.Headurl,
UserId = o.UserId,
UsOrderNumber = o.orderSn.ToString(),
UserNickname = u.NickName,
RobotName = r.Nickname,
PartnerPoint = 0.00, //?
RebatePoint = o.commission, //?
TkOrderNumber = null, // 联盟订单编号 ?
RecommendPoint = 0.00, //?
Commission = o.commission,//?
GrossProfit = o.commissionRate, //?
}).ToPageList(PageIndex, PageSize, ref tNumber);
var res = new PageResult<WphOrderShow>(DataList, tNumber, PageSize, PageIndex);
return PutData(res);
}
/// <summary>
/// 加唯品会商店黑名单
/// </summary>
/// <returns></returns>
[HttpPost, ErrorFilter]
public WebResult AddGoodsBlack()
{
var id = GetLong("Id");
var isCloud = GetBoolean("IsCloud");
var remark = GetString("Remark");
var order = Db.Queryable<WphOrder>().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.goodsId + "", LianmengType., order.goodsName, remark, isCloud);
if (string.IsNullOrWhiteSpace(result))
{
return PutSuccess;
}
return PutData(result);
}
/// <summary>
/// 加唯品会店铺黑名单
/// </summary>
/// <returns></returns>
[HttpPost, ErrorFilter]
public WebResult AddStoreBlack()
{
var id = GetLong("Id");
var isCloud = GetBoolean("IsCloud");
var remark = GetString("Remark");
var order = Db.Queryable<WphOrder>().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.mallId + "", order.brandStoreName, remark, isCloud);
if (string.IsNullOrWhiteSpace(result))
{
return PutSuccess;
}
return PutData(result);
}
}
}