176 lines
6.4 KiB
C#
176 lines
6.4 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;
|
|||
|
using Server.Services;
|
|||
|
|
|||
|
namespace Server.Controllers.OrderManagement
|
|||
|
{
|
|||
|
public class PddOrderController : 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 GetPddOrders()
|
|||
|
{
|
|||
|
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<PddOrder, User, Robot>();
|
|||
|
|
|||
|
if (MinTime == DateTime.MinValue) MinTime = DateTime.Now.AddMonths(-3);
|
|||
|
if (MaxTime == DateTime.MinValue) MaxTime = DateTime.Now;
|
|||
|
|
|||
|
exp.And((o, u, r) => o.order_create_time > MinTime && o.order_create_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_sn.ToString().Contains(Keyword));
|
|||
|
break;
|
|||
|
case 4://商品编号查询
|
|||
|
exp.And((o, u, r) => o.goods_id.ToString().Contains(Keyword));
|
|||
|
break;
|
|||
|
case 5://商品名称
|
|||
|
exp.And((o, u, r) => o.goods_name.Contains(Keyword));
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
var DataList = Db.Queryable<PddOrder>()
|
|||
|
.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 PddOrderShow
|
|||
|
{
|
|||
|
ItemCount = o.goods_quantity, //?
|
|||
|
Itemid = o.goods_id.ToString(),
|
|||
|
ItemTitle = o.goods_name,
|
|||
|
OrderStatus = o.SystemOrderStatus,
|
|||
|
PayPrice = o.order_amount,
|
|||
|
UserHeadurl = u.Headurl,
|
|||
|
UserId = o.UserId,
|
|||
|
UsOrderNumber = o.order_sn.ToString(),
|
|||
|
UserNickname = u.NickName,
|
|||
|
RobotName = r.Nickname,
|
|||
|
PartnerPoint = 0.00, //?
|
|||
|
RebatePoint = o.promotion_amount, //?
|
|||
|
TkOrderNumber = null, // 联盟订单编号 ?
|
|||
|
RecommendPoint = 0.00, //?
|
|||
|
Commission = o.promotion_amount,//?
|
|||
|
GrossProfit = o.promotion_rate, //?
|
|||
|
}).ToPageList(PageIndex, PageSize, ref tNumber);
|
|||
|
|
|||
|
|
|||
|
var res = new PageResult<PddOrderShow>(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<PddOrder>().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.goods_id + "", LianmengType.拼多多联盟, order.goods_name, 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<PddOrder>().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.mall_id + "", "", remark, isCloud);
|
|||
|
if (string.IsNullOrWhiteSpace(result))
|
|||
|
{
|
|||
|
return PutSuccess;
|
|||
|
}
|
|||
|
return PutData(result);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|