lcl 6 місяців тому
батько
коміт
eb0d1058f2

+ 109 - 0
Controllers/Admin/Pri/PriListController.cs

@@ -0,0 +1,109 @@
+using Vo;
+using Microsoft.AspNetCore.Mvc;
+using Model;
+using Services;
+using Model.Base;
+using Vo.Admin;
+using Mapster;
+using Infrastructure;
+
+
+namespace Controllers.Admin
+{
+    /// <summary>
+    /// PriList)Controller
+    /// </summary>
+    // [Route("${Router}$")]
+    // [ApiExplorerSettings(GroupName = "PriList")]
+    public class PriListController : BaseController
+    {
+        /// <summary>
+        /// api分组接口
+        /// </summary>
+        private readonly IPriListService _PriListService;
+
+
+        public PriListController(IPriListService PriListService)
+        {
+            _PriListService = PriListService;
+
+        }
+
+          /// <param name="page">分页参数</param>
+        /// <summary>
+        /// 列表
+        /// </summary>
+        /// <param name="page">分页对象</param>
+        /// <param name="param">参数请求体</param>
+        /// <returns>列表</returns>
+        [HttpGet]
+        [Route("/v1/pri/PriList/getPriListList")]
+        public IActionResult getPriListList([FromQuery] PagerInfo page, [FromQuery] PriList param)
+        {
+            var response = _PriListService.getPriListList(page, param);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 详情
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>详情</returns>
+        [HttpGet]
+        [Route("/v1/pri/PriList/getPriListQuery")]
+        public IActionResult getPriListQuery([FromQuery] PriList param)
+        {
+            var response = _PriListService.GetFirst(m => m.id == param.id).Adapt<GetPriListQueryVo>();
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 添加
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>添加</returns>
+        [HttpPost]
+        [Route("/v1/pri/PriList/addPriList")]
+        public IActionResult addPriList([FromBody] PriList param)
+        {
+            var modal = param.Adapt<PriList>().ToCreate(HttpContext);
+            var response = _PriListService.Add(modal);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>修改</returns>
+        [HttpPut]
+        [Route("/v1/pri/PriList/updatePriList")]
+        public IActionResult updatePriList([FromBody] PriList param)
+        {
+            var modal = param.Adapt<PriList>().ToCreate(HttpContext);
+            var response = _PriListService.Update(modal);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="id">ID</param>
+        /// <returns>删除</returns>
+        [HttpDelete]
+        [Route("/v1/pri/PriList/deletePriList/{id}")]
+        public IActionResult deletePriList(int id)
+        {
+            var response = _PriListService.Delete(id);
+            return SUCCESS(response);
+        }
+
+
+
+
+    }
+}

+ 106 - 0
Model/Database/PriList.cs

@@ -0,0 +1,106 @@
+using Mapster;
+
+
+namespace Model
+{
+    /// <summary>
+    /// 奖励配置 pri_list
+    /// </summary>
+    [SugarTable("pri_list", "奖励配置")]
+    [Tenant("0")]
+    public class PriList
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        [SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, IsIdentity = true, ColumnName = "id")]
+        public int id { get; set; }
+
+
+        /// <summary>
+        /// 状态
+        /// </summary>
+        [SugarColumn(ColumnDescription = "状态", ColumnName = "status")]
+        public int status { get; set; }
+
+
+        /// <summary>
+        /// 排序
+        /// </summary>
+        [SugarColumn(ColumnDescription = "排序", ColumnName = "sort")]
+        public int sort { get; set; }
+
+
+        /// <summary>
+        /// 版本号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "版本号", ColumnName = "version")]
+        public int version { get; set; }
+
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "创建时间", ColumnName = "create_date")]
+        public DateTime? createDate { get; set; }
+
+
+        /// <summary>
+        /// 更新时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "更新时间", ColumnName = "update_date")]
+        public DateTime? updateDate { get; set; }
+
+
+        /// <summary>
+        /// 项目
+        /// </summary>
+        [SugarColumn(ColumnDescription = "项目", ColumnName = "project_id")]
+        public int projectId { get; set; }
+
+
+        /// <summary>
+        /// 奖励名称
+        /// </summary>
+        [SugarColumn(ColumnDescription = "奖励名称", Length = 50, ColumnName = "prize_name")]
+        public string? prizeName { get; set; }
+
+
+        /// <summary>
+        /// 奖励比例
+        /// </summary>
+        [SugarColumn(ColumnDescription = "奖励比例", ColumnName = "prize_percent")]
+        public decimal prizePercent { get; set; }
+
+
+        /// <summary>
+        /// 奖励固定金额
+        /// </summary>
+        [SugarColumn(ColumnDescription = "奖励固定金额", ColumnName = "prize_amount")]
+        public decimal prizeAmount { get; set; }
+
+
+        /// <summary>
+        /// 条件模式
+        /// </summary>
+        [SugarColumn(ColumnDescription = "条件模式", Length = 20, ColumnName = "condition_mode")]
+        public string? conditionMode { get; set; }
+
+
+        /// <summary>
+        /// 是否递归
+        /// </summary>
+        [SugarColumn(ColumnDescription = "是否递归", ColumnName = "recursion_flag")]
+        public bool recursionFlag { get; set; }
+
+
+        /// <summary>
+        /// 奖励内容
+        /// </summary>
+        [SugarColumn(ColumnDescription = "奖励内容", Length = 20, ColumnName = "prize_content")]
+        public string? prizeContent { get; set; }
+
+
+
+    }
+}

+ 18 - 0
Model/Vo/Admin/AddPriListVo.cs

@@ -0,0 +1,18 @@
+using Newtonsoft.Json;
+
+namespace Vo.Admin
+{
+    /// <summary>
+    /// 添加
+    /// </summary>
+    public class AddPriListVo
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        public int id { get; set; }
+
+
+
+    }
+}

+ 54 - 0
Model/Vo/Admin/GetPriListListVo.cs

@@ -0,0 +1,54 @@
+using Newtonsoft.Json;
+
+namespace Vo.Admin
+{
+    /// <summary>
+    /// 列表
+    /// </summary>
+    public class GetPriListListVo
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        public int id { get; set; }
+
+
+        /// <summary>
+        /// 奖励名称
+        /// </summary>
+        public string prizeName { get; set; }
+
+
+        /// <summary>
+        /// 奖励比例
+        /// </summary>
+        public decimal prizePercent { get; set; }
+
+
+        /// <summary>
+        /// 奖励固定金额
+        /// </summary>
+        public decimal prizeAmount { get; set; }
+
+
+        /// <summary>
+        /// 条件模式
+        /// </summary>
+        public string conditionMode { get; set; }
+
+
+        /// <summary>
+        /// 是否递归
+        /// </summary>
+        public bool recursionFlag { get; set; }
+
+
+        /// <summary>
+        /// 奖励内容
+        /// </summary>
+        public string prizeContent { get; set; }
+
+
+
+    }
+}

+ 48 - 0
Model/Vo/Admin/GetPriListQueryVo.cs

@@ -0,0 +1,48 @@
+using Newtonsoft.Json;
+
+namespace Vo.Admin
+{
+    /// <summary>
+    /// 详情
+    /// </summary>
+    public class GetPriListQueryVo
+    {
+        /// <summary>
+        /// 奖励名称
+        /// </summary>
+        public string prizeName { get; set; }
+
+
+        /// <summary>
+        /// 奖励比例
+        /// </summary>
+        public decimal prizePercent { get; set; }
+
+
+        /// <summary>
+        /// 奖励固定金额
+        /// </summary>
+        public decimal prizeAmount { get; set; }
+
+
+        /// <summary>
+        /// 条件模式
+        /// </summary>
+        public string conditionMode { get; set; }
+
+
+        /// <summary>
+        /// 是否递归
+        /// </summary>
+        public bool recursionFlag { get; set; }
+
+
+        /// <summary>
+        /// 奖励内容
+        /// </summary>
+        public string prizeContent { get; set; }
+
+
+
+    }
+}

+ 22 - 0
Services/IService/IPriListService.cs

@@ -0,0 +1,22 @@
+using Model;
+using Model.Base;
+using Microsoft.AspNetCore.Mvc;
+using Vo.Admin;
+
+
+namespace Services
+{
+    public interface IPriListService : IBaseService<PriList>
+    {
+        /// <summary>
+        /// 奖励配置-列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>列表</returns>
+        PagedInfo<GetPriListListVo> getPriListList([FromQuery] PagerInfo page, [FromQuery] PriList param);
+
+
+
+    }
+}

+ 42 - 0
Services/PriListService.cs

@@ -0,0 +1,42 @@
+using Attribute;
+using Model;
+using Model.Base;
+using Repository;
+using Service;
+using Microsoft.AspNetCore.Mvc;
+using Vo.Admin;
+
+
+namespace Services
+{
+    /// <summary>
+    /// 奖励配置Service业务层处理
+    /// </summary>
+    [AppService(ServiceType = typeof(IPriListService), ServiceLifetime = LifeTime.Transient)]
+    public class PriListService : BaseService<PriList>, IPriListService
+    {
+        /// <summary>
+        /// 奖励配置-列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>列表</returns>
+        public PagedInfo<GetPriListListVo> getPriListList([FromQuery] PagerInfo page, [FromQuery] PriList param)
+        {
+            //拼装查询条件
+            var predicate = Expressionable.Create<PriList>();
+            predicate = predicate.AndIF(param.projectId > 0, m => m.projectId == param.projectId);
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.prizeName), m => m.prizeName.Contains(param.prizeName));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.conditionMode), m => m.conditionMode.Contains(param.conditionMode));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.prizeContent), m => m.prizeContent.Contains(param.prizeContent));
+            var response = Queryable()
+                .Where(predicate.ToExpression())
+                .OrderByDescending(m => m.id)
+                .ToPage<PriList, GetPriListListVo>(page);
+            return response;
+        }
+
+
+
+    }
+}