项目介绍
本项目为后管系统,主要功能包括:
登录、修改密码、客户模块、充值模块、消费模块、对账单模块等功能。
环境需要
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
-
前端:JSP+LayUI+jQuery
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
- 将项目中application.yml配置文件中的数据库配置改为自己的配置;
- 修改logback-spring.xml文件中,第16行
- 运行项目,输入http://localhost:8081/ 登录
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
* @param customerLevel 客户等级
* @param request
* @return Map<String,Object>
* @since 1.8
*
*/
@RequiresPermissions("5002")
@Operation(name="添加客户")
@RequestMapping("add")
@ResponseBody
public Map<String, Object> addCustomer(Customer customer,Linkman linkman,String customerName,String linkmanName,String customerLevel,HttpServletRequest request){
Map<String, Object> map = new HashMap<String,Object>(16);
this.getUser(request);
//检测是否存在customer对象
if(customer == null || linkman == null) {
map.put("msg", "参数为空");
return user;
}
/**
*
* 描述:分页查询客户
* @author huangwanzong
* @date 2018/07/06
* @version 1.0
* @param page 可选参数,查询的页数,默认值 1
* @param limit 可选参数,分页的大小,默认值 10
* @param customer 可选参数,查询的条件
* @param findtype 可选参数,该参数值为 all 时不执行分页查询,返回全部符合条件的客户
* @param request
* @return Map<String,Object>
* @since 1.8
*
*/
map.put("msg", "删除完成");
map.put("status", true);
map.put("success", success);
map.put("fail", fail);
return map;
}
@RequiresPermissions("7010")
@Operation(name="id查找客户")
@RequestMapping("find")
@ResponseBody
public Map<String, Object> findCustomer(Integer id){
Map<String, Object> map = new HashMap<String,Object>(16);
Customer customer = null;
if(id == null) {
map.put("msg", "非法操作");
map.put("success", false);
return map;
success = false;
msg = "修改失败!";
}
map.put("success", success);
map.put("msg", msg);
map.put("code", 0);
return map;
}
/**
*
* 描述:获取忘记密码时的验证码
* @author wanghaoyu
* @version 1.0
* @param email
* @return
* @exception Nothing
* @since 1.8
*
*/
map.put("code",0);
map.put("data", user);
map.put("msg", msg);
return map;
}
/**
*
* 描述:用户修改密码
* @author wanghaoyu
* @version 1.0
* @param user
* @return Map<String,Object>
* @exception Nothing
* @since 1.8
*
*/
* @since 1.8
*
*/
@RequiresPermissions("5001")
@Operation(name="分页查询客户")
@RequestMapping("list")
@ResponseBody
public Map<String, Object> listCustomer(Integer page,Integer limit,Customer customer,String findtype,HttpServletRequest request){
Map<String, Object> map = new HashMap<String,Object>(16);
//获取用户
user = this.getUser(request);
//检验用户正确性
if(user == null || user.getId() == null) {
map.put("code", -1);
map.put("msg", "用户不存在,无法执行操作.");
return map;
}
CustomerExample example = new CustomerExample();
System.err.println("==============================" +subject.isAuthenticated());
//判断用户是否已经登陆
if(!subject.isAuthenticated()) {
UsernamePasswordToken token = new UsernamePasswordToken(user.getAccount(),user.getPassword());
try {
subject.login(token);
//验证成功
//登陆成功后的用户账号信息
String account = (String)subject.getPrincipal();
//根据用户账号,查询用户,并保存到session域中
User loginUser = userService.findByAccount(account);
LocalDateTime now = LocalDateTime.now();
//如果上次登陆的时间为空,则说明这次是首次登陆,前台应该跳转到修改密码界面
if(loginUser.getLastLoginTime() == null) {
maps.put("firstLogin", true);
}
//修改最后一次登录的时间,并保存到数据库
loginUser.setLastLoginTime(now);
loginUser.setPassword(null);
@RequiresPermissions("5003")
@Operation(name="更新客户信息")
@RequestMapping("update")
@ResponseBody
public Map<String, Object> updateCustomer(Customer customer){
Map<String, Object> map = new HashMap<String,Object>(16);
if(customerService.updateCustomerByPrimaryKeySelective(customer)) {
map.put("msg", "更新成功");
map.put("success", true);
}else {
map.put("msg", "更新失败");
map.put("success", false);
}
* @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();
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<User> list = userService.findByExample(userExample);
* 描述:根据session域里面的用户编号查找当前登录的用户
* @author wanghaoyu
* @version 1.0
* @param id
* @return Map<String,Object>
* @exception Nothing
* @since 1.8
*
*/
@Operation(name="查找当前登录的用户")
@RequiresPermissions("13001")
@RequestMapping("/findCurrentUser")
@ResponseBody
public Map<String, Object> findCurrentUser(Integer id){
Map<String, Object> map = new HashMap<String, Object>(16);
boolean success = false;
String msg = "";
//根据ID查找用户
User user = userService.findById(id);
if(user != null){
user.setPassword(null);
user.setSalt(null);
success = true;
msg = "查找成功!";
}else{
success = false;