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

📄 controlaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
							request.setAttribute("errorInfo", "对不起,您填写的内容包含不良内容而无法提交,请返回修改。");
							return mapping.findForward("showMessage");
						}else if(word.get("replacement").equals("{MOD}")){
							
						}else{
							signaturenew = signaturenew.replaceAll(word.get("find"),word.get("replacement"));
						}
					}
				}
			}
			wordlist=null;
			memberfields.setSightml(signaturenew);
			if (errormessage.equals("")) {
				memberService.modifyMemberfields(memberfields);
				if(isfastsuccess){
					Common.requestforward(response, "memcp.jsp?action=profile&typeid=4");
					return null;
				}else{
					request.setAttribute("successInfo", "个人资料已成功保存。");
					request.setAttribute("requestPath","memcp.jsp?action=profile&typeid=4");
					return mapping.findForward("showMessage");
				}
			} else {
				request.setAttribute("errorInfo", errormessage);
				return mapping.findForward("showMessage");
			}
		} else if(typeid.equals("5")){
			String styleidnew = request.getParameter("styleidnew"); 
			String tppnew = request.getParameter("tppnew"); 
			String pppnew = request.getParameter("pppnew"); 
			String ssnew = request.getParameter("ssnew"); 
			String sanew = request.getParameter("sanew"); 
			String sinew = request.getParameter("sinew");
			String editormodenew = request.getParameter("editormodenew");
			String timeoffsetnew = request.getParameter("timeoffsetnew");
			String timeformatnew = request.getParameter("timeformatnew");
			String dateformatnew = request.getParameter("dateformatnew"); 
			String pmsoundnew = request.getParameter("pmsoundnew");
			String invisiblenew = request.getParameter("invisiblenew");
			String showemailnew = request.getParameter("showemailnew");
			String newsletternew = request.getParameter("newsletternew");
			invisiblenew = invisiblenew == null ? "0" : invisiblenew;
			showemailnew = showemailnew == null ? "0" : showemailnew;
			newsletternew = newsletternew == null ? "0" : newsletternew;
			styleidnew = styleidnew==null?"0":styleidnew;
			member.setStyleid(Short.valueOf(styleidnew));
			member.setTpp(Short.valueOf(tppnew));
			member.setPpp(Short.valueOf(pppnew));
			String custom[] = { ssnew, sanew, sinew };
			int customs = countCustomreverse(custom);
			member.setCustomshow(Byte.valueOf(customs + ""));
			member.setEditormode(Byte.valueOf(editormodenew));
			member.setTimeoffset(timeoffsetnew);
			member.setDateformat(Byte.valueOf(dateformatnew));
			member.setTimeformat(Byte.valueOf(timeformatnew));
			member.setPmsound(Byte.valueOf(pmsoundnew));
			member.setInvisible(Byte.valueOf(invisiblenew));
			member.setShowemail(Byte.valueOf(showemailnew));
			member.setNewsletter(Byte.valueOf(newsletternew));
			memberService.modifyMember(member);
			session.setAttribute("styleid", styleidnew);
			session.setAttribute("user", member);
			Common.setDateformat(session, settings);
			if(isfastsuccess){
				Common.requestforward(response, "memcp.jsp?action=profile&typeid=5");
				return null;
			}else{
				request.setAttribute("successInfo", "个人资料已成功保存。");
				request.setAttribute("requestPath","memcp.jsp?action=profile&typeid=5");
				return mapping.findForward("showMessage");
			}
		}else{
			List<Map<String,String>> profilelist = dataBaseService.executeQuery("select size,fieldid,required,unchangeable from jrun_profilefields where available=1");
			for(Map<String,String> profile:profilelist){
				String pro = request.getParameter("profile"+profile.get("fieldid"));
				if(pro==null&&profile.get("unchangeable").equals("1")){
					continue;
				}else{
					pro= pro== null?"":pro;
					if(pro.length()>50){
						pro = pro.substring(0,50);
					}
					if(profile.get("required").equals("1") && pro.trim().equals("")){
						request.setAttribute("errorInfo", "您没有填写必填项目,请返回修改。");
						return mapping.findForward("showMessage");
					}
					dataBaseService.runQuery("update jrun_memberfields set field_"+profile.get("fieldid")+"='"+pro+"' where uid="+uid);
				}
			}
			request.setAttribute("successInfo", "个人资料已成功保存。");
			request.setAttribute("requestPath","memcp.jsp?action=profile&typeid=4");
			return mapping.findForward("showMessage");
		}
	}
	private String[] countCustom(byte custom) {
		String customs = custom % 3 + ",";
		int aa = custom / 3;
		customs += aa % 3 + ",";
		aa = aa / 3;
		customs += aa % 3;
		String cus[] = customs.split(",");
		return cus;
	}

	private int countCustomreverse(String[] cust) {
		int result = 0;
		result += convertInt(cust[0])*3*3;
		result += convertInt(cust[1]) * 3;
		result += convertInt(cust[2]);
		return result;
	}

	@SuppressWarnings("unchecked")
	public ActionForward credits(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		Map<String,String> settings=(Map<String,String>)request.getAttribute("settings");
		Map<String,String> usergroups=(Map<String,String>)request.getAttribute("usergroups");
		double creditstax=Double.valueOf(settings.get("creditstax"));
		String taxpercent=Common.number_format(creditstax * 100, "0.00")+"%";
		request.setAttribute("taxpercent", taxpercent);
		int exchangestatus=Integer.valueOf(settings.get("exchangestatus"));
		boolean transferstatus=Integer.valueOf(settings.get("transferstatus"))>0&&Integer.valueOf(usergroups.get("allowtransfer"))>0;
		int ec_ratio=Integer.valueOf(settings.get("ec_ratio"));
		String operation=request.getParameter("operation");
		if(operation==null){
			if(exchangestatus>0){
				operation="exchange";
			}
			else if(transferstatus){
				operation="transfer";
			}
			else if(ec_ratio>0){
				operation="addfunds";
			}
		}
		String creditssubmit=request.getParameter("creditssubmit");
		if(creditssubmit!=null){
			HttpSession session = request.getSession();
			String jsprun_pw = (String) session.getAttribute("jsprun_pw");
			int jsprun_uid = (Integer) session.getAttribute("jsprun_uid");
			int timestamp = (Integer)(request.getAttribute("timestamp"));
			String jsprun_user=(String)session.getAttribute("jsprun_userss");
			Members user=(Members)session.getAttribute("user");
			String dateformat = (String)session.getAttribute("dateformat");
			String timeformat = (String)session.getAttribute("timeformat");
			int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
			Map<String,Map> extcredits = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(settings.get("extcredits"), true);
			String creditsformula=settings.get("creditsformula");
			if("transfer".equals(operation)&&transferstatus){
				String password =  Md5Token.getInstance().getLongToken(request.getParameter("password"));
				int amount=Common.toDigit(request.getParameter("amount"));
				int minbalance = Integer.valueOf(settings.get("transfermincredits"));
				int creditstrans = Integer.valueOf(settings.get("creditstrans"));
				int credit=(Integer)Common.getValues(user, "extcredits"+creditstrans);
				int netamount = (int)Math.floor((amount * (1 - creditstax)));
				if (!password.equals(jsprun_pw)) {
					request.setAttribute("errorInfo", "您没有输入密码或密码错误,不能进行积分操作,请返回。");
					return mapping.findForward("showMessage");
				}else if (amount <= 0) {
					request.setAttribute("errorInfo", "您要转账或兑换的积分数量输入有误,请返回修改。");
					return mapping.findForward("showMessage");
				}else if ((credit - amount) < minbalance) {
					request.setAttribute("errorInfo", "对不起,您的账户余额少于 "+minbalance+" 的最低余额限制,请返回。");
					return mapping.findForward("showMessage");
				}else if (netamount == 0) {
					request.setAttribute("errorInfo", "本交易扣除积分交易税后的净值为 0,请返回修改。");
					return mapping.findForward("showMessage");
				}
				String to = request.getParameter("to");
				Members member = memberService.findByName(to);
				if (member == null) {
					request.setAttribute("errorInfo", "您没有输入接收人或接收人不存在,请返回修改。");
					return mapping.findForward("showMessage");
				}   else if (member.getUid() == jsprun_uid) {
					request.setAttribute("errorInfo", "对不起,您不能对自己转账,请返回修改。");
					return mapping.findForward("showMessage");
				} 
				dataBaseService.runQuery("UPDATE jrun_members SET extcredits"+creditstrans+"=extcredits"+creditstrans+"-"+amount+",credits="+creditsformula+" WHERE uid="+jsprun_uid, true);
				dataBaseService.runQuery("UPDATE jrun_members SET extcredits"+creditstrans+"=extcredits"+creditstrans+"+"+netamount+",credits="+creditsformula+" WHERE uid="+member.getUid(), true);
				dataBaseService.runQuery("INSERT INTO jrun_creditslog (uid, fromto, sendcredits, receivecredits, send, receive, dateline, operation) VALUES ('"+jsprun_uid+"', '"+Common.addslashes(member.getUsername())+"', '"+creditstrans+"', '"+creditstrans+"', '"+amount+"', '0', '"+timestamp+"', 'TFR'),('"+member.getUid()+"', '"+jsprun_user+"', '"+creditstrans+"', '"+creditstrans+"', '0', '"+netamount+"', '"+timestamp+"', 'RCV')", true);
				String transfermessage = request.getParameter("transfermessage");
				if(transfermessage!=null&&transfermessage.length()>0) {
					transfermessage = Common.addslashes(transfermessage);
					String boardurl=(String)session.getAttribute("boardurl");
					String transfertime = Common.gmdate(dateformat+" "+timeformat, timestamp + timeoffset);
					Map creditstran=extcredits.get(creditstrans);
					String message="这是由论坛系统自动发送的通知短消息。\n\n[b]您收到一笔来自他人的积分转账。[/b]\n\n[b]来自:[/b] [url="+boardurl+"space.jsp?uid="+jsprun_uid+"][i]"+jsprun_user+"[/i][/url]\n[b]时间:[/b] "+transfertime+"\n[b]积分:[/b] "+creditstran.get("title")+" "+amount+" "+creditstran.get("unit")+"\n[b]净收入:[/b] "+creditstran.get("title")+" "+netamount+" "+creditstran.get("unit")+"\n\n[b]附言:[/b] "+transfermessage+"\n\n详情请[url="+boardurl+"memcp.jsp?action=creditslog&operation=creditslog]点击这里[/url]访问您的积分转账与兑换记录。";
					Common.sendpm(member.getUid()+"", "[系统消息] 您收到一笔积分转账", message, jsprun_uid+"", jsprun_user, timestamp);
				}
				request.setAttribute("successInfo", "积分操作成功,现在将转入转账与兑换记录。");
				request.setAttribute("requestPath","memcp.jsp?action=creditslog&operation=creditslog");
				return mapping.findForward("showMessage");
			}
			else if("exchange".equals(operation)&&exchangestatus>0){
				String password =  Md5Token.getInstance().getLongToken(request.getParameter("password"));
				int amount=Common.toDigit(request.getParameter("amount"));
				int fromcredits = Integer.valueOf(request.getParameter("fromcredits"));
				int tocredits = Integer.valueOf(request.getParameter("tocredits"));
				int minbalance = Integer.valueOf(settings.get("exchangemincredits")); 
				int credit=(Integer)Common.getValues(user, "extcredits"+fromcredits);
				Map fromcredit=extcredits.get(fromcredits);
				Map tocredit=extcredits.get(tocredits);
				double fromratio=Double.valueOf(fromcredit.get("ratio").toString());
				double toratio=Double.valueOf(tocredit.get("ratio").toString());
				int netamount = (int)Math.floor(amount * fromratio*(1 - creditstax)/toratio);
				if (!password.equals(jsprun_pw)) {
					request.setAttribute("errorInfo", "您没有输入密码或密码错误,不能进行积分操作,请返回。");
					return mapping.findForward("showMessage");
				}else if (fromcredits == tocredits) {
					request.setAttribute("errorInfo", "您选择原积分和目标积分相同,不能进行兑换,请返回修改。");
					return mapping.findForward("showMessage");
				}else if (amount <= 0) {
					request.setAttribute("errorInfo", "您要转账或兑换的积分数量输入有误,请返回修改。");
					return mapping.findForward("showMessage");
				}else if ((credit - amount) < minbalance) {
					request.setAttribute("errorInfo", "对不起,您的账户余额少于 "+minbalance+" 的最低余额限制,请返回。");
					return mapping.findForward("showMessage");
				}else if (netamount == 0) {
					request.setAttribute("errorInfo", "本交易扣除积分交易税后的净值为 0,请返回修改。");
					return mapping.findForward("showMessage");
				}
				String allowexchangeout=(String)fromcredit.get("allowexchangeout");
				String allowexchangein=(String)tocredit.get("allowexchangein");
				if(!"1".equals(allowexchangeout)) {
					request.setAttribute("errorInfo", fromcredit.get("title")+" 不允许兑出");
					return mapping.findForward("showMessage");
				}else if(!"1".equals(allowexchangein)) {
					request.setAttribute("errorInfo", tocredit.get("title")+" 不允许兑入");
					return mapping.findForward("showMessage");
				}
				dataBaseService.runQuery("UPDATE jrun_members SET extcredits"+fromcredits+"=extcredits"+fromcredits+"-"+amount+", extcredits"+tocredits+"=extcredits"+tocredits+"+"+netamount+",credits="+creditsformula+" WHERE uid="+jsprun_uid, true);
				dataBaseService.runQuery("INSERT INTO jrun_creditslog (uid, fromto, sendcredits, receivecredits, send, receive, dateline, operation) VALUES ('"+jsprun_uid+"', '"+jsprun_user+"', '"+fromcredits+"', '"+tocredits+"', '"+amount+"', '"+netamount+"', '"+timestamp+"', 'EXC')", true);
				request.setAttribute("successInfo", "积分操作成功,现在将转入转账与兑换记录。");
				request.setAttribute("requestPath","memcp.jsp?action=creditslog&operation=creditslog");
				return mapping.findForward("showMessage");
			}
			else if("addfunds".equals(operation)&&ec_ratio>0){
				int ec_mincredits=Integer.valueOf(settings.get("ec_mincredits"));
				int ec_maxcredits=Integer.valueOf(settings.get("ec_maxcredits"));
				int amount=Common.toDigit(request.getParameter("amount"));
				if(amount==0||ec_mincredits>0&&amount<ec_mincredits||ec_maxcredits>0&&amount>ec_maxcredits){
					request.setAttribute("resultInfo", "您单次购买的积分数量超出最大值 "+ec_maxcredits+" 或最小值 "+ec_mincredits+" 的限制。");

⌨️ 快捷键说明

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