(Java毕业设计)旧车交易撮合管理平台(java+mysql+b/s架构)附源码

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 安卓app毕业设计
🌎微信小程序毕业设计

一、项目简介

论文主要是对旧车交易撮合管理平台进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对旧车交易撮合管理平台进行了一些具体测试。
本文以java为开发技术,实现了一个旧车交易撮合管理平台。旧车交易撮合管理平台的主要使用者分为管理员、用户;用户:首页、交易大厅、我的发布、评估车辆、我的订单、个人信息、新闻动态。管理员:后台管理、用户管理、订单管理、新闻公告、系统设置等功能。通过这些功能模块的设计,基本上实现了整个旧车信息管理的过程。
具体在系统设计上,采用了B/S的结构,同时,也使用java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的旧车交易撮合管理平台。

二、系统设计

2.1软件功能模块设计

系统整体功能如下:
在这里插入图片描述

2.2数据库设计

1.订单管理实体图如图4-3所示:在这里插入图片描述

2.用户管理实体图如图4-4所示:在这里插入图片描述

三、系统项目部分截图

3.1登录

管理员输入个人的账号、密码和验证码登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的账号、密码和验证码不正确,数据库就会提示出错误的信息提示,同时会提示用户重新输入输入自己的账号、密码和验证码,直到账号密码输入成功后,会提登录成功的信息。网站用户登录效果图如图5-1所示:在这里插入图片描述

3.2系统用户管理

管理员对用户名、密码、姓名、性别、籍贯、电话进行添加、删除、修改以及查看,并且修改密码等操作。程序成效图如下图5-2所示:在这里插入图片描述

订单管理:
管理员对品牌型号、买家、买家价格、卖家、卖家价格、备注、状态、付款时间、过户时间进行添加、删除、修改以及查看等操作。程序效果图如下图5-3所示:在这里插入图片描述

新闻公告管理
管理员对标题、内容、时间进行查看、修改以及删除等操作。程序效果图如下图5-4所示:在这里插入图片描述

3.3用户管理功能

用户进入系统可以对首页、交易大厅、我的发布、评估车辆、我的订单、个人信息、新闻动态等功能进行操作。程序效果图如下图5-8所示:在这里插入图片描述

四、论文目录

1 概述 1
1.1课题背景及意义 1
1.2 国内外研究现状 1
1.3 本课题主要工作 2
2 系统开发环境 3
2.1 java技术 3
2.2 Mysql数据库 3
2.3 B/S结构 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2操作可行性 5
3.1.3 经济可行性 5
3.1.4 法律可行性 6
3.2系统流程分析 6
3.2.1系统开发流程 6
3.2.2 用户登录流程 7
3.2.3 系统操作流程 7
3.2.4 添加信息流程 8
3.2.5 修改信息流程 9
3.2.6 删除信息流程 9
3.3系统用例分析 10
3.3.1管理员用例图 10
3.3.2用户用例图 10
4 系统设计 12
4.1 系统概述 12
4.2 系统结构设计 12
4.3数据库设计 13
4.3.1 数据库设计原则 13
4.3.2 数据库实体 13
4.3.3 数据库表设计 15
5系统界面实现 18
5.1 登录 18
5.2 管理员功能模块 18
5.2.1 系统用户管理 18
5.2.2 订单管理 19
5.2.3 新闻公告管理 19
5.3.2 用户管理功能 20
6系统测试 21
6.1系统测试的意义 21
6.2 测试方法 22
6.3测试分析 22
结 论 23
致 谢 24
参考文献 25

五、部分核心代码

4.1 用户部分

package com.fh.controller.system.user;

import java.io.File;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import com.fh.controller.base.BaseController;
import com.fh.entity.Page;
import com.fh.entity.system.Role;
import com.fh.entity.system.User;
/*import com.fh.service.system.qx_education.QX_EDUCATIONService;
 import com.fh.service.system.qx_family.QX_FAMILYService;
 import com.fh.service.system.qx_staff.QX_STAFFService;
 import com.fh.service.system.qx_work.QX_WORKService;
 import com.fh.service.system.qx_yljgxx.QX_YLJGXXService;*/
import com.fh.service.system.role.RoleService;
import com.fh.service.system.user.UserService;
import com.fh.util.AppUtil;
import com.fh.util.Const;
import com.fh.util.FileDownload;
import com.fh.util.FileUpload;
import com.fh.util.GetPinyin;
import com.fh.util.ObjectExcelRead;
import com.fh.util.PageData;
import com.fh.util.ObjectExcelView;
import com.fh.util.PathUtil;
import com.fh.util.Tools;

/**
 * 类名称:UserController 创建人:FH 创建时间:2014年6月28日
 * 
 * @version
 */
@Controller
@RequestMapping(value = "/user")
public class UserController extends BaseController {

	@Resource(name = "userService")
	private UserService userService;
	@Resource(name = "roleService")
	private RoleService roleService;

	/**
	 * 详情信息
	 * 
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/chakxq")
	public ModelAndView chakxq() throws Exception {
		logBefore(logger, "详情信息");
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		pd.put("USER_ID", pd.get("user.USER_ID"));
		PageData user = userService.findByUiId(pd);
		String ROLE_ID = user.get("ROLE_ID").toString();
		pd.put("ROLE_ID", ROLE_ID);
		PageData role = roleService.findObjectById(pd); // 列出所有二级角色
		mv.setViewName("system/user/qx_staff_chakxq");
		mv.addObject("user", user);
		mv.addObject("role", role);
		mv.addObject("pd", pd);
		return mv;
	}

	/**
	 * 保存用户
	 */
	@RequestMapping(value = "/saveU")
	public ModelAndView saveU(PrintWriter out) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();

		pd.put("USER_ID", this.get32UUID()); // ID
		pd.put("RIGHTS", ""); // 权限
		pd.put("LAST_LOGIN", ""); // 最后登录时间
		pd.put("IP", ""); // IP
		pd.put("STATUS", "0"); // 状态
		pd.put("SKIN", "default"); // 默认皮肤

		pd.put("PASSWORD",
				new SimpleHash("SHA-1", pd.getString("USERNAME"), pd
						.getString("PASSWORD")).toString());

		if (null == userService.findByUId(pd)) {
			userService.saveU(pd);
			mv.addObject("msg", "success");
		} else {
			mv.addObject("msg", "failed");
		}
		mv.setViewName("save_result");
		return mv;
	}

	/**
	 * 判断用户名是否存在
	 */
	@RequestMapping(value = "/hasU")
	public void hasU(PrintWriter out) {
		PageData pd = new PageData();
		try {
			pd = this.getPageData();
			if (userService.findByUId(pd) != null) {
				out.write("error");
			} else {
				out.write("success");
			}
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

	}

	/**
	 * 判断邮箱是否存在
	 */
	@RequestMapping(value = "/hasE")
	public void hasE(PrintWriter out) {
		PageData pd = new PageData();
		try {
			pd = this.getPageData();

			if (userService.findByUE(pd) != null) {
				out.write("error");
			} else {
				out.write("success");
			}
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

	}

	/**
	 * 判断编码是否存在
	 */
	@RequestMapping(value = "/hasN")
	public void hasN(PrintWriter out) {
		PageData pd = new PageData();
		try {
			pd = this.getPageData();

			if (userService.findByUN(pd) != null) {
				out.write("error");
			} else {
				out.write("success");
			}
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

	}

	/**
	 * 修改用户
	 */
	@RequestMapping(value = "/editU")
	public ModelAndView editU(PrintWriter out) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		if (pd.getString("PASSWORD") != null
				&& !"".equals(pd.getString("PASSWORD"))) {
			pd.put("PASSWORD", new SimpleHash("SHA-1",
					pd.getString("USERNAME"), pd.getString("PASSWORD"))
					.toString());
		}
		userService.editU(pd);
		mv.addObject("msg", "success");
		mv.setViewName("save_result");
		return mv;
	}

	/**
	 * 去修改用户页面
	 */
	@RequestMapping(value = "/goEditU")
	public ModelAndView goEditU() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();

		// 顶部修改个人资料
		String fx = pd.getString("fx");

		if ("head".equals(fx)) {
			mv.addObject("fx", "head");
		} else {
			mv.addObject("fx", "user");
		}

		List<Role> roleList = roleService.listAllERRoles(); // 列出所有二级角色
		List<PageData> listAllMK = roleService.listAllMK(pd);
		pd = userService.findByUiId(pd); // 根据ID读取
		mv.setViewName("system/user/user_edit");
		mv.addObject("msg", "editU");
		mv.addObject("pd", pd);
		mv.addObject("roleList", roleList);
		mv.addObject("listAllMK", listAllMK);

		return mv;
	}
	
	/**
	 * 去修改密码页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/goEditUserPassword")
	public ModelAndView goEditUserPassword() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		pd = userService.findByUiId(pd); // 根据ID读取
		mv.setViewName("system/user/userpassword_edit");
		mv.addObject("msg", "editUserPassword");
		mv.addObject("pd", pd);
		return mv;
	}
	
	/**
	 * 修改保存密码
	 */
	@RequestMapping(value = "/editUserPassword")
	public ModelAndView editUserPassword(PrintWriter out) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		if (pd.getString("PASSWORD") != null
				&& !"".equals(pd.getString("PASSWORD"))) {
			pd.put("PASSWORD", new SimpleHash("SHA-1",
					pd.getString("USERNAME"), pd.getString("PASSWORD"))
					.toString());
		}
		userService.editU(pd);
		mv.addObject("msg", "success");
		mv.setViewName("save_result");
		return mv;
	}
	/**
	 * 去新增用户页面
	 */
	@RequestMapping(value = "/goAddU")
	public ModelAndView goAddU() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		List<Role> roleList = roleService.listAllERRoles(); // 列出所有二级角色
		List<PageData> listAllMK = roleService.listAllMK(pd);
		mv.setViewName("system/user/userpassword_edit");
		mv.addObject("msg", "saveU");
		mv.addObject("pd", pd);
		mv.addObject("roleList", roleList);
		mv.addObject("listAllMK", listAllMK);
		return mv;
	}

	/**
	 * 根据一级查二级
	 * 
	 * @throws Exception
	 */
	@RequestMapping(value = "/role_INFO")
	@ResponseBody
	public List<PageData> role_INFO() throws Exception {
		logBefore(logger, "去新增QX_KSAP页面");
		PageData pd = new PageData();
		pd = this.getPageData();
		// 列出League_student列表
		List<PageData> listRJ = roleService.listRJ(pd);
		System.out
				.println(listRJ.toString() + "******************************");
		return listRJ;
	}

	/**
	 * 显示用户列表(用户组)
	 */
	@RequestMapping(value = "/listUsers")
	public ModelAndView listUsers(Page page) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		System.out.println(pd);
		String USERNAME = pd.getString("USERNAME");

		if (null != USERNAME && !"".equals(USERNAME)) {
			USERNAME = USERNAME.trim();
			pd.put("USERNAME", USERNAME);
		}

		String lastLoginStart = pd.getString("lastLoginStart");
		String lastLoginEnd = pd.getString("lastLoginEnd");

		if (lastLoginStart != null && !"".equals(lastLoginStart)) {
			lastLoginStart = lastLoginStart + " 00:00:00";
			pd.put("lastLoginStart", lastLoginStart);
		}
		if (lastLoginEnd != null && !"".equals(lastLoginEnd)) {
			lastLoginEnd = lastLoginEnd + " 00:00:00";
			pd.put("lastLoginEnd", lastLoginEnd);
		}

		page.setPd(pd);
		List<PageData> userList = userService.listPdPageUser(page); // 列出用户列表
		List<Role> roleList = roleService.listAllERRoles(); // 列出所有二级角色
		System.out.println(this.getHC());
		mv.setViewName("system/user/user_list");
		mv.addObject("userList", userList);
		mv.addObject("roleList", roleList);
		mv.addObject("pd", pd);
		mv.addObject(Const.SESSION_QX, this.getHC()); // 按钮权限
		return mv;
	}
	
	/**
	 * 获取学生和老师列表
	 * @param page
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/userListPageXsJs")
	public ModelAndView userListPageXsJs(Page page) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		System.out.println(pd);
		page.setPd(pd);
		List<PageData> userList = userService.userlistPageXsJs(page); // 列出用户列表
		mv.setViewName("system/userstudent/userstudent_list");
		mv.addObject("userList", userList);
		mv.addObject("pd", pd);
		mv.addObject(Const.SESSION_QX, this.getHC()); // 按钮权限
		return mv;
	}
	
	/**
	 * 去新增学生和老师页面
	 */
	@RequestMapping(value = "/goAddUXsJs")
	public ModelAndView goAddUXsJs() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		List<Role> roleList = roleService.listAllERRoles(); // 列出所有二级角色
		List<PageData> listAllMK = roleService.listAllMK(pd);
		mv.setViewName("system/userstudent/userstudent_edit");
		mv.addObject("msg", "saveUserXsJs");
		mv.addObject("pd", pd);
		mv.addObject("roleList", roleList);
		mv.addObject("listAllMK", listAllMK);
		return mv;
	}
	
	/**
	 * 去修改学生和老师页面
	 */
	@RequestMapping(value = "/goEditUXsJs")
	public ModelAndView goEditUXsJs() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		pd = userService.findByUiId(pd); // 根据ID读取
		mv.setViewName("system/userstudent/userstudent_edit");
		mv.addObject("msg", "editUXsJs");
		mv.addObject("pd", pd);
		return mv;
	}
	/**
	 * 保存修改学生或老师 
	 */
	@RequestMapping(value = "/editUXsJs")
	public ModelAndView editUXsJs(
			PrintWriter out,
			@RequestParam("file") MultipartFile file,
			@RequestParam("USERNAME") String USERNAME,
			@RequestParam("PASSWORD") String PASSWORD,
			@RequestParam("NAME") String NAME,
			@RequestParam("SEX") String SEX,
			@RequestParam("AGE") String AGE,
			@RequestParam("BH") String BH,
			@RequestParam("SPEC") String SPEC,
			@RequestParam("USERCLASS") String USERCLASS,
			@RequestParam("PHONE") String PHONE,
			@RequestParam("ADDRESS") String ADDRESS,
			@RequestParam("ROLE_ID") String ROLE_ID,
			@RequestParam("USER_ID") String USER_ID
			) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		 if (!file.isEmpty()) {
			// 获取文件存储路径(绝对路径)
				String path = "E:\\lucky\\webapps\\fileservice\\touxiang";
				// 获取原文件名
				String fileName = file.getOriginalFilename();
				// 创建文件实例
				File filePath = new File(path, fileName);
				// 如果文件目录不存在,创建目录
				if (!filePath.getParentFile().exists()) {
					filePath.getParentFile().mkdirs();
					System.out.println("创建目录" + filePath);
				}
				// 写入文件
				file.transferTo(filePath);
				pd.put("PHOTO", fileName);
		 }
		 	pd.put("USERNAME", USERNAME);
			pd.put("NAME", NAME);
			pd.put("SEX", SEX);
			pd.put("AGE", AGE);
			pd.put("BH", BH);
			pd.put("SPEC", SPEC);
			pd.put("USERCLASS", USERCLASS);
			pd.put("PHONE", PHONE);
			pd.put("ADDRESS", ADDRESS);
			pd.put("ROLE_ID", ROLE_ID);
			pd.put("USER_ID", USER_ID);
		if (pd.getString("PASSWORD") != null
				&& !"".equals(pd.getString("PASSWORD"))) {
			pd.put("PASSWORD", new SimpleHash("SHA-1",
					pd.getString("USERNAME"), pd.getString("PASSWORD"))
					.toString());
		}
		userService.editU(pd);
		mv.addObject("msg", "success");
		mv.setViewName("save_result");
		return mv;
	}
	/**
	 * 新增保存教师或学生
	 */
	@RequestMapping(value = "/saveUserXsJs")
	public ModelAndView saveUserXsJs(
			PrintWriter out, HttpServletRequest req,
			@RequestParam("file") MultipartFile file,
			@RequestParam("USERNAME") String USERNAME,
			@RequestParam("PASSWORD") String PASSWORD,
			@RequestParam("NAME") String NAME,
			@RequestParam("SEX") String SEX,
			@RequestParam("AGE") String AGE,
			@RequestParam("BH") String BH,
			@RequestParam("SPEC") String SPEC,
			@RequestParam("USERCLASS") String USERCLASS,
			@RequestParam("PHONE") String PHONE,
			@RequestParam("ADDRESS") String ADDRESS,
			@RequestParam("TYPE") String TYPE
			) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = new Date(System.currentTimeMillis());
		System.out.println(formatter.format(date));
		
		// 获取文件存储路径(绝对路径)
		String path = "E:\\lucky\\webapps\\fileservice\\touxiang";
		// 获取原文件名
		String fileName = file.getOriginalFilename();
		// 创建文件实例
		File filePath = new File(path, fileName);
		// 如果文件目录不存在,创建目录
		if (!filePath.getParentFile().exists()) {
			filePath.getParentFile().mkdirs();
			System.out.println("创建目录" + filePath);
		}
		// 写入文件
		file.transferTo(filePath);
		pd.put("PHOTO", fileName);
		pd.put("USERNAME", USERNAME);
		pd.put("NAME", NAME);
		pd.put("SEX", SEX);
		pd.put("AGE", AGE);
		pd.put("BH", BH);
		pd.put("SPEC", SPEC);
		pd.put("USERCLASS", USERCLASS);
		pd.put("PHONE", PHONE);
		pd.put("ADDRESS", ADDRESS);
		if(TYPE.equals("1")){
			pd.put("ROLE_ID", "73a45e9dc2f946d0b7fca022d56255bb");
		}
		if(TYPE.equals("2")){
			pd.put("ROLE_ID", "49fa847f19f947688c38835841cc2cab");
		}
		pd.put("ADDDATE", formatter.format(date));
		pd.put("TYPE", TYPE);
		
		pd.put("USER_ID", this.get32UUID()); // ID
		pd.put("RIGHTS", ""); // 权限
		pd.put("LAST_LOGIN", ""); // 最后登录时间
		pd.put("IP", ""); // IP
		pd.put("STATUS", "0"); // 状态
		pd.put("SKIN", "default"); // 默认皮肤
		pd.put("PASSWORD",
				new SimpleHash("SHA-1", pd.getString("USERNAME"), pd
						.getString("PASSWORD")).toString());

		if (null == userService.findByUId(pd)) {
			userService.saveU(pd);
			mv.addObject("msg", "success");
		} else {
			mv.addObject("msg", "failed");
		}
		mv.setViewName("save_result");
		return mv;
	}
	
	
	/**
	 * 去个人信息页面
	 */
	@RequestMapping(value = "/goEditUser")
	public ModelAndView goEditUser() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		Subject currentUser = SecurityUtils.getSubject();
		Session session = currentUser.getSession();

		User user = (User) session.getAttribute(Const.SESSION_USER);
		pd.put("USER_ID", user.getUSER_ID());
		pd = userService.findByUiId(pd); // 根据ID读取
		mv.setViewName("system/userstudent/userstudent_edit2");
		/*mv.addObject("msg", "editUXsJs");*/
		mv.addObject("pd", pd);
		return mv;
	}
	/**
	 * 个人信息修改保存
	 * @param out
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/editUser")
	public ModelAndView editUser(PrintWriter out) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		userService.editU(pd);
		mv.addObject("msg", "success");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**
	 * 显示用户列表(tab方式)
	 */
	@RequestMapping(value = "/listtabUsers")
	public ModelAndView listtabUsers(Page page) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		List<PageData> userList = userService.listAllUser(pd); // 列出用户列表
		mv.setViewName("system/user/user_tb_list");
		mv.addObject("userList", userList);
		mv.addObject("pd", pd);
		mv.addObject(Const.SESSION_QX, this.getHC()); // 按钮权限
		return mv;
	}

	/**
	 * 删除用户
	 */
	@RequestMapping(value = "/deleteU")
	public void deleteU(PrintWriter out) {
		PageData pd = new PageData();
		try {
			pd = this.getPageData();
			userService.deleteU(pd);
			out.write("success");
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

	}

	/**
	 * 删除基本信息的不需要的列表
	 * 
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/ajaxDele")
	@ResponseBody
	public Object ajaxDele() throws Exception {
		logBefore(logger, "ajax 查询岗位");
		PageData pd = new PageData();
		pd = this.getPageData();
		String type = pd.get("type").toString();
		if (type.equals("jy")) {
			pd.put("QX_EDUCATION_ID", pd.get("ids"));
			// qx_educationService.delete(pd);
		} else if (type.equals("gz")) {
			pd.put("QX_WORK_ID", pd.get("ids"));
			// qx_workService.delete(pd);
		} else if (type.equals("jt")) {
			pd.put("QX_FAMILY_ID", pd.get("ids"));
			// qx_familyService.delete(pd);
		}
		return null;
	}

	/**
	 * 批量删除
	 */
	@RequestMapping(value = "/deleteAllU")
	@ResponseBody
	public Object deleteAllU() {
		PageData pd = new PageData();
		Map<String, Object> map = new HashMap<String, Object>();
		try {
			pd = this.getPageData();
			List<PageData> pdList = new ArrayList<PageData>();
			String USER_IDS = pd.getString("USER_IDS");

			if (null != USER_IDS && !"".equals(USER_IDS)) {
				String ArrayUSER_IDS[] = USER_IDS.split(",");
				userService.deleteAllU(ArrayUSER_IDS);
				pd.put("msg", "ok");
			} else {
				pd.put("msg", "no");
			}

			pdList.add(pd);
			map.put("list", pdList);
		} catch (Exception e) {
			logger.error(e.toString(), e);
		} finally {
			logAfter(logger);
		}
		return AppUtil.returnObject(pd, map);
	}

	// ===================================================================================================

	/*
	 * 导出用户信息到EXCEL
	 * 
	 * @return
	 */
	@RequestMapping(value = "/excel")
	public ModelAndView exportExcel() {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		try {

			// 检索条件===
			String USERNAME = pd.getString("USERNAME");
			if (null != USERNAME && !"".equals(USERNAME)) {
				USERNAME = USERNAME.trim();
				pd.put("USERNAME", USERNAME);
			}
			String lastLoginStart = pd.getString("lastLoginStart");
			String lastLoginEnd = pd.getString("lastLoginEnd");
			if (lastLoginStart != null && !"".equals(lastLoginStart)) {
				lastLoginStart = lastLoginStart + " 00:00:00";
				pd.put("lastLoginStart", lastLoginStart);
			}
			if (lastLoginEnd != null && !"".equals(lastLoginEnd)) {
				lastLoginEnd = lastLoginEnd + " 00:00:00";
				pd.put("lastLoginEnd", lastLoginEnd);
			}
			// 检索条件===

			Map<String, Object> dataMap = new HashMap<String, Object>();
			List<String> titles = new ArrayList<String>();

			titles.add("用户名"); // 1
			titles.add("编号"); // 2
			titles.add("姓名"); // 3
			titles.add("职位"); // 4
			titles.add("手机"); // 5
			titles.add("邮箱"); // 6
			titles.add("最近登录"); // 7
			titles.add("上次登录IP"); // 8

			dataMap.put("titles", titles);

			List<PageData> userList = userService.listAllUser(pd);
			List<PageData> varList = new ArrayList<PageData>();
			for (int i = 0; i < userList.size(); i++) {
				PageData vpd = new PageData();
				vpd.put("var1", userList.get(i).getString("USERNAME")); // 1
				vpd.put("var2", userList.get(i).getString("NUMBER")); // 2
				vpd.put("var3", userList.get(i).getString("NAME")); // 3
				vpd.put("var4", userList.get(i).getString("ROLE_NAME")); // 4
				vpd.put("var5", userList.get(i).getString("PHONE")); // 5
				vpd.put("var6", userList.get(i).getString("EMAIL")); // 6
				vpd.put("var7", userList.get(i).getString("LAST_LOGIN")); // 7
				vpd.put("var8", userList.get(i).getString("IP")); // 8
				varList.add(vpd);
			}

			dataMap.put("varList", varList);

			ObjectExcelView erv = new ObjectExcelView(); // 执行excel操作

			mv = new ModelAndView(erv, dataMap);
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}
		return mv;
	}

	/**
	 * 打开上传EXCEL页面
	 */
	@RequestMapping(value = "/goUploadExcel")
	public ModelAndView goUploadExcel() throws Exception {
		ModelAndView mv = this.getModelAndView();
		mv.setViewName("system/user/uploadexcel");
		return mv;
	}

	/**
	 * 下载模版
	 */
	@RequestMapping(value = "/downExcel")
	public void downExcel(HttpServletResponse response) throws Exception {

		FileDownload.fileDownload(response, PathUtil.getClasspath()
				+ Const.FILEPATHFILE + "Users.xls", "Users.xls");

	}

	/**
	 * 从EXCEL导入到数据库
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	@RequestMapping(value = "/readExcel")
	public ModelAndView readExcel(
			@RequestParam(value = "excel", required = false) MultipartFile file)
			throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();

		if (null != file && !file.isEmpty()) {
			String filePath = PathUtil.getClasspath() + Const.FILEPATHFILE; // 文件上传路径
			String fileName = FileUpload.fileUp(file, filePath, "userexcel"); // 执行上传

			List<PageData> listPd = (List) ObjectExcelRead.readExcel(filePath,
					fileName, 2, 0, 0); // 执行读EXCEL操作,读出的数据导入List
										// 2:从第3行开始;0:从第A列开始;0:第0个sheet

			/* 存入数据库操作====================================== */
			pd.put("RIGHTS", ""); // 权限
			pd.put("LAST_LOGIN", ""); // 最后登录时间
			pd.put("IP", ""); // IP
			pd.put("STATUS", "0"); // 状态
			pd.put("SKIN", "default"); // 默认皮肤

			List<Role> roleList = roleService.listAllERRoles(); // 列出所有二级角色

			pd.put("ROLE_ID", roleList.get(0).getROLE_ID()); // 设置角色ID为随便第一个
			/**
			 * var0 :编号 var1 :姓名 var2 :手机 var3 :邮箱 var4 :备注
			 */
			for (int i = 0; i < listPd.size(); i++) {
				pd.put("USER_ID", this.get32UUID()); // ID
				pd.put("NAME", listPd.get(i).getString("var1")); // 姓名

				String USERNAME = GetPinyin.getPingYin(listPd.get(i).getString(
						"var1")); // 根据姓名汉字生成全拼
				pd.put("USERNAME", USERNAME);
				if (userService.findByUId(pd) != null) { // 判断用户名是否重复
					USERNAME = GetPinyin.getPingYin(listPd.get(i).getString(
							"var1"))
							+ Tools.getRandomNum();
					pd.put("USERNAME", USERNAME);
				}
				pd.put("BZ", listPd.get(i).getString("var4")); // 备注
				if (Tools.checkEmail(listPd.get(i).getString("var3"))) { // 邮箱格式不对就跳过
					pd.put("EMAIL", listPd.get(i).getString("var3"));
					if (userService.findByUE(pd) != null) { // 邮箱已存在就跳过
						continue;
					}
				} else {
					continue;
				}

				pd.put("NUMBER", listPd.get(i).getString("var0")); // 编号已存在就跳过
				pd.put("PHONE", listPd.get(i).getString("var2")); // 手机号

				pd.put("PASSWORD",
						new SimpleHash("SHA-1", USERNAME, "123").toString()); // 默认密码123
				if (userService.findByUN(pd) != null) {
					continue;
				}
				userService.saveU(pd);
			}
			/* 存入数据库操作====================================== */

			mv.addObject("msg", "success");
		}

		mv.setViewName("save_result");
		return mv;
	}

	@InitBinder
	public void initBinder(WebDataBinder binder) {
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		binder.registerCustomEditor(Date.class, new CustomDateEditor(format,
				true));
	}

	/* ===============================权限================================== */
	@SuppressWarnings("unchecked")
	public Map<String, String> getHC() {
		Subject currentUser = SecurityUtils.getSubject(); // shiro管理的session
		Session session = currentUser.getSession();
		return (Map<String, String>) session.getAttribute(Const.SESSION_QX);
	}
	/* ===============================权限================================== */
}

4.2菜单部分

package com.fh.controller.system.menu;

import java.io.PrintWriter;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.fh.controller.base.BaseController;
import com.fh.entity.system.Menu;
import com.fh.service.system.menu.MenuService;
import com.fh.util.PageData;

/**
 * 类名称:MenuController 创建人:FH 创建时间:2014年7月1日
 * 
 * @version
 */
@Controller
@RequestMapping(value = "/menu")
public class MenuController extends BaseController {

	@Resource(name = "menuService")
	private MenuService menuService;

	/**
	 * 显示菜单列表
	 * 
	 * @param model
	 * @return
	 */
	@RequestMapping
	public ModelAndView list() throws Exception {
		ModelAndView mv = this.getModelAndView();
		try {
			List<Menu> menuList = menuService.listAllParentMenu();
			mv.addObject("menuList", menuList);
			mv.setViewName("system/menu/menu_list");
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

		return mv;
	}

	/**
	 * 请求新增菜单页面
	 * 
	 * @param model
	 * @return
	 */
	@RequestMapping(value = "/toAdd")
	public ModelAndView toAdd() throws Exception {
		ModelAndView mv = this.getModelAndView();
		try {
			List<Menu> menuList = menuService.listAllParentMenu();
			mv.addObject("menuList", menuList);
			mv.setViewName("system/menu/menu_add");
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}
		return mv;
	}

	/**
	 * 保存菜单信息
	 * 
	 * @param menu
	 * @param model
	 * @return
	 */
	@RequestMapping(value = "/add")
	public ModelAndView add(Menu menu) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		try {
			menu.setMENU_ID(String.valueOf(Integer.parseInt(menuService
					.findMaxId(pd).get("MID").toString()) + 1));

			String PARENT_ID = menu.getPARENT_ID();
			if (!"0".equals(PARENT_ID)) {
				// 处理菜单类型====
				pd.put("MENU_ID", PARENT_ID);
				pd = menuService.getMenuById(pd);
				menu.setMENU_TYPE(pd.getString("MENU_TYPE"));
				// 处理菜单类型====
			}
			menuService.saveMenu(menu);
			mv.addObject("msg", "success");
		} catch (Exception e) {
			logger.error(e.toString(), e);
			mv.addObject("msg", "failed");
		}

		mv.setViewName("save_result");
		return mv;

	}

	/**
	 * 请求编辑菜单页面
	 * 
	 * @param
	 * @return
	 */
	@RequestMapping(value = "/toEdit")
	public ModelAndView toEdit(String MENU_ID) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		try {
			pd = this.getPageData();
			pd.put("MENU_ID", MENU_ID);
			pd = menuService.getMenuById(pd);
			List<Menu> menuList = menuService.listAllParentMenu();
			mv.addObject("menuList", menuList);
			mv.addObject("pd", pd);
			mv.setViewName("system/menu/menu_edit");
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}
		return mv;
	}

	/**
	 * 请求编辑菜单图标页面
	 * 
	 * @param
	 * @return
	 */
	@RequestMapping(value = "/toEditicon")
	public ModelAndView toEditicon(String MENU_ID) throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		try {
			pd = this.getPageData();
			pd.put("MENU_ID", MENU_ID);
			mv.addObject("pd", pd);
			mv.setViewName("system/menu/menu_icon");
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}
		return mv;
	}

	/**
	 * 保存菜单图标 (顶部菜单)
	 * 
	 * @param
	 * @return
	 */
	@RequestMapping(value = "/editicon")
	public ModelAndView editicon() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		try {
			pd = this.getPageData();
			pd = menuService.editicon(pd);
			mv.addObject("msg", "success");
		} catch (Exception e) {
			logger.error(e.toString(), e);
			mv.addObject("msg", "failed");
		}
		mv.setViewName("save_result");
		return mv;
	}

	/**
	 * 保存编辑
	 * 
	 * @param
	 * @return
	 */
	@RequestMapping(value = "/edit")
	public ModelAndView edit() throws Exception {
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		try {
			pd = this.getPageData();

			String PARENT_ID = pd.getString("PARENT_ID");
			if (null == PARENT_ID || "".equals(PARENT_ID)) {
				PARENT_ID = "0";
				pd.put("PARENT_ID", PARENT_ID);
			}

			if ("0".equals(PARENT_ID)) {
				// 处理菜单类型====
				menuService.editType(pd);
				// 处理菜单类型====
			}

			pd = menuService.edit(pd);
			mv.addObject("msg", "success");
		} catch (Exception e) {
			logger.error(e.toString(), e);
			mv.addObject("msg", "failed");
		}
		mv.setViewName("save_result");
		return mv;
	}

	/**
	 * 获取当前菜单的所有子菜单
	 * 
	 * @param menuId
	 * @param response
	 */
	@RequestMapping(value = "/sub")
	public void getSub(@RequestParam String MENU_ID,
			HttpServletResponse response) throws Exception {
		try {
			List<Menu> subMenu = menuService.listSubMenuByParentId(MENU_ID);
			JSONArray arr = JSONArray.fromObject(subMenu);
			PrintWriter out;

			response.setCharacterEncoding("utf-8");
			out = response.getWriter();
			String json = arr.toString();
			out.write(json);
			out.flush();
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}
	}

	/**
	 * 删除菜单
	 * 
	 * @param menuId
	 * @param out
	 */
	@RequestMapping(value = "/del")
	public void delete(@RequestParam String MENU_ID, PrintWriter out)
			throws Exception {

		try {
			menuService.deleteMenuById(MENU_ID);
			out.write("success");
			out.flush();
			out.close();
		} catch (Exception e) {
			logger.error(e.toString(), e);
		}

	}
}


获取源码或论文可分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值