基于javaweb+mysql的ssm校园帮跑腿代办管理平台(java+ssm+jsp+layui+echarts+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM校园帮跑腿代办管理平台(java+ssm+jsp+layui+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项目:否;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+LayUI+jquery+echarts
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.xml配置文件中的数据库配置改为自己的配置; 4. 运行项目,浏览器中输入localhost:8080/campusHelp 登录
@SessionAttributes({ "nowuser" })
@RequestMapping(value = "user/")
public class UserController {
@Resource(name = "userService")
public UserService userService;
@Resource(name = "adminService")
public AdminService adminService;
// 登录
@RequestMapping("login.do")
public String login(String studentid, String password, Model model) {
User user = null;
user = userService.login(studentid);
if (user == null) {
model.addAttribute("msg", "登录失败--请确定账号和密码正确");
return "login";
}
if (password.equals(user.getPassword())) {
model.addAttribute("nowuser", user);
model.addAttribute("loginflag", "loginflag");//
return "index";
} else {
model.addAttribute("msg", "登录失败--请确定账号和密码正确");
return "login";
}
}
// 注册
@RequestMapping("register.do")
public String register(User user, Model model) {
// 检查学号账号重复
int countnum = userService.getAccountCount(user.getStudentid());
if (countnum > 0) {
model.addAttribute("msg", "该学号已经注册");
model.addAttribute("user", user);
return "register";
}
user.setStuid(0);
user.setRegistertime(new Date());
user.setMoney(0.00);
model.addAttribute("msg", "对方已获取全部奖励");
}
List<Task> list = taskService.getUserTask(uid);
model.addAttribute("list", list);
return "userPtask";
}
// to1.发布者点击关闭删除取消
@RequestMapping("taskclose.do")
public String taskclose(String tidstr, HttpServletRequest request, Model model) {
int tid = 0;
try {
tid = Integer.parseInt(tidstr);
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
if (tid == 0) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
User user = null;
try {
user = (User) request.getSession(false).getAttribute("nowuser");
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return "login";
}
int uid = 0;
try {
uid = user.getStuid();
if (user == null || uid == 0) {
model.addAttribute("msg", "请检查登录状况");
return getusertask(request, model,null);
}
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return getusertask(request, model,null);
}
Task theTask = taskService.getTask(tid);
if (!(uid + "").equals(theTask.getPublishUserId())) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
theTask.setState(1);
int r = taskService.updateTask(theTask);
if (r > 0) {
user.setMoney(user.getMoney()+theTask.getReward());
int ruser = userService.updateUserInfo(user);
if (ruser> 0) {
model.addAttribute("msg", "成功");
}else {
user = (User) request.getSession(false).getAttribute("nowuser");
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return findtask("","", "-1", 1, model,"","");
}
int uid = 0;
try {
uid = user.getStuid();
if (user == null || uid == 0) {
model.addAttribute("msg", "请检查登录状况");
return findtask("","", "-1", 1, model,"","");
}
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return findtask("","", "-1", 1, model,"","");
}
List<Task> list = taskService.getUserTask(uid);
int pagesize = getPageSize(list, size);
list = getList(list, page, size);
if(page<=0) {
page = 1;
}
if(page>=pagesize) {
page = pagesize;
}
model.addAttribute("pagesize", pagesize);
model.addAttribute("nowpage", page);
model.addAttribute("list", list);
return "userPtask";
}
static List<Task> getList(List<Task> list,int page,int size){
int end = 0;
int pages = list.size()/size + 1;
if(page>pages) {
page = pages - 1;
}
if(page < 1) {
page = 1;
}
if(page*size>list.size()) {
end = list.size();
}else {
end = page*size;
}
return list.subList((page-1)*size, end);
}
value[i] = list.get(i).getCount();
}
result.put("name", name);
result.put("value", value);
return result.toString();
}
// 获取任务详细信息
@RequestMapping("gettaskinfo.do")
public String gettaskinfo(String tidstr,HttpServletRequest request, Model model) {
int tid = 0;
try {
tid = Integer.parseInt(tidstr);
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return "taskInfo";
}
Task theTask = taskService.getTask(tid);
model.addAttribute("theTask", theTask);
return "taskInfo";
}
//搜索任务
@RequestMapping("list.do")
public String findtask(String words,@RequestParam(required=false,defaultValue="")String louhao,
@RequestParam(required=true,defaultValue="-1") String schoolidstr,@RequestParam(required=true,defaultValue="1") Integer page , Model model,@RequestParam(required=false,defaultValue="")String bd,
@RequestParam(required=false,defaultValue="")String ed) {
model.addAttribute("words", words);
model.addAttribute("schoolidstr", schoolidstr);
model.addAttribute("louhao", louhao);
model.addAttribute("bd", bd);
model.addAttribute("ed", ed);
int schoolid = -1;
if (!schoolidstr.equals("-1")) {
try {
schoolid = Integer.parseInt(schoolidstr);
} catch (Exception e) {
System.err.println("err");
}
}
if (words!=null&&!"".equals(words)) {
words="%"+words+"%";
}
if (louhao!=null) {
louhao="%"+louhao+"%";
}
if (ed!=null&&!"".equals(ed)) {
ed=""+ed+"";
}
List<Task> list = taskService.getTaskByKeys(words, schoolid);
model.addAttribute("list", list);
return "adminTask";
}
// to1.管理员点击关闭删除取消
@RequestMapping("taskclose.do")
public String taskclose(String tidstr, String words,
@RequestParam(required = true, defaultValue = "-1") String schoolidstr, HttpServletRequest request,
Model model) {
int tid = 0;
try {
tid = Integer.parseInt(tidstr);
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return gettasks(words, schoolidstr, model);
}
if (tid == 0) {
model.addAttribute("msg", "出现错误");
return gettasks(words, schoolidstr, model);
}
Admin admin = null;
try {
admin = (Admin) request.getSession(false).getAttribute("nowadmin");
int uid = 0;
uid = admin.getAid();
if (admin == null || uid == 0) {
model.addAttribute("msg", "请检查登录状况");
return gettasks(words, schoolidstr, model);
}
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return "login";
}
Task theTask = taskService.getTask(tid);
theTask.setState(1);
int r = taskService.updateTask(theTask);
if (r > 0) {
model.addAttribute("msg", "成功");
} else {
model.addAttribute("msg", "失败");
}
if (user == null) {
model.addAttribute("msg", "登录失败--请确定账号和密码正确");
return "login";
}
if (password.equals(user.getPassword())) {
model.addAttribute("nowuser", user);
model.addAttribute("loginflag", "loginflag");//
return "index";
} else {
model.addAttribute("msg", "登录失败--请确定账号和密码正确");
return "login";
}
}
// 注册
@RequestMapping("register.do")
public String register(User user, Model model) {
// 检查学号账号重复
int countnum = userService.getAccountCount(user.getStudentid());
if (countnum > 0) {
model.addAttribute("msg", "该学号已经注册");
model.addAttribute("user", user);
return "register";
}
user.setStuid(0);
user.setRegistertime(new Date());
user.setMoney(0.00);
user.setState(0);
System.out.println(user.toString());
int result = userService.setUser(user);
if (result <= 0) {
model.addAttribute("msg", "注册失败");
model.addAttribute("user", user);
return "register";
}
model.addAttribute("msg", "注册成功,请登录");
return "login";
}
if (r > 0) {
model.addAttribute("msg", "添加成功");
model.addAttribute("flag", "添加成功");
return "adminSchoolAdd";
} else {
model.addAttribute("msg", "添加失败");
return "adminSchoolAdd";
}
}
@org.springframework.web.bind.annotation.InitBinder
public void InitBinder(ServletRequestDataBinder bin) {
bin.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}
}
/**
* *****任务********
* 用户发布新任务*
* 用户读取自己发布的任务*
* 用户读取自己接受的任务*
* 用户确认任务完成*
* 用户关闭未被人接受的任务*
/**
* ****管理员功能****
* -------
* 管理员登录 .
* 管理员个人信息更新 .
* 密码更新 .
* 添加管理员 .
* ------
* 获取任务列表 .
* 关闭待解决任务.
* ------
* 获取用户列表 .
* 读取一个用户.
* 添加用户余额.
* 解除用户限制 .
* 添加用户限制 .
* ----------
* 获取学校列表.
* 读取单个学校信息 .
* 更新学校信息 .
* 添加院校.
*
*
*/
@Controller
@SessionAttributes({ "nowadmin" })
@RequestMapping(value = "admin/")
public class AdminController {
@Resource(name = "adminService")
public AdminService adminService;
@Resource(name = "schoolService")
public SchoolService schoolService;
@Resource(name = "taskService")
public TaskService taskService;
@Resource(name = "userService")
public UserService userService;
// 解除用户限制
@RequestMapping("useropen.do")
public String useropen(String keys, String stuidstr, Model model) {
if (stuidstr == null) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
} else {
if (stuidstr.length() == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
}
int stuid = 0;
try {
stuid = Integer.parseInt(stuidstr);
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
User theUser = userService.getByUid(stuid);
theUser.setState(0);
int r = userService.updateUserInfo(theUser);
if (r > 0) {
model.addAttribute("msg", "修改成功");
} else {
model.addAttribute("msg", "修改失败");
}
return getusers(keys, model);
}
// 限制用户
@RequestMapping("userclose.do")
public String userclose(String keys, String stuidstr, Model model) {
if (stuidstr == null) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
} else {
if (stuidstr.length() == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
}
int stuid = 0;
try {
stuid = Integer.parseInt(stuidstr);
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
model.addAttribute("msg", "出现错误");
return "userInfo";
}
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
return "userInfo";
}
User user = userService.getByUid(stuid);
model.addAttribute("theuser", user);
return "adminUserMoney";
}
// 添加用户余额
@RequestMapping("addusermoney.do")
public String addusermoney(String moneystr, String stuidstr, Model model) {
double money = 0.00;
try {
money = Double.parseDouble(moneystr);
} catch (Exception e) {
model.addAttribute("msg", "金额出现错误");
return getuser(stuidstr, model);
}
if (stuidstr == null) {
model.addAttribute("msg", "出现错误");
return getuser(stuidstr, model);
} else {
if (stuidstr.length() == 0) {
model.addAttribute("msg", "出现错误");
return getuser(stuidstr, model);
}
}
int stuid = 0;
try {
stuid = Integer.parseInt(stuidstr);
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
return getuser(stuidstr, model);
}
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getuser(stuidstr, model);
}
User theUser = userService.getByUid(stuid);
theUser.setMoney(theUser.getMoney() + money);
// 检查账号重复
int countnum = adminService.getAccountCount(account);
if (countnum > 0) {
model.addAttribute("msg", account + " 该账号已经被使用");
return "adminAddAdmin";
}
Admin admin = new Admin(0, account, "123456", account, new Date(), 0);
int result = adminService.setAdmin(admin);
if (result <= 0) {
model.addAttribute("msg", "注册失败");
return "adminAddAdmin";
}
model.addAttribute("msg", "注册成功,可以登录。默认密码:123456");
return "adminAddAdmin";
}
@RequestMapping("gettasks.do")
public String gettasks(String words, @RequestParam(required = true, defaultValue = "-1") String schoolidstr,
Model model) {
model.addAttribute("words", words);
model.addAttribute("schoolidstr", schoolidstr);
int schoolid = -1;
if (!schoolidstr.equals("-1")) {
try {
schoolid = Integer.parseInt(schoolidstr);
} catch (Exception e) {
System.err.println("err");
}
}
if (words != null) {
words = "%" + words + "%";
} else {
words = "%%";
}
List<Task> list = taskService.getTaskByKeys(words, schoolid);
model.addAttribute("list", list);
return "adminTask";
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
if (tid == 0) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
User user = null;
try {
user = (User) request.getSession(false).getAttribute("nowuser");
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return "login";
}
int uid = 0;
try {
uid = user.getStuid();
if (user == null || uid == 0) {
model.addAttribute("msg", "请检查登录状况");
return getusertask(request, model,null);
}
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return getusertask(request, model,null);
}
Task theTask = taskService.getTask(tid);
if (!(uid + "").equals(theTask.getPublishUserId())) {
model.addAttribute("msg", "出现错误");
return getusertask(request, model,null);
}
theTask.setState(1);
int r = taskService.updateTask(theTask);
if (r > 0) {
user.setMoney(user.getMoney()+theTask.getReward());
int ruser = userService.updateUserInfo(user);
if (ruser> 0) {
model.addAttribute("msg", "成功");
}else {
model.addAttribute("msg", "已关闭-奖励未返回,请与管理员联系");
}
School theSchool = schoolService.getSchoolByID(school.getSchoolid());
model.addAttribute("theSchool", theSchool);
return "adminSchoolSetting";
}
// 更新院校
@RequestMapping("addschool.do")
public String addschool(String name, Model model) {
if (name == null) {
model.addAttribute("msg", "添加失败");
return "adminSchoolAdd";
} else {
if (name.length() == 0) {
model.addAttribute("msg", "添加失败");
return "adminSchoolAdd";
}
}
School theSchool = new School(0, name, new Date(), 0);
int r = 0;
r = schoolService.setSchool(theSchool);
if (r > 0) {
model.addAttribute("msg", "添加成功");
model.addAttribute("flag", "添加成功");
return "adminSchoolAdd";
} else {
model.addAttribute("msg", "添加失败");
return "adminSchoolAdd";
}
}
@org.springframework.web.bind.annotation.InitBinder
public void InitBinder(ServletRequestDataBinder bin) {
bin.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}
Model model) {
model.addAttribute("words", words);
model.addAttribute("schoolidstr", schoolidstr);
int schoolid = -1;
if (!schoolidstr.equals("-1")) {
try {
schoolid = Integer.parseInt(schoolidstr);
} catch (Exception e) {
System.err.println("err");
}
}
if (words != null) {
words = "%" + words + "%";
} else {
words = "%%";
}
List<Task> list = taskService.getTaskByKeys(words, schoolid);
model.addAttribute("list", list);
return "adminTask";
}
// to1.管理员点击关闭删除取消
@RequestMapping("taskclose.do")
public String taskclose(String tidstr, String words,
@RequestParam(required = true, defaultValue = "-1") String schoolidstr, HttpServletRequest request,
Model model) {
int tid = 0;
try {
tid = Integer.parseInt(tidstr);
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return gettasks(words, schoolidstr, model);
}
if (tid == 0) {
model.addAttribute("msg", "出现错误");
return gettasks(words, schoolidstr, model);
}
Admin admin = null;
try {
admin = (Admin) request.getSession(false).getAttribute("nowadmin");
int uid = 0;
uid = admin.getAid();
if (admin == null || uid == 0) {
model.addAttribute("msg", "请检查登录状况");
return gettasks(words, schoolidstr, model);
}
} catch (Exception e) {
}
int stuid = 0;
try {
stuid = Integer.parseInt(stuidstr);
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
User theUser = userService.getByUid(stuid);
theUser.setState(0);
int r = userService.updateUserInfo(theUser);
if (r > 0) {
model.addAttribute("msg", "修改成功");
} else {
model.addAttribute("msg", "修改失败");
}
return getusers(keys, model);
}
// 限制用户
@RequestMapping("userclose.do")
public String userclose(String keys, String stuidstr, Model model) {
if (stuidstr == null) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
} else {
if (stuidstr.length() == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
}
int stuid = 0;
try {
stuid = Integer.parseInt(stuidstr);
if (stuid == 0) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
} catch (Exception e) {
model.addAttribute("msg", "出现错误");
return getusers(keys, model);
}
/**
* *****任务********
* 用户发布新任务*
* 用户读取自己发布的任务*
* 用户读取自己接受的任务*
* 用户确认任务完成*
* 用户关闭未被人接受的任务*
* 用户接受任务*
* 读取任务的信息*
* 搜索任务*
*
*
*/
@Controller
@RequestMapping(value = "task/")
public class TaskController {
@Resource(name = "taskService")
public TaskService taskService;
@Resource(name = "userService")
public UserService userService;
//发布新任务
@RequestMapping("newtask.do")
public String newtask(Task task, HttpServletRequest request, Model model) {
User user = null;
try {
user = (User) request.getSession(false).getAttribute("nowuser");
} catch (Exception e) {
model.addAttribute("msg", "请检查登录状况");
return "login";
}
try {
if (user == null || user.getStuid() == 0) {
Task theTask = taskService.getTask(tid);
theTask.setState(1);
int r = taskService.updateTask(theTask);
if (r > 0) {
model.addAttribute("msg", "成功");
} else {
model.addAttribute("msg", "失败");
}
return gettasks(words, schoolidstr, model);
}
// 获取用户信息
@RequestMapping("getusers.do")
public String getusers(String userstr, Model model) {
model.addAttribute("keys", userstr);
if (userstr != null) {
userstr = "%" + userstr + "%";
} else {
userstr = "%%";
}
List<User> list = userService.getByLikeNameAccount(userstr);
model.addAttribute("list", list);
return "adminUser";
}
@RequestMapping("tongji.do")
public String tongji( Model model) {
return "tongji";
}
// 获取用户信息
@RequestMapping(value="tongjidata.do",produces={"application/json;charset=UTF-8"})
@ResponseBody
public String tongjidata( Model model) {
JSONObject result = new JSONObject();
Map<String, Integer> map = new HashMap<String, Integer>();
List<Task> list = taskService.selecttongji();
System.out.println(list.size());
Collections.sort(list, new Comparator<Task>() {
@Override