分享一个基于.net的学生信息管理系统 C#高校教务管理系统(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询

💕💕Java项目
💕💕微信小程序项目
💕💕Android项目
💕💕Python项目
💕💕PHP项目
💕💕ASP.NET项目
💕💕Node.js项目
💕💕选题推荐

项目实战|基于C#的学生信息管理平台.net高校教务管理系统

1、研究背景

  随着教育信息化的快速发展,传统的纸质档案管理方式已经难以满足现代教育管理的需求。当前,学校面临着学生数量激增、信息复杂多样、数据管理效率低下等挑战。同时,教育部门对学生数据的实时性、准确性和安全性提出了更高的要求。在这种背景下,开发一个全面、高效的学生信息管理系统成为了教育机构的迫切需求。这个系统不仅要解决学生基本信息的录入和管理问题,还需要实现学习成绩、考勤记录、课程选择等多方面数据的集成管理,以及支持各级教育管理部门的数据统计和分析需求。

2、研究目的和意义

  本学生信息管理系统的开发目的是为教育机构提供一个综合性的信息化解决方案。系统旨在实现从学生入学到毕业的全过程信息管理。具体目标包括:建立统一的学生信息数据库,实现信息的集中管理和快速检索;提供灵活的信息录入、修改和查询功能,满足日常管理需求;支持成绩管理、考勤统计、课程选择等教学相关功能;实现数据的自动统计和分析,辅助教育决策;确保数据安全,设置不同级别的访问权限。通过这些功能,系统将显著提高学校的管理效率,为教育工作者提供有力的信息化支持。

  开发学生信息管理系统具有重要的现实意义,它能大幅提高学校的管理效率,减少人为错误,使教师和管理人员能够将更多精力投入到教学和学生服务中。通过数据的实时更新和分析,学校可以更准确地掌握学生的学习情况和发展需求,从而制定更有针对性的教育策略。系统的使用有助于促进教育资源的优化配置,为教育决策提供数据支持。从长远来看,这个系统的应用将推动教育管理向数字化、智能化方向发展,为实现教育现代化和提高教育质量做出贡献。同时,它也为未来的教育大数据分析和个性化教育提供了基础,有利于推动教育改革和创新。

3、系统研究内容

基于您的要求,以下是学生信息管理系统的研究内容,分为三个主要方面:

  1. 系统需求分析与设计
    本研究将深入分析学校管理人员、教师、学生及其家长的实际需求,明确系统的功能范围和性能要求。主要研究内容包括:用户角色定义及权限设计、功能模块划分、数据库结构设计、用户界面设计等。重点研究如何实现学生基本信息管理、成绩管理、考勤管理、课程选择等核心功能,以及如何确保系统的可扩展性和兼容性。同时,将探讨如何设计直观、友好的用户界面,提高系统的易用性。此外,还将研究数据安全和隐私保护措施,确保敏感信息的安全存储和传输。

  2. 关键技术研究与实现
    本部分将聚焦于系统实现过程中的关键技术问题。主要研究内容包括:高效的数据存储和检索技术,以应对大量学生信息的快速处理需求;分布式系统架构设计,确保系统在高并发情况下的稳定性;数据同步和备份机制,保证数据的一致性和可靠性。

  3. 系统测试与优化
    在系统开发完成后,本研究将重点关注系统的测试与优化。主要研究内容包括:制定全面的测试计划,涵盖功能测试、性能测试、安全测试等多个方面;设计有效的测试用例,确保系统各项功能的正确性和稳定性;进行压力测试,评估系统在高负载情况下的表现;进行用户体验测试,收集实际使用者的反馈意见。基于测试结果,研究如何优化系统性能,如改进数据库查询效率、优化系统架构等。同时,将探讨系统的可维护性和可扩展性,为未来的功能扩展和升级做好准备。

4、系统页面设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如需要源码,可以扫取文章下方二维码联系咨询

5、参考文献

[1]宋桂平.基于高校学生管理系统的数据库管理云存储技术研究[J].科技创新与应用,2024,14(19):159-162.DOI:10.19981/j.CN23-1581/G3.2024.19.037.
[2]张慧.数据库设计与学生信息管理系统优化[J].信息与电脑(理论版),2024,36(11):244-246.
[3]张力.基于SpringCloud微服务的高校学生信息管理系统的设计[J].电脑知识与技术,2024,20(16):65-68.DOI:10.14004/j.cnki.ckt.2024.0858.
[4]李腾飞.职业院校学生公寓管理中的数字化和智能化解决方案研究[J].国际公关,2024,(08):179-181.DOI:10.16645/j.cnki.cn11-5281/c.2024.08.019.
[5]王建国,张争,汤来锋,等.基于SSM框架的学生信息管理系统的设计与实现[J].现代信息科技,2024,8(07):30-33.DOI:10.19850/j.cnki.2096-4706.2024.07.007.
[6]穆艳旭.学生选课信息系统的设计与实现[J].信息记录材料,2024,25(04):103-106.DOI:10.16009/j.cnki.cn13-1295/tq.2024.04.027.
[7]冯懿,金逸帆.学生实习信息管理系统的设计与实现[J].中国新通信,2024,26(05):74-76.
[8]王晓虹.智能化与数字化技术在学生管理中的应用[J].集成电路应用,2024,41(01):206-207.DOI:10.19339/j.issn.1674-2583.2024.01.092.
[9]周方.基于Web的学生信息管理系统中的数据库研究与设计[J].信息记录材料,2024,25(01):197-199.DOI:10.16009/j.cnki.cn13-1295/tq.2024.01.036.
[10]袁爱平,陈畅,孙士兵,等.基于SSM框架的高校学生信息管理系统设计与实现[J].工业控制计算机,2023,36(12):127-129.
[11]孙成,闫晓莉.高校大学生竞赛信息管理系统的建设与分析[J].电脑知识与技术,2023,19(35):169-171+174.DOI:10.14004/j.cnki.ckt.2023.1839.
[12]吴香艳.基于C#和.NET的班级学生信息管理系统设计与实现[J].无线互联科技,2023,20(22):47-50.
[13]唐婷,聂丽霞.基于大数据技术的高校学生信息管理系统设计[J].电脑知识与技术,2023,19(30):62-64.DOI:10.14004/j.cnki.ckt.2023.1592.
[14]包刘欢.大数据技术在高职院校学生信息化管理中的作用[C]//中国陶行知研究会.中国陶行知研究会2023年学术年会论文集(八).硅湖职业技术学院;,2023:4. DOI:10.26914/c.cnkihy.2023.116838.
[15]陈天超.List接口的教学案例设计与实现[J].福建电脑,2023,39(10):121-124.DOI:10.16707/j.cnki.fjpc.2023.10.026.
[16]刘佳乐,赵雨,厚露露,等.基于Java Web的学生信息管理系统[J].现代信息科技,2023,7(19):21-24.DOI:10.19850/j.cnki.2096-4706.2023.19.005.
[17]李扬,陈立泰.基于JSP的学生就业信息管理系统的设计[J].信息记录材料,2023,24(10):128-130+133.DOI:10.16009/j.cnki.cn13-1295/tq.2023.10.019.
[18]李浩.高校教育管理的数字化应用探析[J].大连民族大学学报,2023,25(05):463-467.DOI:10.13744/j.cnki.cn21-1431/g4.2023.05.005.
[19]张懿爵,严伟,刘毅,等.计算机应用基础实训教程[M].重庆大学出版社:202309.358.
[20]常见,许颖.基于大数据的高校学生信息化管理系统设计[J].科技创新与生产力,2023,44(08):107-109.

6、核心代码

namespace Xiezn.Core.Controllers
{
    /// <summary>
    /// 学生相关接口
    /// </summary>
    [Route("[controller]/[action]")]
    public class XueshengController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;
        private readonly string _savePath;
        private readonly long _uid;
        private readonly string _role;
        private readonly XueshengService _bll;
        private readonly IEmailService _EmailService;
        private readonly ConfigService _configBLL;

        /// <summary>
        /// 构造函数
        /// </summary>
        public XueshengController(IHostingEnvironment hostingEnvironment, IEmailService emailService)
        {
            try
            {
                _hostingEnvironment = hostingEnvironment;
                _savePath = _hostingEnvironment.WebRootPath + Path.DirectorySeparatorChar + ConfigHelper.GetConfig("SchemaName") + Path.DirectorySeparatorChar + "upload" + Path.DirectorySeparatorChar;
                if (CacheHelper.TokenModel != null)
                {
                    _uid = CacheHelper.TokenModel.Uid;
                    _role = CacheHelper.TokenModel.Role;
                }

                _EmailService = emailService;
                _configBLL = new ConfigService();
            }
            catch
            {
                _uid = 0;
                _role = "游客";
            }

            _hostingEnvironment = hostingEnvironment;
            _savePath = _hostingEnvironment.WebRootPath + Path.DirectorySeparatorChar + ConfigHelper.GetConfig("SchemaName") + Path.DirectorySeparatorChar + "upload" + Path.DirectorySeparatorChar;
            _bll = new XueshengService();
        }

        /// <summary>
        /// 用户登录接口
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        [AcceptVerbs]
        public JsonResult Login(string username, string password)
        {
            try
            {
                var userInfo = _bll.Login(username, password);
                if (userInfo == null)
                {
                    return Json(new { Code = -1, Msg = "账号或密码不正确!" });
                }


                TokenModel tokenModel = new TokenModel()
                {
                    Uid = userInfo.Id,
                    Uname = userInfo.Xuehao,
                    Role = "Client",
                    Project = "Xiezn.Core",
                    TokenType = "Web",
                    UNickname = "xuehao",
                    Tablename = "xuesheng"
                };

                return Json(new { Code = 0, Token = JwtHelper.IssueJWT(tokenModel) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = "账号或密码不正确!" });
            }
        }


        /// <summary>
        /// 用户登出接口
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Authorize(Roles = "Client")]
        public JsonResult Logout()
        {
            return Json(new { Code = 0, Msg = "退出成功!" });
        }

        /// <summary>
        /// 注册接口
        /// </summary>
        /// <param name="entity">注册实体对象</param>
        /// <returns></returns>
        [HttpPost]
        public JsonResult Register([FromBody] XueshengDbModel entity)
        {
            try
            {
            	entity.Id = DateTime.Now.Ticks / 100000;
                if (_bll.BaseInsert(entity) > 0)
                {
                    return Json(new { Code = 0, Msg = "注册成功!" });
                }

                return Json(new { Code = -1, Msg = "注册失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = "请检查用户名是否重复!", Error = ex.Message });
            }
        }

        /// <summary>
        /// 获取session的接口
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        //[Authorize(Roles = "Admin,Client")]
        public JsonResult Session()
        {
            try
            {
                TokenModel tm = CacheHelper.TokenModel;
                var Data = tm == null ? "" : _bll.BaseGetById(tm.Uid) ?? new object();

                return Json(new { Code = 0, Data = Data });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 忘记密码(找回密码)
        /// </summary>
        /// <param name="username">用户账号</param>
        /// <returns></returns>
        [AcceptVerbs]
        public JsonResult ResetPass(string username)
        {
            try
            {
                if (_bll.ResetPass(username))
                {
                    return Json(new { Code = 0, Msg = "密码已重置为:123456" });
                }
                return Json(new { Code = 500, Msg = "重置失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 分页接口
        /// </summary>
        /// <param name="page">当前页</param>
        /// <param name="limit">每页记录的长度</param>
        /// <param name="sort">排序字段</param>
        /// <param name="order">升序(默认asc)</param>
        /// <returns></returns>
        [HttpGet]
        [Authorize(Roles = "Admin,Client")]
        public JsonResult Page(int page = 1, int limit = 10, string sort = "id", string order = "asc")
        {
            try
            {
            	List<IConditionalModel> conModels = new List<IConditionalModel>();
                List<String> jujianList = new List<string>();

                var xuehao = HttpContext.Request.Query["xuehao"].ToString();
                if (!string.IsNullOrEmpty(xuehao))
                {
                    if (xuehao.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xuehao", ConditionalType = ConditionalType.Like, FieldValue = xuehao });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xuehao", ConditionalType = ConditionalType.Equal, FieldValue = xuehao });
                    }
                }
                var xueshengxingming = HttpContext.Request.Query["xueshengxingming"].ToString();
                if (!string.IsNullOrEmpty(xueshengxingming))
                {
                    if (xueshengxingming.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xueshengxingming", ConditionalType = ConditionalType.Like, FieldValue = xueshengxingming });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xueshengxingming", ConditionalType = ConditionalType.Equal, FieldValue = xueshengxingming });
                    }
                }
                var banji = HttpContext.Request.Query["banji"].ToString();
                if (!string.IsNullOrEmpty(banji))
                {
                    if (banji.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "banji", ConditionalType = ConditionalType.Like, FieldValue = banji });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "banji", ConditionalType = ConditionalType.Equal, FieldValue = banji });
                    }
                }

                foreach (var queryString in HttpContext.Request.Query)
                {
                    var key = queryString.Key;
                    var values = queryString.Value;
                    if (key != "vipread" && key != "page" && key != "limit" && key!="" && key!="sort" && key!="order" && !jujianList.Contains(key))
                    {
                        bool isContains = conModels.Any(model =>
                        {
                            return ((ConditionalModel)model).FieldName == key;
                        });
                        if (!isContains)
                        {
                            conModels.Add(new ConditionalModel() { FieldName = key, ConditionalType = ConditionalType.Equal, FieldValue = values });
                        }
                    }
                }
                return Json(_bll.GetPageList(page, limit, sort, order, conModels));
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }


        /// 查询单条记录
        [HttpGet]
        public JsonResult Query()
        {
            try
            {
                List<IConditionalModel> conModels = new List<IConditionalModel>();
                ParameterExpression parameter = Expression.Parameter(typeof(XueshengDbModel), "x");
            
                var expressions = new List<BinaryExpression>();
                foreach (var queryString in HttpContext.Request.Query)
                {
                    var key = queryString.Key;
                    var values = queryString.Value;
                    MemberExpression member = Expression.Property(parameter, key);
                    ConstantExpression constant = Expression.Constant(values);
                    BinaryExpression equal = Expression.Equal(member, constant);
                    expressions.Add(equal);
                }
                BinaryExpression combined = null;
                foreach (var expression in expressions)
                {
                    if (combined == null)
                    {
                        combined = expression;
                    }
                    else
                    {
                        combined = Expression.And(combined, expression);
                    }
                }
            
                Expression<Func<XueshengDbModel, bool>> lambda = Expression.Lambda<Func<XueshengDbModel, bool>>(combined, parameter);
            
                XueshengDbModel xueshengModel = _bll.BaseGetSingle(lambda);
            
                return Json(new { Code = 0, Data = xueshengModel});
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 分页接口
        /// </summary>
        /// <param name="page">当前页</param>
        /// <param name="limit">每页记录的长度</param>
        /// <param name="sort">排序字段</param>
        /// <param name="order">升序(默认asc)</param>
        /// <returns></returns>
        [HttpGet]
        public JsonResult List(int page = 1, int limit = 10, string sort = "id", string order = "asc")
        {
            try
            {
                List<IConditionalModel> conModels = new List<IConditionalModel>();
                List<String> jujianList = new List<string>();
                var xuehao = HttpContext.Request.Query["xuehao"].ToString();
				if (!string.IsNullOrEmpty(xuehao))
                {
                    if (xuehao.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xuehao", ConditionalType = ConditionalType.Like, FieldValue = xuehao });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xuehao", ConditionalType = ConditionalType.Equal, FieldValue = xuehao });
                    }
                }
                var xueshengxingming = HttpContext.Request.Query["xueshengxingming"].ToString();
				if (!string.IsNullOrEmpty(xueshengxingming))
                {
                    if (xueshengxingming.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xueshengxingming", ConditionalType = ConditionalType.Like, FieldValue = xueshengxingming });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "xueshengxingming", ConditionalType = ConditionalType.Equal, FieldValue = xueshengxingming });
                    }
                }
                var banji = HttpContext.Request.Query["banji"].ToString();
				if (!string.IsNullOrEmpty(banji))
                {
                    if (banji.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "banji", ConditionalType = ConditionalType.Like, FieldValue = banji });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "banji", ConditionalType = ConditionalType.Equal, FieldValue = banji });
                    }
                }

                Dictionary<string, string> filterPairs = new Dictionary<string, string>();
                foreach (var queryString in HttpContext.Request.Query)
                {
                    var key = queryString.Key;
                    var values = queryString.Value;
                    if (key != "vipread" && key != "page" && key != "limit" && key!="" && key!="sort" && key!="order" && !jujianList.Contains(key))
                    {
                        // 将字符串的第一个字符转换为大写
                        if (!string.IsNullOrEmpty(key))
                        {
                            char[] charArray = key.ToCharArray();
                            charArray[0] = char.ToUpper(charArray[0]);
                            var newKey = new string(charArray);

                            if (typeof(XueshengDbModel).GetProperty(newKey) == null) {
                                continue;
                            }
                        }
                        var hasKey = false;
                        foreach (var model in conModels)  
                        {  
                            ConditionalModel conditionalModelClass = model as ConditionalModel;
                            if (conditionalModelClass!=null && conditionalModelClass.FieldName == key)  
                            {  
                                hasKey =true;  
                            }  
                        }
                        if (hasKey==false){
                            conModels.Add(new ConditionalModel() { FieldName = key, ConditionalType = ConditionalType.Equal, FieldValue = values });
                        }
                    }
                }
                return Json(_bll.GetPageList(page, limit, sort, order, conModels));
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 保存接口
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        [HttpPost]
        [Authorize(Roles = "Admin,Client")]
        public JsonResult Save([FromBody] XueshengDbModel entity)
        {
            try
            {
                XueshengDbModel xuehaoModel  = _bll.BaseGetSingle(it => it.Xuehao == entity.Xuehao);
                if(xuehaoModel!=null)
                {
                    return Json(new { Code = -1, Msg = "学号已存在" });
                }
                Random rd = new Random();
                int i = rd.Next(0, 1000000000);
                entity.Id = DateTime.Now.Ticks / 100000 + i;
                if (_bll.BaseInsert(entity) > 0)
                {
                    return Json(new { Code = 0, Msg = "添加成功!" });
                }

                return Json(new { Code = -1, Msg = "添加失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 保存接口
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        [HttpPost]
        public JsonResult Add([FromBody] XueshengDbModel entity)
        {
            try
            {
                XueshengDbModel xuehaoModel  = _bll.BaseGetSingle(it => it.Xuehao == entity.Xuehao);
                if(xuehaoModel!=null)
                {
                    return Json(new { Code = -1, Msg = "学号已存在" });
                }

                Random rd = new Random();
                int i = rd.Next(0, 1000000000);
                entity.Id = DateTime.Now.Ticks / 100000 + i;
                if (_bll.BaseInsert(entity) > 0)
                {
                    return Json(new { Code = 0, Msg = "添加成功!" });
                }

                return Json(new { Code = -1, Msg = "添加失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 更新接口
        /// </summary>
        /// <param name="entity">更新实体对象</param>
        /// <returns></returns>
        [HttpPost]
        [Authorize(Roles = "Admin,Client")]
        public JsonResult Update([FromBody] XueshengDbModel entity)
        {

                XueshengDbModel xuehaoModel  = _bll.BaseGetSingle(it => it.Xuehao == entity.Xuehao && it.Id!=entity.Id);
                if(xuehaoModel!=null)
                {
                    return Json(new { Code = -1, Msg = "学号已存在" });
                }
            try
            {
                if (_bll.BaseUpdate(entity))
                {
                    return Json(new { Code = 0, Msg = "编辑成功!" });
                }

                return Json(new { Code = -1, Msg = "编辑失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 删除接口
        /// </summary>
        /// <param name="ids">主键int[]</param>
        /// <returns></returns>
        [HttpPost]
        //[Authorize(Roles = "Admin,Client")]
        public JsonResult Delete([FromBody] dynamic[] ids)
        {
            try
            {
                if (_bll.BaseDels(ids))
                {
                    return Json(new { Code = 0, Msg = "删除成功!" });
                }

                return Json(new { Code = -1, Msg = "删除失败!" });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 详情接口
        /// </summary>
        /// <param name="id">主键id</param>
        /// <returns></returns>
        [HttpPost("{id}")]
        [HttpGet("{id}")]
        [Authorize(Roles = "Admin,Client")]
        public JsonResult Info(long id)
        {
            try
            {
                XueshengDbModel infoData = _bll.BaseGetById(id);
                return Json(new { Code = 0, Data = infoData });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 详情接口
        /// </summary>
        /// <param name="id">主键id</param>
        /// <returns></returns>
        [HttpPost("{id}")]
        [HttpGet("{id}")]
        public JsonResult Detail(long id)
        {
            try
            {
                XueshengDbModel detailData = _bll.BaseGetById(id);

                return Json(new { Code = 0, Data = detailData });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

		/// <summary>
        /// 获取需要提醒的记录数接口
        /// </summary>
        /// <param name="columnName">列名</param>
        /// <param name="type">类型(1表示数字比较提醒,2表示日期比较提醒)</param>
        /// <param name="remindStart">remindStart小于等于columnName满足条件提醒,当比较日期时,该值表示天数</param>
        /// <param name="remindEnd">columnName小于等于remindEnd 满足条件提醒,当比较日期时,该值表示天数</param>
        /// <returns></returns>
        [HttpGet("{columnName}/{type}")]
        public JsonResult Remind(string columnName, int type, int remindStart=-1, int remindEnd=-1)
        {
            try
            {
                string where = "";
                return Json(new { Code = 0, Count = _bll.Common("xuesheng", columnName, "", type, "remind", remindStart, remindEnd, where, true ) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按值统计接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <param name="yColumnName">列名</param>
        /// <returns></returns>
        [HttpGet("{xColumnName}/{yColumnName}")]
        public JsonResult Value(string xColumnName, string yColumnName)
        {
            try
            {
                string where = " WHERE 1 = 1 ";
                return Json(new { Code = 0, Data = _bll.Common("xuesheng", xColumnName, yColumnName, 0, "value", 0, 0, where) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按时间统计类型接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <param name="yColumnName">列名</param>
        /// <param name="timeStatType">类型</param>
        /// <returns></returns>
        [HttpGet("{xColumnName}/{yColumnName}/{timeStatType}")]
        public JsonResult Value(string xColumnName, string yColumnName, string timeStatType)
        {
            try
            {
                string where = " WHERE 1 = 1 ";
                string tableName = CacheHelper.TokenModel.Tablename;
                return Json(new { Code = 0, Data = _bll.StatDate("xuesheng", xColumnName, yColumnName, timeStatType, where) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按时间统计类型接口(多)
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <returns></returns>
        [HttpGet("{xColumnName}")]
        public JsonResult valueMul(string xColumnName)
        {
            try
            {
                string yColumnNameMul = HttpContext.Request.Query["yColumnNameMul"].ToString();
                string where = " WHERE 1 = 1 ";
                // 创建一个 List 对象
                List<List<dynamic>> total = new List<List<dynamic>>();

                foreach (var item in yColumnNameMul.Split(","))
                {
                    List<dynamic> itemList = _bll.Common("xuesheng", xColumnName, item, 0,"value",0,0, where);
                    // 创建一个 Dictionary 对象,表示数组中的每个元素
                    List<dynamic> element = new List<dynamic>();
                    foreach(var i in itemList)
                    {
                        element.Add(i);
                    }
                    total.Add(element);
                }

                return Json(new { Code = 0, Data = total });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按时间统计类型接口(多)
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <param name="yColumnName">列名</param>
        /// <param name="timeStatType">类型</param>
        /// <returns></returns>
        [HttpGet("{xColumnName}/{timeStatType}")]
        public JsonResult valueMul(string xColumnName, string timeStatType)
        {
            try
            {
                string yColumnNameMul = HttpContext.Request.Query["yColumnNameMul"].ToString();
                string where = " WHERE 1 = 1 ";
                // 创建一个 List 对象
                List<List<dynamic>> total = new List<List<dynamic>>();

                foreach (var item in yColumnNameMul.Split(","))
                {
                    List<dynamic> itemList =  _bll.StatDate("xuesheng", xColumnName, item, timeStatType, where);
                    // 创建一个 Dictionary 对象,表示数组中的每个元素
                    List<dynamic> element = new List<dynamic>();
                    foreach(var i in itemList)
                    {
                        element.Add(i);
                    }
                    total.Add(element);
                }

                return Json(new { Code = 0, Data = total });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 类别统计接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <returns></returns>
        [HttpGet("{columnName}")]
        public JsonResult Group(string columnName)
        {
            try
            {
                string where = " WHERE 1 = 1 ";
                return Json(new { Code = 0, Data = _bll.Common("xuesheng", columnName, "", 0, "group", 0, 0, where) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 分页接口
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public JsonResult Lists()
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.BaseGetList(t => true) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }



    }
}

💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值