【项目实战】基于ASP.NET的驾校预约平台-在线驾校考试驾考系统-源码-数据库-文档报告

注意:该项目只展示部分功能,如需了解,评论区咨询即可。

1.开发环境

开发语言:asp.net
数据库:MySQL
工具:Visual Studio

2 系统设计

2.1 设计背景

随着社会和经济的发展,驾驶证已成为越来越多人所需的一种证件。驾校信息管理系统作为一种新型的信息化管理工具,为驾校教学、车辆管理、学员管理等提供了有效的解决方案。本研究基于此,旨在设计和实现一个驾校信息管理系统,以提高驾校教学管理效率。综上所述,本研究旨在通过设计和实现驾校信息管理系统,解决现有驾校管理方式存在的问题,并为驾校教学和管理提供更加高效、便捷的解决方案。本研究所采用的技术和系统功能具有一定的实用和推广价值,在实践中具有重要的现实意义。

2.2 设计内容

基于ASP.NET的驾校预约与驾考系统设计内容如下:

用户角色: 用户可以进行预约教练、查看学习视频、查看公告、参加驾考等操作。

教练角色: 教练可以管理学员、接受预约、管理训练场地、查看学员评价等操作。

管理员角色: 管理员负责系统的整体管理,包括教练管理、学员管理、预约审核、考试成绩管理、车辆管理、练习科目管理、试题管理等。

预约教练: 学员可以选择合适的教练进行预约,以安排驾驶培训课程。

教练评价: 学员可以对教练进行评价,提供反馈信息,帮助改进教学质量。

查看学习视频: 学员可以访问学习视频库,提高驾驶技能和理论知识。

查看公告: 学员和教练可以查看学校发布的通知和公告。

参加驾考: 学员可以报名并参加驾驶考试,系统记录考试成绩。

训练场管理: 教练和管理员可以管理驾驶训练场地的信息,包括可用时间和地点。

学员管理: 管理员可以管理学员信息,包括注册、分配教练、查看学习进度等。

教练管理: 管理员可以管理教练信息,包括招聘、资质审核、排班等。

预约审核: 管理员审核学员的预约请求,协调教练的安排。

考试成绩管理: 记录学员的考试成绩,包括理论和实际驾驶考试。

车辆管理: 记录和管理驾校的车辆信息,包括车型、状态和维护记录。

练习科目管理: 设置和管理驾驶训练的不同科目要求。

试题管理: 教练和管理员可以管理驾驶理论考试题库,包括添加、编辑和删除试题。

3 系统页面展示

3.1 前台页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 后台页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 功能展示视频

基于asp.net的驾校预约与驾考系统功能展示

4 更多推荐

基于ASP.NET的医院就诊挂号预约系统
基于ASP.NET的高校新生入学手续办理系统
ASP.NET度假村景区订票系统
ASP.NET技术开发的校园一卡通管理系统
基于ASP.NET的快递公司物流配送管理系统
Echarts+Python水果销售系统

5 部分功能代码

5.1 科目练习模块

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Xiezn.Core.Business.Services;
using Xiezn.Core.Common.Helpers;
using Xiezn.Core.Models;
using Xiezn.Core.Models.DbModel;
using Newtonsoft.Json.Linq;
using System.Net.Mail;
using System.Text;
using System.Net;
using NETCore.MailKit.Core;
using Microsoft.AspNetCore.Http;
using System.IO;
using Microsoft.AspNetCore.Hosting;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.HSSF.UserModel;
using Alipay.AopSdk.Core;
using Xiezn.Core.Models.ConfModel;
using Alipay.AopSdk.Core.Domain;
using Alipay.AopSdk.Core.Request;
using AlibabaCloud.SDK.Dysmsapi20170525.Models;


namespace Xiezn.Core.Controllers
{
    /// <summary>
    /// 科目练习表相关接口
    /// </summary>
    [Route("[controller]/[action]")]
    public class ExampaperController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;
        private readonly string _savePath;
        private readonly long _uid;
        private readonly string _role;
        private readonly ExampaperService _bll;
        private readonly IEmailService _EmailService;

        /// <summary>
        /// 构造函数
        /// </summary>
        public ExampaperController(IHostingEnvironment hostingEnvironment, IEmailService emailService)
        {
            try
            {
                if (CacheHelper.TokenModel != null)
                {
                    _uid = CacheHelper.TokenModel.Uid;
                    _role = CacheHelper.TokenModel.Role;
                }

                _EmailService = emailService;
            }
            catch
            {
                _uid = 0;
                _role = "游客";
            }

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


        /// <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>();
                var name = HttpContext.Request.Query["name"].ToString();
                if (!string.IsNullOrEmpty(name))
                {
                    if (name.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "name", ConditionalType = ConditionalType.Like, FieldValue = name });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "name", ConditionalType = ConditionalType.Equal, FieldValue = name });
                    }
                }
                string status = Convert.ToString(HttpContext.Request.Query["status"]);
                if (!string.IsNullOrEmpty(status)) {
					conModels.Add(new ConditionalModel() { FieldName = "status", ConditionalType = ConditionalType.Equal, FieldValue = status });
				}

                return Json(_bll.GetPageList(page, limit, sort, order, conModels));
            }
            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>();
                var name = HttpContext.Request.Query["name"].ToString();
				if (!string.IsNullOrEmpty(name))
                {
                    if (name.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "name", ConditionalType = ConditionalType.Like, FieldValue = name });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "name", ConditionalType = ConditionalType.Equal, FieldValue = name });
                    }
                }

                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] ExampaperDbModel entity)
        {
            try
            {
                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] ExampaperDbModel entity)
        {
            try
            {

                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] ExampaperDbModel entity)
        {

            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
            {
                return Json(new { Code = 0, Data = _bll.BaseGetById(id) });
            }
            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
            {
                return Json(new { Code = 0, Data = _bll.BaseGetById(id) });
            }
            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("exampaper", columnName, "", type, "remind", remindStart, remindEnd, 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>
        /// <returns></returns>
        [HttpGet("{xColumnName}/{yColumnName}")]
        public JsonResult Value(string xColumnName, string yColumnName)
        {
            try
            {
                string where = " WHERE 1 = 1 ";
                if ("exampaper" == "orders")
                {
                    where += " AND status IN ('已支付', '已发货', '已完成') ";
                }

                return Json(new { Code = 0, Data = _bll.Common("exampaper", 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 ";
                if ("exampaper" == "orders")
                {
                    where += " AND status IN ('已支付', '已发货', '已完成') ";
                }

                return Json(new { Code = 0, Data = _bll.StatDate("exampaper", xColumnName, yColumnName, timeStatType, where) });
            }
            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("exampaper", columnName, "", 0, "group", 0, 0, where) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

    }
}

5.2 考试预约模块

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Xiezn.Core.Business.Services;
using Xiezn.Core.Common.Helpers;
using Xiezn.Core.Models;
using Xiezn.Core.Models.DbModel;
using Newtonsoft.Json.Linq;
using System.Net.Mail;
using System.Text;
using System.Net;
using NETCore.MailKit.Core;
using Microsoft.AspNetCore.Http;
using System.IO;
using Microsoft.AspNetCore.Hosting;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.HSSF.UserModel;
using Alipay.AopSdk.Core;
using Xiezn.Core.Models.ConfModel;
using Alipay.AopSdk.Core.Domain;
using Alipay.AopSdk.Core.Request;
using AlibabaCloud.SDK.Dysmsapi20170525.Models;


namespace Xiezn.Core.Controllers
{
    /// <summary>
    /// 考试预约相关接口
    /// </summary>
    [Route("[controller]/[action]")]
    public class KaoshiyuyueController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;
        private readonly string _savePath;
        private readonly long _uid;
        private readonly string _role;
        private readonly KaoshiyuyueService _bll;
        private readonly IEmailService _EmailService;

        /// <summary>
        /// 构造函数
        /// </summary>
        public KaoshiyuyueController(IHostingEnvironment hostingEnvironment, IEmailService emailService)
        {
            try
            {
                if (CacheHelper.TokenModel != null)
                {
                    _uid = CacheHelper.TokenModel.Uid;
                    _role = CacheHelper.TokenModel.Role;
                }

                _EmailService = emailService;
            }
            catch
            {
                _uid = 0;
                _role = "游客";
            }

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


        /// <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>();
                if(CacheHelper.TokenModel != null && "yonghuzhanghao" == CacheHelper.TokenModel.UNickname.ToString()) {
                    conModels.Add(new ConditionalModel() { FieldName = "yonghuzhanghao", ConditionalType = ConditionalType.Equal, FieldValue = CacheHelper.TokenModel.Uname.ToString() });
                }
                if(CacheHelper.TokenModel != null && "jiaolianzhanghao" == CacheHelper.TokenModel.UNickname.ToString()) {
                    conModels.Add(new ConditionalModel() { FieldName = "jiaolianzhanghao", ConditionalType = ConditionalType.Equal, FieldValue = CacheHelper.TokenModel.Uname.ToString() });
                }
                string sfsh = HttpContext.Request.Query["sfsh"].ToString();
                if (!string.IsNullOrEmpty(sfsh))
                {
                    conModels.Add(new ConditionalModel() { FieldName = "sfsh", ConditionalType = ConditionalType.Equal, FieldValue = sfsh });
                }
				KaoshiyuyueDbModel entityObj = new KaoshiyuyueDbModel();
				var hasProperty = entityObj.GetType().GetProperty(System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(CacheHelper.TokenModel.UNickname));
				if (_role != "Admin" && hasProperty != null)
				{
					conModels.Add(new ConditionalModel() { FieldName = CacheHelper.TokenModel.UNickname, ConditionalType = ConditionalType.Equal, FieldValue = CacheHelper.TokenModel.Uname });
				}
                var yonghuxingming = HttpContext.Request.Query["yonghuxingming"].ToString();
                if (!string.IsNullOrEmpty(yonghuxingming))
                {
                    if (yonghuxingming.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "yonghuxingming", ConditionalType = ConditionalType.Like, FieldValue = yonghuxingming });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "yonghuxingming", ConditionalType = ConditionalType.Equal, FieldValue = yonghuxingming });
                    }
                }
                var kaoshikemu = HttpContext.Request.Query["kaoshikemu"].ToString();
                if (!string.IsNullOrEmpty(kaoshikemu))
                {
                    if (kaoshikemu.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "kaoshikemu", ConditionalType = ConditionalType.Like, FieldValue = kaoshikemu });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "kaoshikemu", ConditionalType = ConditionalType.Equal, FieldValue = kaoshikemu });
                    }
                }

                return Json(_bll.GetPageList(page, limit, sort, order, conModels));
            }
            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>();
                string sfsh = HttpContext.Request.Query["sfsh"].ToString();
                if (!string.IsNullOrEmpty(sfsh))
                {
                    conModels.Add(new ConditionalModel() { FieldName = "sfsh", ConditionalType = ConditionalType.Equal, FieldValue = sfsh });
                }
                var yonghuxingming = HttpContext.Request.Query["yonghuxingming"].ToString();
				if (!string.IsNullOrEmpty(yonghuxingming))
                {
                    if (yonghuxingming.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "yonghuxingming", ConditionalType = ConditionalType.Like, FieldValue = yonghuxingming });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "yonghuxingming", ConditionalType = ConditionalType.Equal, FieldValue = yonghuxingming });
                    }
                }
                var kaoshikemu = HttpContext.Request.Query["kaoshikemu"].ToString();
				if (!string.IsNullOrEmpty(kaoshikemu))
                {
                    if (kaoshikemu.Contains("%"))
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "kaoshikemu", ConditionalType = ConditionalType.Like, FieldValue = kaoshikemu });
                    }
                    else
                    {
                        conModels.Add(new ConditionalModel() { FieldName = "kaoshikemu", ConditionalType = ConditionalType.Equal, FieldValue = kaoshikemu });
                    }
                }

                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] KaoshiyuyueDbModel entity)
        {
            try
            {
                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] KaoshiyuyueDbModel entity)
        {
            try
            {

                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] KaoshiyuyueDbModel entity)
        {

            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
            {
                return Json(new { Code = 0, Data = _bll.BaseGetById(id) });
            }
            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
            {
                return Json(new { Code = 0, Data = _bll.BaseGetById(id) });
            }
            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 = "";
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND yonghuzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND jiaolianzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                return Json(new { Code = 0, Count = _bll.Common("kaoshiyuyue", columnName, "", type, "remind", remindStart, remindEnd, 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>
        /// <returns></returns>
        [HttpGet("{xColumnName}/{yColumnName}")]
        public JsonResult Value(string xColumnName, string yColumnName)
        {
            try
            {
                string where = " WHERE 1 = 1 ";
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND yonghuzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND jiaolianzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if ("kaoshiyuyue" == "orders")
                {
                    where += " AND status IN ('已支付', '已发货', '已完成') ";
                }

                return Json(new { Code = 0, Data = _bll.Common("kaoshiyuyue", 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 ";
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND yonghuzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if (CacheHelper.TokenModel.Role == "Client")
                {
                    where += " AND jiaolianzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if ("kaoshiyuyue" == "orders")
                {
                    where += " AND status IN ('已支付', '已发货', '已完成') ";
                }

                return Json(new { Code = 0, Data = _bll.StatDate("kaoshiyuyue", xColumnName, yColumnName, timeStatType, where) });
            }
            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 ";
                if (CacheHelper.TokenModel.Role == "Client" && CacheHelper.TokenModel.UNickname == "yonghuzhanghao")
                {
                    where += " AND yonghuzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }
                if (CacheHelper.TokenModel.Role == "Client" && CacheHelper.TokenModel.UNickname == "jiaolianzhanghao")
                {
                    where += " AND jiaolianzhanghao = '" + CacheHelper.TokenModel.Uname.ToString() + "' ";
                }

                return Json(new { Code = 0, Data = _bll.Common("kaoshiyuyue", columnName, "", 0, "group", 0, 0, where) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

    }
}

源码项目、定制开发、文档报告、代码答疑
希望和大家多多交流!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值