⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 othermanageaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				if (num > FinalProperty.COUNT_COLUMN_MAX_VALUE) {
					num = FinalProperty.COUNT_COLUMN_MAX_VALUE;
				}
			} catch (Exception exception) {
				num = FinalProperty.COUNT_COLUMN_MAX_VALUE;
			}

			Long weightNum = Long.valueOf(FormDataCheck
					.getNumberFromForm(newWeightStr));
			short weight = weightNum > FinalProperty.WEIGHT_PROPERTY_MAX_VALUE ? FinalProperty.WEIGHT_PROPERTY_MAX_VALUE
					: weightNum.shortValue();

			Long longNum = Long.valueOf(FormDataCheck
					.getNumberFromForm(newSupplyNum));
			int supplynum = longNum > FinalProperty.SUPPLY_NUMBER_MAX_VALUE ? FinalProperty.SUPPLY_NUMBER_MAX_VALUE
					: longNum.intValue();

			String setAvailable = "";
			if (newIdentifier.equals("") || newFileName.equals("")) {
				setAvailable = "available=0 ,";
			} else {
				setAvailable = "available=1 ,";
			}
			String magicperm = dataParse.combinationChar(hashMap);
			dataBaseService.execute("UPDATE jrun_magics SET "+ setAvailable + "type='" + newType + "', name='" + newName+ "', identifier='" + newIdentifier + "',description='"+ newDescription + "',price=" + price + ",num=" + num+ ",supplytype=" + newSupplyType + ",supplynum=" + supplynum+ ",weight=" + weight + ",filename='" + newFileName+ "',magicperm='" + magicperm + "' WHERE magicid=" + magicId);
			request.setAttribute("successInfo", "道具资料更新。");
			request.setAttribute("requestPath","admincp.jsp?action=magic");
			return mapping.findForward("success");
		}
		
	}

	public ActionForward magicmarket(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String marketsubmit = request.getParameter("marketsubmit");
		if(marketsubmit == null){
			HttpSession session = request.getSession();
			boolean isfounder = (Boolean) session.getAttribute("isfounder");
			boolean ishavefounder = (Boolean) session.getAttribute("ishavefounder");
			if (ishavefounder && !isfounder) {
				request.setAttribute("resultInfo","您没有权限访问该设置,出于安全考虑此设置只有论坛创始人可以使用。");
				return mapping.findForward("result");
			}
			List<Map<String, String>> resultMapList = dataBaseService.executeQuery("SELECT mm.mid,mm.magicid,mm.username,mm.price,mm.num,mm.num*m.weight AS allweight,m.name,m.description FROM jrun_magicmarket AS mm LEFT JOIN jrun_magics AS m ON mm.magicid=m.magicid");
			request.setAttribute("valueObject", resultMapList);
			return mapping.findForward("other_magicmarket");
		}else{
			List<Magicmarket> mmBeanList = new ArrayList<Magicmarket>();
			String deletes[] = request.getParameterValues("delete");
			String mIds[] = request.getParameterValues("mid");
			String prices[] = request.getParameterValues("price");
			String nums[] = request.getParameterValues("num");
			int len = 0;
			if (!FormDataCheck.isZeroOption(mIds)) {
				len = mIds.length;
				for (int i = 0; i < len; i++) {
					try {
						prices[i] = FormDataCheck.getNumberFromForm(prices[i]);
						if (Integer.parseInt(prices[i]) > FinalProperty.PRICE_COLUMN_MAX_VALUE) {
							prices[i] = FinalProperty.PRICE_COLUMN_MAX_VALUE .toString();
						}
					} catch (Exception exception) {
						prices[i] = FinalProperty.PRICE_COLUMN_MAX_VALUE.toString();
					}

					try {
						nums[i] = FormDataCheck.getNumberFromForm(nums[i]);
						if (Short.parseShort(nums[i]) > FinalProperty.COUNT_SELL_MAX_VALUE) {
							nums[i] = FinalProperty.COUNT_SELL_MAX_VALUE.toString();
						}
					} catch (Exception exception) {
						nums[i] = FinalProperty.COUNT_SELL_MAX_VALUE.toString();
					}
				}
			}

			Magicmarket mmBean = null;
			for (int i = 0; i < len; i++) {
				mmBean = new Magicmarket();
				mmBean.setMid(Short.valueOf(mIds[i]));
				mmBean.setPrice(Integer.parseInt(prices[i]));
				mmBean.setNum(Short.valueOf(nums[i]));
				mmBeanList.add(mmBean);
			}

			if (otherSetService.updateMagicMarketInfo(deletes, mmBeanList)) {
				request.setAttribute("successInfo", "道具市场资料更新成功。");
				request.setAttribute("requestPath", "admincp.jsp?action=magicmarket");
				return mapping.findForward("success");
			} else {
				request.setAttribute("errorInfo", "道具市场资料更新失败。");
				return mapping.findForward("error");
			}
		}
	}
	public ActionForward announcements(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String announcesubmit = request.getParameter("announcesubmit");
		String addsubmit = request.getParameter("addsubmit");
		float timeoffset = Float.parseFloat(ForumInit.settings.get("timeoffset"));
		if(announcesubmit == null && addsubmit == null){

			HttpSession session=request.getSession();
			String dateformat=(String)session.getAttribute("dateformat");
			SimpleDateFormat sdf_df=new SimpleDateFormat(dateformat);
			List<Map<String,String>> announcements=dataBaseService.executeQuery("SELECT id,author,subject,type,displayorder,starttime,endtime,message FROM jrun_announcements ORDER BY displayorder, starttime DESC, id DESC");
			if(announcements!=null&&announcements.size()>0){
				for(Map<String,String> announcement:announcements){
					String message=announcement.get("message");
					int starttime=Integer.parseInt(announcement.get("starttime"));
					int endtime=Integer.parseInt(announcement.get("endtime"));
					announcement.put("subject", Common.dhtmlspecialchars(announcement.get("subject")));
					announcement.put("message", Common.dhtmlspecialchars(message.length()>10?message.substring(0,10)+"...":message));
					announcement.put("starttime",Common.gmdate(sdf_df, starttime, timeoffset));
					announcement.put("endtime",endtime>0?Common.gmdate(sdf_df, endtime, timeoffset):"无限制");
				}
			}
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
			List<Map<String,String>> usergroups = dataBaseService.executeQuery("SELECT groupid, grouptitle FROM jrun_usergroups WHERE groupid<4 OR groupid>6");
			request.setAttribute("usergroups", usergroups);
			request.setAttribute("announcements", announcements);
			request.setAttribute("time", Common.gmdate(simpleDateFormat, Common.time(), timeoffset));
			return mapping.findForward("other_announcements");
		}else if(announcesubmit != null){
			int len = 0;
			String deletes[] = request.getParameterValues("delete");
			String aIds[] = request.getParameterValues("annid");
			String newDisplayOrders[] = request.getParameterValues("newdisplayorder");
			if(!FormDataCheck.isZeroOption(aIds)){
				len = aIds.length;
			}
			for(int i=0;i<len;i++){
				newDisplayOrders[i] = FormDataCheck.getNumberFromFormOfDisplayorder(newDisplayOrders[i]);
				try {
					Byte.valueOf(newDisplayOrders[i]);
				} catch (Exception exception) {
					if(newDisplayOrders[i].startsWith("-")){
						newDisplayOrders[i] = FinalProperty.ORDER_COLUMN_MIN_VALUE.toString();
					}else{
						newDisplayOrders[i] = FinalProperty.ORDER_COLUMN_MAX_VALUE.toString();
					}
				}
			}
			otherSetService.updateFormAnn(deletes, aIds,newDisplayOrders);
			String realPath = servlet.getServletContext().getRealPath("/");
			String[] updateKeyArray = {"index","forumdisplay","viewthread"};
			UpdateCache.excude(realPath, updateKeyArray);
			
			request.setAttribute("successInfo", "更新论坛公告信息成功。");
			request.setAttribute("requestPath", "admincp.jsp?action=announcements");
			return mapping.findForward("success");
		}else{
			HttpSession session = request.getSession();
			Announcements annBean = null;
			String subject = request.getParameter("subject");
			String startTime = request.getParameter("starttime");
			String endTime = request.getParameter("endtime");	 
			String type = request.getParameter("type");
			String userGroupIds[] = request.getParameterValues("usergroupid");
			String message = request.getParameter("message");
			if(!FormDataCheck.isValueString(subject)){
				request.setAttribute("errorInfo", "公告标题必须为有效字符串。");
				return mapping.findForward("error");
			}
			if((startTime = validateTime(startTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
				return mapping.findForward("error");
			}
			if(endTime==null || "".equals(endTime)){
				endTime = "0";
			}else if((endTime = validateTime(endTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
				return mapping.findForward("error");
			}
			if(!FormDataCheck.isValueString(message)){
				request.setAttribute("errorInfo", "公告内容不能为空。");
				return mapping.findForward("error");
			}
			int groupIdLen = userGroupIds.length;
			StringBuffer groupIdSb = new StringBuffer();
			for(int i=0;i<groupIdLen;i++){
				if(userGroupIds[i].equals("")){
					groupIdSb.delete(0, groupIdSb.length());
					break;
				}
				if(i==groupIdLen-1)
					groupIdSb.append(userGroupIds[i]);
				else
					groupIdSb.append(userGroupIds[i]+",");
			}
			
			annBean = new Announcements();
			annBean.setSubject(subject);
			try {
				annBean.setStarttime(ForumCommonsUtil.dateStrToDateLong(startTime)-(int)(timeoffset*3600));
				annBean.setEndtime(endTime.equals("0")?0:ForumCommonsUtil.dateStrToDateLong(endTime)-(int)(timeoffset*3600));
			} catch (NumberFormatException e) {
				request.setAttribute("errorInfo", "格式错误的公告开始时间或者结束时间。");
				return mapping.findForward("error");
			} catch (ParseException e) {
				request.setAttribute("errorInfo", "格式错误的公告开始时间或者结束时间。");
				return mapping.findForward("error");
			}
			if(session.getAttribute("members")==null){
				request.setAttribute("errorInfo", "您的操作间隔过长,请重新登陆");
				return mapping.findForward("error");
			}
			annBean.setAuthor(((Members)session.getAttribute("members")).getUsername());
			annBean.setType(Byte.parseByte(type));
			annBean.setGroups(groupIdSb.toString());
			annBean.setMessage(message);
			if(otherSetService.addFormAnn(annBean)){
				String realPath = servlet.getServletContext().getRealPath("/");
				String[] updateKeyArray = {"index","forumdisplay","viewthread"};
				UpdateCache.excude(realPath, updateKeyArray);
				
				request.setAttribute("successInfo", "增加论坛公告成功。");
				request.setAttribute("requestPath", "admincp.jsp?action=announcements");
				return mapping.findForward("success");
			}else{
				request.setAttribute("errorInfo", "增加论坛公告失败。");
				return mapping.findForward("error");
			}
		}
	}
	public ActionForward annedit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		String editsubmit = request.getParameter("editsubmit");
		float timeoffset = Float.parseFloat(ForumInit.settings.get("timeoffset"));
		if(editsubmit == null){
			List<Map<String,String>> announcements = dataBaseService.executeQuery("SELECT a.id,a.subject,a.type,a.starttime,a.endtime,a.message,a.groups FROM jrun_announcements AS a WHERE id="+request.getParameter("annid"));
			if(announcements!=null&&announcements.size()>0){
				Map<String,String> announcement = announcements.get(0);
				SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
				int endtime = Integer.parseInt(announcement.get("endtime"));
				announcement.put("subject", Common.dhtmlspecialchars(announcement.get("subject")));
				announcement.put("message", Common.dhtmlspecialchars(announcement.get("message")));
				announcement.put("starttime", Common.gmdate(simpleDateFormat, Integer.parseInt(announcement.get("starttime")), timeoffset));
				announcement.put("endtime", endtime>0?Common.gmdate(simpleDateFormat, endtime, timeoffset):"");
				
				String groups = announcement.get("groups");
				if(groups!=null&&!groups.equals("")){
					String[] groupids = groups.split(",");
					Map<String,String> groupSelect = new HashMap<String, String>();
					for(String groupid : groupids){
						groupSelect.put(groupid, "selected");
					}
					request.setAttribute("groupSelect", groupSelect);
				}
				
				List<Map<String,String>> usergroups = dataBaseService.executeQuery("SELECT groupid, grouptitle FROM jrun_usergroups WHERE groupid<4 OR groupid>6");
				request.setAttribute("usergroups", usergroups);
				request.setAttribute("announcement", announcement);
				return mapping.findForward("other_annedit");
			}else{
				request.setAttribute("errorInfo", "该公告可能已经被删除,请返回公告主页刷新后在试。");
				return mapping.findForward("error");
			}
		}else{
			Short annId = Short.valueOf(request.getParameter("annid"));
			String newSubject = request.getParameter("newsubject");
			String newStartTime = request.getParameter("newstarttime");
			String newEndTime = request.getParameter("newendtime");
			Byte newType = Byte.valueOf(request.getParameter("newtype"));
			String userGroupIds[] = request.getParameterValues("usergroupid");
			String newMessage = request.getParameter("newmessage");
			if(!FormDataCheck.isValueString(newSubject)){
				request.setAttribute("errorInfo", "论坛公告标题必须为有效字符串。");
				return mapping.findForward("error");
			}
			if((newStartTime= validateTime(newStartTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
				return mapping.findForward("error");
			}
			SimpleDateFormat dateFormat = new SimpleDateFormat(FinalProperty.DATA_FORMAT);
			String nowTime = dateFormat.format(new Date());
			if(newEndTime==null || "".equals(newEndTime)){
				newEndTime = "0";
			}else if((newEndTime= validateTime(newEndTime, FinalProperty.TIME_OF_Announcement_MAX, nowTime, request))==null){
				return mapping.findForward("error");
			}
			
			if(!FormDataCheck.isValueString(newMessage)){
				request.setAttribute("errorInfo", "公告内容不能为空。");
				return mapping.findForward("error");
			}
			int groupIdLen = userGroupIds.length;
			StringBuffer groupIdSb = new StringBuffer();
			for(int i=0;i<groupIdLen;i++){
				if("".equals(userGroupIds[i])){
					groupIdSb.delete(0, groupIdSb.length());
					break;
				}
				if(i==groupIdLen-1)
					groupIdSb.append(userGroupIds[i]);
				else
					groupIdSb.append(userGroupIds[i]+",");
			}
			
			Announcements ann = otherSetService.queryAnnById(annId);
			ann.setSubject(newSubject);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -