• Java项目:SSM校园帮跑腿管理平台


    项目介绍

    本项目包含管理员与学生两种角色;

    管理员角色包含以下功能:

    管理员登录,院校管理,任务管理,用户维护,用户余额充值,添加管理员等功能。

    学生用户角色包含以下功能:

    学生注册,学生角色登录,发布新任务,个人信息查看,资料修改,密码修改等功能。

    环境需要

    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项目:否;

    技术栈

    1. 后端:Spring+SpringMVC+Mybatis

    2. 前端:JSP+CSS+JavaScript+LayUI+jquery+echarts

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中application.xml配置文件中的数据库配置改为自己的配置;

    4. 运行项目,浏览器中输入localhost:8080/campusHelp 登录

    运行截图

     

     

     

     

     

     

     

     

    相关代码

    用户控制器

    1. package com.ssm.controller;
    2. import java.util.Date;
    3. import javax.annotation.Resource;
    4. import javax.servlet.http.HttpServletRequest;
    5. import org.springframework.stereotype.Controller;
    6. import org.springframework.ui.Model;
    7. import org.springframework.web.bind.annotation.RequestMapping;
    8. import org.springframework.web.bind.annotation.SessionAttributes;
    9. import com.ssm.po.User;
    10. import com.ssm.service.AdminService;
    11. import com.ssm.service.UserService;
    12. /**
    13. * ***********用户基本**************
    14. * 用户登录 *
    15. * 用户注册*
    16. *
    17. * 用户信息更新*
    18. * 用户密码更新*
    19. *
    20. * @author
    21. *
    22. */
    23. @Controller
    24. @SessionAttributes({ "nowuser" })
    25. @RequestMapping(value = "user/")
    26. public class UserController {
    27. @Resource(name = "userService")
    28. public UserService userService;
    29. @Resource(name = "adminService")
    30. public AdminService adminService;
    31. // 登录
    32. @RequestMapping("login.do")
    33. public String login(String studentid, String password, Model model) {
    34. User user = null;
    35. user = userService.login(studentid);
    36. if (user == null) {
    37. model.addAttribute("msg", "登录失败--请确定账号和密码正确");
    38. return "login";
    39. }
    40. if (password.equals(user.getPassword())) {
    41. model.addAttribute("nowuser", user);
    42. model.addAttribute("loginflag", "loginflag");//
    43. return "index";
    44. } else {
    45. model.addAttribute("msg", "登录失败--请确定账号和密码正确");
    46. return "login";
    47. }
    48. }
    49. // 注册
    50. @RequestMapping("register.do")
    51. public String register(User user, Model model) {
    52. // 检查学号账号重复
    53. int countnum = userService.getAccountCount(user.getStudentid());
    54. if (countnum > 0) {
    55. model.addAttribute("msg", "该学号已经注册");
    56. model.addAttribute("user", user);
    57. return "register";
    58. }
    59. user.setStuid(0);
    60. user.setRegistertime(new Date());
    61. user.setMoney(0.00);
    62. user.setState(0);
    63. System.out.println(user.toString());
    64. int result = userService.setUser(user);
    65. if (result <= 0) {
    66. model.addAttribute("msg", "注册失败");
    67. model.addAttribute("user", user);
    68. return "register";
    69. }
    70. model.addAttribute("msg", "注册成功,请登录");
    71. return "login";
    72. }
    73. // 更新
    74. @RequestMapping("update.do")
    75. public String update(HttpServletRequest request, User user, Model model) {
    76. int r = userService.updateUserInfo(user);
    77. if (r > 0) {
    78. model.addAttribute("msg", "更新成功,请重新登录");
    79. model.addAttribute("flag", "更新成功,请重新登录");
    80. return "userUpdate";
    81. }
    82. model.addAttribute("msg", "更新失败");
    83. return "userUpdate";
    84. }
    85. // 更新
    86. @RequestMapping("updatepwd.do")
    87. public String updatepwd(HttpServletRequest request, String oldpassword, User user, Model model) {
    88. User olduser = (User) request.getSession(false).getAttribute("nowuser");
    89. System.out.println(olduser.getPassword());
    90. System.out.println(oldpassword);
    91. if (!olduser.getPassword().equals(oldpassword)) {
    92. model.addAttribute("msg", "原密码错误");
    93. return "userPassword";
    94. }
    95. int r = userService.updateUserInfo(user);
    96. if (r > 0) {
    97. model.addAttribute("msg", "修改成功,请重新登录");
    98. model.addAttribute("flag", "更新成功,请重新登录");
    99. return "userPassword";
    100. }
    101. model.addAttribute("msg", "修改失败");
    102. return "userPassword";
    103. }
    104. }

    任务控制器

    1. package com.ssm.controller;
    2. import java.util.Collections;
    3. import java.util.Comparator;
    4. import java.util.Date;
    5. import java.util.HashMap;
    6. import java.util.List;
    7. import java.util.Map;
    8. import javax.annotation.Resource;
    9. import javax.servlet.http.HttpServletRequest;
    10. import org.springframework.stereotype.Controller;
    11. import org.springframework.ui.Model;
    12. import org.springframework.web.bind.annotation.RequestMapping;
    13. import org.springframework.web.bind.annotation.RequestParam;
    14. import org.springframework.web.bind.annotation.ResponseBody;
    15. import com.github.pagehelper.PageHelper;
    16. import com.github.pagehelper.PageInfo;
    17. import com.ssm.po.Task;
    18. import com.ssm.po.User;
    19. import com.ssm.service.TaskService;
    20. import com.ssm.service.UserService;
    21. import net.sf.json.JSONObject;
    22. /**
    23. * *****任务********
    24. * 用户发布新任务*
    25. * 用户读取自己发布的任务*
    26. * 用户读取自己接受的任务*
    27. * 用户确认任务完成*
    28. * 用户关闭未被人接受的任务*
    29. * 用户接受任务*
    30. * 读取任务的信息*
    31. * 搜索任务*
    32. *
    33. * @author
    34. *
    35. */
    36. @Controller
    37. @RequestMapping(value = "task/")
    38. public class TaskController {
    39. @Resource(name = "taskService")
    40. public TaskService taskService;
    41. @Resource(name = "userService")
    42. public UserService userService;
    43. //发布新任务
    44. @RequestMapping("newtask.do")
    45. public String newtask(Task task, HttpServletRequest request, Model model) {
    46. User user = null;
    47. try {
    48. user = (User) request.getSession(false).getAttribute("nowuser");
    49. } catch (Exception e) {
    50. model.addAttribute("msg", "请检查登录状况");
    51. return "login";
    52. }
    53. try {
    54. if (user == null || user.getStuid() == 0) {
    55. model.addAttribute("msg", "发布失败-请检查登录状况");
    56. return "userNewtask";
    57. }
    58. } catch (Exception e) {
    59. model.addAttribute("msg", "发布失败-请检查登录状况");
    60. return "userNewtask";
    61. }
    62. if (user.getState() > 0) {
    63. model.addAttribute("msg", "发布失败-用户状态受限");
    64. return "userNewtask";
    65. }
    66. if (user.getMoney()
    67. model.addAttribute("msg", "发布失败-余额不足-请联系管理员添加余额");
    68. return "userNewtask";
    69. }
    70. Task task2 = new Task(0, user.getStuid() + "", user.getName(), user.getSchoolid(), 0, task.getReward(),
    71. new Date(), new Date(), task.getTaskname(), task.getTaskcontext(), 0,task.getDdl());
    72. user.setMoney(user.getMoney()-task2.getReward());
    73. int ruser = userService.updateUserInfo(user);
    74. if (ruser> 0) {
    75. int r = taskService.setNewTask(task2);
    76. if (r > 0) {
    77. model.addAttribute("msg", "发布成功");
    78. return getusertask(request, model,null);
    79. }else {
    80. model.addAttribute("msg", "余额已扣除-发布失败");
    81. return "userNewtask";
    82. }
    83. }else {
    84. model.addAttribute("msg", "发布失败");
    85. return "userNewtask";
    86. }
    87. }
    88. // 用户发布的
    89. @RequestMapping("getusertask.do")
    90. public String getusertask(HttpServletRequest request, Model model,@RequestParam(required = false) Integer page) {
    91. try {
    92. if(page == null) {
    93. page = 1;
    94. }
    95. } catch (Exception e) {
    96. page = 1;
    97. }
    98. int size = 8;
    99. User user = null;
    100. try {
    101. user = (User) request.getSession(false).getAttribute("nowuser");
    102. } catch (Exception e) {
    103. model.addAttribute("msg", "请检查登录状况");
    104. return findtask("","", "-1", 1, model,"","");
    105. }
    106. int uid = 0;
    107. try {
    108. uid = user.getStuid();
    109. if (user == null || uid == 0) {
    110. model.addAttribute("msg", "请检查登录状况");
    111. return findtask("","", "-1", 1, model,"","");
    112. }
    113. } catch (Exception e) {
    114. model.addAttribute("msg", "请检查登录状况");
    115. return findtask("","", "-1", 1, model,"","");
    116. }
    117. List list = taskService.getUserTask(uid);
    118. int pagesize = getPageSize(list, size);
    119. list = getList(list, page, size);
    120. if(page<=0) {
    121. page = 1;
    122. }
    123. if(page>=pagesize) {
    124. page = pagesize;
    125. }
    126. model.addAttribute("pagesize", pagesize);
    127. model.addAttribute("nowpage", page);
    128. model.addAttribute("list", list);
    129. return "userPtask";
    130. }
    131. static List getList(List list,int page,int size){
    132. int end = 0;
    133. int pages = list.size()/size + 1;
    134. if(page>pages) {
    135. page = pages - 1;
    136. }
    137. if(page < 1) {
    138. page = 1;
    139. }
    140. if(page*size>list.size()) {
    141. end = list.size();
    142. }else {
    143. end = page*size;
    144. }
    145. return list.subList((page-1)*size, end);
    146. }
    147. static int getPageSize(List list,int size) {
    148. if(list.size() % size == 0) {
    149. return list.size()/size;
    150. }else {
    151. return list.size()/size + 1;
    152. }
    153. }
    154. @RequestMapping("tongji.do")
    155. public String tongji( Model model) {
    156. return "usertongji";
    157. }
    158. // 用户接受的
    159. @RequestMapping("getuseratask.do")
    160. public String getuseratask(HttpServletRequest request,HttpServletRequest louhao, Model model,@RequestParam(required = false) Integer page) {
    161. try {
    162. if(page == null) {
    163. page = 1;
    164. }
    165. } catch (Exception e) {
    166. page = 1;
    167. }
    168. int size = 8;
    169. User user = null;
    170. try {
    171. user = (User) request.getSession(false).getAttribute("nowuser");
    172. } catch (Exception e) {
    173. model.addAttribute("msg", "请检查登录状况");
    174. return findtask("", "","-1", 1, model,"","");
    175. }
    176. int uid = 0;
    177. try {
    178. uid = user.getStuid();
    179. if (user == null || uid == 0) {
    180. model.addAttribute("msg", "请检查登录状况");
    181. return findtask("","", "-1", 1, model,"","");
    182. }
    183. } catch (Exception e) {
    184. model.addAttribute("msg", "请检查登录状况");
    185. return findtask("", "","-1", 1, model,"","");
    186. }
    187. List list = taskService.getUserATask(uid);
    188. int pagesize = getPageSize(list, size);
    189. list = getList(list, page, size);
    190. if(page<=0) {
    191. page = 1;
    192. }
    193. if(page>=pagesize) {
    194. page = pagesize;
    195. }
    196. model.addAttribute("pagesize", pagesize);
    197. model.addAttribute("nowpage", page);
    198. model.addAttribute("list", list);
    199. return "userAtask";
    200. }
    201. // to3.发布者点击确认
    202. @RequestMapping("taskok.do")
    203. public String taskok(String tidstr, HttpServletRequest request, Model model) {
    204. int tid = 0;
    205. try {
    206. tid = Integer.parseInt(tidstr);
    207. } catch (Exception e) {
    208. model.addAttribute("msg", "出现错误");
    209. System.out.println("11111111111");
    210. return getusertask(request, model,null);
    211. }
    212. if (tid == 0) {
    213. model.addAttribute("msg", "出现错误");
    214. System.out.println("22222222222222");
    215. return getusertask(request, model,null);
    216. }
    217. User user = null;
    218. try {
    219. user = (User) request.getSession(false).getAttribute("nowuser");
    220. } catch (Exception e) {
    221. model.addAttribute("msg", "请检查登录状况");
    222. return "login";
    223. }
    224. int uid = 0;
    225. try {
    226. uid = user.getStuid();
    227. if (user == null || uid == 0) {
    228. model.addAttribute("msg", "请检查登录状况");
    229. return getusertask(request, model,null);
    230. }
    231. } catch (Exception e) {
    232. model.addAttribute("msg", "请检查登录状况");
    233. return getusertask(request, model,null);
    234. }
    235. Task theTask = taskService.getTask(tid);
    236. if (!(uid + "").equals(theTask.getPublishUserId())) {
    237. model.addAttribute("msg", "出现错误");
    238. return getusertask(request, model,null);
    239. }
    240. theTask.setState(3);
    241. User auser = userService.getByUid(theTask.getAcceptUserId());
    242. long stampTime = (theTask.getDdl().getTime() - new Date().getTime());
    243. if(stampTime > 0) {
    244. auser.setMoney(auser.getMoney()+theTask.getReward());
    245. }else {
    246. auser.setMoney(auser.getMoney()+(int)(theTask.getReward()/2));
    247. }
    248. int ruser = userService.updateUserInfo(auser);
    249. if (ruser>0) {
    250. int r = taskService.updateTask(theTask);
    251. if (r > 0) {
    252. model.addAttribute("msg", "成功");
    253. } else {
    254. model.addAttribute("msg", "失败");
    255. }
    256. } else {
    257. model.addAttribute("msg", "失败,奖励无法到账-请联系管理员");
    258. }
    259. if(stampTime < 0) {
    260. model.addAttribute("msg", "在期望时间外,对方获得的奖励减半");
    261. }else {
    262. model.addAttribute("msg", "对方已获取全部奖励");
    263. }
    264. List list = taskService.getUserTask(uid);
    265. model.addAttribute("list", list);
    266. return "userPtask";
    267. }
    268. // to1.发布者点击关闭删除取消
    269. @RequestMapping("taskclose.do")
    270. public String taskclose(String tidstr, HttpServletRequest request, Model model) {
    271. int tid = 0;
    272. try {
    273. tid = Integer.parseInt(tidstr);
    274. } catch (Exception e) {
    275. model.addAttribute("msg", "出现错误");
    276. return getusertask(request, model,null);
    277. }
    278. if (tid == 0) {
    279. model.addAttribute("msg", "出现错误");
    280. return getusertask(request, model,null);
    281. }
    282. User user = null;
    283. try {
    284. user = (User) request.getSession(false).getAttribute("nowuser");
    285. } catch (Exception e) {
    286. model.addAttribute("msg", "请检查登录状况");
    287. return "login";
    288. }
    289. int uid = 0;
    290. try {
    291. uid = user.getStuid();
    292. if (user == null || uid == 0) {
    293. model.addAttribute("msg", "请检查登录状况");
    294. return getusertask(request, model,null);
    295. }
    296. } catch (Exception e) {
    297. model.addAttribute("msg", "请检查登录状况");
    298. return getusertask(request, model,null);
    299. }
    300. Task theTask = taskService.getTask(tid);
    301. if (!(uid + "").equals(theTask.getPublishUserId())) {
    302. model.addAttribute("msg", "出现错误");
    303. return getusertask(request, model,null);
    304. }
    305. theTask.setState(1);
    306. int r = taskService.updateTask(theTask);
    307. if (r > 0) {
    308. user.setMoney(user.getMoney()+theTask.getReward());
    309. int ruser = userService.updateUserInfo(user);
    310. if (ruser> 0) {
    311. model.addAttribute("msg", "成功");
    312. }else {
    313. model.addAttribute("msg", "已关闭-奖励未返回,请与管理员联系");
    314. }
    315. } else {
    316. model.addAttribute("msg", "失败");
    317. }
    318. List list = taskService.getUserTask(uid);
    319. model.addAttribute("list", list);
    320. return "userPtask";
    321. }
    322. // to2.to2.点击接受任务
    323. @RequestMapping("taskaccept.do")
    324. public String taskaccept(String tidstr, HttpServletRequest request, Model model) {
    325. int tid = 0;
    326. try {
    327. tid = Integer.parseInt(tidstr);
    328. } catch (Exception e) {
    329. model.addAttribute("msg", "出现错误");
    330. return gettaskinfo(tidstr, request, model);
    331. }
    332. if (tid == 0) {
    333. model.addAttribute("msg", "出现错误");
    334. return gettaskinfo(tidstr, request, model);
    335. }
    336. User user = null;
    337. try {
    338. user = (User) request.getSession(false).getAttribute("nowuser");
    339. } catch (Exception e) {
    340. model.addAttribute("msg", "请检查登录状况");
    341. return gettaskinfo(tidstr, request, model);
    342. }
    343. int uid = 0;
    344. try {
    345. uid = user.getStuid();
    346. if (user == null || uid == 0) {
    347. model.addAttribute("msg", "请检查登录状况");
    348. return gettaskinfo(tidstr, request, model);
    349. }
    350. } catch (Exception e) {
    351. model.addAttribute("msg", "请检查登录状况");
    352. return gettaskinfo(tidstr, request, model);
    353. }
    354. Task theTask = taskService.getTask(tid);
    355. if ((uid + "").equals(theTask.getPublishUserId())) {
    356. model.addAttribute("msg", "不能接受自己的任务啊");
    357. return gettaskinfo(tidstr, request, model);
    358. }
    359. theTask.setAcceptUserId(uid);
    360. theTask.setState(2);
    361. int r = taskService.updateTask(theTask);
    362. if (r > 0) {
    363. model.addAttribute("msg", "成功");
    364. } else {
    365. model.addAttribute("msg", "失败");
    366. }
    367. return gettaskinfo(tidstr, request, model);
    368. }
    369. // 获取用户信息
    370. @RequestMapping(value="tongjidata.do",produces={"application/json;charset=UTF-8"})
    371. @ResponseBody
    372. public String tongjidata( Model model) {
    373. JSONObject result = new JSONObject();
    374. Map map = new HashMap();
    375. List list = taskService.selecttongji();
    376. System.out.println(list.size());
    377. Collections.sort(list, new Comparator() {
    378. @Override
    379. public int compare(Task u1, Task u2) {
    380. int diff = u1.getCount() - u2.getCount();
    381. if (diff > 0) {
    382. return 1;
    383. }else if (diff < 0) {
    384. return -1;
    385. }
    386. return 0; //相等为0
    387. }
    388. });
    389. String [] name = new String[list.size()];
    390. Integer [] value = new Integer[list.size()];
    391. for(int i=0;i
    392. name[i] = list.get(i).getName();
    393. value[i] = list.get(i).getCount();
    394. }
    395. result.put("name", name);
    396. result.put("value", value);
    397. return result.toString();
    398. }
    399. // 获取任务详细信息
    400. @RequestMapping("gettaskinfo.do")
    401. public String gettaskinfo(String tidstr,HttpServletRequest request, Model model) {
    402. int tid = 0;
    403. try {
    404. tid = Integer.parseInt(tidstr);
    405. } catch (Exception e) {
    406. model.addAttribute("msg", "出现错误");
    407. return "taskInfo";
    408. }
    409. Task theTask = taskService.getTask(tid);
    410. model.addAttribute("theTask", theTask);
    411. return "taskInfo";
    412. }
    413. //搜索任务
    414. @RequestMapping("list.do")
    415. public String findtask(String words,@RequestParam(required=false,defaultValue="")String louhao,
    416. @RequestParam(required=true,defaultValue="-1") String schoolidstr,@RequestParam(required=true,defaultValue="1") Integer page , Model model,@RequestParam(required=false,defaultValue="")String bd,
    417. @RequestParam(required=false,defaultValue="")String ed) {
    418. model.addAttribute("words", words);
    419. model.addAttribute("schoolidstr", schoolidstr);
    420. model.addAttribute("louhao", louhao);
    421. model.addAttribute("bd", bd);
    422. model.addAttribute("ed", ed);
    423. int schoolid = -1;
    424. if (!schoolidstr.equals("-1")) {
    425. try {
    426. schoolid = Integer.parseInt(schoolidstr);
    427. } catch (Exception e) {
    428. System.err.println("err");
    429. }
    430. }
    431. if (words!=null&&!"".equals(words)) {
    432. words="%"+words+"%";
    433. }
    434. if (louhao!=null) {
    435. louhao="%"+louhao+"%";
    436. }
    437. if (ed!=null&&!"".equals(ed)) {
    438. ed=""+ed+"";
    439. }
    440. if (bd!=null&&!"".equals(bd)) {
    441. bd=""+bd+"";
    442. }
    443. //这段代码表示,程序开始分页了,page默认值是1,每页记录数(pageSize)默认是3,意思是从第1页开始,每页显示3条记录
    444. //每页记录数可以自定义
    445. PageHelper.startPage(page, 6);
    446. List list = taskService.getTaskByKeysLouhaoNoState(words,louhao, schoolid,bd,ed);
    447. PageInfopageInfo = new PageInfo(list); //将集合封装到PageInfo
    448. //绑定数据,返回给页面
    449. model.addAttribute("p", pageInfo);
    450. return "index";
    451. }
    452. }

    通用控制器

    1. package com.ssm.controller;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.util.List;
    5. import javax.annotation.Resource;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. import org.springframework.stereotype.Controller;
    9. import org.springframework.ui.Model;
    10. import org.springframework.web.bind.annotation.RequestMapping;
    11. import org.springframework.web.bind.annotation.SessionAttributes;
    12. import com.ssm.util.JsonUtil;
    13. import com.ssm.po.School;
    14. import com.ssm.po.User;
    15. import com.ssm.service.SchoolService;
    16. import com.ssm.service.UserService;
    17. /**
    18. * 注销登录*
    19. * 异步读取院校列表*
    20. * 读取一个用户信息*
    21. * @author
    22. *
    23. */
    24. @Controller
    25. @SessionAttributes({ "nowuser","nowadmin"})
    26. @RequestMapping(value = "common/")
    27. public class CommonController {
    28. @Resource(name = "schoolService")
    29. public SchoolService schoolService;
    30. @Resource(name = "userService")
    31. public UserService userService;
    32. // 注销
    33. @RequestMapping("logout.do")
    34. public String logout(HttpServletRequest request, Model model) {
    35. model.addAttribute("msg", "已退出");
    36. request.getSession(false).removeAttribute("nowuser");
    37. request.getSession(false).removeAttribute("nowadmin");
    38. return "login";
    39. }
    40. @RequestMapping("getallschools.do")
    41. public void getallschools(HttpServletResponse response) throws IOException{
    42. System.out.println("000000000000000000000000000000000");
    43. List list = schoolService.getAllSchoolsNoState();
    44. response.setCharacterEncoding("UTF-8");
    45. response.setContentType("text/html");
    46. String list_String = JsonUtil.list2json(list);
    47. PrintWriter out = response.getWriter();
    48. out.println(list_String);
    49. out.flush();
    50. out.close();
    51. }
    52. @RequestMapping("getuser.do")
    53. public String getuser(String stuidstr,HttpServletRequest request,Model model) {
    54. int stuid = 0;
    55. try {
    56. stuid = Integer.parseInt(stuidstr);
    57. } catch (Exception e) {
    58. model.addAttribute("msg", "出现错误");
    59. return "userInfo";
    60. }
    61. if (stuid==0) {
    62. model.addAttribute("msg", "出现错误");
    63. return "userInfo";
    64. }
    65. User user = userService.getByUid(stuid);
    66. model.addAttribute("theuser", user);
    67. return "userInfo";
    68. }
    69. }

    管理员控制器

    1. package com.ssm.controller;
    2. import java.text.SimpleDateFormat;
    3. import org.apache.commons.collections.map.ListOrderedMap;
    4. import java.util.Collections;
    5. import java.util.Comparator;
    6. import java.util.Date;
    7. import java.util.HashMap;
    8. import java.util.List;
    9. import java.util.Map;
    10. import javax.annotation.Resource;
    11. import javax.servlet.http.HttpServletRequest;
    12. import org.springframework.beans.propertyeditors.CustomDateEditor;
    13. import org.springframework.stereotype.Controller;
    14. import org.springframework.ui.Model;
    15. import org.springframework.web.bind.ServletRequestDataBinder;
    16. import org.springframework.web.bind.annotation.RequestMapping;
    17. import org.springframework.web.bind.annotation.RequestParam;
    18. import org.springframework.web.bind.annotation.ResponseBody;
    19. import org.springframework.web.bind.annotation.SessionAttributes;
    20. import com.ssm.po.Admin;
    21. import com.ssm.po.School;
    22. import com.ssm.po.Task;
    23. import com.ssm.po.User;
    24. import com.ssm.service.AdminService;
    25. import com.ssm.service.SchoolService;
    26. import com.ssm.service.TaskService;
    27. import com.ssm.service.UserService;
    28. import net.sf.json.JSONObject;
    29. /**
    30. * ****管理员功能****
    31. * -------
    32. * 管理员登录 .
    33. * 管理员个人信息更新 .
    34. * 密码更新 .
    35. * 添加管理员 .
    36. * ------
    37. * 获取任务列表 .
    38. * 关闭待解决任务.
    39. * ------
    40. * 获取用户列表 .
    41. * 读取一个用户.
    42. * 添加用户余额.
    43. * 解除用户限制 .
    44. * 添加用户限制 .
    45. * ----------
    46. * 获取学校列表.
    47. * 读取单个学校信息 .
    48. * 更新学校信息 .
    49. * 添加院校.
    50. *
    51. * @author
    52. *
    53. */
    54. @Controller
    55. @SessionAttributes({ "nowadmin" })
    56. @RequestMapping(value = "admin/")
    57. public class AdminController {
    58. @Resource(name = "adminService")
    59. public AdminService adminService;
    60. @Resource(name = "schoolService")
    61. public SchoolService schoolService;
    62. @Resource(name = "taskService")
    63. public TaskService taskService;
    64. @Resource(name = "userService")
    65. public UserService userService;
    66. // 登录
    67. @RequestMapping("adminlogin.do")
    68. public String adminlogin(String account, String password, Model model) {
    69. Admin admin = null;
    70. admin = adminService.login(account);
    71. if (admin == null) {
    72. model.addAttribute("msg", "登录账号不存在");//
    73. return "login";
    74. }
    75. if (password.equals(admin.getPassword())) {
    76. model.addAttribute("nowadmin", admin);
    77. return "adminIndex";
    78. } else {
    79. model.addAttribute("msg", "密码验证错误正确");
    80. return "login";
    81. }
    82. }
    83. // 更新
    84. @RequestMapping("update.do")
    85. public String update(HttpServletRequest request, Admin admin, Model model) {
    86. int r = adminService.updateAdminInfo(admin);
    87. if (r > 0) {
    88. model.addAttribute("msg", "更新成功,请重新登录");
    89. request.getSession(false).removeAttribute("nowadmin");
    90. return "login";
    91. }
    92. model.addAttribute("msg", "更新失败");
    93. return "adminUpdate";
    94. }
    95. // 更新
    96. @RequestMapping("updatepwd.do")
    97. public String updatepwd(HttpServletRequest request, String oldpassword, Admin admin, Model model) {
    98. System.out.println("9999999999999");
    99. Admin oldadmin = (Admin) request.getSession(false).getAttribute("nowadmin");
    100. System.out.println("6666666666666");
    101. System.out.println(oldadmin.getPassword());
    102. System.out.println(oldpassword);
    103. if (!oldadmin.getPassword().equals(oldpassword)) {
    104. model.addAttribute("msg", "原密码错误");
    105. return "adminPassword";
    106. }
    107. int r = adminService.updateAdminInfo(admin);
    108. if (r > 0) {
    109. model.addAttribute("msg", "修改成功,请重新登录");
    110. request.getSession(false).removeAttribute("nowadmin");
    111. return "login";
    112. }
    113. model.addAttribute("msg", "修改失败");
    114. return "adminPassword";
    115. }
    116. @RequestMapping("getadmin.do")
    117. public String getadmin(String aidstr, HttpServletRequest request, Model model) {
    118. int aid = 0;
    119. try {
    120. aid = Integer.parseInt(aidstr);
    121. } catch (Exception e) {
    122. model.addAttribute("msg", "出现错误");
    123. return "adminInfo";
    124. }
    125. if (aid == 0) {
    126. model.addAttribute("msg", "出现错误");
    127. return "adminInfo";
    128. }
    129. /*
    130. * Admin admin = adminService.getByUid(stuid);
    131. * model.addAttribute("theuser", user);
    132. */
    133. return "adminInfo";
    134. }
    135. @RequestMapping("addadmin.do")
    136. public String addadmin(String account, HttpServletRequest request, Model model) {
    137. // 检查账号重复
    138. int countnum = adminService.getAccountCount(account);
    139. if (countnum > 0) {
    140. model.addAttribute("msg", account + " 该账号已经被使用");
    141. return "adminAddAdmin";
    142. }
    143. Admin admin = new Admin(0, account, "123456", account, new Date(), 0);
    144. int result = adminService.setAdmin(admin);
    145. if (result <= 0) {
    146. model.addAttribute("msg", "注册失败");
    147. return "adminAddAdmin";
    148. }
    149. model.addAttribute("msg", "注册成功,可以登录。默认密码:123456");
    150. return "adminAddAdmin";
    151. }
    152. @RequestMapping("gettasks.do")
    153. public String gettasks(String words, @RequestParam(required = true, defaultValue = "-1") String schoolidstr,
    154. Model model) {
    155. model.addAttribute("words", words);
    156. model.addAttribute("schoolidstr", schoolidstr);
    157. int schoolid = -1;
    158. if (!schoolidstr.equals("-1")) {
    159. try {
    160. schoolid = Integer.parseInt(schoolidstr);
    161. } catch (Exception e) {
    162. System.err.println("err");
    163. }
    164. }
    165. if (words != null) {
    166. words = "%" + words + "%";
    167. } else {
    168. words = "%%";
    169. }
    170. List list = taskService.getTaskByKeys(words, schoolid);
    171. model.addAttribute("list", list);
    172. return "adminTask";
    173. }
    174. // to1.管理员点击关闭删除取消
    175. @RequestMapping("taskclose.do")
    176. public String taskclose(String tidstr, String words,
    177. @RequestParam(required = true, defaultValue = "-1") String schoolidstr, HttpServletRequest request,
    178. Model model) {
    179. int tid = 0;
    180. try {
    181. tid = Integer.parseInt(tidstr);
    182. } catch (Exception e) {
    183. model.addAttribute("msg", "出现错误");
    184. return gettasks(words, schoolidstr, model);
    185. }
    186. if (tid == 0) {
    187. model.addAttribute("msg", "出现错误");
    188. return gettasks(words, schoolidstr, model);
    189. }
    190. Admin admin = null;
    191. try {
    192. admin = (Admin) request.getSession(false).getAttribute("nowadmin");
    193. int uid = 0;
    194. uid = admin.getAid();
    195. if (admin == null || uid == 0) {
    196. model.addAttribute("msg", "请检查登录状况");
    197. return gettasks(words, schoolidstr, model);
    198. }
    199. } catch (Exception e) {
    200. model.addAttribute("msg", "请检查登录状况");
    201. return "login";
    202. }
    203. Task theTask = taskService.getTask(tid);
    204. theTask.setState(1);
    205. int r = taskService.updateTask(theTask);
    206. if (r > 0) {
    207. model.addAttribute("msg", "成功");
    208. } else {
    209. model.addAttribute("msg", "失败");
    210. }
    211. return gettasks(words, schoolidstr, model);
    212. }
    213. // 获取用户信息
    214. @RequestMapping("getusers.do")
    215. public String getusers(String userstr, Model model) {
    216. model.addAttribute("keys", userstr);
    217. if (userstr != null) {
    218. userstr = "%" + userstr + "%";
    219. } else {
    220. userstr = "%%";
    221. }
    222. List list = userService.getByLikeNameAccount(userstr);
    223. model.addAttribute("list", list);
    224. return "adminUser";
    225. }
    226. @RequestMapping("tongji.do")
    227. public String tongji( Model model) {
    228. return "tongji";
    229. }
    230. // 获取用户信息
    231. @RequestMapping(value="tongjidata.do",produces={"application/json;charset=UTF-8"})
    232. @ResponseBody
    233. public String tongjidata( Model model) {
    234. JSONObject result = new JSONObject();
    235. Map map = new HashMap();
    236. List list = taskService.selecttongji();
    237. System.out.println(list.size());
    238. Collections.sort(list, new Comparator() {
    239. @Override
    240. public int compare(Task u1, Task u2) {
    241. int diff = u1.getCount() - u2.getCount();
    242. if (diff > 0) {
    243. return 1;
    244. }else if (diff < 0) {
    245. return -1;
    246. }
    247. return 0; //相等为0
    248. }
    249. });
    250. String [] name = new String[list.size()];
    251. Integer [] value = new Integer[list.size()];
    252. for(int i=0;i
    253. name[i] = list.get(i).getName();
    254. value[i] = list.get(i).getCount();
    255. }
    256. result.put("name", name);
    257. result.put("value", value);
    258. return result.toString();
    259. }
    260. // 读取一个用户,添加余额时使用
    261. @RequestMapping("getuser.do")
    262. public String getuser(String stuidstr, Model model) {
    263. int stuid = 0;
    264. try {
    265. stuid = Integer.parseInt(stuidstr);
    266. } catch (Exception e) {
    267. model.addAttribute("msg", "出现错误");
    268. return "userInfo";
    269. }
    270. if (stuid == 0) {
    271. model.addAttribute("msg", "出现错误");
    272. return "userInfo";
    273. }
    274. User user = userService.getByUid(stuid);
    275. model.addAttribute("theuser", user);
    276. return "adminUserMoney";
    277. }
    278. // 添加用户余额
    279. @RequestMapping("addusermoney.do")
    280. public String addusermoney(String moneystr, String stuidstr, Model model) {
    281. double money = 0.00;
    282. try {
    283. money = Double.parseDouble(moneystr);
    284. } catch (Exception e) {
    285. model.addAttribute("msg", "金额出现错误");
    286. return getuser(stuidstr, model);
    287. }
    288. if (stuidstr == null) {
    289. model.addAttribute("msg", "出现错误");
    290. return getuser(stuidstr, model);
    291. } else {
    292. if (stuidstr.length() == 0) {
    293. model.addAttribute("msg", "出现错误");
    294. return getuser(stuidstr, model);
    295. }
    296. }
    297. int stuid = 0;
    298. try {
    299. stuid = Integer.parseInt(stuidstr);
    300. if (stuid == 0) {
    301. model.addAttribute("msg", "出现错误");
    302. return getuser(stuidstr, model);
    303. }
    304. } catch (Exception e) {
    305. model.addAttribute("msg", "出现错误");
    306. return getuser(stuidstr, model);
    307. }
    308. User theUser = userService.getByUid(stuid);
    309. theUser.setMoney(theUser.getMoney() + money);
    310. int r = userService.updateUserInfo(theUser);
    311. if (r > 0) {
    312. model.addAttribute("msg", "修改成功");
    313. } else {
    314. model.addAttribute("msg", "修改失败");
    315. }
    316. return getuser(stuidstr, model);
    317. }
    318. // 解除用户限制
    319. @RequestMapping("useropen.do")
    320. public String useropen(String keys, String stuidstr, Model model) {
    321. if (stuidstr == null) {
    322. model.addAttribute("msg", "出现错误");
    323. return getusers(keys, model);
    324. } else {
    325. if (stuidstr.length() == 0) {
    326. model.addAttribute("msg", "出现错误");
    327. return getusers(keys, model);
    328. }
    329. }
    330. int stuid = 0;
    331. try {
    332. stuid = Integer.parseInt(stuidstr);
    333. if (stuid == 0) {
    334. model.addAttribute("msg", "出现错误");
    335. return getusers(keys, model);
    336. }
    337. } catch (Exception e) {
    338. model.addAttribute("msg", "出现错误");
    339. return getusers(keys, model);
    340. }
    341. User theUser = userService.getByUid(stuid);
    342. theUser.setState(0);
    343. int r = userService.updateUserInfo(theUser);
    344. if (r > 0) {
    345. model.addAttribute("msg", "修改成功");
    346. } else {
    347. model.addAttribute("msg", "修改失败");
    348. }
    349. return getusers(keys, model);
    350. }
    351. // 限制用户
    352. @RequestMapping("userclose.do")
    353. public String userclose(String keys, String stuidstr, Model model) {
    354. if (stuidstr == null) {
    355. model.addAttribute("msg", "出现错误");
    356. return getusers(keys, model);
    357. } else {
    358. if (stuidstr.length() == 0) {
    359. model.addAttribute("msg", "出现错误");
    360. return getusers(keys, model);
    361. }
    362. }
    363. int stuid = 0;
    364. try {
    365. stuid = Integer.parseInt(stuidstr);
    366. if (stuid == 0) {
    367. model.addAttribute("msg", "出现错误");
    368. return getusers(keys, model);
    369. }
    370. } catch (Exception e) {
    371. model.addAttribute("msg", "出现错误");
    372. return getusers(keys, model);
    373. }
    374. User theUser = userService.getByUid(stuid);
    375. theUser.setState(1);
    376. int r = userService.updateUserInfo(theUser);
    377. if (r > 0) {
    378. model.addAttribute("msg", "修改成功");
    379. } else {
    380. model.addAttribute("msg", "修改失败");
    381. }
    382. return getusers(keys, model);
    383. }
    384. // 读取全部院校
    385. @RequestMapping("getschools.do")
    386. public String getschools(Model model) {
    387. List list = schoolService.getAllSchools();
    388. model.addAttribute("list", list);
    389. return "adminSchool";
    390. }
    391. // 读取一个院校信息
    392. @RequestMapping("getschool.do")
    393. public String getschool(String schoolidstr, Model model) {
    394. if (schoolidstr == null) {
    395. model.addAttribute("msg", "出现错误");
    396. return "adminSchoolSetting";
    397. } else {
    398. if (schoolidstr.length() == 0) {
    399. model.addAttribute("msg", "出现错误");
    400. return "adminSchoolSetting";
    401. }
    402. }
    403. int schoolid = 0;
    404. try {
    405. schoolid = Integer.parseInt(schoolidstr);
    406. if (schoolid == 0) {
    407. model.addAttribute("msg", "出现错误");
    408. return "adminSchoolSetting";
    409. }
    410. } catch (Exception e) {
    411. model.addAttribute("msg", "出现错误");
    412. return getschools(model);
    413. }
    414. School theSchool = schoolService.getSchoolByID(schoolid);
    415. if (theSchool != null) {
    416. model.addAttribute("theSchool", theSchool);
    417. } else {
    418. model.addAttribute("msg", "读取失败");
    419. }
    420. return "adminSchoolSetting";
    421. }
    422. // 更新院校
    423. @RequestMapping("updateschool.do")
    424. public String updateschool(School school, Model model) {
    425. int r = 0;
    426. r = schoolService.updateSchool(school);
    427. if (r > 0) {
    428. model.addAttribute("msg", "修改成功-刷新页面重新加载显示");
    429. } else {
    430. model.addAttribute("msg", "修改失败");
    431. }
    432. School theSchool = schoolService.getSchoolByID(school.getSchoolid());
    433. model.addAttribute("theSchool", theSchool);
    434. return "adminSchoolSetting";
    435. }
    436. // 更新院校
    437. @RequestMapping("addschool.do")
    438. public String addschool(String name, Model model) {
    439. if (name == null) {
    440. model.addAttribute("msg", "添加失败");
    441. return "adminSchoolAdd";
    442. } else {
    443. if (name.length() == 0) {
    444. model.addAttribute("msg", "添加失败");
    445. return "adminSchoolAdd";
    446. }
    447. }
    448. School theSchool = new School(0, name, new Date(), 0);
    449. int r = 0;
    450. r = schoolService.setSchool(theSchool);
    451. if (r > 0) {
    452. model.addAttribute("msg", "添加成功");
    453. model.addAttribute("flag", "添加成功");
    454. return "adminSchoolAdd";
    455. } else {
    456. model.addAttribute("msg", "添加失败");
    457. return "adminSchoolAdd";
    458. }
    459. }
    460. @org.springframework.web.bind.annotation.InitBinder
    461. public void InitBinder(ServletRequestDataBinder bin) {
    462. bin.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
    463. }
    464. }

    如果也想学习本系统,下面领取。关注并回复:146ssm 

  • 相关阅读:
    牛客网刷题(二)
    【Redis入门笔记 07】数据库持久化
    Docker部署Nacos2.0单机版+mysql8
    认识的几位清华同学都离职了……
    项目01—基于nignx+keepalived双vip的负载均衡高可用Web集群
    Docker Daemon
    CSS色域、色彩空间、CSS Color 4新标准 | 京东云技术团队
    docker 配置与使用
    17.11 std::atomic续谈、std::async深入谈
    关于react与vue的一些对比
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126496941