基于javaweb的销售团队后台管理系统(java+springboot+freemarker+bootstrap+echarts+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+SpringBoot的销售团队后台管理系统(java+SpringBoot+FreeMarker+bootstrap+echarts+mysql)
项目介绍
该项目为后管系统,主要功能包括:
看板、业务机会管理、客户管理、联系人管理、我的日报、团队日报、主数据管理:组织架构管理;系统管理:用户管理、角色管理、菜单管理等;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
-
后端:SpringBoot+mybatis
-
前端:FreeMarker+Angular+bootstrap+echarts+jQuery
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
- 将项目中application-powerteam.yml配置文件中的数据库配置改为自己的配置; 4. 前台访问路径:http://localhost:8080/ 登录账号:admin 登录密码:admin
用户管理控制层:
@Controller
@RequestMapping(“admin/system/user”)
public class UserController {
@Autowired
UserService userService;
@Autowired
RoleService roleService;
@Autowired
UploadService uploadService;
@RequestMapping(“list”)
@SysLog(“跳转系统用户列表页面”)
public String list(){
return “admin/user/list”;
@RequiresPermissions(“sys:user:list”)
@PostMapping(“list”)
@ResponseBody
public PageData list(@RequestParam(value = “page”,defaultValue = “1”)Integer page,
@RequestParam(value = “limit”,defaultValue = “10”)Integer limit,
ServletRequest request){
Map map = WebUtils.getParametersStartingWith(request, “s_”);
PageData userPageData = new PageData<>();
QueryWrapper userWrapper = new QueryWrapper<>();
if(!map.isEmpty()){
String type = (String) map.get(“type”);
if(StringUtils.isNotBlank(type)) {
userWrapper.eq(“is_admin”, “admin”.equals(type) ? true : false);
String keys = (String) map.get(“key”);
if(StringUtils.isNotBlank(keys)) {
userWrapper.and(wrapper -> wrapper.like(“login_name”, keys).or().like(“tel”, keys).or().like(“email”, keys));
IPage userPage = userService.page(new Page<>(page,limit),userWrapper);
userPageData.setCount(userPage.getTotal());
userPageData.setData(userPage.getRecords());
return userPageData;
@RequestMapping(“add”)
public String add(ModelMap modelMap){
List roleList = roleService.selectAll();
modelMap.put(“roleList”,roleList);
return “admin/user/add”;
@RequiresPermissions(“sys:user:add”)
@PostMapping(“add”)
@ResponseBody
@SysLog(“保存新增系统用户数据”)
public ResponseEntity add(@RequestBody User user){
if(StringUtils.isBlank(user.getLoginName())){
return ResponseEntity.failure(“登录名不能为空”);
if(user.getRoleLists() == null || user.getRoleLists().size() == 0){
return ResponseEntity.failure(“用户角色至少选择一个”);
if(userService.userCount(user.getLoginName())>0){
return ResponseEntity.failure(“登录名称已经存在”);
// if(StringUtils.isNotBlank(user.getEmail())){
// if(userService.userCount(user.getEmail())>0){
// return ResponseEntity.failure(“该邮箱已被使用”);
// }
// }
// if(StringUtils.isNoneBlank(user.getTel())){
// if(userService.userCount(user.getTel())>0){
// return ResponseEntity.failure(“该手机号已被绑定”);
// }
// }
//设置默认密码
if(StringUtils.isBlank(user.getPassword())){
user.setPassword(Constants.DEFAULT_PASSWORD);
userService.saveUser(user);
if(StringUtils.isBlank(user.getId())){
return ResponseEntity.failure(“保存用户信息出错”);
//保存用户角色关系
userService.saveUserRoles(user.getId(),user.getRoleLists());
return ResponseEntity.success(“操作成功”);
@RequestMapping(“edit”)
publ