zhaojs
2023-09-27 74098f1401afe40f961d1d167bb18dd0a71c4d59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using CommonUtil;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Operater.DAL;
using Operater.DbModel;
using Operater.DTO.System;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
 
namespace Api.Operater.Controllers
{
    [Route(TopConstants.API_ROUTE)]
    public class PointTaskController : BaseController
    {
        /// <summary>
        /// 编辑授权送积分任务
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult EditPointTask([FromBody] EditPointTaskRequest request)
        {
            PointTask pointTask = new PointTask()
            {
                TaskName = request.TaskName,
                TaskRule = JSONUtil.ObjectToJson(request.AuthSendPointRule),
                CreateTime = DateTime.Now,
                ModifyTime = DateTime.Now,
                TaskType = 0
            };
            if (request.TaskId.IsNullOrEmpty())
            {//新增任务
                pointTask.Id = Guid.NewGuid().ToString();
                new PointTaskDAL().Insert(pointTask);
            }
            else
            {//修改
                new PointTaskDAL().Update(pointTask, i => new { i.TaskName, i.TaskRule, i.ModifyTime }, t => t.Id == request.TaskId);
            }
            return Success(true);
        }
 
        /// <summary>
        /// 分页获取任务列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult ListPageGetPointTask([FromBody] ListPageGetPointTaskRequest request)
        {
            var expression = Expressionable.Create<PointTask>().And(t => t.IsDel == 0)
                                                                        .AndIF(!request.TaskName.IsNullOrEmpty(), t => t.TaskName.Contains(request.TaskName))
                                                                         .ToExpression();
            int totalCount = 0;
            var taskList = new PointTaskDAL().ListPageGet(expression, t => t.ModifyTime, DbEnum.OrderType.Desc, request.PageNo, request.PageSize, ref totalCount);
            return Success(taskList, request.PageNo, request.PageSize, totalCount);
        }
 
        /// <summary>
        /// 开启关闭任务
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
 
        [HttpPost]
 
        public IActionResult EditeTaskRun([FromBody] EditeTaskRunRequest request)
        {
            var taskRecord = new PointTaskDAL().GetById(request.TaskId);
            if (taskRecord.IsNull())
            {
                return Error("任务不存在");
            }
            taskRecord.IsRun = request.RunType;
            new PointTaskDAL().Update(taskRecord, i => new { i.IsRun }, t => t.Id == request.TaskId);
            return Success(true);
        }
 
        [HttpPost]
        public IActionResult GetPointSendHistory([FromBody] GetPointSendHistoryRequest request)
        {
            var expression = Expressionable.Create<PointSendHistory>().And(t => t.TaskId == request.TaskId)
                                                                       .ToExpression();
            int totalCount = 0;
            var taskList = new PointSendHistoryDAL().ListPageGet(expression, t => t.SendTime, DbEnum.OrderType.Desc, request.PageNo, request.PageSize, ref totalCount);
            return Success(taskList, request.PageNo, request.PageSize, totalCount);
        }
    }
}