Browse Source

1、保险国家基础费用 --> API代码编写(CRUD)

LEIYI 3 months ago
parent
commit
7ad4f3dd5d

+ 2 - 2
OASystem/EntitySync/Program.cs

@@ -143,7 +143,7 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Res_TranslatorLibrary),//翻译人员库 
     //typeof(Grp_OfficialDutyLinkTranslator),//公务信息关联翻译人员 
     //typeof(Sys_DeviceToken),
-    typeof(Res_MediaSuppliers)//策划部供应商资料
-
+    //typeof(Res_MediaSuppliers),//策划部供应商资料 
+    typeof(Res_BasicInsuranceCost)//保险国家基础费用 
 });
 Console.WriteLine("数据库结构同步完成!");

+ 0 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1263,7 +1263,6 @@ FROM
             return Ok(JsonView(true, "操作成功!", rst));
         }
 
-
         #endregion
 
         #region 团组&签证

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

@@ -47,6 +47,8 @@ namespace OASystem.API.Controllers
         private readonly TranslatorLibraryRepository _translatorRep;
         private readonly MediaSuppliersRepository _mediaSupplierRep;
         private readonly List<int> _portIds;
+        private readonly BasicInsuranceCostRepository _insuranceCostRep;
+
 
         public ResourceController(
             IMapper mapper, 
@@ -68,7 +70,8 @@ namespace OASystem.API.Controllers
             TourClientListRepository tourClientListRep, 
             DelegationInfoRepository delegationInfoRep,
             TranslatorLibraryRepository translatorRep,
-            MediaSuppliersRepository mediaSupplierRep
+            MediaSuppliersRepository mediaSupplierRep,
+            BasicInsuranceCostRepository insuranceCostRep
             )
         {
             _mapper = mapper;
@@ -92,6 +95,7 @@ namespace OASystem.API.Controllers
             _translatorRep = translatorRep;
             _mediaSupplierRep = mediaSupplierRep;
             _portIds = new List<int> { 1, 2, 3 };
+            _insuranceCostRep = insuranceCostRep;
         }
 
         #region 车公司资料板块
@@ -4155,7 +4159,6 @@ WHERE
         /// 策划部供应商资料
         /// Init
         /// </summary>
-        /// <param name="id"></param>
         /// <returns></returns>
         [HttpGet]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
@@ -4236,6 +4239,138 @@ WHERE
         }
 
         #endregion
+
+        #region 保险国家基础费用
+
+        /// <summary>
+        /// 保险国家基础费用
+        /// Info
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> InsuranceCostInfo(InsuranceCostInfoDto dto)
+        {
+            if (!_portIds.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+
+            if (dto.Id < 1) return Ok(JsonView(false, MsgTips.Port));
+
+            var id = dto.Id;
+            var info = await _insuranceCostRep.Query(x => x.Id == id)
+                .Select(x => new {
+                    x.Id,
+                    x.IsSchengen,
+                    x.CountryName,
+                    x.Cost,
+                    x.Remark,
+                    CreateUserName = SqlFunc.Subqueryable<Sys_Users>().Where(s => s.Id == x.CreateUserId).Select(s => s.CnName).FirstOrDefault(),
+                    x.CreateTime
+                })
+                .FirstAsync();
+
+
+            return Ok(JsonView(info));
+        }
+
+        /// <summary>
+        /// 保险国家基础费用
+        /// 分页查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> InsuranceCostPageItem(InsuranceCostPageItemDto dto)
+        {
+            if (!_portIds.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+
+            RefAsync<int> total = 0;
+
+            var data = await _sqlSugar.Queryable<Res_BasicInsuranceCost>()
+                .LeftJoin<Sys_Users>((bic,u) => bic.CreateUserId == u.Id)
+                .Where((bic, u) => bic.IsDel == 0)
+                .WhereIF(!string.IsNullOrEmpty(dto.Search), (bic, u) => bic.CountryName.Contains(dto.Search))
+                .OrderBy((bic, u) => bic.Id)
+                .Select((bic, u) => new {
+                    bic.Id,
+                    bic.IsSchengen,
+                    bic.CountryName,
+                    bic.Cost,
+                    bic.Remark,
+                    CreateUserName = u.CnName,
+                    bic.CreateTime
+                })
+                .ToPageListAsync(dto.PageIndex,dto.PageSize,total);
+
+            return Ok(JsonView(data,total));
+        }
+
+        /// <summary>
+        /// 保险国家基础费用
+        /// 操作(添加 Or 编辑)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> InsuranceCostOp(InsuranceCostOpDto dto)
+        {
+            var result = new JsonView() { Code = 400, Msg = "操作失败" };
+            var userId = dto.CurrUserId;
+            if (!_portIds.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+            if (userId < 1) return Ok(JsonView(false, MsgTips.UserId));
+            var countryName = dto.CountryName.Trim();
+            if (string.IsNullOrEmpty(countryName)) return Ok(JsonView(false,$"国家名称不能为空!"));
+
+            var info = _mapper.Map<Res_BasicInsuranceCost>(dto);
+            info.CreateUserId = dto.CurrUserId;
+            info.CountryName = countryName;
+            if (dto.Id < 1) //添加
+            {
+                var addInfo = await _insuranceCostRep.Query(x => x.CountryName.Equals(countryName)).FirstAsync();
+                if (addInfo != null) return Ok(JsonView(false, $"该国家信息已存在,不可添加!"));
+                var add = await _insuranceCostRep.AddAsync(info);
+                if (add < 1) return Ok(JsonView(false, "添加失败!"));
+            }
+            else //修改
+            {
+                var upd = await _insuranceCostRep.UpdateAsync(x => x.Id == dto.Id, x => new Res_BasicInsuranceCost
+                {
+                    IsSchengen = dto.IsSchengen,
+                    CountryName = dto.CountryName, 
+                    Cost = dto.Cost,
+                    Remark = dto.Remark
+                });
+                if (!upd) return Ok(JsonView(false, "修改失败!"));
+            }
+
+            return Ok(JsonView(true));
+        }
+
+        /// <summary>
+        /// 保险国家基础费用
+        /// 删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> InsuranceCostSoftDel(InsuranceCostSoftDelDto dto)
+        {
+            int userId = dto.CurrUserId, id = dto.Id;
+            if (!_portIds.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+
+            if (userId < 1) return Ok(JsonView(false, MsgTips.UserId));
+            if (id < 1) return Ok(JsonView(false, MsgTips.Id));
+
+            var del = await _insuranceCostRep.SoftDeleteAsync(x => x.Id == id, userId);
+            if (!del) return Ok(JsonView(false));
+
+            return Ok(JsonView(true));
+        }
+
+        #endregion
     }
 }
 

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

@@ -149,6 +149,7 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<Grp_CreditCardPayment, CarTouristCreditCardPaymentView>();
             CreateMap<Grp_CarTouristGuideGroundReservationsContent, CarTouristGuideGroundReservationsContentView>();
             #endregion
+
             #region 成本
             CreateMap<Grp_GroupCostDto, Grp_GroupCost>();
             CreateMap<Grp_CheckBoxsDto, Grp_CheckBoxs>();
@@ -257,6 +258,11 @@ namespace OASystem.Domain.AutoMappers
             #region 供应商资料库
             CreateMap<MediaSupplierAddOrEditDto, Res_MediaSuppliers>();
             #endregion
+
+
+            #region 保险国家基础费用
+            CreateMap<InsuranceCostOpDto, Res_BasicInsuranceCost>();
+            #endregion
             #endregion
 
             #region Crm

+ 66 - 0
OASystem/OASystem.Domain/Dtos/Resource/InsuranceCostDto.cs

@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Resource
+{
+    public class InsuranceCostDto
+    {
+    }
+
+
+    public class InsuranceCostInfoDto : PortDtoBase
+    {
+        public int Id { get; set; }
+    }
+
+    public class InsuranceCostPageItemDto : DtoBase
+    {
+        /// <summary>
+        /// 搜索条件(国家名称)
+        /// </summary>
+        public string Search { get; set; }
+    }
+
+    public class InsuranceCostOpDto : PortDtoBase
+    {
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int CurrUserId { get; set; }
+
+        /// <summary>
+        /// 申根国(0 否 1 是)
+        /// </summary>
+        public int IsSchengen { get; set; }
+
+        /// <summary>
+        /// 国家名称
+        /// </summary>
+        public string CountryName { get; set; }
+
+        /// <summary>
+        /// 保险费用
+        /// </summary>
+        public decimal Cost { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+    }
+
+    public class InsuranceCostSoftDelDto : PortDtoBase
+    {
+        public int CurrUserId { get; set; }
+        public int Id { get; set; }
+    }
+}

+ 34 - 0
OASystem/OASystem.Domain/Entities/Resource/Res_BasicInsuranceCost.cs

@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Resource
+{
+    /// <summary>
+    /// 保险国家基础费用
+    /// </summary>
+    [SugarTable("Res_BasicInsuranceCost")]
+    public class Res_BasicInsuranceCost : EntityBase
+    {
+        /// <summary>
+        /// 申根国(0 否 1 是)
+        /// </summary>
+        [SugarColumn(ColumnDescription = "申根国(0 否 1 是)", IsNullable = false, ColumnDataType = "int", DefaultValue = "0")]
+        public int IsSchengen { get; set; }
+
+        /// <summary>
+        /// 国家名称
+        /// </summary>
+        [SugarColumn(ColumnDescription = "国家名称", IsNullable = false, ColumnDataType = "varchar(100)")]
+        public string CountryName { get; set; }
+
+        /// <summary>
+        /// 保险费用
+        /// </summary>
+        [SugarColumn(ColumnDescription = "保险费用", IsNullable = false, ColumnDataType = "decimal(10,2)", DefaultValue = "0.00")]
+        public decimal Cost { get; set; }
+
+    }
+}

+ 29 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/BasicInsuranceCostRepository.cs

@@ -0,0 +1,29 @@
+using AutoMapper;
+using OASystem.Domain.Entities.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    /// <summary>
+    /// 保险国家基础费用
+    /// 仓储
+    /// </summary>
+    public class BasicInsuranceCostRepository:BaseRepository<Res_BasicInsuranceCost, Res_BasicInsuranceCost>
+    {
+        private readonly IMapper _mapper;
+
+        /// <summary>
+        /// 初始化
+        /// </summary>
+        /// <param name="sqlSugar"></param>
+        /// <param name="mapper"></param>
+        public BasicInsuranceCostRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+    }
+}