yz_server/Server/Controllers/MemberManagement/ReminderController.cs

127 lines
4.1 KiB
C#
Raw 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.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;
}
}
}