基于javaweb的SpringBoot销售团队后台管理系统(java+springboot+freemarker+bootstrap+echarts+mysql+maven)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

090023012402

100023012402

110023012402

120023012402

130023012402

基于javaweb的SpringBoot销售团队后台管理系统(java+springboot+freemarker+bootstrap+echarts+mysql+maven)

项目介绍

该项目为后管系统,主要功能包括:

看板、业务机会管理、客户管理、联系人管理、我的日报、团队日报、主数据管理:组织架构管理;系统管理:用户管理、角色管理、菜单管理等;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7版本;

技术栈

  1. 后端:SpringBoot+mybatis

  2. 前端:FreeMarker+Angular+bootstrap+echarts+jQuery

使用说明
前台访问路径:http://localhost:8080/
登录账号:admin  登录密码:123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39


@Controller
@RequestMapping("/user")
public class UserController extends AuthorizedController {

@Autowired
private UserService userService;

@Autowired
private HttpSession session;

@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/user";
}

@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
public PageInfo<User> find(@RequestBody QueryUserVo vo) {
return userService.find(vo);
}

@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody User user) {
return userService.insert(user);
}

@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result delete(@RequestBody List<Integer> ids) {
return userService.deleteByIds(ids);
}

@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public User findById(@RequestBody User user) {
return userService.findById(user.getUserId());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31



@Service
public class ExcelUtil {

@Autowired
private HttpServletResponse response;

public <T> void export(String fileName, List<T> data) {
try {

if (data == null || data.isEmpty()) {
return;
}

List<ExcelColumn> columnList = new ArrayList<>();

Class<?> type = data.get(0).getClass();

List<Field> fields = Arrays.asList(type.getDeclaredFields());

for (Field field : fields) {
field.setAccessible(true);
ExcelColumn excelColumn = field.getAnnotation(ExcelColumn.class);
columnList.add(excelColumn);
}

columnList.sort((e1, e2) -> e1.order() - e2.order());
fields.sort((f1, f2) -> f1.getAnnotation(ExcelColumn.class).order() - f2.getAnnotation(ExcelColumn.class).order());

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
}
package com.powerteam.controller.sys;



@Controller
public class HomeController {

@Autowired
private HttpSession session;

@Autowired
private UserService userService;

@Autowired
private PowerTeamConfig powerTeamConfig;


@RequestMapping(value = "/", method = RequestMethod.GET)
public String signIn() {
return "sys/home";
}

@RequestMapping(value = "/signIn", method = RequestMethod.POST)
@ResponseBody
public ResultData<User> signIn(@RequestBody User user) {
ResultData<User> result = userService.signIn(user);
if (result.isSuccess()) {
user = result.getData();
session.setAttribute("User", user);
}
return result;
}

@RequestMapping(value = "/signOut", method = RequestMethod.GET)
@RequireSession
public String signOut() {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    @RequestMapping(value = "/updateLocation", method = RequestMethod.POST)
@ResponseBody
public Result updateLocation(@RequestBody Customer customer) {
return customerService.updateLocation(customer);
}
}
package com.powerteam.controller.sys;



@Controller()
@RequestMapping("/menu")
public class MenuController extends AuthorizedController {

@Autowired
private MenuService menuService;

@RequestMapping(value = "", method = RequestMethod.GET)
public String index() {
return "sys/menu";
}

@RequestMapping(value = "/findAllMenu", method = RequestMethod.POST)
@ResponseBody
public List<Menu> findAllMenu() {
return menuService.findAllMenu();
}

@RequestMapping(value = "/findAllMenuTree", method = RequestMethod.POST)
@ResponseBody
public List<TreeNode<Menu>> findAllMenuTree() {
return menuService.findAllMenuTree();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

@RequestMapping(value = "/findUserMenuTree", method = RequestMethod.POST)
@ResponseBody
public List<TreeNode<Menu>> findUserMenuTree() {
return menuService.findUserMenuTree(getUser().getUserId());
}

@RequestMapping(value = "/findRoleMenu", method = RequestMethod.POST)
@ResponseBody
public List<Menu> findRoleMenu(@RequestBody Role role) {
return menuService.findRoleMenu(role.getRoleId());
}

@RequestMapping(value = "/checkMenuName", method = RequestMethod.POST)
@ResponseBody
public Result checkMenuName(@RequestBody Menu menu) {
return menuService.checkMenuName(menu);
}

@RequestMapping(value = "/checkMenuCode", method = RequestMethod.POST)
@ResponseBody
public Result checkMenuCode(@RequestBody Menu menu) {
return menuService.checkMenuCode(menu);
}

@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody Menu menu) {
return menuService.insert(menu);
}

@RequestMapping(value = "/remove", method = RequestMethod.POST)
@ResponseBody
public Result remove(@RequestBody Menu menu) {
return menuService.delete(menu.getMenuId());
}

@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public Menu findById(@RequestBody Menu menu) {
return menuService.findById(menu.getMenuId());
}

@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody Menu menu) {
return menuService.update(menu);
}

@RequestMapping(value = "/up", method = RequestMethod.POST)
@ResponseBody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45


@Controller
@RequestMapping("/fun")
public class FunController {

@Autowired
private FunService funService;

@RequestMapping(value = "/findAll", method = RequestMethod.POST)
@ResponseBody
public List<Fun> findAll() {
return funService.findAll();
}

@RequestMapping(value = "/findFunInRole", method = RequestMethod.POST)
@ResponseBody
public List<Fun> findFunInRole(@RequestBody Integer roleId) {
return funService.findFunInRole(roleId);
}

@RequestMapping(value = "/saveRoleFun", method = RequestMethod.POST)
@ResponseBody
public Result saveMenu(@RequestBody Map map) {
return funService.saveRoleFun((Integer) map.get("roleId"), (List<Integer>) map.get("funIdList"));
}
}
package com.powerteam.controller.crm;


@Controller
public class DailyReportController extends AuthorizedController {

@RequestMapping(value = "/dailyReport", method = RequestMethod.GET)
public String dailyReport() {
return "crm/dailyReport";
}

@RequestMapping(value = "/teamDailyReport", method = RequestMethod.GET)
public String teamDailyReport() {
return "crm/teamDailyReport";
}
}
package com.powerteam.controller.sys;


项目链接:
https://javayms.github.io?id=491422292105200ft
https://javayms.pages.dev?id=491422292105200ft