Ver código fonte

修改 客户表实体类 完善其他。。

leiy 1 ano atrás
pai
commit
0ef041321d

+ 1 - 0
OASystem/EntitySync/Program.cs

@@ -80,5 +80,6 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
 
     //typeof(Sys_Message),
     //typeof(Sys_MessageReadAuth)
+    typeof(Crm_DeleClient)
 });
 Console.WriteLine("数据库结构同步完成!");

+ 25 - 18
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -6,6 +6,7 @@ using OASystem.Domain.Dtos.UserDto;
 using OASystem.API.OAMethodLib;
 using Serilog.Parsing;
 using OASystem.Domain.Dtos.System;
+using System.Drawing.Drawing2D;
 
 namespace OASystem.API.Controllers
 {
@@ -19,6 +20,7 @@ namespace OASystem.API.Controllers
         private readonly IConfiguration _config;
         private readonly LoginRepository _loginRep;
         private readonly MessageRepository _message; 
+
         public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper,MessageRepository message)
         {
             _config = config;
@@ -38,22 +40,27 @@ namespace OASystem.API.Controllers
         public async Task<IActionResult> LoginAsync(LoginDto dto)
         {
             #region 校验用户信息 
-            var userData = _loginRep.Login(dto);
-            if (userData.Result.Code != 0)
+            var userData = _loginRep.Login(dto).Result;
+            if (userData.Code != 0)
             {
-                if (userData.Result.Code != 0) { return Ok(JsonView(false, userData.Result.Msg)); }
+                if (userData.Code != 0) { return Ok(JsonView(false, userData.Msg)); }
 
                 return Ok(JsonView(false, "暂无该员工信息!"));
             }
 
             #endregion
+
+
+            dynamic authData = null;
+
             var view = new LoginView
             {
-                UserInfo = userData.Result.Data
+                UserInfo = userData.Data,
+                AuthData = authData,
             };
 
 
-            DateTime createZebraTime = DateTime.UtcNow;
+            DateTime createZebraTime = DateTime.Now;
             string authorId = dto.Number + "Token";
             string authorToken = await RedisRepository.RedisFactory.CreateRedisRepository().StringGetAsync<string>(authorId);//string 取
             if (authorToken !=  null)
@@ -84,19 +91,19 @@ namespace OASystem.API.Controllers
 
             #region 测试添加系统消息
 
-            await _message.AddMsg(new MessageDto()
-            {
-                Type = 1,
-                IssuerId = 208,
-                Title = "测试添加消息标题",
-                Content = "消息体测试",
-                ReleaseTime = DateTime.Now,
-                UIdList = new List<int> {
-                    5,
-                    208,
-                    219
-                }
-            });
+            //await _message.AddMsg(new MessageDto()
+            //{
+            //    Type = 1,
+            //    IssuerId = 208,
+            //    Title = "测试添加消息标题",
+            //    Content = "消息体测试",
+            //    ReleaseTime = DateTime.Now,
+            //    UIdList = new List<int> {
+            //        5,
+            //        208,
+            //        219
+            //    }
+            //});
             #endregion
 
             return Ok(JsonView(view));

+ 50 - 7
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -16,6 +16,7 @@ namespace OASystem.API.Controllers
         private readonly GrpScheduleRepository _grpScheduleRep;
         private readonly IMapper _mapper;
         private readonly DelegationInfoRepository _groupRepository;
+
         public GroupsController(IMapper mapper, GrpScheduleRepository grpScheduleRep, DelegationInfoRepository groupRepository)
         {
             _mapper = mapper;
@@ -110,30 +111,68 @@ namespace OASystem.API.Controllers
         [HttpPost]
         public async Task<IActionResult> GroupEditBasicSource(GroupListDto dto)
         {
+
             var groupData = await _groupRepository.GroupEditBasicSource(dto);
             if (groupData.Code != 0)
             {
                 return Ok(JsonView(false, groupData.Msg));
             }
-
             return Ok(JsonView(groupData.Data));
+
         }
 
         /// <summary>
-        /// 接团信息 操作(增改)
+        /// 接团信息 操作(增改)
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
         [HttpPost]
         public async Task<IActionResult> GroupOperation(GroupOperationDto dto)
         {
-            var groupData = await _groupRepository.GroupOperation(dto);
-            if (groupData.Code != 0)
+            try
             {
-                return Ok(JsonView(false, groupData.Msg));
+                var groupData = await _groupRepository.GroupOperation(dto);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+
+                return Ok(JsonView(true));
+            }
+            catch (Exception ex)
+            {
+
+                Logs("[response]" +  JsonConvert.SerializeObject( dto));
+                Logs(ex.Message);
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
+        /// <summary>
+        /// 接团信息 操作(删除)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GroupDel(GroupDelDto dto)
+        {
+            try
+            {
+                var groupData = await _groupRepository.GroupDel(dto);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+
+                return Ok(JsonView(true));
             }
+            catch (Exception ex)
+            {
 
-            return Ok(JsonView(true));
+                Logs("[response]" + JsonConvert.SerializeObject(dto));
+                Logs(ex.Message);
+                return Ok(JsonView(false, ex.Message));
+            }
         }
 
         /// <summary>
@@ -149,8 +188,12 @@ namespace OASystem.API.Controllers
             {
                 return Ok(JsonView(false, groupData.Msg));
             }
+            object salesQuoteNo = new
+            {
+                SalesQuoteNo = groupData.Data
+            };
 
-            return Ok(JsonView(true, groupData.Data));
+            return Ok(JsonView(salesQuoteNo));
         }
         #endregion
     }

+ 79 - 4
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -1,4 +1,5 @@
-using System.Collections;
+using OASystem.Domain.Dtos.System;
+using System.Collections;
 using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
 
 namespace OASystem.API.Controllers
@@ -15,7 +16,7 @@ namespace OASystem.API.Controllers
         private readonly DepartmentRepository _sysDepRep;
         private readonly UsersRepository _userRep;
         private readonly IMapper _mapper;
-
+        private readonly MessageRepository _messageRep;
         private readonly SetDataRepository _setDataRepository;
         private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
         private readonly CompanyRepository _CompanyRepository;
@@ -28,12 +29,13 @@ namespace OASystem.API.Controllers
         public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
             IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
             SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
-            SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, JobPostRepository jobRep
-            , UserAuthorityRepository userAuthorityRepository)
+            SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, 
+            JobPostRepository jobRep,UserAuthorityRepository userAuthorityRepository, MessageRepository messageRep)
             
         {
             _syscomRep = syscom;
             _sysDepRep = sysDepRep;
+            _messageRep = messageRep;
             _userRep = userRep;
             _mapper = mapper;
             _setDataRepository = setDataRepository;
@@ -46,8 +48,81 @@ namespace OASystem.API.Controllers
         }
         #region 消息
 
+        /// <summary>
+        /// 获取消息列表
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetMsgList(MsgDto dto)
+        {
+            var msgData = await _messageRep.GetMsgList(dto);
+
+            if (msgData.Code != 0)
+            {
+                return Ok(JsonView(false, msgData.Msg));
+            }
+
+            return Ok(JsonView(true, msgData.Data));
+        }
+
+        /// <summary>
+        /// 获取消息详细信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetMsgInfo(MsgInfoDto dto)
+        {
+            var msgData = await _messageRep.GetMsgInfo(dto);
+
+            if (msgData.Code != 0)
+            {
+                return Ok(JsonView(false, msgData.Msg));
+            }
+
+            return Ok(JsonView(true, msgData.Data));
+        }
 
+        /// <summary>
+        /// 消息设置已读
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> SetMessageRead(MsgSetReadDto dto)
+        {
+            var msgData = await _messageRep.SetMsgRead(dto);
+
+            if (msgData.Code != 0)
+            {
+                return Ok(JsonView(false, msgData.Msg));
+            }
+
+            return Ok(JsonView(true, msgData.Data));
+        }
 
+        /// <summary>
+        /// 消息设置已读
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> DeleMsg(MsgDeleteDto dto)
+        {
+            var msgData = await _messageRep.DelMsg(dto);
+
+            if (msgData.Code != 0)
+            {
+                return Ok(JsonView(false, msgData.Msg));
+            }
+
+            return Ok(JsonView(true, msgData.Data));
+        }
         #endregion
 
         #region 企业操作

+ 24 - 0
OASystem/OASystem.Api/OAMethodLib/JsonConvertOverride.cs

@@ -48,4 +48,28 @@ namespace OASystem.API.OAMethodLib
 
     #endregion
 
+
+    #region String null值转换(读/写)
+
+
+    //public class Int32JsonConverter : System.Text.Json.Serialization.JsonConverter<int?>
+    //{
+    //    private readonly string Format;
+    //    public Int32JsonConverter(string format)
+    //    {
+    //        Format = format;
+    //    }
+    //    public override void Write(Utf8JsonWriter writer, int? value, JsonSerializerOptions options)
+    //    {
+    //        writer.WriteStringValue((value ?? 0).ToString());
+    //    }
+    //    public override int Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+    //    {
+    //        return Convert.ToInt32(reader.GetString()) ?? 0; 
+    //    }
+
+    //}
+
+    #endregion
+
 }

+ 1 - 1
OASystem/OASystem.Domain/Dtos/DtoBase.cs

@@ -15,7 +15,7 @@ namespace OASystem.Domain.Dtos
         /// 请求端口分类
         /// 1 Web 2 Android 3 IOS
         /// </summary>
-        public int PortType { get; set; }
+        public int PortType { get; set; } = 1;
 
         public int PageIndex { get; set; }
         public int PageSize { get; set; }

+ 21 - 5
OASystem/OASystem.Domain/Dtos/Groups/GroupListDto.cs

@@ -1,5 +1,7 @@
-using System;
+using Newtonsoft.Json;
+using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -94,7 +96,7 @@ namespace OASystem.Domain.Dtos.Groups
         /// <summary>
         /// 出访时间
         /// </summary>
-        public DateTime VisitDate { get; set; }
+        public string VisitDate { get; set; }
 
         /// <summary>
         /// 出访天数
@@ -109,12 +111,12 @@ namespace OASystem.Domain.Dtos.Groups
         /// <summary>
         /// 合同时间
         /// </summary>
-        public DateTime TontractTime { get; set; }
+        public string TontractTime { get; set; }
 
         /// <summary>
         /// 预付期限
         /// </summary>
-        public DateTime PayDay { get; set; }
+        public int PayDay { get; set; }
 
         /// <summary>
         /// 支付款项(预付)
@@ -167,5 +169,19 @@ namespace OASystem.Domain.Dtos.Groups
         public string Remark { get; set; }
     }
 
-    
+    /// <summary>
+    /// 团组信息删除
+    /// </summary>
+    public class GroupDelDto:DtoBase
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int UserId { get; set; }
+    }
 }

+ 61 - 0
OASystem/OASystem.Domain/Dtos/System/MsgDto.cs

@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    /// <summary>
+    /// 消息列表
+    /// 请求dto
+    /// </summary>
+    public class MsgDto:DtoBase
+    {
+        /// <summary>
+        /// 用户ID
+        /// </summary>
+        public int UserId { get; set; }
+    }
+
+    /// <summary>
+    /// 消息详细信息
+    /// 请求dto
+    /// </summary>
+    public class MsgInfoDto : DtoBase
+    {
+        /// <summary>
+        /// 消息Id
+        /// </summary>
+        public int MsgId { get; set; }
+    }
+
+    /// <summary>
+    /// 消息设置已读
+    /// 请求dto
+    /// </summary>
+    public class MsgSetReadDto : DtoBase
+    {
+        /// <summary>
+        /// MsgAnthId
+        /// </summary>
+        public int MsgAnthId { get; set; }
+    }
+
+    /// <summary>
+    /// 消息删除
+    /// 请求dto
+    /// </summary>
+    public class MsgDeleteDto : DtoBase
+    {
+        /// <summary>
+        /// MsgId
+        /// </summary>
+        public int MsgId { get; set; }
+
+        /// <summary>
+        /// userId
+        /// </summary>
+        public int UserId { get; set; }
+    }
+}

+ 1 - 1
OASystem/OASystem.Domain/Dtos/UserDto/LoginDto.cs

@@ -6,7 +6,7 @@ namespace OASystem.Domain.Dtos.UserDto;
 /// 用户登录
 /// 提交DTO
 /// </summary>
-public class LoginDto
+public class LoginDto:DtoBase
 {
     /// <summary>
     /// 登录账号

+ 48 - 37
OASystem/OASystem.Domain/Entities/Customer/Crm_DeleClient.cs

@@ -13,36 +13,6 @@ namespace OASystem.Domain.Entities.Customer
     [SugarTable("Crm_DeleClient")]
     public class Crm_DeleClient:EntityBase
     {
-        /// <summary>
-        /// 客户公司表Id
-        /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
-        public int CompanyId { get; set; }
-        /// <summary>
-        /// 机票喜好舱位
-        /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType = "varchar(300)")]
-        public string AirType { get; set; }
-        /// <summary>
-        /// 是否靠窗
-        /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
-        public int SeatPref { get; set; }
-        /// <summary>
-        /// 机票备注
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
-        public string AirRemark { get; set; }
-        /// <summary>
-        /// 酒店喜好房型
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
-        public string RoomType { get; set; }
-        /// <summary>
-        /// 酒店需求
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
-        public string RoomPref { get; set; }
         /// <summary>
         /// 中文姓名
         /// </summary>
@@ -69,11 +39,11 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int Sex { get; set; }
         /// <summary>
-        /// 婚姻状况 0、1、2 (已婚、未婚、离异等)
+        /// 婚姻状况 0、1、2、3、4 (未设置、未婚、已婚、离异、丧偶)
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int Marriage { get; set; }
-        /// <summary>
+
         /// 客户手机号
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
@@ -93,6 +63,33 @@ namespace OASystem.Domain.Entities.Customer
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
         public string BirthDay { get; set; }
+
+        /// <summary>
+        /// 机票喜好舱位
+        /// </summary>
+        [SugarColumn(IsNullable =true,ColumnDataType = "varchar(300)")]
+        public string AirType { get; set; }
+        /// <summary>
+        /// 是否靠窗
+        /// </summary>
+        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
+        public int SeatPref { get; set; }
+        /// <summary>
+        /// 机票备注
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
+        public string AirRemark { get; set; }
+        /// <summary>
+        /// 酒店喜好房型
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
+        public string RoomType { get; set; }
+        /// <summary>
+        /// 酒店需求
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
+        public string RoomPref { get; set; }
+       
         /// <summary>
         /// 客户联系方式
         /// </summary>
@@ -118,6 +115,13 @@ namespace OASystem.Domain.Entities.Customer
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string PostCodes { get; set; }
+
+        /// <summary>
+        /// 客户公司Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public string CrmCompanyId { get; set; }
+
         /// <summary>
         /// 职位
         /// </summary>
@@ -164,7 +168,8 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
         public string ClientLeaderJob { get; set; }
         /// <summary>
-        /// 是否有获批的申根签证 0否1是
+        /// 是否有获批的申根签证 
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int IsGetSchengen { get; set; }
@@ -179,7 +184,8 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "Datetime")]
         public DateTime EndTime { get; set; }
         /// <summary>
-        /// 申根是否在使馆有指纹记录 0否1是
+        /// 申根是否在使馆有指纹记录 
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable =true,ColumnDataType ="int")]
         public int IsFinger { get; set; }
@@ -190,6 +196,7 @@ namespace OASystem.Domain.Entities.Customer
         public DateTime FingerDate { get; set; }
         /// <summary>
         /// 是否因公去过美国/加拿大
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int IsVisitUC { get; set; }
@@ -220,6 +227,7 @@ namespace OASystem.Domain.Entities.Customer
         public int IsUSAVia { get; set; }
         /// <summary>
         /// 因公美国签证最近获得时间
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable =true,ColumnDataType ="DateTime")]
         public DateTime GetUSAVisaDate { get; set; }
@@ -289,7 +297,8 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int IsUSAVisa { get; set; }
         /// <summary>
-        /// 夫/妻是否已在美国 0否1是
+        /// 夫/妻是否已在美国 
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int MateUSA { get; set; }
@@ -309,7 +318,8 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable =true,ColumnDataType ="varchar(50)")]
         public string WHIden { get; set; }
         /// <summary>
-        /// 父/母是否已在美国 0否1是
+        /// 父/母是否已在美国
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int ParentUSA { get; set; }
@@ -344,7 +354,8 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
         public string Social { get; set; }
         /// <summary> 
-        /// 是否参军  0否1是
+        /// 是否参军  
+        /// 0否1是
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public string IsArmy { get; set; }

+ 2 - 2
OASystem/OASystem.Domain/Entities/Groups/Grp_DelegationInfo.cs

@@ -192,8 +192,8 @@ namespace OASystem.Domain.Entities.Groups
         /// <summary>
         /// 预付期限
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
-        public DateTime PayDay { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int PayDay { get; set; }
         /// <summary>
         /// 出国任务审批部门名称
         /// </summary>

+ 1 - 1
OASystem/OASystem.Domain/Result.cs

@@ -10,6 +10,6 @@ namespace OASystem.Domain
     {
         public int Code { get; set; } = -1;
         public string Msg { get; set; } = "未知错误";
-        public dynamic Data { get; set; } = null;
+        public dynamic? Data { get; set; } = null;
     }
 }

+ 15 - 4
OASystem/OASystem.Domain/ViewModels/Group/DelegationInfoView.cs

@@ -1,7 +1,9 @@
-using OASystem.Domain.Dtos;
+using Newtonsoft.Json;
+using OASystem.Domain.Dtos;
 using OASystem.Domain.Entities.Groups;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -31,6 +33,11 @@ namespace OASystem.Domain.ViewModels.Group
         public string SalesQuoteNo { get; set; }
 
 
+        /// <summary>
+        /// 接团人ID
+        /// </summary>
+        public int JietuanOperator { get; set; }
+
         /// <summary>
         /// 团组等级
         /// </summary>
@@ -80,11 +87,10 @@ namespace OASystem.Domain.ViewModels.Group
         /// 合同时间
         /// </summary>
         public DateTime TontractTime { get; set; }
-
         /// <summary>
-        /// 预付
+        /// 预付期
         /// </summary>
-        public DateTime PayDay { get; set; }
+        public int PayDay { get; set; }
 
         /// <summary>
         /// 预付金额
@@ -150,6 +156,11 @@ namespace OASystem.Domain.ViewModels.Group
         /// </summary>
         public string SalesQuoteNo { get; set; }
 
+        /// <summary>
+        /// 团号
+        /// </summary>
+        public string TourCode { get; set; }
+
         /// <summary>
         /// 接团操作人
         /// </summary>

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/LoginView.cs

@@ -19,4 +19,9 @@ public class LoginView
     /// 返回用户信息
     /// </summary>
     public object? UserInfo { get; set; }
+
+    /// <summary>
+    /// 返回用户权限信息
+    /// </summary>
+    public object? AuthData { get; set; }
 }

+ 54 - 0
OASystem/OASystem.Domain/ViewModels/System/MessageView.cs

@@ -67,4 +67,58 @@ namespace OASystem.Domain.ViewModels.System
         public DateTime? ReadTime { get; set; }
     }
 
+    public class MessageInfoView 
+    {
+        /// <summary>
+        /// 消息类型
+        /// </summary>
+        public int Type { get; set; }
+
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string CompanyName { get; set; }
+
+        /// <summary>
+        /// 部门名称
+        /// </summary>
+        public string DepName { get; set; }
+
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+
+        /// <summary>
+        /// 发布人
+        /// </summary>
+        public string CnName { get; set; }
+
+        /// <summary>
+        /// 发布时间
+        /// </summary>
+        public DateTime ReleaseTime { get; set; }
+
+        /// <summary>
+        /// 消息标题
+        /// </summary>
+        public string Title { get; set; }
+
+        /// <summary>
+        /// 消息内容
+        /// </summary>
+        public string Content { get; set; }
+
+        /// <summary>
+        /// 是否已读
+        /// 0 未读 1 已读
+        /// </summary>
+        public int IsRead { get; set; }
+
+        /// <summary>
+        /// 已读时间
+        /// 1990-01-01 00:00:000 未读
+        /// </summary>
+        public DateTime ReadTime { get; set; }
+    }
 }

+ 5 - 5
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -94,10 +94,10 @@ namespace OASystem.Domain.ViewModels.System
     /// </summary>
     public class UserLoginInfoView
     {
-        ///// <summary>
-        ///// 工号
-        ///// </summary>
-        ////public string Number { get; set; }
+        /// <summary>
+        /// 工号
+        /// </summary>
+        //public string Number { get; set; }
 
         /// <summary>
         /// 用户Id
@@ -127,7 +127,7 @@ namespace OASystem.Domain.ViewModels.System
         /// <summary>
         /// 邮箱
         /// </summary>
-        public int DepId { get; set; }
+        public string Email { get; set; }
 
     }
     /// <summary>

+ 104 - 35
OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs

@@ -6,6 +6,7 @@ using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.ViewModels.Group;
 using OASystem.Infrastructure.Repositories.System;
 using Org.BouncyCastle.Utilities.Collections;
+using Serilog;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
@@ -22,6 +23,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
     {
         private readonly SetDataRepository _setDataRepository;
         private readonly UsersRepository _usersRepository;
+        //public readonly Logs _logs;
 
         public DelegationInfoRepository(SqlSugarClient sqlSugar, SetDataRepository setDataRepository, UsersRepository usersRepository)
             : base(sqlSugar)
@@ -39,7 +41,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         {
             Result result = new Result() { Code = -2, Msg = "未知错误" };
 
-            if (dto.PortType == 1) //web
+            if (dto.PortType == 1 || dto.PortType == 2) //web
             {
                 string sql = string.Format(@"Select gdi.Id,SalesQuoteNo,TourCode,ssd.Name TeamType,ssd1.Name TeamLev,TeamName,ClientName,
                                                     ClientUnit,VisitDate,VisitDays,VisitPNumber,su.CnName JietuanOperator,IsSure
@@ -77,7 +79,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         {
             Result result = new Result() { Code = -2, Msg = "未知错误" };
 
-            if (dto.PortType == 1) //web
+            if (dto.PortType == 1 || dto.PortType == 2) //web
             {
                 string sql = string.Format(@"Select Id,SalesQuoteNo,JietuanOperator,TeamLevSId,TeamDid,TeamName,ClientName,
 	                                                ClientUnit,VisitCountry,VisitDate,VisitDays,VisitPNumber,TontractTime,
@@ -112,41 +114,50 @@ namespace OASystem.Infrastructure.Repositories.Groups
         {
             Result result = new Result() { Code = -2, Msg = "未知错误" };
 
-            if (dto.PortType == 1) //web
+            try
             {
-                dynamic? teamTypeData1 = null;
-                string teamTypeSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 10, 0);
-                var teamTypeData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamTypeSql).ToListAsync(); ;  //团组分类 10
-                if (teamTypeData.Count > 0)
+                if (dto.PortType == 1 || dto.PortType == 2) //web
                 {
-                    teamTypeData1 = teamTypeData;
-                }
+                    dynamic? teamTypeData1 = null;
+                    string teamTypeSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 10, 0);
+                    var teamTypeData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamTypeSql).ToListAsync(); ;  //团组分类 10
+                    if (teamTypeData.Count > 0)
+                    {
+                        teamTypeData1 = teamTypeData;
+                    }
 
-                dynamic? teamLevData1 = null;
-                string teamLevSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 56, 0);
-                var teamLevData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamLevSql).ToListAsync(); ;  //团组等级 56
-                if (teamLevData.Count > 0)
-                {
-                    teamLevData1 = teamLevData;
-                }
+                    dynamic? teamLevData1 = null;
+                    string teamLevSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 56, 0);
+                    var teamLevData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamLevSql).ToListAsync(); ;  //团组等级 56
+                    if (teamLevData.Count > 0)
+                    {
+                        teamLevData1 = teamLevData;
+                    }
 
-                dynamic? userData1 = null;
-                string userSql = string.Format(@"Select Id,CnName From  Sys_Users Where IsDel = {0}", 0);
-                var userData = await _sqlSugar.SqlQueryable<UserNameView>(userSql).ToListAsync(); ;
-                if (userData.Count > 0)
-                {
-                    userData1 = userData;
+                    dynamic? userData1 = null;
+                    string userSql = string.Format(@"Select Id,CnName From  Sys_Users Where IsDel = {0}", 0);
+                    var userData = await _sqlSugar.SqlQueryable<UserNameView>(userSql).ToListAsync(); ;
+                    if (userData.Count > 0)
+                    {
+                        userData1 = userData;
+                    }
+
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = new
+                    {
+                        teamTypeData = teamTypeData1,
+                        teamLevData = teamLevData1,
+                        userData = userData1
+                    };
                 }
+            }
+            catch (Exception)
+            {
 
-                result.Code = 0;
-                result.Msg = "成功!";
-                result.Data = new
-                {
-                    teamTypeData = teamTypeData1,
-                    teamLevData = teamLevData1,
-                    userData = userData1
-                };
+                throw;
             }
+            
 
             return result;
         }
@@ -160,7 +171,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         {
             Result result = new Result() { Code = -2, Msg = "未知错误" };
 
-            if (dto.PortType == 1) //web
+            if (dto.PortType == 1 || dto.PortType == 2) //web
             {
                 Grp_DelegationInfo groupInfo = new Grp_DelegationInfo()
                 {
@@ -170,7 +181,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     ClientUnit = dto.ClientUnit,
                     TeamName = dto.TeamName,
                     TeamDid = dto.TeamDid,
-                    VisitDate = dto.VisitDate,
+                    VisitDate = Convert.ToDateTime(dto.VisitDate),
                     VisitCountry = dto.VisitCountry,
                     VisitPurpose = dto.VisitPurpose,
                     VisitDays = dto.VisitDays,
@@ -184,7 +195,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     CGRWSPWH = dto.CGRWSPWH,
                     ZZSCBMMC = dto.ZZSCBMMC,
                     ZZSCSPWH = dto.ZZSCSPWH,
-                    TontractTime = dto.TontractTime,
+                    TontractTime = Convert.ToDateTime(dto.TontractTime),
                     PaymentMoney = dto.PaymentMoney,
                     PayDay = dto.PayDay
                 };
@@ -212,7 +223,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     string teamCode = "";
                     while (true)
                     {
-                        teamCode = Tools.CommonFun.GetRandomAllStr(6);
+                        teamCode = Tools.CommonFun.GetRandomStr(6);
 
                         if (!teamCodeItem.Equals(teamCode))
                         {
@@ -251,7 +262,31 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 }  //增加
                 else if (dto.Status == 2)     //修改
                 {
-                    var updateStatus = await UpdateAsync(a => a.Id == dto.Id, a => groupInfo);
+                    var updateStatus = await UpdateAsync(a => a.Id == dto.Id, a => new Grp_DelegationInfo {
+                        SalesQuoteNo = dto.SalesQuoteNo,
+                        TeamLevSId = dto.TeamLevSId,
+                        ClientName = dto.ClientName,
+                        ClientUnit = dto.ClientUnit,
+                        TeamName = dto.TeamName,
+                        TeamDid = dto.TeamDid,
+                        VisitDate = Convert.ToDateTime(dto.VisitDate),
+                        VisitCountry = dto.VisitCountry,
+                        VisitPurpose = dto.VisitPurpose,
+                        VisitDays = dto.VisitDays,
+                        VisitPNumber = dto.VisitPNumber,
+                        SpecialNeeds = dto.SpecialNeeds,
+                        OtherNeeds = dto.OtherNeeds,
+                        Remark = dto.Remark,
+                        JietuanOperator = dto.UserId,
+                        TellPhone = dto.TellPhone,
+                        CGRWSPBMMC = dto.CGRWSPBMMC,
+                        CGRWSPWH = dto.CGRWSPWH,
+                        ZZSCBMMC = dto.ZZSCBMMC,
+                        ZZSCSPWH = dto.ZZSCSPWH,
+                        TontractTime = Convert.ToDateTime(dto.TontractTime),
+                        PaymentMoney = dto.PaymentMoney,
+                        PayDay = dto.PayDay
+                    });
 
                     if (updateStatus)
                     {
@@ -286,6 +321,40 @@ namespace OASystem.Infrastructure.Repositories.Groups
             return result;
         }
 
+
+        /// <summary>
+        /// 团组信息操作
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> GroupDel(GroupDelDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+
+            if (dto.PortType == 1 || dto.PortType == 2) //web
+            {
+                var deleteStatus = await UpdateAsync(a => a.Id == dto.Id, a => new Grp_DelegationInfo
+                {
+                    DeleteUserId = dto.UserId,
+                    DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    IsDel = 1
+                });
+
+                if (deleteStatus)
+                {
+                    result.Code = 0;
+                    result.Msg = "删除成功!";
+                }
+                else
+                {
+                    result.Msg = "删除失败!";
+                }
+                
+            }
+
+            return result;
+        }
+
         /// <summary>
         /// 获取销售报价号
         /// </summary>

+ 17 - 2
OASystem/OASystem.Infrastructure/Repositories/Login/LoginRepository.cs

@@ -57,6 +57,8 @@ namespace OASystem.Infrastructure.Repositories.Login
                 return result;
             }
 
+            //portType 处理端口 
+            dynamic longinData = null;
 
             //员工数据
             string sqlWhere = string.Format(" Where su.Id={0}", _entity.Id);
@@ -65,11 +67,24 @@ namespace OASystem.Infrastructure.Repositories.Login
                                                   Inner Join Sys_Company sc On su.CompanyId = sc.Id
                                                   Inner Join Sys_Department sd On su.DepId = sd.Id
                                                   Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
-            var _userBasicInfo = await _sqlSugar.SqlQueryable<UserLoginInfoView>(userSqlWhere).FirstAsync();
+           
+
+            if (loginDto.PortType == 1) //web
+            {
+                var _userBasicInfo = await _sqlSugar.SqlQueryable<UserLoginInfoView>(userSqlWhere).FirstAsync();
+
+                longinData = _userBasicInfo;
+
+            }
+            else if (loginDto.PortType == 2) // Android
+            {
+                var _userBasicInfo = await _sqlSugar.SqlQueryable<UserLoginInfoView>(userSqlWhere).FirstAsync();
+                longinData = _userBasicInfo;
+            }
 
             result.Code = 0;
             result.Msg = "登录成功!";
-            result.Data = _userBasicInfo;
+            result.Data = longinData;
             return result;
 
         }

+ 129 - 21
OASystem/OASystem.Infrastructure/Repositories/System/MessageRepository.cs

@@ -3,6 +3,7 @@ using OASystem.Domain.Dtos.System;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Security.Cryptography;
 using System.Text;
 using System.Threading.Tasks;
 
@@ -85,40 +86,147 @@ namespace OASystem.Infrastructure.Repositories.System
         }
 
         /// <summary>
-        /// 获取消息 List
+        /// 获取消息列表
         /// </summary>
         /// <param name="uId">可读用户Id</param>
         /// <returns></returns>
-        public async Task<Result> GetMsgList(int uId)
+        public async Task<Result> GetMsgList(MsgDto dto)
         {
             Result result = new Result() { Code = -1, Msg = "未知错误", Data = null };
 
-            string msgSqlWhere = string.Format(@"Select sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser, 
-                                                        sm.ReleaseTime,smra.Id AuthId,smra.ReadableUId,smra.IsRead,smra.ReadTime 
-                                                 From Sys_Message sm 
-                                                 Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
-                                                 Inner Join Sys_Users su On sm.IssuerId = su.Id
-                                                 Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                 Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
-                                                 Where sm.IsDel = 0
-                                                 And smra.IsDel = 0 
-                                                 And smra.ReadableUId = {0}
-                                                 Order By ReleaseTime Desc ", uId);
-            var _readableMsgList = await _sqlSugar.SqlQueryable<ReadbleMessageView>(msgSqlWhere).ToListAsync();
-            if (_readableMsgList.Count > 0)
+            if (dto.PortType == 1 || dto.PortType == 2)  // web/android
             {
-                result.Code = 0;
-                result.Msg = "成功!";
-                result.Data = _readableMsgList;
+                string msgSqlWhere = string.Format(@"Select sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser, 
+                                                            sm.ReleaseTime,smra.Id AuthId,smra.ReadableUId,smra.IsRead,smra.ReadTime 
+                                                     From Sys_Message sm 
+                                                     Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
+                                                     Inner Join Sys_Users su On sm.IssuerId = su.Id
+                                                     Inner Join Sys_Department sd On su.DepId = sd.Id
+                                                     Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
+                                                     Where sm.IsDel = 0
+                                                     And smra.IsDel = 0 
+                                                     And smra.ReadableUId = {0}
+                                                     Order By ReleaseTime Desc ", dto.UserId);
+                var _readableMsgList = await _sqlSugar.SqlQueryable<ReadbleMessageView>(msgSqlWhere).ToListAsync();
+                if (_readableMsgList.Count > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _readableMsgList;
+                }
+                else
+                {
+                    result.Msg = "暂无该用户的消息!";
+                }
             }
-            else
+
+            return result;
+        }
+
+        /// <summary>
+        /// 获取消息详细
+        /// </summary>
+        /// <param name="dto">msgInfo请求dto</param>
+        /// <returns></returns>
+        public async Task<Result> GetMsgInfo(MsgInfoDto dto)
+        {
+            Result result = new Result() { Code = -1, Msg = "未知错误", Data = null };
+
+            if (dto.PortType == 1 || dto.PortType == 2)
             {
-                result.Msg = "暂无该用户的消息!";
+                string msgSqlWhere = string.Format(@"Select sm.Type,sc.CompanyName,sd.DepName,sjp.JobName,su.CnName,sm.ReleaseTime,
+	                                                        sm.Title,sm.Content,smra.IsRead,smra.ReadTime
+                                                     From Sys_Message sm
+                                                     Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
+                                                     Inner Join Sys_Users su On sm.IssuerId = su.id
+                                                     Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id
+                                                     Inner Join Sys_Department sd On su.DepId = sd.Id
+                                                     Inner Join Sys_Company sc On su.CompanyId = sc.Id
+                                                     Where sm.IsDel = 0 
+                                                     And sm.Id = {0}
+                                                     And smra.IsDel = 0", dto.MsgId);
+                var _readableMsgInfo = await _sqlSugar.SqlQueryable<MessageInfoView>(msgSqlWhere).FirstAsync();
+                if (_readableMsgInfo != null)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _readableMsgInfo;
+                }
+                else
+                {
+                    result.Msg = "暂无该用户的消息!";
+                }
             }
 
             return result;
         }
-        
 
+        /// <summary>
+        /// 消息设置已读
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> SetMsgRead(MsgSetReadDto dto)
+        {
+            Result result = new Result() { Code = -1, Msg = "未知错误", Data = null };
+
+            if (dto.PortType == 1 || dto.PortType == 2)
+            {
+
+                  var msgReadStatus = await _sqlSugar.Updateable<Sys_MessageReadAuth>()
+                                      .Where(a => a.Id == dto.MsgAnthId)
+                                      .SetColumns(a => new Sys_MessageReadAuth
+                                      {
+                                          IsRead = 1
+                                      }).ExecuteCommandAsync();
+
+                if (msgReadStatus > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                }
+                else
+                {
+                    result.Msg = "失败!";
+                }
+            }
+
+            return result;
+        }
+
+        /// <summary>
+        /// 消息设置已读
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> DelMsg(MsgDeleteDto dto)
+        {
+            Result result = new Result() { Code = -1, Msg = "未知错误", Data = null };
+
+            if (dto.PortType == 1 || dto.PortType == 2)
+            {
+
+                var msgReadStatus = await _sqlSugar.Updateable<Sys_Message>()
+                                    .Where(a => a.Id == dto.MsgId)
+                                    .SetColumns(a => new Sys_Message
+                                    {
+                                        IsDel = 1,
+                                        DeleteUserId = dto.UserId,
+                                        DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                                    }).ExecuteCommandAsync();
+
+                if (msgReadStatus > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                }
+                else
+                {
+                    result.Msg = "操作失败!";
+                }
+            }
+
+            return result;
+        }
     }
 }

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -112,7 +112,7 @@ namespace OASystem.Infrastructure.Repositories.System
         {
             Result result = new Result() { Code = -2 };
 
-            if (portType == 1) //web
+            if (portType == 1 || portType == 2) //web
             {
                 string sql = string.Format(@"Select Id,CnName From  Sys_Users");
                 var _userList = await _sqlSugar.SqlQueryable<UserNameView>(sql).ToListAsync();