CRM管理系统下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/


以上是关于CRM管理系统下的主要内容,如果未能解决你的问题,请参考以下文章

自定义CRM系统

CRM系统的功能模块有哪些

CRM系统的功能模块有哪些

为什么选择微软Dynamics 365作为企业客户关系管理系统(下)

图解CRM(客户关系管理)全流程

图解CRM(客户关系管理)全流程