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

📄 controlaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
					return mapping.findForward("showMessage");
				}
				int count =Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_orders WHERE uid="+jsprun_uid+" AND submitdate>="+timestamp+"-180 LIMIT 1").get(0).get("count"));
				if(count>0){
					request.setAttribute("resultInfo", "您两次提交订单间隔小于 180 秒,请稍后再试。");
					return mapping.findForward("showMessage");
				}
				int ec_maxcreditspermonth=Integer.valueOf(settings.get("ec_maxcreditspermonth"));
				if(ec_maxcreditspermonth>0){
					int sum=Common.toDigit(dataBaseService.executeQuery("SELECT SUM(amount) amount FROM jrun_orders WHERE uid="+jsprun_uid+" AND submitdate>="+timestamp+"-2592000 AND status IN (2, 3)").get(0).get("amount"));
					if((sum+amount)>ec_maxcreditspermonth){
						request.setAttribute("resultInfo", "您超出本月允许购买 "+ec_maxcreditspermonth+" 的限额。");
						return mapping.findForward("showMessage");
					}
				}
				float price=(float)Math.ceil((float)amount/(float)ec_ratio*100)/100;
				String orderid=Common.gmdate("yyyyMMddHHmmss", timestamp+timeoffset)+Common.getRandStr(18, false);
				List<Map<String,String>> orders=dataBaseService.executeQuery("SELECT orderid FROM jrun_orders WHERE orderid='"+orderid+"'");
				if(orders!=null&&orders.size()>0){
					request.setAttribute("resultInfo", "当前订单号无效,请在上一页重新提交,给您带来不便敬请谅解。");
					return mapping.findForward("showMessage");
				}
				dataBaseService.runQuery("INSERT INTO jrun_orders (orderid, status, uid, amount, price, submitdate) VALUES ('"+orderid+"', '1', '"+jsprun_uid+"', '"+amount+"', '"+price+"', '"+timestamp+"')", true);
				Map creditstrans=extcredits.get(Integer.valueOf(settings.get("creditstrans")));
				String boardurl=(String)session.getAttribute("boardurl");
				String jsprun_userss=(String)session.getAttribute("jsprun_userss");
				String chnid=settings.get("ec_account");
				String key=settings.get("ec_key");
				String bbname=settings.get("bbname");
				String onlineip = request.getRemoteAddr();
				String payurl=Tenpayapi.credit_payurl(boardurl, chnid, key, bbname, jsprun_userss, creditstrans, onlineip, ec_ratio,timestamp, price, orderid);
				request.setAttribute("successInfo", "正在提交编号为 "+orderid+" 的订单。");
				request.setAttribute("requestPath", payurl);
				return mapping.findForward("showMessage");
			}
		}else if("transfer".equals(operation)&&transferstatus||"exchange".equals(operation)&&exchangestatus>0||"addfunds".equals(operation)&&ec_ratio>0){
			request.setAttribute("creditstrans",  Integer.valueOf(settings.get("creditstrans")));
			Common.setExtcredits(request);
			request.setAttribute("operation", operation);
			return mapping.findForward("tocredits");
		}
		request.setAttribute("errorInfo", "未定义操作,请返回。");
		return mapping.findForward("showMessage");
	}
	@SuppressWarnings("unchecked")
	public ActionForward creditslog(ActionMapping mapping, ActionForm form,	HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		Map<String, String> settings = (Map<String, String>) request.getAttribute("settings");
		int jsprun_uid = (Integer) session.getAttribute("jsprun_uid");
		Members member = (Members) session.getAttribute("user");
		int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
		SimpleDateFormat dateFormat = new SimpleDateFormat((String)session.getAttribute("dateformat")+" "+(String)session.getAttribute("timeformat"));
		int tpp = member != null && member.getTpp() > 0 ? member.getTpp(): Integer.valueOf(settings.get("topicperpage"));
		int page =Common.toDigit(request.getParameter("page"),2147483647l,1l).intValue();
		String operation = request.getParameter("operation");
		Map<Integer,Map> extcredits = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(settings.get("extcredits"), true);
		if("paymentlog".equals(operation)){
			int num=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_paymentlog WHERE uid='"+jsprun_uid+"'").get(0).get("count"));
			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, "memcp.jsp?action=creditslog&operation=" + operation, 0, 10, true, false, null, false);
			request.setAttribute("multi", multi);
			List<Map<String,String>> loglist = dataBaseService.executeQuery("SELECT p.*, f.fid, f.name, t.subject, t.author, t.dateline AS tdateline FROM jrun_paymentlog p LEFT JOIN jrun_threads t ON t.tid=p.tid LEFT JOIN jrun_forums f ON f.fid=t.fid WHERE p.uid="+jsprun_uid+" ORDER BY p.dateline DESC LIMIT "+start_limit+","+tpp);
			if (loglist != null && loglist.size() > 0) {
				Map creditstrans=extcredits.get(Integer.valueOf(settings.get("creditstrans")));
				String title=creditstrans.get("title")+" ";
				String unit=" "+creditstrans.get("unit");
				for (Map<String,String> log : loglist) {
					int amount=Integer.valueOf(log.get("amount"));
					int netamount=Integer.valueOf(log.get("netamount"));
					if(amount>0||netamount>0){
						log.put("amount",title+amount+unit);
						log.put("netamount", title+netamount+unit);
					}else{
						log.remove("amount");
						log.remove("netamount");
					}
					log.put("dateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("dateline"))+timeoffset));
					log.put("tdateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("tdateline"))+timeoffset));
				}
				request.setAttribute("loglist", loglist);
			}
		}
		else if("incomelog".equals(operation)){
			int num=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_paymentlog WHERE authorid='"+jsprun_uid+"'").get(0).get("count"));
			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, "memcp.jsp?action=creditslog&operation=" + operation, 0, 10, true, false, null, false);
			request.setAttribute("multi", multi);
			List<Map<String,String>> loglist = dataBaseService.executeQuery("SELECT p.*, m.username, f.fid, f.name, t.subject, t.dateline AS tdateline FROM jrun_paymentlog p LEFT JOIN jrun_threads t ON t.tid=p.tid LEFT JOIN jrun_forums f ON f.fid=t.fid LEFT JOIN jrun_members m ON m.uid=p.uid WHERE p.authorid='"+jsprun_uid+"' ORDER BY p.dateline DESC LIMIT "+start_limit+","+tpp);
			if (loglist != null && loglist.size() > 0) {
				Map creditstrans=extcredits.get(Integer.valueOf(settings.get("creditstrans")));
				String title=creditstrans.get("title")+" ";
				String unit=" "+creditstrans.get("unit");
				for (Map<String,String> log : loglist) {
					int amount=Integer.valueOf(log.get("amount"));
					int netamount=Integer.valueOf(log.get("netamount"));
					if(amount>0||netamount>0){
						log.put("amount",title+amount+unit);
						log.put("netamount", title+netamount+unit);
					}else{
						log.remove("amount");
						log.remove("netamount");
					}
					log.put("dateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("dateline"))+timeoffset));
					log.put("tdateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("tdateline"))+timeoffset));
				}
				request.setAttribute("loglist", loglist);
			}
		}
		else if("rewardpaylog".equals(operation)){
			int num=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_rewardlog WHERE authorid='"+jsprun_uid+"'").get(0).get("count"));
			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, "memcp.jsp?action=creditslog&operation=" + operation, 0, 10, true, false, null, false);
			request.setAttribute("multi", multi);
			List<Map<String,String>> loglist = dataBaseService.executeQuery("SELECT r.*, m.uid, m.username , f.fid, f.name, t.subject, t.price FROM jrun_rewardlog r LEFT JOIN jrun_threads t ON t.tid=r.tid LEFT JOIN jrun_forums f ON f.fid=t.fid LEFT JOIN jrun_members m ON m.uid=r.answererid WHERE r.authorid='"+jsprun_uid+"' ORDER BY r.dateline DESC LIMIT "+start_limit+","+tpp);
			if (loglist != null && loglist.size() > 0) {
				Map creditstrans=extcredits.get(Integer.valueOf(settings.get("creditstrans")));
				String title=creditstrans.get("title")+" ";
				String unit=" "+creditstrans.get("unit");
				for (Map<String,String> log : loglist) {
					log.put("dateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("dateline"))+timeoffset));
					log.put("price",title+Math.abs(Integer.valueOf(log.get("price")))+unit);
					log.put("netamount",title+log.get("netamount")+unit);
				}
				request.setAttribute("loglist", loglist);
			}
		}
		else if("rewardincomelog".equals(operation)){
			int num=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_rewardlog WHERE answererid='"+jsprun_uid+"'").get(0).get("count"));
			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, "memcp.jsp?action=creditslog&operation=" + operation, 0, 10, true, false, null, false);
			request.setAttribute("multi", multi);
			List<Map<String,String>> loglist = dataBaseService.executeQuery("SELECT r.*, m.uid, m.username, f.fid, f.name, t.subject, t.price FROM jrun_rewardlog r LEFT JOIN jrun_threads t ON t.tid=r.tid LEFT JOIN jrun_forums f ON f.fid=t.fid LEFT JOIN jrun_members m ON m.uid=r.authorid WHERE r.answererid='"+jsprun_uid+"' and r.authorid>0 ORDER BY r.dateline DESC LIMIT "+start_limit+","+tpp);
			if (loglist != null && loglist.size() > 0) {
				Map creditstrans=extcredits.get(Integer.valueOf(settings.get("creditstrans")));
				String title=creditstrans.get("title")+" ";
				String unit=" "+creditstrans.get("unit");
				for (Map<String,String> log : loglist) {
					log.put("dateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("dateline"))+timeoffset));
					log.put("price",title+Math.abs(Integer.valueOf(log.get("price")))+unit);
				}
				request.setAttribute("loglist", loglist);
			}
		}
		else{
			operation = "creditslog";
			int num=Integer.valueOf(dataBaseService.executeQuery("SELECT COUNT(*) count FROM jrun_creditslog WHERE uid='"+jsprun_uid+"'").get(0).get("count"));
			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, "memcp.jsp?action=creditslog&operation=" + operation, 0, 10, true, false, null, false);
			request.setAttribute("multi", multi);
			List<Map<String,String>> loglist = dataBaseService.executeQuery("SELECT * FROM jrun_creditslog WHERE uid="+jsprun_uid+" ORDER BY dateline DESC LIMIT "+start_limit+","+tpp);
			if (loglist != null && loglist.size() > 0) {
				for (Map<String, String> log : loglist) {
					int sendcredits=Integer.valueOf(log.get("sendcredits"));
					int receivecredits=Integer.valueOf(log.get("receivecredits"));
					int send=Integer.valueOf(log.get("send"));
					int receive=Integer.valueOf(log.get("receive"));
					if(send>0){
						Map sendcredit=extcredits.get(sendcredits);
						log.put("send", sendcredit.get("title")+" "+send+" "+sendcredit.get("unit"));
					}else{
						log.remove("send");
					}
					if(receive>0){
						Map receivecredit=extcredits.get(receivecredits);
						log.put("receive", receivecredit.get("title")+" "+receive+" "+receivecredit.get("unit"));
					}else{
						log.remove("receive");
					}
					log.remove("sendcredits");
					log.remove("receivecredits");
					log.put("fromtoenc", Common.encode(log.get("fromto")));
					log.put("dateline", Common.gmdate(dateFormat, Integer.valueOf(log.get("dateline"))+timeoffset));
					log.put("operation", operations.get(log.get("operation")));
				}
				request.setAttribute("loglist", loglist);
			}
		}
		request.setAttribute("operation", operation);
		Common.setExtcredits(request);
		return mapping.findForward("tologs");
	}
	@SuppressWarnings("unchecked")
	public ActionForward tousergroup(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		int uid = (Integer) session.getAttribute("jsprun_uid");
		Memberfields memberfield = memberService.findMemberfieldsById(uid);
		Members member = (Members)session.getAttribute("user");
		Map<String, String> settings = (Map<String, String>) request.getAttribute("settings");
		Map<String, String> usergroups = (Map<String, String>) request.getAttribute("usergroups");
		if (usergroups==null || usergroups.get("allowmultigroups").equals("0")) {
			String grouptitle = usergroups==null?"游客":usergroups.get("grouptitle");
			request.setAttribute("resultInfo","您无权进行当前操作,这可能因以下原因之一造成<br/><br/><b>您所在的用户组("+grouptitle+")无法进行此操作。</b><br><br/>您已经登录,但您的帐号或其所在的用户组无权访问当前页面。");
			return mapping.findForward("showMessage");
		}
		String extgroup = member.getExtgroupids();
		String[] extgroupids = null;
		if (!extgroup.equals("")) {
			extgroupids = extgroup.split("\\s+");
		}
		String extids = "0,";
		if (extgroupids != null) {
			for (int i = 0; i < extgroupids.length; i++) {
				extids += extgroupids[i]+",";
			}
		}
		extids = extids.substring(0,extids.length()-1);
		String extcreitds = settings.get("extcredits");
		DataParse dataParse = (DataParse) BeanFactory.getBean("dataParse");
		Map extcreditsMap = dataParse.characterParse(extcreitds,true);
		int creditstrans = Integer.valueOf(settings.get("creditstrans"));
		String creditname = ""; 
		String creditunit ="";
		if(creditstrans>0)
		{
			Map extcreMap = (Map) extcreditsMap.get(creditstrans);
			creditname = extcreMap.get("title")==null?"":extcreMap.get("title").toString();
			creditunit = extcreMap.get("unit")==null?"":extcreMap.get("unit").toString();
		}
		String groupterms = memberfield.getGroupterms();
		Map groupterMap = dataParse.characterParse(groupterms, false);
		dataParse=null;
		Map mainMap = null;
		Map extMap = null;
		if (groupterMap != null) {
			mainMap = (Map) groupterMap.get("main");
			extMap = (Map) groupterMap.get("ext");
		}
		String hql = "FROM Usergroups as u WHERE (u.type='special' AND u.system<>'private' AND u.radminid='0') OR (u.type='member' AND "
				+ member.getCredits() + ">=u.creditshigher AND " + member.getCredits()
				+ "<u.creditslower) OR u.groupid IN ( " + extids + " ) or u.groupid=" + member.getGroupid() + " ORDER BY u.type, u.system";

⌨️ 快捷键说明

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