127 lines
4.1 KiB
C#
127 lines
4.1 KiB
C#
using Common.Models.Enums;
|
||
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.MemberManagement
|
||
{
|
||
public class ReminderController : DefaultController
|
||
{
|
||
/// <summary>
|
||
/// 获取机器人信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost, ErrorFilter]
|
||
public WebResult GetRobotInfo()
|
||
{
|
||
var Keyword = GetString("Keyword");
|
||
|
||
var exp = Expressionable.Create<Robot>();
|
||
|
||
if (!string.IsNullOrEmpty(Keyword))
|
||
{
|
||
exp.And(f => f.Nickname.Contains(Keyword));
|
||
}
|
||
var robotInfos = Db.Queryable<Robot>().Where(exp.ToExpression())
|
||
.Select(m => new RobotInfo { RobotId = m.Id, RobotName = m.Nickname }).Take(20).ToList();
|
||
|
||
return PutData(robotInfos);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 查询催单记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost, ErrorFilter]
|
||
public WebResult GetReminder()
|
||
{
|
||
var Keyword = GetString("Keyword");
|
||
var PageIndex = GetInt("PageIndex", true);
|
||
var PageSize = GetInt("PageSize", true);
|
||
if (PageSize > 100) PageSize = 100;
|
||
var tNumber = 0;
|
||
|
||
var RobotId = GetInt("RobotId");//机器人Id
|
||
var ReminderStatus = GetEnum<ReminderStatus>("ReminderStatus");//催单状态分组ID 1:未催单 2:催单中 3:已催单 4:已下单
|
||
var KeywordType = GetInt("KeywordType");//昵称搜索方式ID :1.用户昵称, 2.用户名 3.用户ID
|
||
|
||
var exp = Expressionable.Create<Reminder, User, Robot>();
|
||
|
||
if (RobotId > 0)
|
||
exp.And((a, u, r) => r.Id == RobotId);
|
||
|
||
if (ReminderStatus != 0)
|
||
exp.And((a, u, r) => a.RemindStatus == ReminderStatus);
|
||
|
||
if (!string.IsNullOrEmpty(Keyword))
|
||
{
|
||
/*
|
||
昵称搜索方式:1.用户昵称, 2.用户名 3.用户ID
|
||
*/
|
||
if (KeywordType == 1)
|
||
exp.And((a, u, r) => u.NickName.Contains(Keyword));
|
||
|
||
else if (KeywordType == 2)
|
||
{
|
||
exp.And((a, u, r) => u.Username.Contains(Keyword));
|
||
}
|
||
|
||
else if (KeywordType == 3)
|
||
{
|
||
exp.And((a, u, r) => a.UserId == Convert.ToInt32(Keyword));
|
||
}
|
||
}
|
||
|
||
var DataList = Db.Queryable<Reminder>()
|
||
.LeftJoin<User>((a, u) => a.UserId == u.Id)
|
||
.LeftJoin<Robot>((a, u, r) => a.RobotId == r.Id)
|
||
.Where(exp.ToExpression())
|
||
.Select((a, u, r) => new ReminderShow
|
||
{
|
||
Id = a.Id,
|
||
UserId = a.UserId,
|
||
Username = u.Username,
|
||
Nickname = u.NickName,
|
||
RobotId = r.Id,
|
||
RobotName = r.Nickname,
|
||
ReminderType = a.ReminderType,
|
||
FirstRemind = a.FirstRemind,
|
||
SecRemind = a.SecRemind,
|
||
THirRemind = a.THirRemind,
|
||
RemindStatus = a.RemindStatus,
|
||
})
|
||
.ToPageList(PageIndex, PageSize, ref tNumber);
|
||
|
||
var res = new PageResult<ReminderShow>(DataList, tNumber, PageSize, PageIndex);
|
||
|
||
return PutData(res);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除催单记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost, ErrorFilter]
|
||
public WebResult DelReminder()
|
||
{
|
||
var Id = GetInt("Id", true);
|
||
|
||
var reminder = Db.Queryable<Reminder>().Single(r => r.Id == Id);
|
||
|
||
if (reminder == null)
|
||
return PutData("删除失败,没有此催单记录");
|
||
|
||
Db.Deleteable(reminder).ExecuteCommand();
|
||
|
||
return PutSuccess;
|
||
}
|
||
}
|
||
}
|