基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220519000125

20220519000126

20220519000127

20220519000128

20220519000130

20220519000131

基于javaweb+SpringBoot的crm客户关系管理系统(java+SpringBoot+ECharts+Freemarker+Layui+maven+mysql)

CRM智能办公

项目介绍

本应用是一个客户关系管理系统,主要包括五大模块,分别是营销管理,客户管理,服务管理,统计报表和系统管理,为客户关系管理提供简单的数据管理与分析

技术选型方面,该项目是一个SpringBoot的单体应用,项目使用SpringBoot2框架快速开发,数据访问层使用Mybatis框架,页面渲染引擎使用Freemarker,页面样式使用Layui,日志方面选用的是logback,统计报表部分使用的是ECharts,数据库使用的Mysql 8.0版本;

安装教程

  1. 在mysql(默认为mysql8)中创建名为crm的数据库,并执行源码根目录的crm.sql脚本生成数据库表以及数据 2.  将项目源码导入idea中,指定项目的jdk版本为jdk8或以上,并标记为maven项目,下载所需依赖 3.  修改application.yml中针对于数据库的配置(主要是数据库名和数据库密码) 4.  修改logback.xml中,第4行,日志文件的存储地址,改为自己的路径;

  2. 启动项目测试是否正常,默认启动地址首页为http://localhost:1212/crm,默认数据库中的管理员为admin,密码为123456,可在登录系统之后自行修改用户密码

用户管理控制层:

/**

  • @author yy

*/

@Controller

@RequestMapping(“/user”)

public class UserController {

@Autowired

IUserService userService;

@Autowired

IRoleService roleService;

@Autowired

RedisUtil redisUtil;

@Autowired

MailUtil mailUtil;

Logger logger = LoggerFactory.getLogger(UserController.class);

/**

  • 描述:查找用户

  • @param page

  • @param limit

  • @param user

  • @return

*/

@Operation(name=“查找用户”)

@RequiresPermissions(“1001”)

@RequestMapping(“/findUser”)

@ResponseBody

public Map<String, Object> findUser(Integer page,Integer limit, User user){

Map<String, Object> map = new HashMap<String,Object>(16);

//创建用户模板类

UserExample userExample = new UserExample();

//创建查询准则

Criteria criteria = userExample.createCriteria();

if(page == null || page <= 0) {

page = 1;

if(limit == null || limit <= 0) {

limit = 10;

//判断user类的条件是否为空

if(user.getRealName() != null) {

criteria.andRealNameLike(“%”+user.getRealName()+“%”);

if(user.getRoleId() != null) {

logger.info(“获得到的角色编号为:” + user.getRoleId());

criteria.andRoleIdEqualTo(user.getRoleId());

if(user.getAccount() != null) {

criteria.andAccountLike(“%”+user.getAccount()+“%”);

Long offset = new Long((page - 1) * limit);

Long count = userService.countByExample(userExample);

userExample.setLimit(limit);

userExample.setOffset(offset);

List list = userService.findByExample(userExample);

logger.info(list.toString());

map.put(“data”, list);

map.put(“code”, 0);

map.put(“msg”, “success”);

map.put(“count”, count);

return map;

/**

  • 描述:根据编号查找用户

  • @author wanghaoyu

  • @version 1.0

  • @param id

  • @return

  • @exception Nothing

  • @since 1.8

*/

@Operation(name=“根据编号查找用户”)

@RequiresAuthentication

@RequestMapping(“/findUserById”)

@ResponseBody

public Map<String, Object> findUserById(Integer id){

Map<String, Object> map = new HashMap<String, Object>(16);

boolean success = false;

String msg = “”;

User user = userService.findById(id);

if(user != null){

user.setPassword(null);

user.setSalt(null);

success = true;

}else{

msg = “读取用户数据出错,请稍后再试!”;

map.put(“success”, success);

map.put(“user”, user);

map.put(“msg”,msg);

map.put(“code”, 0);

return map;

/**

  • 描述:根据用户ID删除用户

  • @author wanghaoyu

  • @version 1.0

  • @param id 用户编号

  • @return Map<String,Object>

  • @exception Nothing

  • @since 1.8

*/

@Operation(name=“删除用户”)

@RequiresPermissions(“1004”)

@RequestMapping(“/deleteUser”)

@ResponseBody

public Map<String, Object> deleteUser(Integer id){

Map<String, Object> map = new HashMap<String, Object>(16);

boolean success = false;

//删除成功

if(userService.deleteById(id) == true) {

success = true;

map.put(“success”, success);

map.put(“code”, 0);

return map;

/**

  • 描述:编辑用户

  • @author wanghaoyu

  • @version 1.0

  • @param user 要编辑的用户信息

  • @return Map<String,Object>

  • @exception Nothing

  • @since 1.8

*/

@Operation(name=“修改用户”)

@RequiresPermissions(value={“1002”,“13002”}, logical=Logical.OR)

@RequestMapping(“/editUser”)

@ResponseBody

public Map<String, Object> editUser(User user){

Map<String, Object> map = new HashMap<String, Object>(16);

boolean success = false;

String msg = “”;

//修改成功

if(userService.edit(user) == true) {

success = true;

msg = “修改成功!”;

}else {

msg = “修改失败!”;

map.put(“success”, success);

map.put(“msg”, msg);

map.put(“code”, 0);

return map;

/**

  • 描述:添加用户

  • @author wanghaoyu

  • @version 1.0

  • @param user 要添加的用户信息

  • @return Map<String,Object>

  • @exception Nothing

  • @since 1.8

*/

@Operation(name=“添加用户”)

@RequiresPermissions(“1003”)

@RequestMapping(“/addUser”)

@ResponseBody

public Map<String, Object> addUser(User user){

Map<String, Object> map = new HashMap<String, Object>(16);

boolean success = false;

//设置user的初始密码为123456

user.setPassword(“123456”);

//添加

if(userService.save(user) == true) {

success = true;

map.put(“success”, success);

map.put(“code”, 0);

return map;

/**

  • 描述:查找所有的角色

  • @author wanghaoyu

  • @version 1.0

  • @return Map&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值