CRM管理系统(二)下

上一篇写的是WEB部分,接下来就是后台部分了,说实话,框架带来的便捷的确是很大的,基本上的流程就是

mapper—>Dao—>Service—>Controller

maper部分还是sql,不过本人偷懒了,增删改查功能就是一条updata语句,原因是数据字典这块肯定是系统管理员使用的,而且一个系统的数据分类也不可能太多,所以博主就偷懒,在系统中一共只能添加10种分类,每个分类对应10条类别信息数据库的设计如下

数据字典分类表

其中SJZDXX_ID为主键,SJZDFL_NAME为分类名,SJZDFL_CHECKED则是是否启用,如果未启用,则不会在前台显示

具体实现后面会贴出代码

数据字典信息表

SJZDXX_ID为主键,SJZDFL_ID为外键,SJZDXXMC为信息名称

基本的表结构就和上图一样了,接下来先看实现页面初始化的部分,首先是mapper文件

查询的sql语句如下

由于本人在前台页面的左侧菜单栏和内容部分都是通过iframe嵌入页面的,所以这里没有关联查询出所有的信息表的内容,不过本人在最初的设计时候,是想通过一对多的方式,把所有的信息表都查出来,这里贴下最初写的sql语句仅供参考

Dao部分

Service部分

数据字典分类Service

数据字典分类Service的实现类

这里就可以看出来,有了Spring的bean管理器和依赖注入,编码非常方便

Controller部分

这里控制器返回的是JSON数据,前台拿到JSON以后就是就是上一章所讲的,通过Datagrid插件完成了

这里有一点注意的地方,我这里数据的展示是在前台判断的,也就是说  所有的数据已经被查出来了,前台会判断菜单栏数据的SJZDFL_CHECKED是否被选中,如果被启用了,才会在菜单栏添加标签,代码如下

信息的修改部分sql语句

Service层部分

Controller部分

此时的Controller部分出现了一些乱入的代码,其实是本人在测试功能的时候,偶然一次错误的产物,在测试时,

我把前台的数据信息ID上加了一个字母”a” 导致带入后出现问题,原因是传入的参数是字符串不是数字,
所以本人写了一个工具类来判断请求中的id是否是数字,具体如下

其实,经过这次错误,本人不仅在代码中添加了一个工具类用于检测传递的特定参数是否是数字,还添加了一个拦截器,目的是拦截请求中的非法参数,比如拦截sql注入的关键字(虽然这并没有什么卵用,因为mybatis已经帮我们做了这部分的工作,具体解释看:http://blog.csdn.net/fmwind/article/details/59110918),具体的拦截器部分如下

首先在配置文件中配置拦截器,这里本人对所有的请求都进行了拦截

其次是拦截器的定义

好了,项目的第二个版本目前就是这样了,编码部分的重要内容,博主都贴了代码的截图,需要解释的也都有对应的博客或者官方文档,有问题直接看文档或者百度即可,实在不行看博主代码中的注释也行(虽然我基本没写注释);项目的地址还是http://115.159.152.20:8081/MyCRM/

时间: 2024-08-05 19:19:43

CRM管理系统(二)下的相关文章

CRM管理系统(二)上----easyui+Datagrid

今天终于把数据字典模块做出来了,前前后后大概做了两天时间,修改和整理又用了两天时间,在这个模块中主要用的是easyui的DataGrid插件,同时通过自己在网上看文档,查问题,整理了一下DataGrid的运用,自己编码的过程中反复斟酌,一共修改了两次,三套不同的版本,今天全部给贴出来 大体的界面如下: 这里先附上easyui DataGrid插件的官方文档地址: http://www.jeasyui.net/plugins/183.html 建议如果学习的话,还是先看下官方文档,博主自己也在官方

大二下学期快开始了

大二下的flag 1.下学期还是要保持绩点在3.75左右,最好能够上3.8 2.平时利用课余还有一些水课的时间背单词,写托福TPO练听力还有其他 3.对待事情主动一些,主动联系教授实验室,主动和乒乓球校队的教练联系 4.跟着coursera上面的princeton的algorithm课,把所有的编程作业都写掉 5.继续刷算法题,保证一天一道题的节奏 6.如果时间还来得及的话,做一个类似奇妙清单的to do list 的安卓APP(可选)

此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转

感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-------------------------- 此文记录了我从研二下学期到研三上学期的找工历程,包括百度.腾讯.网易.移动.电信.华为.中兴.IBM八家企业的面试总结和心得,希望能够帮助到正在找工的朋友和师弟师妹们,并纪念找工这段怀揣着希望和梦想,伴随着紧张和压力,同时令我受益匪浅的日子. (本文

Bootstrap <基础十二>下拉菜单(Dropdowns)

Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 class .dropdown 内加上下拉菜单即可.下面的实例演示了基本的下拉菜单: <!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 下拉菜单(Dropdowns)</title> <li

大二下学期总结

1.三月下旬把UVa水题刷到了400. 2.四月里浑浑噩噩把LOL玩到了30级 3.五月初去HITWH打省赛拿了张银牌 4.幸运地得到了去上校党课的名额,还过了考试 5.五月底CF终于打成了紫色 6.期间零零散散地刷了一些概率DP,队列优化DP,线段树等题目 7.六月上旬考了英语六级,听力全蒙,生死未卜 8.为应付数据库作业学了Java和swing,写了自己第一个windows程序 9.七月开始应付各种考试,裸考 10.喜欢上一个妹子,不知道该怎么办了 总得来说这学期过得迷迷糊糊的.很多目标也都

ExtMVC+ThinkPHP开发CRM管理系统--导航树的实现

最近很是郁闷,因不明原因本机的开发的后台管理程序无法访问.模仿其他大侠给你的导航树(ExtJSMVC)到我这里没有效果.甚至一气之下删除了自己写的一周的代码样例,莫非是本月运势不好,不抱怨了(哈哈!无非是给自己近期没有更新博客找个借口). 进入正题今天分享一个通过后台访问mysql数据库,加载前台导航树的完整案例. 前期准备: 后台创建mySql数据库及相应表结构: MI_ID                    int(11) MI_MenuName              varchar

step by step 之餐饮管理系统二

昨天写了餐饮管理系统的相关需求,得到了园友的一些好的建议,感到很高兴,确实写的也不全面,现在补充一下需要的业务,这次主要做的主要是前台收银系统,所以业务主要集中在前台点菜收银这块,而后面数据管理这块则暂时先不考虑. 至于像权限,不同的组门应该有不同的权限不同级别的员工也有相应的权限,比如收银员只有9折的打折权限,而收银主管则可以打折到8.5折,而经理可以打折到8折.至于一个园友说的前景,希望系统可以应用在中小型的餐饮,都说民以食为天,特别是现在社会发展如此快,人民对生活水平的需求越来越高,她们不

Python CRM项目二

一.准备工作 如果没有配置基本的项目,请参考 http://www.cnblogs.com/luhuajun/p/7771196.html 当我们配置完成后首先准备我们的app 创建2个app分别对应学生,重写的Admin模板 1 python manager.py startapp student #学生视图 2 python manager.py startapp king_admin #king_admin视图 配置每个app的url映射 1.主app 1 #将每个模块的urls.py引入

abp(net core)+easyui+efcore实现仓储管理系统——菜单-下(十七)

实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五)