基于javaweb+mysql的ssm在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql)

基于javaweb+mysql的ssm在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM在线车队货车管理系统(java+ssm+jsp+bootstrap+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项目:否;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+bootstrap+jQuery+css+javascript

使用说明

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

/** 
 * 说明:货车管理模块
 * 创建人:admin Q1347845688
 */
@Controller
@RequestMapping(value="/car")
public class CarController extends BaseController {
	
	String menuUrl = "car/list.do"; //菜单地址(权限用)
	@Resource(name="carService")
	private CarManager carService;
	
	@Resource(name="userService")
	private UserManager userService;
	
	@Resource(name="orderService")
	private OrderManager orderService;
	
	/**保存
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/save")
	public ModelAndView save() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"新增Car");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
	 * @throws Exception
	 */
	@RequestMapping(value="/saveSys3")
	public ModelAndView saveSys3() throws Exception{
		if(!"admin".equals(Jurisdiction.getUsername())){return null;}	//非admin用户不能修改
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		String winStr = pd.getString("WIMIP")+",fh,"+pd.getString("WIMPORT")+",fh,";								//即时通讯配置
		String olStr = pd.getString("OLIP")+",fh,"+pd.getString("OLPORT")+",fh,"+pd.getString("FHsmsSound")+",fh,";	//站内信配置
		String videoStr = pd.getString("VIDEOIP")+",fh,"+pd.getString("VIDEOPORT");									//视频弹幕配置
		Tools.writeFile(Const.WEBSOCKET,winStr+olStr+videoStr);	//websocket配置
		mv.addObject("msg","OK");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**保存系统设置4
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/saveSys4")
	public ModelAndView saveSys4() throws Exception{
		if(!"admin".equals(Jurisdiction.getUsername())){return null;}	//非admin用户不能修改
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		Tools.writeFile(Const.WEIXIN,pd.getString("Token"));	//写入微信配置
		Tools.writeFile(Const.LOGINEDIT,pd.getString("isZhuce")+",fh,"+pd.getString("isMusic"));	//登录页面配置
		mv.addObject("msg","OK");
		mv.setViewName("save_result");
		return mv;
	}
	
}

// F-H Q  3-135-9679-0 

	
	/**表单构建页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goFormbuilder")
	public ModelAndView goFormbuilder() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/tools/form_builder");
		mv.addObject("pd", pd);
		return mv;
	}
	
	/**生成文件并下载(生成的表单构建页面代码放到jsp页面)
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/downloadFormCode")
	public void downloadFormCode(HttpServletResponse response) throws Exception{
		PageData pd = new PageData();
		pd = this.getPageData();
		Map<String,Object> root = new HashMap<String,Object>();		//创建数据模型
		root.put("htmlCode", pd.getString("htmlCode"));
		DelAllFile.delFolder(PathUtil.getClasspath()+"admin/ftl"); //生成代码前,先清空之前生成的代码
		String filePath = "admin/ftl/code/";						//存放路径
		String ftlPath = "createCode";								//ftl路径
		/*生成controller*/
		Freemarker.printFile("newJsp.ftl", root, "newJsp.jsp", filePath, ftlPath);
		FileDownload.fileDownload(response, PathUtil.getClasspath()+"admin/ftl/code/newJsp.jsp", "newJsp.jsp");
	}
	
	/**二维码页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goTwoDimensionCode")
	public ModelAndView goTwoDimensionCode() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/tools/twoDimensionCode");
		mv.addObject("pd", pd);
		return mv;
	}
		}
		
		nmap.put("friend", gmapList); //好友分组及好友数据
		
		List<Object> qfList = new ArrayList<Object>();
		List<PageData> myqList = getMyAllQgroup(pd);					//我在的全部群列表
		for(int i=0;i<myqList.size();i++){
			Map<String,Object> qmap = new LinkedHashMap<String,Object>();
			qmap.put("groupname", myqList.get(i).getString("NAME"));	//群名称
			qmap.put("id", myqList.get(i).getString("QGROUP_ID"));		//群ID
			qmap.put("avatar", myqList.get(i).getString("PHOTO"));		//群头像
			qfList.add(qmap);
		}
		nmap.put("group", qfList); //群组数据
		
		zmap.put("code", 0);
		zmap.put("msg", "");
		zmap.put("data", nmap);
		
		return AppUtil.returnObject(pd, zmap);
	}
	
	
	/**我在的全部群列表
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<PageData> getMyAllQgroup(PageData pd) throws Exception{
		pd.put("USERNAME", Jurisdiction.getUsername());		//当前用户
		PageData ipd = new PageData();
		ipd = iqgroupService.findById(pd);
		if(null == ipd){									//当我没有任何群时添加数据,否则修改
			pd.put("item", "('null')");
		}else{
			pd.put("item", ipd.getString("QGROUPS")+"'fh')");
		}
		return qgroupService.mylistAll(pd);					//列出Qgroup列表
		
	}
	
	/**获取群成员接口
	 * @return
	 */
	@RequestMapping(value="/getMembers")
	@ResponseBody
	public Object getMembers(){

/** 
 * 说明:好友管理
 * 创建人:admin Q1347845688
 */
@Controller
@RequestMapping(value="/friends")
public class FriendsController extends BaseController {
	
	String menuUrl = "friends/list.do"; //菜单地址(权限用)
	@Resource(name="friendsService")
	private FriendsManager friendsService;
	
	/**添加好友(废弃,从IM接口类处添加)
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/save")
	public ModelAndView save() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"新增Friends");
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			connection.setRequestMethod(pd.getString("requestMethod"));		//请求类型  POST or GET	
			BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8"));
			long endTime = System.currentTimeMillis(); 						//请求结束时间_毫秒
			String temp = "";
			while((temp = in.readLine()) != null){ 
				str = str + temp;
			}
			rTime = String.valueOf(endTime - startTime); 
		}
		catch(Exception e){
			errInfo = "error";
		}
		map.put("errInfo", errInfo);//状态信息
		map.put("result", str);		//返回结果
		map.put("rTime", rTime);	//服务器请求时间 毫秒
		return AppUtil.returnObject(new PageData(), map);
	}
	
	/**发送邮件页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goSendEmail")
	public ModelAndView goSendEmail() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/tools/email");
		mv.addObject("pd", pd);
		return mv;
	}
	
	/**快递查询页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/queryExpress")
	public ModelAndView queryExpress() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/tools/queryExpress");
		mv.addObject("pd", pd);
		return mv;
	}
	
	 /**查看物流跟踪记录
	 * @param
	 * @throws Exception
	 */

/** 
 * 说明:好友管理
 * 创建人:admin Q1347845688
 */
@Controller
@RequestMapping(value="/friends")
public class FriendsController extends BaseController {
	
	String menuUrl = "friends/list.do"; //菜单地址(权限用)
	@Resource(name="friendsService")
	private FriendsManager friendsService;
	
	/**添加好友(废弃,从IM接口类处添加)
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/save")
	public ModelAndView save() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"新增Friends");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		pd.put("FRIENDS_ID", this.get32UUID());			//主键
		pd.put("USERNAME", Jurisdiction.getUsername());	//用户名
		pd.put("CTIME", Tools.date2Str(new Date()));	//申请时间
	 * @throws Exception
	 */
	@RequestMapping(value="/deletefromlist")
	public void deletefromlist(PrintWriter out) throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"删除Friends");
		PageData pd = new PageData();
		pd = this.getPageData();
		friendsService.delete(pd);
		out.write("success");
		out.close();
	}
	
	/**拉黑
	 * @param out
	 * @throws Exception
	 */
	@RequestMapping(value="/pullblackfromlist")
	public void pullblackfromlist(PrintWriter out) throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"拉黑Friends");
		PageData pd = new PageData();
		pd = this.getPageData();
		friendsService.delete(pd);						//删除自己好友栏
		pd.put("USERNAME", Jurisdiction.getUsername());	//用户名
		friendsService.pullblack(pd);					//删除对方好友栏
		out.write("success");
		out.close();
	}
	
	
	/**删除 从右下角好友列表里面右键拉黑好友
	 * @param out
	 * @throws Exception
	 */
	@RequestMapping(value="/delete")
	public void delete() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"删除Friends");
		PageData pd = new PageData();
		pd = this.getPageData();
		String FRIENDS_ID = pd.getString("FRIENDS_ID");
		if("null".equals(FRIENDS_ID)){						
			pd.put("USERNAME", Jurisdiction.getUsername());	//用户名
		nogfList.addAll(nogfListoff);	//离线的放下面
		if(noGList.size() > 0){
			nogmap.put("list", nogfList);
			gmapList.add(nogmap);
		}
		
		nmap.put("friend", gmapList); //好友分组及好友数据
		
		List<Object> qfList = new ArrayList<Object>();
		List<PageData> myqList = getMyAllQgroup(pd);					//我在的全部群列表
		for(int i=0;i<myqList.size();i++){
			Map<String,Object> qmap = new LinkedHashMap<String,Object>();
			qmap.put("groupname", myqList.get(i).getString("NAME"));	//群名称
			qmap.put("id", myqList.get(i).getString("QGROUP_ID"));		//群ID
			qmap.put("avatar", myqList.get(i).getString("PHOTO"));		//群头像
			qfList.add(qmap);
		}
		nmap.put("group", qfList); //群组数据
		
		zmap.put("code", 0);
		zmap.put("msg", "");
		zmap.put("data", nmap);
		
		return AppUtil.returnObject(pd, zmap);
	}
	
	
	/**我在的全部群列表
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<PageData> getMyAllQgroup(PageData pd) throws Exception{
		pd.put("USERNAME", Jurisdiction.getUsername());		//当前用户
		PageData ipd = new PageData();
		ipd = iqgroupService.findById(pd);
		if(null == ipd){									//当我没有任何群时添加数据,否则修改
			pd.put("item", "('null')");
		}else{
			pd.put("item", ipd.getString("QGROUPS")+"'fh')");
		}
		return qgroupService.mylistAll(pd);					//列出Qgroup列表
		
	}
	
	/**获取群成员接口
	 * @return
	 */
	@RequestMapping(value="/getMembers")
	@ResponseBody
	public Object getMembers(){
		logBefore(logger, Jurisdiction.getUsername()+"获取群成员");
		session.removeAttribute(USERNAME + Const.SESSION_allmenuList);
		session.removeAttribute(USERNAME + Const.SESSION_menuList);
		session.removeAttribute(USERNAME + Const.SESSION_QX);
		session.removeAttribute(USERNAME + Const.SESSION_QX2);
		session.removeAttribute(Const.SESSION_userpds);
		session.removeAttribute(Const.SESSION_USERNAME);
		session.removeAttribute(Const.SESSION_U_NAME);
		session.removeAttribute(Const.SESSION_USERROL);
		session.removeAttribute("changeMenu");
		session.removeAttribute("DEPARTMENT_IDS");
		session.removeAttribute("DEPARTMENT_ID");
	}
	
	/**设置登录页面的配置参数
	 * @param pd
	 * @return
	 */
	public PageData setLoginPd(PageData pd){
		pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); 		//读取系统名称
		String strLOGINEDIT = Tools.readTxtFile(Const.LOGINEDIT);	//读取登录页面配置
		if(null != strLOGINEDIT && !"".equals(strLOGINEDIT)){
			String strLo[] = strLOGINEDIT.split(",fh,");
			if(strLo.length == 2){
				pd.put("isZhuce", strLo[0]);
				pd.put("isMusic", strLo[1]);
			}
		}
		try {
			List<PageData> listImg = loginimgService.listAll(pd);	//登录背景图片
			pd.put("listImg", listImg);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return pd;
	}
	
	/**获取用户权限
	 * @param session
	 * @return
	 */
	public Map<String, String> getUQX(String USERNAME){
		PageData pd = new PageData();
		Map<String, String> map = new HashMap<String, String>();
		try {
	@RequestMapping(value="/goEditU")
	public ModelAndView goEditU() throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		if("1".equals(pd.getString("USER_ID"))){return null;}		//不能修改admin用户
		pd.put("ROLE_ID", "1");
		List<Role> roleList = roleService.listAllRolesByPId(pd);	//列出所有系统用户角色
		mv.addObject("fx", "user");
		pd = userService.findById(pd);								//根据ID读取
		List<Role> froleList = new  ArrayList<Role>();				//存放副职角色
		String ROLE_IDS = pd.getString("ROLE_IDS");					//副职角色ID
		if(Tools.notEmpty(ROLE_IDS)){
			String arryROLE_ID[] = ROLE_IDS.split(",fh,");
			for(int i=0;i<roleList.size();i++){
				Role role = roleList.get(i);
				String roleId = role.getROLE_ID();
				for(int n=0;n<arryROLE_ID.length;n++){
					if(arryROLE_ID[n].equals(roleId)){
						role.setRIGHTS("1");	//此时的目的是为了修改用户信息上,能看到副职角色都有哪些
						break;
					}
				}
				froleList.add(role);
			}
		}else{
			froleList = roleList;
		}
		mv.setViewName("system/user/user_edit");
		mv.addObject("msg", "editU");
		mv.addObject("pd", pd);
		mv.addObject("roleList", roleList);
		mv.addObject("froleList", froleList);
		return mv;
	}
	
	/**去修改用户页面(个人修改)
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goEditMyU")
	public ModelAndView goEditMyU() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.addObject("fx", "head");
		pd.put("ROLE_ID", "1");
		List<Role> roleList = roleService.listAllRolesByPId(pd);	//列出所有系统用户角色
			pd.put("lastStart", lastStart+" 00:00:00");
		}
		if(lastEnd != null && !"".equals(lastEnd)){
			pd.put("lastEnd", lastEnd+" 00:00:00");
		} 
		page.setPd(pd);
		List<PageData>	varList = timingbackupService.list(page);	//列出TimingBackUp列表
		mv.setViewName("fhdb/timingbackup/timingbackup_list");
		mv.addObject("varList", varList);
		mv.addObject("pd", pd);
		mv.addObject("QX",Jurisdiction.getHC());	//按钮权限
		return mv;
	}
	
	/**去新增页面
	 * @param
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	@RequestMapping(value="/goAdd")
	public ModelAndView goAdd()throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		Object[] arrOb = DbFH.getTables();
		List<String> tblist = (List<String>)arrOb[1];
		mv.addObject("varList", tblist);			//所有表
		mv.addObject("dbtype", arrOb[2]);			//数据库类型
		mv.setViewName("fhdb/timingbackup/timingbackup_edit");
		mv.addObject("msg", "save");
		mv.addObject("pd", pd);
		return mv;
	}	
	
	 /**去修改页面
	 * @param
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	@RequestMapping(value="/goEdit")
	public ModelAndView goEdit()throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		Object[] arrOb = DbFH.getTables();
		List<String> tblist = (List<String>)arrOb[1];
		mv.addObject("varList", tblist);			//所有表
		mv.addObject("dbtype", arrOb[2]);			//数据库类型
		pd = timingbackupService.findById(pd);		//根据ID读取
		mv.setViewName("fhdb/timingbackup/timingbackup_edit");
		mv.addObject("msg", "edit");
		mv.addObject("pd", pd);
		logBefore(logger, Jurisdiction.getUsername()+"删除图片");
		PageData pd = new PageData();
		if(Jurisdiction.buttonJurisdiction(menuUrl, "del")){
			pd = this.getPageData();
			if(Tools.notEmpty(pd.getString("PATH").trim())){
				DelAllFile.delFolder(PathUtil.getClasspath()+ Const.FILEPATHIMG + pd.getString("PATH")); //删除图片
			}
			picturesService.delete(pd);
		}
		out.write("success");
		out.close();
	}
	
	/**修改
	 * @param request
	 * @param file
	 * @param tpz
	 * @param PICTURES_ID
	 * @param TITLE
	 * @param MASTER_ID
	 * @param BZ
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/edit")
	public ModelAndView edit(
			HttpServletRequest request,
			@RequestParam(value="tp",required=false) MultipartFile file,
			@RequestParam(value="tpz",required=false) String tpz,
			@RequestParam(value="PICTURES_ID",required=false) String PICTURES_ID,
			@RequestParam(value="TITLE",required=false) String TITLE,
			@RequestParam(value="MASTER_ID",required=false) String MASTER_ID,
			@RequestParam(value="BZ",required=false) String BZ
			) throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
		logBefore(logger, Jurisdiction.getUsername()+"修改图片");
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		if(Jurisdiction.buttonJurisdiction(menuUrl, "edit")){
			pd.put("PICTURES_ID", PICTURES_ID);		//图片ID
			pd.put("TITLE", TITLE);					//标题
			pd.put("MASTER_ID", MASTER_ID);			//属于ID
			pd.put("BZ", BZ);						//备注
			if(null == tpz){tpz = "";}
			String  ffile = DateUtil.getDays(), fileName = "";
			if (null != file && !file.isEmpty()) {
				String filePath = PathUtil.getClasspath() + Const.FILEPATHIMG + ffile;	//文件上传路径
			logAfter(logger);
		}
		return AppUtil.returnObject(pd, map);
	}
	
	/**去发送邮箱页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/editEmail")
	public ModelAndView editEmail() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/head/edit_email");
		mv.addObject("pd", pd);
		return mv;
	}
	
	/**去发送短信页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goSendSms")
	public ModelAndView goSendSms() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/head/send_sms");
		mv.addObject("pd", pd);
		return mv;
	}
	
	
	/**发送短信
	 * @return
	 */
	@RequestMapping(value="/sendSms")
	@ResponseBody
	public Object sendSms(){
		PageData pd = new PageData();
		pd = this.getPageData();
		nowmap.put("username", pds.getString("NAME"));			//当前用户姓名
		nowmap.put("id", Jurisdiction.getUsername());			//当前用户名
		nowmap.put("status", null == stapd ?"online":stapd.getString("ONLINE"));		//在线状态
		nowmap.put("sign", null == stapd ?"个性签名":stapd.getString("AUTOGRAPH"));		//个性签名
		nowmap.put("avatar", null == pdPhoto?"static/ace/avatars/user.jpg":pdPhoto.getString("PHOTO2"));//当前用户头像
		
		nmap.put("mine", nowmap);
		
		List<PageData> fList = friendsService.listAll(pd);				//全部好友
		List<PageData> isGList = new ArrayList<PageData>();				//有分组的好友
		List<PageData> noGList = new ArrayList<PageData>();				//未分组的好友
		for(int i=0;i<fList.size();i++){
			if(null == fList.get(i).get("GNAME") || "".equals(fList.get(i).getString("GNAME").trim())){
				noGList.add(fList.get(i));
			}else{
				isGList.add(fList.get(i));
			}
		}
		List<PageData> groupList = fgroupService.listAll(pd);			//当然用户的全部好友分组
		List<Object> gmapList = new ArrayList<Object>();				//存放每个分组以及分组里面的好友
		for(int i=0;i<groupList.size();i++){
			Map<String,Object> gmap = new LinkedHashMap<String,Object>();
			gmap.put("groupname", groupList.get(i).getString("NAME"));
			gmap.put("id", groupList.get(i).getString("FGROUP_ID"));
			gmap.put("online", i+1);
			List<Object> gfList = new ArrayList<Object>();
			List<Object> gfListon = new ArrayList<Object>();			//存放在线的
			List<Object> gfListoff = new ArrayList<Object>();			//存放离线的
			for(int n=0;n<isGList.size();n++){
				if(groupList.get(i).getString("FGROUP_ID").equals(isGList.get(n).getString("FGROUP_ID"))){
					Map<String,Object> fpd = new LinkedHashMap<String,Object>();
					fpd.put("username", isGList.get(n).getString("NAME"));			//姓名
					fpd.put("id", isGList.get(n).getString("FUSERNAME"));			//用户名
					fpd.put("avatar", null==isGList.get(n).get("PHOTO2")?"static/ace/avatars/user.jpg":isGList.get(n).getString("PHOTO2"));			//头像
					fpd.put("sign", null==isGList.get(n).get("AUTOGRAPH")?"":isGList.get(n).getString("AUTOGRAPH"));								//个性签名
					if(null != isGList.get(n).get("ONLINE") && "hide".equals(isGList.get(n).getString("ONLINE"))){//好友在线状态设置为离线的(不管是否真实在线,都判定离线)
						fpd.put("status", "offline");								//离线状态
						gfListoff.add(fpd);
					}else{															//如果设置的状态为在线,再去判断真实是否在线
						Collection<String> user = ChatServerPool.getOnlineUser();	//所有在线用户
						if(!user.contains(isGList.get(n).getString("FUSERNAME"))){
							fpd.put("status", "offline");							//离线状态
							gfListoff.add(fpd);
						}else{														//其它情况都是在线状态,在线状态就不用加status了
							gfListon.add(fpd);
						}
					}
		mv.addObject("pd", pd);
		return mv;
	}
	
	 /**批量删除
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/deleteAll")
	@ResponseBody
	public Object deleteAll() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"批量删除Friends");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
		PageData pd = new PageData();		
		Map<String,Object> map = new HashMap<String,Object>();
		pd = this.getPageData();
		List<PageData> pdList = new ArrayList<PageData>();
		String DATA_IDS = pd.getString("DATA_IDS");
		if(null != DATA_IDS && !"".equals(DATA_IDS)){
			String ArrayDATA_IDS[] = DATA_IDS.split(",");
			friendsService.deleteAll(ArrayDATA_IDS);
			pd.put("msg", "ok");
		}else{
			pd.put("msg", "no");
		}
		pdList.add(pd);
		map.put("list", pdList);
		return AppUtil.returnObject(pd, map);
	}
	
	 /**导出到excel
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/excel")
	public ModelAndView exportExcel() throws Exception{
		logBefore(logger, Jurisdiction.getUsername()+"导出Friends到excel");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
		ModelAndView mv = new ModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		Map<String,Object> dataMap = new HashMap<String,Object>();
		List<String> titles = new ArrayList<String>();
		titles.add("用户名");	//1
		titles.add("好友用户名");	//2
	
	/**二维码页面
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="/goTwoDimensionCode")
	public ModelAndView goTwoDimensionCode() throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		mv.setViewName("system/tools/twoDimensionCode");
		mv.addObject("pd", pd);
		return mv;
	}
	
	/**
	 *	生成二维码
	 * @param args
	 * @throws Exception
	 */
	@RequestMapping(value="/createTwoDimensionCode")
	@ResponseBody
	public Object createTwoDimensionCode(){
		Map<String,String> map = new HashMap<String,String>();
		PageData pd = new PageData();
		pd = this.getPageData();
		String errInfo = "success", encoderImgId = this.get32UUID()+".png"; //encoderImgId此处二维码的图片名
		String encoderContent = pd.getString("encoderContent");				//内容
		if(null == encoderContent){
			errInfo = "error";
		}else{
			try {
				String filePath = PathUtil.getClasspath() + Const.FILEPATHTWODIMENSIONCODE + encoderImgId;  //存放路径
				TwoDimensionCode.encoderQRCode(encoderContent, filePath, "png");							//执行生成二维码
			} catch (Exception e) {
				errInfo = "error";
			}
		}
		map.put("result", errInfo);						//返回结果
		map.put("encoderImgId", encoderImgId);			//二维码图片名
		return AppUtil.returnObject(new PageData(), map);
	}
	

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值