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