接着上面的内容,我们本章节通过设置数据库表结构,将json数据通过一种数据结构存储在数据库中。
首先我们需要设计数据库的表。

image.png

数据库字段说明
Id 主键
HolidayDate 节假日日期
HolidayName 节假日名称
HolidayDescripton 说明
HolidayConfig 放假配置 [放假日期|工作日期] =[A|B] A,B存在多个时用逗号分隔,见上图,通过这样的数据结构,然后编码实现。

后台代码贴部分,数据库交互使用EntityFramework

        public static void SetWnlConfig(){wnlEntities db = new wnlEntities();var list = db.HolidayArrange.ToList();var dateFestival = list.Select(u => u.HolidayDate + "||" + u.HolidayName).ToList();var dateFestivalContent = list.Select(u => new FestivalContent{name = u.HolidayName,value = u.HolidayDescription}).ToList();List<string[]> splists = list.Select(u => u.HolidayConfig.Split('|').ToArray()).ToList();List<string> dateRest = new List<string>();List<string> dateWork = new List<string>();foreach (var split in splists){dateRest.AddRange(split[0].Split(','));dateWork.AddRange(split[1].Split(','));}var data = new WnlConfig{dateFestival = dateFestival,dateFestivalContent = dateFestivalContent,dateRest = dateRest,dateWork = dateWork,};//默认缓存一个小时CacheHelper.SetCache("wnl", JsonConvert.SerializeObject(data), new TimeSpan(0, 1, 0, 0));}

通过调用上述方法能够得到json数据,回传给前端,前端绑定后,即可得到相应的结果。

配置修改

既然保存在数据库中,那对应的数据应该能够被动态更改,下图给出配置界面

image.png

点击新增弹出配置窗体

配置窗体.png

配置代码

        /// <summary>/// 新增/// </summary>/// <param name="formjson"></param>/// <returns></returns>public ActionResult AddConfig(string formjson){DataMsg datamsg = null;var model = JsonConvert.DeserializeObject<HolidayArrange>(formjson);if (!ValidateModel(model)){datamsg = new DataMsg(){code = CodeStatus.Error,msg = "配置验证失败,请核对后重新提交!"};return Json(datamsg, JsonRequestBehavior.AllowGet);}wnlEntities db = new wnlEntities();db.HolidayArrange.Add(model);int iret = db.SaveChanges();if (iret > 0){datamsg = new DataMsg(){code = CodeStatus.Ok,msg = "新增成功"};SetWnlConfig();}else{datamsg = new DataMsg(){code = CodeStatus.Error,msg = "新增失败"};}return Json(datamsg, JsonRequestBehavior.AllowGet);}

剩下的编辑和删除配置同理

基于百度万年历定制化 2相关推荐

  1. 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法

    [目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...

  2. 使用百度EasyDL定制化图像识别(一)

    最近在做工程实训,课题是使用百度的EasyDL定制化图像识别来识别垃圾种类,没错,就是垃圾!先了解一下什么是EasyDL:EasyDL是一款定制模型训练和服务平台,我们可以根据自己的需求来创建自己的模 ...

  3. 使用百度EasyDL定制化图像识别(二)

    上一篇讲述了如何创建模型.训练模型.校验模型.发布模型,接下来我们学习如何在Python下请求我们的接口服务. 1.进入百度云首页(不是百度云盘),进入控制台,在产品服务中选择图像识别,点击创建应用, ...

  4. 初探机器学习之使用百度EasyDL定制化模型

    一.Why 定制化模型 一般来说,各大云服务厂商只会提供一些最常见通用的AI服务,针对具体场景的AI应用则需要在云服务厂商提供的服务之上进行定制.例如,通常的图像识别只能做到分析照片的主题内容,而我的 ...

  5. Spring boot基于itext实现定制化模板pdf生成功能

    最近被安排公司项目的一个活:根据给定的模板生成pdf,很多公司的项目涉及这种xxx单的生成,我这里是个检查单的生成,具体内容下面给出,和各位csdner一起分享学习一下,如有不对多多指教. 首先先看下 ...

  6. 基于Small及Weex的定制化APP方案

    前言 small是android与iOS平台比较出名的轻巧的跨平台插件化框架,也正是被这一点吸引,决定将small应用到集团内部的应用引擎模块化方案中,本篇博文主要讲述本人基于small在androi ...

  7. 基于百度英伟达EasyDL公开课的学习笔记

    本文是基于智东西公开课<零算法基础的百度EasyDL定制化图像识别揭秘>整理的学习笔记 本文非广告,标注单纯是出于尊重智东西和EasyDL的知识产权 如若涉及侵权,请联系本人 作者:李皮皮 ...

  8. eggjs的参数校验模块egg-validate的使用和进一步定制化升级

    简单讲一下这个egg-validate egg-validate是基于parameter的. 安装 npm install --save egg-validate 启用 // config/plugi ...

  9. 平安保险基于 SPI 机制的 RocketMQ 定制化应用

    作者:孙园园|平安人寿资深开发 为什么选用 RocketMQ 首先跟大家聊聊我们为什么会选用 RocketMQ,在做技术选型的过程中,应用场景应该是最先考虑清楚的,只有确定好了应用场景在做技术选型的过 ...

  10. 基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

    作者 | 陈厚道  冯庆 来源 | 阿里巴巴云原生公众号 导读:本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实 ...

最新文章

  1. module 'yaml' has no attribute 'FullLoader'
  2. 用神经网络分类里和外
  3. u3d文件上传至服务器,unity 上传图片到云服务器
  4. python装饰器解析_Python 装饰器解析
  5. qt 在label上以光标位置进行缩放_缩放|位移|渐变简单动画
  6. java实现文件上传和文件查看、下载
  7. STM8S103之串口中断接收
  8. linux安装bin文件命令,Ubuntu下bin文件的安装
  9. Android总结笔记04:仿QQ空间登录UI,解决软键盘弹出挡住输入框的问题
  10. 2021-05-21 Matlab实现快速傅里叶逆变换
  11. LaTeX中的参考文献-BibTeX
  12. java自行车s码适合身高_选购单车时,身高和尺寸对应表
  13. ubuntu18.04 用LSD-SLAM跑通rgbd数据集以及地图重用
  14. scala方法抛出异常_Scala异常| Scala方法如何引发异常?
  15. mfc键盘控制移动鼠标光标_如何在Windows中使用键盘控制鼠标光标
  16. ORACLE 体系结构详细图
  17. 一道简简单单的字节跳动算法面试题
  18. F460最新光猫破解
  19. 商品cta策略_《衍生品系列研究之三》:国内商品期货常用日内CTA策略测试
  20. log4j.properties详解

热门文章

  1. Excel从省份证中提取信息
  2. simulink-EtherCAT工具箱常用模块的简要介绍
  3. C语言中callback回调函数,C++回调函数(callback)的使用
  4. 天气预报查询数据接口、实时天气、未来24小时、7天/15天预报
  5. python将excel导入数据库_使用python将excel数据导入数据库过程详解
  6. 【Allennlp】: Allennlp中的test_data
  7. 怎么测量标准工时,实用分享:几种标准工时的测量方法
  8. 蓝桥杯_Fibonacci数列(Java)
  9. 8个正弦波逆变器带你感受生活中无处不在的科技魅力
  10. arm-linux-gcc 64位下载,arm-linux-gcc下载与安装