李昊 4 年之前
父节点
当前提交
08c105ec7c

+ 62 - 0
gx_api/GxPress/Api/GxPress.Api/AdminControllers/AdminOrganizationController.cs

@@ -0,0 +1,62 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using GxPress.Common.Page;
+using GxPress.Repository.Interface.Organization;
+using GxPress.Result.Organization;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace GxPress.Api.AdminControllers
+{
+    [Route("api/admin/organization")]
+    [ApiController]
+    [Authorize]
+    public class AdminOrganizationController : Controller
+    {
+        private readonly IOrganizationRepository repository;
+        public AdminOrganizationController(IOrganizationRepository repository)
+        {
+            this.repository = repository;
+        }
+        /// <summary>
+        ///  机构列表
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PagedList<Entity.tede2.Organization.Organization>> GetAllAsync(OrganizationListRequest request)
+        {
+            return await repository.GetAllAsync(request);
+        }
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [HttpPut]
+        public async Task<bool> UpdateAsync(OrganizationUpdateRequest request)
+        {
+            return await repository.UpdateAsync(request);
+        }
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="ids"></param>
+        /// <returns></returns>
+        [HttpDelete]
+        public async Task<bool> DeleteAsync(List<int> ids)
+        {
+            return await repository.DeleteAsync(ids);
+        }
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [HttpPut("update")]
+        public async Task<bool> UpdateIsDisableAsync(OrganizationUpdateDisableRequest request)
+        {
+            return await repository.UpdateIsDisableAsync(request);
+        }
+    }
+}

文件差异内容过多而无法显示
+ 6 - 2
gx_api/GxPress/Api/GxPress.Api/AdminControllers/AdminUtilsController.cs


+ 73 - 0
gx_api/GxPress/Model/GxPress.Entity/tede2/Organization/Organization.cs

@@ -0,0 +1,73 @@
+using System;
+using Datory.Annotations;
+
+namespace GxPress.Entity.tede2.Organization
+{
+    /// <summary>
+    /// 机构
+    /// </summary>
+    [DataTable("tede_organization")]
+    public class Organization : Datory.Entity
+    {
+        /// <summary>
+        /// 名称
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public string Name { get; set; }
+        /// <summary>
+        /// 地址
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public string Address { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public string LinkName { get; set; }
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public string LinkPhone { get; set; }
+        /// <summary>
+        /// 开通状态 1 立即 2定时开通
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public int OpenStatus { get; set; }
+        /// <summary>
+        /// 启用时间
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public DateTime OpenTime { get; set; }
+        /// <summary>
+        /// 开始时间
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public DateTime BeginTime { get; set; }
+        /// <summary>
+        /// 结束时间
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public DateTime EndTime { get; set; }
+        /// <summary>
+        /// 是否禁用
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public bool IsDisable { get; set; }
+        /// <summary>
+        /// 是否到期关闭
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public bool IsClose { get; set; }
+    }
+}

+ 98 - 0
gx_api/GxPress/Model/GxPress.Result/Organization/OrganizationRequest.cs

@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+
+namespace GxPress.Result.Organization
+{
+    public class OrganizationRequest
+    {
+
+    }
+    /// <summary>
+    /// 机构搜索
+    /// </summary>
+    public class OrganizationListRequest : Common.Page.PageParameter
+    {
+        /// <summary>
+        /// 搜索字段
+        /// </summary>
+        /// <value></value>
+        public string KeyWord { get; set; }
+    }
+    /// <summary>
+    /// 机构修改
+    /// </summary>
+    public class OrganizationUpdateRequest
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <value></value>
+        public int Id { get; set; }
+        /// <summary>
+        /// 名称
+        /// </summary>
+        /// <value></value>
+        public string Name { get; set; }
+        /// <summary>
+        /// 地址
+        /// </summary>
+        /// <value></value>
+        public string Address { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        /// <value></value>
+        public string LinkName { get; set; }
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        /// <value></value>
+        public string LinkPhone { get; set; }
+        /// <summary>
+        /// 开通状态 1 立即 2定时开通
+        /// </summary>
+        /// <value></value>
+        public int OpenStatus { get; set; }
+        /// <summary>
+        /// 启用时间
+        /// </summary>
+        /// <value></value>
+        public string OpenTime { get; set; }
+        /// <summary>
+        /// 开始时间
+        /// </summary>
+        /// <value></value>
+        public string BeginTime { get; set; }
+        /// <summary>
+        /// 结束时间
+        /// </summary>
+        /// <value></value>
+        public string EndTime { get; set; }
+        /// <summary>
+        /// 是否禁用 1禁用 2未禁用
+        /// </summary>
+        /// <value></value>
+        public int IsDisable { get; set; }
+        /// <summary>
+        /// 1关闭 2开启
+        /// </summary>
+        /// <value></value>
+        public int IsClose { get; set; }
+    }
+    /// <summary>
+    /// 修改启用停用
+    /// </summary>
+    public class OrganizationUpdateDisableRequest
+    {
+        /// <summary>
+        /// id
+        /// </summary>
+        /// <value></value>
+        public List<int> Ids { get; set; }
+        /// <summary>
+        /// 启用
+        /// </summary>
+        /// <value></value>
+        public bool IsDisable { get; set; }
+    }
+}

+ 95 - 0
gx_api/GxPress/Repository/GxPress.Repository.Implement/Organization/OrganizationRepository.cs

@@ -0,0 +1,95 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using AutoMapper;
+using Datory;
+using GxPress.Common.AppOptions;
+using GxPress.Common.Page;
+using GxPress.Common.Tools;
+using GxPress.Repository.Interface.Organization;
+using GxPress.Result.Organization;
+using Microsoft.Extensions.Options;
+using System;
+namespace GxPress.Repository.Implement.Organization
+{
+    public class OrganizationRepository : IOrganizationRepository
+    {
+        private readonly Repository<Entity.tede2.Organization.Organization> _repository;
+        private readonly IMapper _mapper;
+        private readonly string _connectionString;
+        private readonly string _databaseTypestr;
+        public OrganizationRepository(IOptionsMonitor<DatabaseOptions> dbOptionsAccessor, IMapper mapper)
+        {
+            _databaseTypestr = dbOptionsAccessor.CurrentValue.DatabaseType;
+            _connectionString = dbOptionsAccessor.CurrentValue.ConnectionString;
+            var databaseType = StringUtils.ToEnum<DatabaseType>(dbOptionsAccessor.CurrentValue.DatabaseType, DatabaseType.MySql);
+            var database = new Database(databaseType, dbOptionsAccessor.CurrentValue.ConnectionString);
+            _repository = new Repository<Entity.tede2.Organization.Organization>(database);
+            _mapper = mapper;
+        }
+        public IDatabase Database => _repository.Database;
+        public string TableName => _repository.TableName;
+        public List<TableColumn> TableColumns => _repository.TableColumns;
+        /// <summary>
+        ///  机构列表
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        public async Task<PagedList<Entity.tede2.Organization.Organization>> GetAllAsync(OrganizationListRequest request)
+        {
+            var result = new PagedList<Entity.tede2.Organization.Organization>();
+            var query = Q.NewQuery();
+            if (!string.IsNullOrEmpty(request.KeyWord))
+                query.WhereLike(nameof(Entity.tede2.Organization.Organization.Name), $"%{request.KeyWord}%");
+            result.Total = await _repository.CountAsync(query);
+            result.Items = await _repository.GetAllAsync(query.ForPage(request.Page, request.PerPage));
+            return result;
+        }
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        public async Task<bool> UpdateAsync(OrganizationUpdateRequest request)
+        {
+            var organization = await _repository.GetAsync(request.Id);
+            if (request.IsClose > 0)
+                organization.IsClose = request.IsClose == 1;
+            if (request.IsDisable > 0)
+                organization.IsDisable = request.IsDisable == 1;
+            if (!string.IsNullOrEmpty(request.LinkName))
+                organization.LinkName = request.LinkName;
+            if (!string.IsNullOrEmpty(request.LinkPhone))
+                organization.LinkPhone = request.LinkPhone;
+            if (!string.IsNullOrEmpty(request.Address))
+                organization.Address = request.Address;
+            if (!string.IsNullOrEmpty(request.BeginTime) && !string.IsNullOrEmpty(request.EndTime))
+            {
+                organization.BeginTime = Convert.ToDateTime(request.BeginTime);
+                organization.EndTime = Convert.ToDateTime(request.EndTime);
+            }
+            if (!string.IsNullOrEmpty(request.OpenTime))
+                organization.OpenTime = Convert.ToDateTime(request.OpenTime);
+            if (request.OpenStatus > 0)
+                organization.OpenStatus = request.OpenStatus;
+            return await _repository.UpdateAsync(organization);
+        }
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        public async Task<bool> DeleteAsync(List<int> ids)
+        {
+            return await _repository.DeleteAsync(Q.WhereIn(nameof(Entity.tede2.Organization.Organization.Id), ids)) > 0;
+        }
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        public async Task<bool> UpdateIsDisableAsync(OrganizationUpdateDisableRequest request)
+        {
+            return await _repository.UpdateAsync(Q.WhereIn(nameof(Entity.tede2.Organization.Organization.Id), request.Ids).Set(nameof(Entity.tede2.Organization.Organization.IsDisable), request.IsDisable)) > 0;
+        }
+    }
+}

+ 0 - 2
gx_api/GxPress/Repository/GxPress.Repository.Interface/ICommentRepository.cs

@@ -1,6 +1,4 @@
-using System;
 using System.Collections.Generic;
-using System.Text;
 using System.Threading.Tasks;
 using GxPress.Common.Page;
 using GxPress.Entity;

+ 36 - 0
gx_api/GxPress/Repository/GxPress.Repository.Interface/Organization/IOrganizationRepository.cs

@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Datory;
+using GxPress.Common.Page;
+using GxPress.Result.Organization;
+
+namespace GxPress.Repository.Interface.Organization
+{
+    public interface IOrganizationRepository : IRepository
+    {
+        /// <summary>
+        ///  机构列表
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        Task<PagedList<Entity.tede2.Organization.Organization>> GetAllAsync(OrganizationListRequest request);
+           /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        Task<bool> UpdateAsync(OrganizationUpdateRequest request);
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        Task<bool> DeleteAsync(List<int> ids);
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+         Task<bool> UpdateIsDisableAsync(OrganizationUpdateDisableRequest request);
+    }
+}