浏览代码

新增地接导游资料 增删改查功能,添加相应的实体类,rep

wangh 1 年之前
父节点
当前提交
4ae3b6c23f

+ 122 - 2
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -12,12 +12,14 @@ namespace OASystem.API.Controllers
         private readonly IMapper _mapper;
         private readonly IConfiguration _config;
         private readonly CarDataRepository _carDataRep;
+        private readonly LocalGuideDataRepository _localGuideDataRep;
        
-        public ResourceController(IMapper mapper, IConfiguration config,CarDataRepository carDataRep)
+        public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep, LocalGuideDataRepository localGuideDataRep)
         {
             _mapper = mapper;
             _config = config;
             _carDataRep = carDataRep;
+            _localGuideDataRep = localGuideDataRep;
         }
         #region 车公司资料板块
 
@@ -92,6 +94,12 @@ namespace OASystem.API.Controllers
                 {
                     return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
                 }
+
+                var carDada = _carDataRep.QueryDto<Res_CarData, CarDataView>(a=>a.UnitArea==dto.UnitArea && a.UnitName==dto.UnitName && a.Contact==dto.Contact && a.ContactTel==dto.ContactTel).ToList();
+                if (carDada.Count!=0)
+                {
+                    return Ok(JsonView(false, "该信息已存在,请勿重复添加!"));
+                }
                 Res_CarData _CarData = _mapper.Map<Res_CarData>(dto);
                 int id = await _carDataRep.AddAsyncReturnId(_CarData);
                 if (id == 0) 
@@ -167,7 +175,7 @@ namespace OASystem.API.Controllers
             }
         }
         /// <summary>
-        /// 车公司信息修改
+        /// 车公司信息删除
         /// </summary>
         /// <returns></returns>
         [HttpPost]
@@ -188,5 +196,117 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 导游地接资料板块
+        /// <summary>
+        /// 导游地接资料查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerLocalGuide(DtoBase dto)
+        {
+            try
+            {
+                if (dto.PortType == 1)
+                {
+                    var LocalGuideData = _localGuideDataRep.QueryDto<Res_LocalGuideData, LocalGuideDataView>().ToList();
+                    if (LocalGuideData.Count == 0)
+                    {
+                        return Ok(JsonView(false, "暂无数据!"));
+                    }
+                    LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
+                    return Ok(JsonView(true, "查询成功", LocalGuideData));
+                }
+                else if (dto.PortType == 2)
+                {
+                    var LocalGuideData = _localGuideDataRep.QueryDto<Res_LocalGuideData, LocalGuideDataView>().ToList();
+                    if (LocalGuideData.Count == 0)
+                    {
+                        return Ok(JsonView(false, "暂无数据!"));
+                    }
+                    LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
+                    return Ok(JsonView(true, "查询成功", LocalGuideData));
+                }
+                else
+                {
+                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                }
+
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+
+
+        }
+
+        /// <summary>
+        /// 导游地接信息操作(增改)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> LocalGuideOperation(LocalGuideOperationDto dto)
+        {
+            try
+            {
+                if (dto.UnitArea == "")
+                {
+                    return Ok(JsonView(false, "请检查单位区域是否填写!"));
+                }
+                if (dto.UnitName == "")
+                {
+                    return Ok(JsonView(false, "请检查单位名称是否填写!"));
+                }
+                if (dto.Contact == "")
+                {
+                    return Ok(JsonView(false, "请检查单位联系人是否填写!"));
+                }
+                if (dto.ContactTel == "")
+                {
+                    return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
+                }
+
+                Result result = await _localGuideDataRep.LocalGuideOperation(dto);
+                if (result.Code != 0)
+                {
+                    return Ok(JsonView(false, result.Msg));
+                }
+                return Ok(JsonView(true, result.Msg, new { Id = result.Data }));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+
+        /// <summary>
+        /// 导游地接信息操作(删除)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> LocalGuideDel(LocalGuideDelDto dto)
+        {
+            try
+            {
+                var res = await _localGuideDataRep.SoftDeleteByIdAsync<Res_LocalGuideData>(dto.Id.ToString(),dto.DeleteUserId);
+                if (!res)
+                {
+                    return Ok(JsonView(false, "删除失败"));
+                }
+                return Ok(JsonView(true,"删除成功!"));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
     }
 }

+ 6 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -61,10 +61,16 @@ namespace OASystem.Domain.AutoMappers
             #endregion
 
             #region Resource
+
             #region 车公司资料
             CreateMap<Res_CarData, CarDataView>();
             CreateMap<AddCarDataDto, Res_CarData>();
             #endregion
+
+            #region 导游地接资料
+            CreateMap<Res_LocalGuideData, LocalGuideDataView>();
+            CreateMap<LocalGuideOperationDto,Res_LocalGuideData>();
+            #endregion
             #endregion
         }
     }

+ 4 - 43
OASystem/OASystem.Domain/Dtos/Resource/CarDataDto.cs

@@ -35,27 +35,8 @@ namespace OASystem.Domain.Dtos.Resource
         /// <summary>
         /// 联系人手机号
         /// </summary>
-        private string contactTel;
-        public string ContactTel
-        {
-            get
-            {
-                return contactTel;
-            }
-            set
-            {
-                if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}"))
-                {
-                    contactTel = value;
-                }
-                else
-                {
-                    contactTel = "";
-                }
-
-            }
-        }
-
+        public string ContactTel { get; set; }
+        
         /// <summary>
         /// 联系人邮箱
         /// </summary>
@@ -179,30 +160,10 @@ namespace OASystem.Domain.Dtos.Resource
         /// 联系人
         /// </summary>
         public string Contact { get; set; }
-
         /// <summary>
-        /// 联系人手机号
+        /// 联系方式
         /// </summary>
-        private string contactTel;
-        public string ContactTel
-        {
-            get
-            {
-                return contactTel;
-            }
-            set
-            {
-                if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}"))
-                {
-                    contactTel = value;
-                }
-                else
-                {
-                    contactTel = "";
-                }
-
-            }
-        }
+        public string ContactTel { get; set; }
 
         /// <summary>
         /// 联系人邮箱

+ 132 - 0
OASystem/OASystem.Domain/Dtos/Resource/LocalGuideDataDto.cs

@@ -0,0 +1,132 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Resource
+{
+    /// <summary>
+    /// 地接导游修改添加参数
+    /// </summary>
+    public class LocalGuideOperationDto
+    {
+        /// <summary>
+        /// 操作状态
+        /// 1 添加 
+        /// 2 修改 
+        /// </summary>
+        public int Status { get; set; }
+
+        /// <summary>
+        /// 地接导游Id
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 区域
+        /// </summary>
+        public string UnitArea { get; set; }
+
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string UnitName { get; set; }
+
+        /// <summary>
+        /// 地址
+        /// </summary>
+        public string Address { get; set; }
+
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+
+        /// <summary>
+        /// 联系人手机号
+        /// </summary>
+        public string ContactTel { get; set; }
+        
+
+        /// <summary>
+        /// 联系人邮箱
+        /// </summary>
+        public string ContactEmail { get; set; }
+
+        /// <summary>
+        /// 联系人传真
+        /// </summary>
+        public string ContactFax { get; set; }
+
+        /// <summary>
+        /// 其他信息
+        /// </summary>
+        public string OtherInfo { get; set; }
+
+        /// <summary>
+        /// 服务评分
+        /// </summary>
+        public int Score { get; set; }
+
+        /// <summary>
+        /// 着装得体
+        /// A B C  选择
+        /// </summary>
+        public string SuitScore { get; set; }
+
+        /// <summary>
+        /// 服务意识强度
+        /// A B C  选择
+        /// </summary>
+        public string ServeScore { get; set; }
+
+        /// <summary>
+        /// 讲解水平专业
+        /// A B C  选择
+        /// </summary>
+        public string TalkProScore { get; set; }
+
+        /// <summary>
+        /// 时间概念强度
+        /// A B C  选择
+        /// </summary>
+        public string TimeScore { get; set; }
+
+        /// <summary>
+        /// 配合能力强,服从安排
+        /// A B C  选择
+        /// </summary>
+        public string FitScore { get; set; }
+
+        /// <summary>
+        /// 应变能力强
+        /// A B C  选择
+        /// </summary>
+        public string StrainScore { get; set; }
+
+        /// <summary>
+        /// 当地语言和中文表达流畅
+        /// A B C  选择
+        /// </summary>
+        public string LocalAndChineseScore { get; set; }
+
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+    }
+
+    /// <summary>
+    /// 地接导游删除参数
+    /// </summary>
+    public class LocalGuideDelDto
+    {
+        public int Id { get; set; }
+        public int DeleteUserId { get; set; }
+    }
+}

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

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

+ 19 - 10
OASystem/OASystem.Infrastructure/Repositories/BaseRepository.cs

@@ -132,6 +132,24 @@ namespace OASystem.Infrastructure.Repositories
             return _sqlSugar.Insertable(entity).ExecuteReturnIdentityAsync();
         }
 
+        /// <summary>
+        /// 删除单挑数据,加上删除者Id
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="id"></param>
+        /// <param name="DeleteUserId"></param>
+        /// <returns></returns>
+        public virtual async Task<bool> SoftDeleteByIdAsync<T>(string id, int DeleteUserId) where T : EntityBase, new()
+        {
+            var result = await _sqlSugar.Updateable<TEntity>().Where(a => a.Id.Equals(id)).SetColumns(a => new TEntity()
+            {
+                IsDel = 1,
+                DeleteUserId = DeleteUserId,
+                DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+            }).ExecuteCommandAsync();
+            return result > 0;
+        }
+
         #endregion
 
         public virtual Task<bool> AnyAsync(Expression<Func<TEntity, bool>> exp)
@@ -245,16 +263,7 @@ namespace OASystem.Infrastructure.Repositories
             }).ExecuteCommandAsync();
             return result > 0;
         }
-        public virtual async Task<bool> SoftDeleteByIdAsync<T>(string id,int DeleteUserId) where T : EntityBase, new()
-        {
-            var result = await _sqlSugar.Updateable<TEntity>().Where(a => a.Id.Equals(id)).SetColumns(a => new TEntity()
-            {
-                IsDel = 1,
-                DeleteUserId = DeleteUserId,
-                DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
-            }).ExecuteCommandAsync();
-            return result > 0;
-        }
+       
         public virtual async Task<bool> SoftDeleteAsync<T>(Expression<Func<TEntity, bool>> wherexp) where T : EntityBase, new()
         {
             var result = await _sqlSugar.Updateable<TEntity>().Where(wherexp).SetColumns(a => new TEntity()

+ 85 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/LocalGuideDataRepository.cs

@@ -0,0 +1,85 @@
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Groups;
+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 LocalGuideDataRepository : BaseRepository<Res_LocalGuideData, LocalGuideDataView>
+    {
+        private readonly IMapper _mapper;
+        public LocalGuideDataRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper=mapper;
+        }
+        public async Task<Result> LocalGuideOperation(LocalGuideOperationDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                if (dto.Status == 1)//添加
+                {
+                    string selectSql = string.Format(@"select * from Res_LocalGuideData where UnitArea='{0}' and UnitName='{1}' and Contact='{2}' and ContactTel='{3}'"
+                                                       , dto.UnitArea, dto.UnitName, dto.Contact, dto.ContactTel);
+                    var LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(selectSql).FirstAsync();
+                    if (LocalGuideData != null)
+                    {
+                         return result = new Result() { Code = -1, Msg = "该信息已存在,请勿重复添加!" };
+                         
+                    }
+                    else//不存在,可添加
+                    {
+                        Res_LocalGuideData _LocalGuideDat = _mapper.Map<Res_LocalGuideData>(dto);
+                        int id = await AddAsyncReturnId(_LocalGuideDat);
+                        if (id == 0)
+                        {
+                            return result = new Result() { Code = -1, Msg = "添加失败!" };
+
+                        }
+                         result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
+                    }
+                }
+                else if(dto.Status == 2)//修改
+                {
+                    bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Res_LocalGuideData
+                    {
+                        UnitArea = dto.UnitArea,
+                        UnitName = dto.UnitName,
+                        Address = dto.Address,
+                        Contact = dto.Contact,
+                        ContactTel = dto.ContactTel,
+                        ContactEmail = dto.ContactEmail,
+                        ContactFax = dto.ContactFax,
+                        OtherInfo = dto.OtherInfo,
+                        Score = dto.Score,
+                        SuitScore = dto.SuitScore,
+                        ServeScore = dto.ServeScore,
+                        TalkProScore = dto.TalkProScore,
+                        TimeScore = dto.TimeScore,
+                        FitScore = dto.FitScore,
+                        StrainScore = dto.StrainScore,
+                        LocalAndChineseScore = dto.LocalAndChineseScore,
+                        Remark = dto.Remark,
+                    });
+                    if (!res)
+                    {
+                        return result = new Result() { Code = -1, Msg = "修改失败!" };
+                    }
+                    result = new Result() { Code = 0, Msg = "修改成功!" };
+                }
+            }
+            catch (Exception ex)
+            {
+                return result = new Result() { Code = -2, Msg = "程序错误!" };
+            }
+            return result;
+        }
+    }
+}