Explorar o código

基础数据相关接口

zhouj1203@hotmail.com %!s(int64=6) %!d(string=hai) anos
pai
achega
c36503cdfb
Modificáronse 23 ficheiros con 766 adicións e 12 borrados
  1. 46 2
      TEAMModelOS.Model/Analysis/Models/Classes.cs
  2. 38 2
      TEAMModelOS.Model/Analysis/Models/Grade.cs
  3. 33 2
      TEAMModelOS.Model/Analysis/Models/Period.cs
  4. 24 2
      TEAMModelOS.Model/Analysis/Models/School.cs
  5. 5 2
      TEAMModelOS.Model/Analysis/Models/Students.cs
  6. 42 2
      TEAMModelOS.Model/Analysis/Models/Teachers.cs
  7. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/ClassService.cs
  8. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/GradeService.cs
  9. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/PeriodService.cs
  10. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/SchoolService.cs
  11. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/StudentsService.cs
  12. 39 0
      TEAMModelOS.Service/BaseInfo/Implements/TeacherService.cs
  13. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/IClassService.cs
  14. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/IGradeService.cs
  15. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/IPeriodService.cs
  16. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/ISchoolService.cs
  17. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/IStudentsService.cs
  18. 18 0
      TEAMModelOS.Service/BaseInfo/Interfaces/ITeachersService.cs
  19. 47 0
      TEAMModelOS/Controllers/common/ClassesController.cs
  20. 47 0
      TEAMModelOS/Controllers/common/GradeController.cs
  21. 47 0
      TEAMModelOS/Controllers/common/PeriodController.cs
  22. 48 0
      TEAMModelOS/Controllers/common/SchoolController.cs
  23. 47 0
      TEAMModelOS/Controllers/common/TeacherController.cs

+ 46 - 2
TEAMModelOS.Model/Analysis/Models/Classes.cs

@@ -1,10 +1,54 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
-    class Classes
+    [TableSpaceAttribute(Name = "Common")]
+    public class Classes:TableEntity
     {
+        /// <summary>
+        /// id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 班级名称
+        /// 
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 所属年级Id
+        /// </summary>
+        public string GradeId { get; set; }
+        /// <summary>
+        /// 所属年级名称
+        /// </summary>
+        public string GradeName { get; set; }
+        /// <summary>
+        /// 所属学段Id
+        /// </summary>
+        public string PeriodId { get; set; }
+        /// <summary>
+        /// 所属学段
+        /// </summary>
+        public string PeriodName { get; set; }
+        /// <summary>
+        /// 所属学校Id
+        /// </summary>
+        public string SchoolId { get; set; }
+        /// <summary>
+        /// 所属学校
+        /// </summary>
+        public string SchoolName { get; set; }
+        /// <summary>
+        /// 类型
+        /// </summary>
+        public int State { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
     }
 }

+ 38 - 2
TEAMModelOS.Model/Analysis/Models/Grade.cs

@@ -1,10 +1,46 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
-    class Grade
+    [TableSpaceAttribute(Name = "Common")]
+    public class Grade :TableEntity
+
     {
+        /// <summary>
+        /// id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 年级名称
+        /// </summary>
+        public string Name { get; set; } 
+        /// <summary>
+        /// 所属学段Id
+        /// </summary>
+        public string PeriodId { get; set; }
+        /// <summary>
+        /// 所属学段
+        /// </summary>
+        public string PeriodName { get; set; }
+        /// <summary>
+        /// 所属学校Id
+        /// </summary>
+        public string SchoolId { get; set; }
+        /// <summary>
+        /// 所属学校
+        /// </summary>
+        public string SchoolName { get; set; }
+        /// <summary>
+        /// 类型
+        /// </summary>
+        public int State { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
     }
 }

+ 33 - 2
TEAMModelOS.Model/Analysis/Models/Period.cs

@@ -1,10 +1,41 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
-    class Period
+    [TableSpaceAttribute(Name = "Common")]
+    public class Period:TableEntity
     {
+        /// <summary>
+        /// id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 学段名称
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 时间段
+        /// </summary>
+        public string Time { get; set; }
+        /// <summary>
+        /// 所属学校Id
+        /// </summary>
+        public string SchoolId { get; set; }
+        /// <summary>
+        /// 所属学校
+        /// </summary>
+        public string SchoolName { get; set; }
+        /// <summary>
+        /// 类型
+        /// </summary>
+        public int State { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
     }
 }

+ 24 - 2
TEAMModelOS.Model/Analysis/Models/School.cs

@@ -1,10 +1,32 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
-    class School
+    [TableSpaceAttribute(Name = "Common")]
+    public class School:TableEntity
     {
+
+        /// <summary>
+        /// id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 学校名称
+        /// </summary>
+        public string Name { get; set; }
+        
+        public int State { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+        /// <summary>
+        /// 学校资源编码
+        /// </summary>
+        public string Code { get; set; }
     }
 }

+ 5 - 2
TEAMModelOS.Model/Analysis/Models/Students.cs

@@ -1,13 +1,16 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
     /// <summary>
     /// 学生基本信息
     /// </summary>
-    public class Students
+    [TableSpaceAttribute(Name = "Common")]
+    public class Students: TableEntity
     {
         /// <summary>
         /// id

+ 42 - 2
TEAMModelOS.Model/Analysis/Models/Teachers.cs

@@ -1,10 +1,50 @@
-using System;
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
 using System.Collections.Generic;
 using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Analysis.Models
 {
-    class Teachers
+    [TableSpaceAttribute(Name = "Common")]
+    public class Teachers :TableEntity
     {
+        /// <summary>
+        /// id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 姓名
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 任教科目
+        /// </summary>
+        public string SubjectName { get; set; }
+
+        /// <summary>
+        /// 任教班级
+        /// </summary>
+        public string ClassName { get; set; }
+        /// <summary>
+        /// 任教年级
+        /// </summary>
+        public string GradeName { get; set; }
+        /// <summary>
+        /// 所属学校Id
+        /// </summary>
+        public string SchoolId { get; set; }
+        /// <summary>
+        /// 所属学校
+        /// </summary>
+        public string SchoolName { get; set; }
+        /// <summary>
+        /// 类型
+        /// </summary>
+        public int State { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
     }
 }

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/ClassService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class ClassService : IClassService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public ClassService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<Classes> Delete(Classes classes)
+        {
+            await azureTableDBRepository.Delete<Classes>(classes);
+            return classes;            
+        }
+
+        public async Task<List<Classes>> FindList(Dictionary<string, object> enlist)
+        {
+            List<Classes> classes = await azureTableDBRepository.FindListByDict<Classes>(enlist);
+            return classes;
+        }
+
+        public async Task<Classes> saveOrUpdate(Classes classes)
+        {
+            try {                
+                await azureTableDBRepository.SaveOrUpdate<Classes>(classes);            
+            } catch (Exception e) { 
+                Console.WriteLine(e.Message);
+            }
+            return classes;
+        }
+    }
+}

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/GradeService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class GradeService : IGradeService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public GradeService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<Grade> Delete(Grade grade)
+        {
+            await azureTableDBRepository.Delete<Grade>(grade);
+            return grade;            
+        }
+
+        public async Task<List<Grade>> FindList(Dictionary<string, object> enlist)
+        {
+            List<Grade> grades = await azureTableDBRepository.FindListByDict<Grade>(enlist);
+            return grades;
+        }
+
+        public async Task<Grade> saveOrUpdate(Grade grade)
+        {
+            try {                
+                await azureTableDBRepository.SaveOrUpdate<Classes>(grade);            
+            } catch (Exception e) { 
+                Console.WriteLine(e.Message);
+            }
+            return grade;
+        }
+    }
+}

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/PeriodService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class PeroidService : IPeriodService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public PeroidService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<Period> Delete(Period period)
+        {
+            await azureTableDBRepository.Delete<Period>(period);
+            return period;            
+        }
+
+        public async Task<List<Period>> FindList(Dictionary<string, object> enlist)
+        {
+            List<Period> period = await azureTableDBRepository.FindListByDict<Period>(enlist);
+            return period;
+        }
+
+        public async Task<Period> saveOrUpdate(Period period)
+        {
+            try {                
+                await azureTableDBRepository.SaveOrUpdate<Period>(period);            
+            } catch (Exception e) { 
+                Console.WriteLine(e.Message);
+            }
+            return period;
+        }
+    }
+}

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/SchoolService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class SchoolService : ISchoolService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public SchoolService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<School> Delete(School school)
+        {
+            await azureTableDBRepository.Delete<School>(school);
+            return school;            
+        }
+
+        public async Task<List<School>> FindList(Dictionary<string, object> enlist)
+        {
+            List<School> school = await azureTableDBRepository.FindListByDict<School>(enlist);
+            return school;
+        }
+
+        public async Task<School> saveOrUpdate(School school)
+        {
+            try {                
+                await azureTableDBRepository.SaveOrUpdate<School>(school);            
+            } catch (Exception e) { 
+                Console.WriteLine(e.Message);
+            }
+            return school;
+        }
+    }
+}

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/StudentsService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class StudentsService : IStudentsService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public StudentsService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<Students> Delete(Students stu)
+        {
+            await azureTableDBRepository.Delete<Students>(stu);
+            return stu;            
+        }
+
+        public async Task<List<Students>> FindList(Dictionary<string, object> enlist)
+        {
+            List<Students> stus = await azureTableDBRepository.FindListByDict<Students>(enlist);
+            return stus;
+        }
+
+        public async Task<Students> saveOrUpdate(Students stu)
+        {
+            //Students stu = new Students();
+            
+                //stu =  await azureTableDBRepository.FindById<Students>(dict["id"]);                
+                await azureTableDBRepository.SaveOrUpdate<Students>(stu);            
+           
+            return stu;
+        }
+    }
+}

+ 39 - 0
TEAMModelOS.Service/BaseInfo/Implements/TeacherService.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Implements
+{
+    public class TeachersService : ITeachersService
+    {
+        IAzureTableDBRepository azureTableDBRepository;
+        public TeachersService(IAzureTableDBRepository _azureTableDBRepository) {
+            azureTableDBRepository  = _azureTableDBRepository;
+        }
+        public async Task<Teachers> Delete(Teachers teachers)
+        {
+            await azureTableDBRepository.Delete<Teachers>(teachers);
+            return teachers;            
+        }
+
+        public async Task<List<Teachers>> FindList(Dictionary<string, object> enlist)
+        {
+            List<Teachers> teachers = await azureTableDBRepository.FindListByDict<Teachers>(enlist);
+            return teachers;
+        }
+
+        public async Task<Teachers> saveOrUpdate(Teachers teachers)
+        {
+            try {                
+                await azureTableDBRepository.SaveOrUpdate<Students>(teachers);            
+            } catch (Exception e) { 
+                Console.WriteLine(e.Message);
+            }
+            return teachers;
+        }
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/IClassService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface IClassService : IBusinessService
+    {
+        Task<Classes> saveOrUpdate(Classes @params);
+        Task<Classes> Delete(Classes @params);
+
+        Task<List<Classes>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/IGradeService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface IGradeService : IBusinessService
+    {
+        Task<Grade> saveOrUpdate(Grade @params);
+        Task<Grade> Delete(Grade @params);
+
+        Task<List<Grade>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/IPeriodService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface IPeriodService : IBusinessService
+    {
+        Task<Period> saveOrUpdate(Period @params);
+        Task<Period> Delete(Period @params);
+
+        Task<List<Period>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/ISchoolService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface ISchoolService : IBusinessService
+    {
+        Task<School> saveOrUpdate(School @params);
+        Task<School> Delete(School @params);
+
+        Task<List<School>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/IStudentsService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface IStudentsService : IBusinessService
+    {
+        Task<Students> saveOrUpdate(Students @params);
+        Task<Students> Delete(Students @params);
+
+        Task<List<Students>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 18 - 0
TEAMModelOS.Service/BaseInfo/Interfaces/ITeachersService.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.BaseInfo.Interfaces
+{
+    public interface ITeachersService : IBusinessService
+    {
+        Task<Teachers> saveOrUpdate(Teachers @params);
+        Task<Teachers> Delete(Teachers @params);
+
+        Task<List<Teachers>> FindList(Dictionary<string, object> enlist);
+
+    }
+}

+ 47 - 0
TEAMModelOS/Controllers/common/ClassesController.cs

@@ -0,0 +1,47 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Controllers.common
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class ClassController : Controller
+    {
+
+        public IClassService _classService;
+        public ClassController(IClassService classService) {
+            _classService = classService;
+        }
+
+        [HttpPost("SaveOrUpdate")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<Classes> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Classes data = await _classService.saveOrUpdate(request.@params);
+            return builder.Data(data).build();
+        }
+        [HttpPost("DeleteInfo")]
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Classes> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Classes data = await _classService.Delete(request.@params);
+            return builder.Data(data).build();
+        }
+
+        [HttpPost("Find")]
+        public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            List<Classes> data = await _classService.FindList(request.@params);
+            return builder.Data(data).build();
+        }
+
+    }
+}

+ 47 - 0
TEAMModelOS/Controllers/common/GradeController.cs

@@ -0,0 +1,47 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Controllers.common
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class GradeController : Controller
+    {
+
+        public IGradeService _gradeService;
+        public GradeController(IGradeService gradeService) {
+            _gradeService = gradeService;
+        }
+
+        [HttpPost("SaveOrUpdate")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<Grade> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Grade data = await _gradeService.saveOrUpdate(request.@params);
+            return builder.Data(data).build();
+        }
+        [HttpPost("DeleteInfo")]
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Grade> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Grade data = await _gradeService.Delete(request.@params);
+            return builder.Data(data).build();
+        }
+
+        [HttpPost("Find")]
+        public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            List<Grade> data = await _gradeService.FindList(request.@params);
+            return builder.Data(data).build();
+        }
+
+    }
+}

+ 47 - 0
TEAMModelOS/Controllers/common/PeriodController.cs

@@ -0,0 +1,47 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Controllers.common
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class PeriodController : Controller
+    {
+
+        public IPeriodService _periodService;
+        public PeriodController(IPeriodService periodService) {
+            _periodService = periodService;
+        }
+
+        [HttpPost("SaveOrUpdate")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<Period> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Period data = await _periodService.saveOrUpdate(request.@params);
+            return builder.Data(data).build();
+        }
+        [HttpPost("DeleteInfo")]
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Period> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Period data = await _periodService.Delete(request.@params);
+            return builder.Data(data).build();
+        }
+
+        [HttpPost("Find")]
+        public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            List<Period> data = await _periodService.FindList(request.@params);
+            return builder.Data(data).build();
+        }
+
+    }
+}

+ 48 - 0
TEAMModelOS/Controllers/common/SchoolController.cs

@@ -0,0 +1,48 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Controllers.common
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class SchoolController : Controller
+    {
+
+        public ISchoolService _schoolService;
+        public SchoolController(ISchoolService schoolService) {
+            _schoolService = schoolService;
+        }
+
+        [HttpPost("SaveOrUpdate")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<School> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            School data = await _schoolService.saveOrUpdate(request.@params);
+            return builder.Data(data).build();
+        }
+        [HttpPost("DeleteInfo")]
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<School> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            School data = await _schoolService.Delete(request.@params);
+            return builder.Data(data).build();
+        }
+
+        [HttpPost("Find")]
+        public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            List<School> data = await _schoolService.FindList(request.@params);
+            return builder.Data(data).build();
+
+        }
+
+    }
+}

+ 47 - 0
TEAMModelOS/Controllers/common/TeacherController.cs

@@ -0,0 +1,47 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.Analysis.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.BaseInfo.Interfaces;
+
+namespace TEAMModelOS.Controllers.common
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class TeacherController : Controller
+    {
+
+        public ITeachersService _teacherService;
+        public TeacherController(ITeachersService teachersService) {
+            _teacherService = teachersService;
+        }
+
+        [HttpPost("SaveOrUpdate")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<Teachers> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Teachers data = await _teacherService.saveOrUpdate(request.@params);
+            return builder.Data(data).build();
+        }
+        [HttpPost("DeleteInfo")]
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Teachers> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Teachers data = await _teacherService.Delete(request.@params);
+            return builder.Data(data).build();
+        }
+
+        [HttpPost("Find")]
+        public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            List<Teachers> data = await _teacherService.FindList(request.@params);
+            return builder.Data(data).build();
+        }
+
+    }
+}