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 { /// /// 获取机器人信息 /// /// [HttpPost, ErrorFilter] public WebResult GetRobotInfo() { var Keyword = GetString("Keyword"); var exp = Expressionable.Create(); if (!string.IsNullOrEmpty(Keyword)) { exp.And(f => f.Nickname.Contains(Keyword)); } var robotInfos = Db.Queryable().Where(exp.ToExpression()) .Select(m => new RobotInfo { RobotId = m.Id, RobotName = m.Nickname }).Take(20).ToList(); return PutData(robotInfos); } /// /// 查询催单记录 /// /// [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");//催单状态分组ID 1:未催单 2:催单中 3:已催单 4:已下单 var KeywordType = GetInt("KeywordType");//昵称搜索方式ID :1.用户昵称, 2.用户名 3.用户ID var exp = Expressionable.Create(); 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() .LeftJoin((a, u) => a.UserId == u.Id) .LeftJoin((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(DataList, tNumber, PageSize, PageIndex); return PutData(res); } /// /// 删除催单记录 /// /// [HttpPost, ErrorFilter] public WebResult DelReminder() { var Id = GetInt("Id", true); var reminder = Db.Queryable().Single(r => r.Id == Id); if (reminder == null) return PutData("删除失败,没有此催单记录"); Db.Deleteable(reminder).ExecuteCommand(); return PutSuccess; } } }