📄 controlaction.java
字号:
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 + -