Procházet zdrojové kódy

修改酒店查询接口,新增酒店城市下拉列表接口,修改机场三字码接口,新增机场三字码下拉列表接口

wangh před 2 roky
rodič
revize
0ff0d02005

+ 73 - 27
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -19,10 +19,12 @@ namespace OASystem.API.Controllers
         private readonly ResItemInfoRepository _resItemInfoRep;
         private readonly SetDataRepository _setDataRepository;
         private readonly CountryFeeRepository _countryFeeRep;
+        private readonly SetDataTypeRepository _setDataTypeRep;
 
         public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep,
             LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep,
-            HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep, SetDataRepository setDataRepository, CountryFeeRepository countryFeeRep)
+            HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep, SetDataRepository setDataRepository,
+            CountryFeeRepository countryFeeRep, SetDataTypeRepository setDataTypeRep)
         {
             _mapper = mapper;
             _config = config;
@@ -33,8 +35,14 @@ namespace OASystem.API.Controllers
             _resItemInfoRep = resItemInfoRep;
             _setDataRepository = setDataRepository;
             _countryFeeRep = countryFeeRep;
+            _setDataTypeRep = setDataTypeRep;
         }
         #region 数据类型资料
+        /// <summary>
+        /// 根据类型查询数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QuerySetData(SetDataDto dto)
@@ -58,6 +66,31 @@ namespace OASystem.API.Controllers
                 throw;
             }
         }
+        /// <summary>
+        /// 数据类型大全
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerySetDataType(DtoBase dto)
+        {
+            try
+            {
+                var setDataType = _setDataTypeRep.QueryDto<Sys_SetDataType, SetDataTypeView>().ToList();
+                if (setDataType.Count==0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                setDataType = setDataType.OrderByDescending(s => s.CreateTime).ToList();
+                return Ok(JsonView(true, "查询成功!", setDataType));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
         #endregion
 
         #region 车公司资料板块
@@ -394,40 +427,19 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QueryThreeCode(DtoBase dto)
+        public async Task<IActionResult> QueryThreeCode(QueryThreeCodeDto dto)
         {
             try
             {
-                if (dto.PortType == 1)
-                {
-                    var ThreeCode = _localGuideDataRep.QueryDto<Res_ThreeCode, ThreeCodeView>().ToList();
-                    if (ThreeCode.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    ThreeCode = ThreeCode.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", ThreeCode));
-                }
-                else if (dto.PortType == 2)
+                Result LocalGuide = await _ThreeCodeRep.QueryThreeCode(dto);
+                if (LocalGuide.Code == 0)
                 {
-                    //分页写法
-                    if (dto.PageIndex == 0 || dto.PageSize == 0)
-                    {
-                        return Ok(JsonView(false, "请传入PageIndex和PageSize参数"));
-                    }
-                    JsonView _ThreeCode = await _ThreeCodeRep.QuerThreeCode(dto.PageIndex, dto.PageSize);
-                    if (_ThreeCode.Code != 0)
-                    {
-                        return Ok(JsonView(false, _ThreeCode.Msg));
-                    }
-
-                    return Ok(_ThreeCode);
+                    return Ok(JsonView(true, "查询成功", LocalGuide.Data));
                 }
                 else
                 {
-                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                    return Ok(JsonView(false, LocalGuide.Msg));
                 }
-
             }
             catch (Exception ex)
             {
@@ -437,6 +449,40 @@ namespace OASystem.API.Controllers
 
 
         }
+        /// <summary>
+        /// 机场三字码数据城市下拉框数据
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryThreeCodeSelect()
+        {
+            try
+            {
+                var ThreeCode = _carDataRep.QueryDto<Res_ThreeCode, ThreeCodeSelectView>().ToList();
+                if (ThreeCode.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                ThreeCode.Add(new ThreeCodeSelectView { Id = 0, City = "全部" });
+                ThreeCode = ThreeCode.Where((x, i) => ThreeCode.FindIndex(z => z.City == x.City && z.City != "") == i).ToList();
+                ThreeCode = ThreeCode.OrderBy(x => x.Id).ToList();
+                List<ThreeCodeSelectView> data = new List<ThreeCodeSelectView>();
+                foreach (ThreeCodeSelectView _ThreeCode in ThreeCode)
+                {
+                    if (!string.IsNullOrWhiteSpace(_ThreeCode.City))
+                    {
+                        data.Add(_ThreeCode);
+                    }
+                }
+                return Ok(JsonView(true, "查询成功", data));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
 
         /// <summary>
         /// 机场三字码资料操作(Status:1.新增,2.修改)

+ 0 - 32
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -134,39 +134,7 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
-        #region 类型表
-        /// <summary>
-        /// 查询类型数据
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QuerySetData(SetDataDto dto)
-        {
-            try
-            {
-                if (dto.DataType==0)
-                {
-                    return Ok(JsonView(false, "请传类型Id!"));
-                }
-                var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s=>s.STid==dto.DataType).ToList();
-                if (setData.Count == 0)
-                {
-                    return Ok(JsonView(false, "暂无数据!"));
-                }
-                return Ok(JsonView(true, "查询成功!",setData));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
-        }
-
        
-        #endregion
-
         #region 企业操作
         /// <summary>
         /// 查询企业数据

+ 9 - 9
OASystem/OASystem.Api/Program.cs

@@ -37,14 +37,14 @@ builder.Services.AddControllers()
 
 
 #region ÉÏ´«Îļþ 
-//builder.Services.AddCors(policy =>
-//{
-//    policy.AddPolicy("Cors", opt => opt
-//    .AllowAnyOrigin()
-//    .AllowAnyHeader()
-//    .AllowAnyMethod()
-//    .WithExposedHeaders("X-Pagination"));
-//});
+builder.Services.AddCors(policy =>
+{
+    policy.AddPolicy("Cors", opt => opt
+    .AllowAnyOrigin()
+    .AllowAnyHeader()
+    .AllowAnyMethod()
+    .WithExposedHeaders("X-Pagination"));
+});
 
 //builder.Services.Configure<FormOptions>(options =>
 //{
@@ -239,7 +239,7 @@ app.UseStaticFiles();
 app.UseRouting();
 app.UseAuthentication(); // ÈÏÖ¤
 app.UseAuthorization();  // ÊÚȨ
-//app.UseCors("Cors");  //Cors
+app.UseCors("Cors");  //Cors
 //app.UseCors("AllowSpecificOrigin");  //Cors
 
 #region ÆôÓÃswaggerUI

+ 11 - 0
OASystem/OASystem.Domain/Dtos/Resource/ThreeCodeDto.cs

@@ -6,6 +6,17 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Resource
 {
+    public class QueryThreeCodeDto:DtoBase
+    {
+        /// <summary>
+        /// 三字码
+        /// </summary>
+        public string Three { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+    }
     public class ThreeCodeOperationDto
     {
         /// <summary>

+ 6 - 0
OASystem/OASystem.Domain/ViewModels/Resource/HotelDataView.cs

@@ -11,7 +11,13 @@ namespace OASystem.Domain.ViewModels.Resource
     {
     }
     public class QueryHotelDataSelect {
+        /// <summary>
+        /// id
+        /// </summary>
         public int Id { get; set; }
+        /// <summary>
+        /// 城市名
+        /// </summary>
         public string City { get; set; }
     }
 

+ 13 - 0
OASystem/OASystem.Domain/ViewModels/Resource/SetDataTypeView.cs

@@ -0,0 +1,13 @@
+using OASystem.Domain.Entities.System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Resource
+{
+    public class SetDataTypeView: Sys_SetDataType
+    {
+    }
+}

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/Resource/ThreeCodeView.cs

@@ -10,4 +10,9 @@ namespace OASystem.Domain.ViewModels.Resource
     public class ThreeCodeView:Res_ThreeCode
     {
     }
+    public class ThreeCodeSelectView
+    {
+        public int Id { get; set; }
+        public string City { get; set; }
+    }
 }

+ 24 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/SetDataTypeRepository.cs

@@ -0,0 +1,24 @@
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Resource;
+using OASystem.Domain.ViewModels.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    public class SetDataTypeRepository: BaseRepository<Sys_SetDataType, SetDataTypeView>
+    {
+        private readonly IMapper _mapper;
+        public SetDataTypeRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+     
+    }
+   
+}

+ 111 - 12
OASystem/OASystem.Infrastructure/Repositories/Resource/ThreeCodeRepository.cs

@@ -21,31 +21,130 @@ namespace OASystem.Infrastructure.Repositories.Resource
         /// <param name="PageSize"></param>
         /// <returns></returns>
 
-        public async Task<JsonView> QuerThreeCode(int PageIndex, int PageSize)
+        public async Task<Result> QueryThreeCode(QueryThreeCodeDto dto)
         {
-            JsonView result = new JsonView();
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
             try
             {
-               
-                int totalCount = 0;
-                List<Res_ThreeCode> page = _sqlSugar.Queryable<Res_ThreeCode>().ToPageList(PageIndex, PageSize, ref totalCount);
-                if (page.Count != 0)
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.City))
+                {
+                    sqlWhere += string.Format(@" And City like '%{0}%'", dto.City);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.Three))
+                {
+                    sqlWhere += string.Format(@" And Three like '%{0}%'", dto.Three);
+                }
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
                 {
-                    result=new JsonView(){Code=200,Msg = "查询成功!",Data = page,Count = totalCount };
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                if (dto.PortType == 1)
+                {
+                    string sql = string.Format(@"select * from Res_ThreeCode  {0}", sqlWhere);
+                    List<Res_ThreeCode> ThreeCode = await _sqlSugar.SqlQueryable<Res_ThreeCode>(sql).ToListAsync();
+                    if (ThreeCode.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    ThreeCode = ThreeCode.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = ThreeCode,
+                        };
+                    }
+                    else
+                    {
+                        int count = ThreeCode.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_ThreeCode> _ThreeCode = new List<Res_ThreeCode>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < ThreeCode.Count)
+                            {
+                                _ThreeCode.Add(ThreeCode[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _ThreeCode },
+                        };
+                    }
+
+                }
+                else if (dto.PortType == 2)
+                {
+                    string sql = string.Format(@"select * from Res_ThreeCode  {0}", sqlWhere);
+                    List<Res_ThreeCode> ThreeCode = await _sqlSugar.SqlQueryable<Res_ThreeCode>(sql).ToListAsync();
+                    if (ThreeCode.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    ThreeCode = ThreeCode.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = ThreeCode,
+                        };
+                    }
+                    else
+                    {
+                        int count = ThreeCode.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_ThreeCode> _ThreeCode = new List<Res_ThreeCode>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < ThreeCode.Count)
+                            {
+                                _ThreeCode.Add(ThreeCode[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _ThreeCode },
+                        };
+                    }
                 }
                 else
                 {
-                    result = new JsonView(){ Code = 400, Msg = "查询失败!", Data = page, Count = totalCount };
+                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
                 }
             }
             catch (Exception)
             {
-                result = new JsonView() { Code = 400, Msg = "程序错误!", Data = null, Count = 0 };
+                return result;
                 throw;
             }
-            
-           
-            return result;
         }
 
         /// <summary>