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

📄 extendsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
				ranks.put(8, 1001);
				ranks.put(9, 2001);
				ranks.put(10, 5001);
				ranks.put(11, 10001);
				ranks.put(12, 20001);
				ranks.put(13, 50001);
				ranks.put(14, 100001);
				ranks.put(15, 200001);
			}
			request.setAttribute("ranks",ranks);
			request.setAttribute("maxcreditspermonth",maxcreditspermonth);
			return mapping.findForward("toec_credit");
		}else{
			Map<String,Object> ec_credits=new HashMap<String,Object>();
			ec_credits.put("maxcreditspermonth", Common.toDigit(request.getParameter("maxcreditspermonth")));
			String[] ranks=request.getParameterValues("rank");
			Map<Object,Object> rank=new TreeMap<Object,Object>();
			if(ranks!=null) {
				int size=ranks.length;
				for (int i = 1; i <= size; i++) {
					int mincredits=Common.toDigit(ranks[i-1]);
					if(i==1&&mincredits <= 0){
						request.setAttribute("errorInfo", "信用度必须大于 0 才能进行评级!请返回修改。");
						return mapping.findForward("error");
					}else if(i>1&&mincredits<=((Integer)rank.get(i-1))){
						request.setAttribute("errorInfo", "信用等级 "+i+" 的信用度必须大于上一等级的信用度!请返回修改。");
						return mapping.findForward("error");
					}
					rank.put(i, mincredits);
				}
			} else {
				rank.put(1, 4);
				rank.put(2, 11);
				rank.put(3, 41);
				rank.put(4, 91);
				rank.put(5, 151);
				rank.put(6, 251);
				rank.put(7, 501);
				rank.put(8, 1001);
				rank.put(9, 2001);
				rank.put(10, 5001);
				rank.put(11, 10001);
				rank.put(12, 20001);
				rank.put(13, 50001);
				rank.put(14, 100001);
				rank.put(15, 200001);
			}
			ec_credits.put("rank", rank);
			Map<String,String> settings=new HashMap<String,String>();
			this.putValue("ec_credit", dataParse.combinationChar(ec_credits), oldSettings, settings);
			this.updateSettings(settings,oldSettings);
			request.setAttribute("resultInfo", "财付通功能成功设定。");
			return mapping.findForward("result");
		}
	}
	@SuppressWarnings("unchecked")
	public ActionForward orders(ActionMapping mapping,
			ActionForm actionForm, HttpServletRequest request,
			HttpServletResponse response){
		Map<String,String> oldSettings=ForumInit.settings;
		int creditstrans=Integer.valueOf(oldSettings.get("creditstrans"));
		int ec_ratio=Integer.valueOf(oldSettings.get("ec_ratio"));
		if(creditstrans==0||ec_ratio==0){
			request.setAttribute("resultInfo", "您没有启用交易积分或支付宝积分充值功能,无法对订单进行管理。");
			return mapping.findForward("result");
		}
		String ordersubmit=request.getParameter("ordersubmit");
		if(ordersubmit!=null){
			String[] validate=request.getParameterValues("validate");
			if(validate!=null) {
				HttpSession session = request.getSession();
				int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
				int timestamp = (Integer)(request.getAttribute("timestamp"));
				SimpleDateFormat dateFormat = new SimpleDateFormat((String)session.getAttribute("dateformat")+" "+(String)session.getAttribute("timeformat"));
				String confirmdate=Common.gmdate(dateFormat, timestamp+timeoffset);
				List<Map<String,String>> orders=dataBaseService.executeQuery("SELECT o.*, m.username FROM jrun_orders o LEFT JOIN jrun_members m USING (uid) WHERE orderid IN ('"+Common.implodeids(validate).replaceAll(",", "','")+"') AND status='1'");
				if(orders!=null&&orders.size()>0){
					StringBuffer orderids=new StringBuffer();
					String boardurl=(String)session.getAttribute("boardurl");
					String jsprun_user=(String)session.getAttribute("jsprun_userss");
					Map<String,Map> extcredits = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(oldSettings.get("extcredits"), true);
					Map creditstran=extcredits.get(creditstrans);
					String creditsformula=oldSettings.get("creditsformula");
					for (Map<String, String> order : orders) {
						dataBaseService.runQuery("UPDATE jrun_members SET extcredits"+creditstrans+"=extcredits"+creditstrans+"+"+order.get("amount")+",credits="+creditsformula+" WHERE uid='"+order.get("uid")+"'", true);
						dataBaseService.runQuery("INSERT INTO jrun_creditslog (uid, fromto, sendcredits, receivecredits, send, receive, dateline, operation) VALUES ('"+order.get("uid")+"', '"+order.get("username")+"', '"+creditstrans+"', '"+creditstrans+"', '0', '"+order.get("amount")+"', '"+timestamp+"', 'AFD')", true);
						orderids.append(",'"+order.get("orderid")+"'");
						String submitdate=Common.gmdate(dateFormat, Integer.valueOf(order.get("submitdate"))+timeoffset);
						String message="这是由论坛系统自动发送的通知短消息。\n\n[b]您提交的积分充值请求已成功完成,相应数额的积分已经存入您的积分账户。[/b]\n\n[b]订单号:[/b] "+order.get("orderid")+"\n[b]提交时间:[/b] "+submitdate+"\n[b]确认时间:[/b] "+confirmdate+"\n\n[b]支出:[/b] 人民币 "+order.get("price")+" 元\n[b]收入:[/b] "+creditstran.get("title")+" "+order.get("amount")+" "+creditstran.get("unit")+"\n\n详情请[url="+boardurl+"memcp.jsp?action=creditslog&operation=creditslog]点击这里[/url]访问您的积分转账与兑换记录。";
						Common.sendpm(order.get("uid"), "[系统消息] 积分充值成功完成", message, "0", "System Message", timestamp);
					}
					dataBaseService.runQuery("UPDATE jrun_orders SET status='3', admin='"+jsprun_user+"', confirmdate='"+timestamp+"' WHERE orderid IN ("+orderids.substring(1)+")", true);
				}
			}
			request.setAttribute("successInfo","订单处理成功。");
			request.setAttribute("requestPath", "admincp.jsp?action=orders&searchsubmit=yes&orderstatus=&orderid=&users=&buyer=&admin=&sstarttime=&sendtime=&cstarttime=&cendtime=");
			return mapping.findForward("success");
		}else{
			String searchsubmit=request.getParameter("searchsubmit");
			if(searchsubmit!=null){
				HttpSession session = request.getSession();
				int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
				String orderstatus=request.getParameter("orderstatus");
				String orderid=request.getParameter("orderid");
				String users=request.getParameter("users").trim();
				String buyer=request.getParameter("buyer");
				String admin=request.getParameter("admin");
				String sstarttime=request.getParameter("sstarttime");
				String sendtime=request.getParameter("sendtime");
				String cstarttime=request.getParameter("cstarttime");
				String cendtime=request.getParameter("cendtime");
				StringBuffer sql=new StringBuffer();
				if(orderstatus.length()>0){
					sql.append(" AND o.status='"+orderstatus+"'");
				}
				if(orderid.length()>0){
					sql.append(" AND o.orderid='"+orderid+"'");
				}
				if(users.length()>0){
					sql.append("AND m.username IN ('"+users.replaceAll(" ", "").replaceAll(",", "','")+"')");
				}
				if(buyer.length()>0){
					sql.append(" AND o.buyer='"+buyer+"'");
				}
				if(admin.length()>0){
					sql.append(" AND o.admin='"+admin+"'");
				}
				String pattern="yyyy-MM-dd";
				if(sstarttime.length()>0){
					sql.append(" AND o.submitdate>='"+(Common.dataToInteger(sstarttime,pattern)-timeoffset)+"'");
				}
				if(sendtime.length()>0){
					sql.append(" AND o.submitdate<'"+(Common.dataToInteger(sendtime,pattern)-timeoffset)+"'");
				}
				if(cstarttime.length()>0){
					sql.append(" AND o.confirmdate>='"+(Common.dataToInteger(cstarttime,pattern)-timeoffset)+"'");
				}
				if(cendtime.length()>0){
					sql.append(" AND o.confirmdate<'"+(Common.dataToInteger(cendtime,pattern)-timeoffset)+"'");
				}
				Members member = (Members) session.getAttribute("user");
				int tpp = member != null && member.getTpp() > 0 ? member.getTpp(): Integer.valueOf(oldSettings.get("topicperpage"));
				int page =Common.toDigit(request.getParameter("page"),2147483647l,1l).intValue();
				int ordercount=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_orders o,jrun_members m WHERE m.uid=o.uid "+sql).get(0).get("count"));
				Map<String,Integer> multiInfo=Common.getMultiInfo(ordercount, tpp, page);
				page=multiInfo.get("curpage");
				int start_limit=multiInfo.get("start_limit");
				Map<String,Object> multi=Common.multi(ordercount, tpp, page, "admincp.jsp?action=orders&searchsubmit=yes&orderstatus="+orderstatus+"&orderid="+orderid+"&users="+users+"&buyer="+buyer+"&admin="+admin+"&sstarttime="+sstarttime+"&sendtime="+sendtime+"&cstarttime="+cstarttime+"&cendtime="+cendtime, 0, 10, true, false, null, false);
				request.setAttribute("multi", multi);
				List<Map<String,String>> orders = dataBaseService.executeQuery("SELECT o.*, m.username FROM jrun_orders o, jrun_members m WHERE m.uid=o.uid "+sql+" ORDER BY o.submitdate DESC LIMIT "+start_limit+","+tpp);
				if (orders != null && orders.size() > 0) {
					Map<Integer,Map> extcredits = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(oldSettings.get("extcredits"), true);
					Map creditstran=extcredits.get(creditstrans);
					request.setAttribute("title", creditstran.get("title"));
					String unit=" "+creditstran.get("unit");
					SimpleDateFormat dateFormat = new SimpleDateFormat((String)session.getAttribute("dateformat")+" "+(String)session.getAttribute("timeformat"));
					for (Map<String,String> order : orders) {
						int status=Integer.valueOf(order.get("status"));
						switch (status) {
							case 1:
								order.put("status", "等待付款");
								break;
							case 2:
								order.put("status", "<b>成功在线支付</b>");
								break;
							case 3:
								order.put("status", "<b>成功人工补单</b><br />(<a href=\"space.jsp?action=viewpro&username="+Common.encode(order.get("admin"))+"\" target=\"_blank\">"+order.get("admin")+"</a>)");
								break;
						}
						order.put("amount",order.get("amount")+unit);
						order.put("submitdate", Common.gmdate(dateFormat, Integer.valueOf(order.get("submitdate"))+timeoffset));
						int confirmdate=Integer.valueOf(order.get("confirmdate"));
						order.put("confirmdate", confirmdate>0?Common.gmdate(dateFormat, confirmdate+timeoffset):"N/A");
					}
					request.setAttribute("orders", orders);
				}
				Map<String,String> statusselect=new HashMap<String,String>();
				statusselect.put(orderstatus, "selected");
				request.setAttribute("statusselect", statusselect);
				request.setAttribute("orderid", orderid);
				request.setAttribute("users", users);
				request.setAttribute("buyer", buyer);
				request.setAttribute("admin", admin);
				request.setAttribute("sstarttime", sstarttime);
				request.setAttribute("sendtime", sendtime);
				request.setAttribute("cstarttime", cstarttime);
				request.setAttribute("cendtime", cendtime);
				request.setAttribute("searchsubmit", searchsubmit);
			}
		}
		return mapping.findForward("toorders");
	}
	@SuppressWarnings("unchecked")
	public ActionForward tradelog(ActionMapping mapping,
			ActionForm actionForm, HttpServletRequest request,
			HttpServletResponse response){
		HttpSession session = request.getSession();
		Members member = (Members) session.getAttribute("user");
		Map<String,String> settings=ForumInit.settings;
		int filter=Common.toDigit(request.getParameter("filter"),2147483647l,-1l).intValue();
		String sqlfilter=filter>=0?"WHERE status='"+filter+"'":"";
		Map<Integer,String> statuss = (Map<Integer,String>)Tenpayapi.trade_getstatus(0, -1);
		request.setAttribute("statuss", statuss);
		List<Map<String,String>> tradelog=dataBaseService.executeQuery("SELECT sum(price) as pricesum, sum(tax) as taxsum FROM jrun_tradelog status "+sqlfilter);
		request.setAttribute("tradelog", tradelog.get(0));
		List<Map<String,String>> count=dataBaseService.executeQuery("SELECT COUNT(*) as count FROM jrun_tradelog "+sqlfilter);
		int num = Integer.valueOf(count.get(0).get("count"));
		int page=Common.toDigit(request.getParameter("page"),2147483647l,1l).intValue();
		int tpp = member != null && member.getTpp() > 0 ? member.getTpp(): Integer.valueOf(settings.get("topicperpage"));
		Map<String,Integer> multiInfo=Common.getMultiInfo(num, tpp, page);
		page=multiInfo.get("curpage");
		int start_limit=multiInfo.get("start_limit");
		Map<String,Object> multi=Common.multi(num, tpp, page, "admincp.jsp?action=tradelog&filter="+filter, 0, 10, true, false, null, false);
		request.setAttribute("multi", multi);
		List<Map<String,String>> tradelogs=dataBaseService.executeQuery("SELECT * FROM jrun_tradelog "+sqlfilter+" ORDER BY lastupdate DESC LIMIT "+start_limit+", "+tpp);
		for (Map<String, String> log : tradelogs) {
			log.put("status", (String)Tenpayapi.trade_getstatus(Integer.valueOf(log.get("status"))));
		}
		request.setAttribute("tradelogs", tradelogs);
		request.setAttribute("filter", filter);
		request.setAttribute("num", num);
		return mapping.findForward("totradelog");
	}
	private void putValue(String variable,String value,Map<String,String> oldSettings,Map<String,String> settings){
		if(value!=null&&!value.equals(oldSettings.get(variable))){
			settings.put(variable,value);
		}
	}
	private void updateSettings(Map<String,String> settings,Map<String,String> oldSettings){
		if(settings!=null&&settings.size()>0){
			Set<String> variables=settings.keySet();
			StringBuffer sql=new StringBuffer();
			sql.append("REPLACE INTO jrun_settings (variable, value) VALUES ");
			for(String variable:variables){
				sql.append("('"+variable+"', '"+settings.get(variable).replace("'", "''")+"'),");
			}
			sql.deleteCharAt(sql.length()-1);
			dataBaseService.runQuery(sql.toString(),true);
			oldSettings.putAll(settings);
			ForumInit.setSettings(this.getServlet().getServletContext(), oldSettings);
		}
	}
	private boolean isplugindir(String dir){
		return dir==null||dir.length()==0||(!Common.matches(dir, "\\.\\.|[\\\\]+$")&&dir.endsWith("/"));
	}
	private boolean ispluginkey(String key) {
		return key!=null&&key.length()>0&&Common.matches(key, "^[a-zA-Z]+[a-zA-Z0-9_]*$");
	}
	@SuppressWarnings("unchecked")
	private Map<Integer,Map> sort(Map<Integer,Map> modules,Map modulenew){
		int displayordernew=(Integer)modulenew.get("displayorder");
		Map<Integer,Map> modulesnew=new HashMap<Integer,Map>();
		boolean caninsert=true;
		Set<Integer> keys=modules.keySet();
		for (Integer key : keys) {
			Map module=modules.get(key);
			int ordertemp=(Integer)module.get("displayorder");
			if(displayordernew<=ordertemp&&caninsert){
				caninsert=false;
				modulesnew.put(modulesnew.size(), modulenew);
			}
			modulesnew.put(modulesnew.size(), module);
		}
		if(caninsert){
			modulesnew.put(modulesnew.size(), modulenew);
		}
		return modulesnew;
	}
}

⌨️ 快捷键说明

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