📄 trademanageaction.java
字号:
String payStr=request.getParameter("pay");
int offline=Integer.valueOf(tradelog.get("offline"));
int status=Integer.valueOf(tradelog.get("status"));
if(payStr!=null&&offline==0&&status==0&&buyerid==jsprun_uid){
List<Map<String,String>> trades=dataBaseService.executeQuery("SELECT * FROM jrun_trades WHERE tid='"+tradelog.get("tid")+"' AND pid='"+tradelog.get("pid")+"'");
Map<String,String> trade=trades.get(0);
Map extcredits=dataParse.characterParse(settings.get("extcredits"),true);
Map creditstrans=(Map)extcredits.get(creditstransid);
int discountcredit=0;
if(jsprun_uid>0&¤tcredit<discountcredit&&Integer.valueOf(tradelog.get("discount"))>0){
request.setAttribute("errorInfo", "您的 "+creditstrans.get("title")+" 不足,无法用 "+creditstrans.get("title")+" 换取商品的优惠,请返回修改。");
return mapping.findForward("showMessage");
}
Map<String,Object> pay=new HashMap<String,Object>();
pay.put("commision", 0);
int transport=Integer.valueOf(tradelog.get("transport"));
int transportfee=0;
Map<String,Object> data=new HashMap<String,Object>();
data.put("fee", Common.toDigit(request.getParameter("fee")));
data.put("trade",trade);
data.put("transport",transport);
Tenpayapi.trade_setprice(data, price, pay, transportfee);
String boardurl=(String)session.getAttribute("boardurl");
String chnid=settings.get("ec_account");
String key=settings.get("ec_key");
String payurl=Tenpayapi.trade_payurl(boardurl,chnid,key,pay, trade, tradelog);
request.setAttribute("successInfo", "正在提交编号为 "+orderid+" 的订单。");
request.setAttribute("requestPath", payurl);
return mapping.findForward("showMessage");
}
String offlinesubmit=request.getParameter("offlinesubmit");
List<Integer> offlines=(List<Integer>)Tenpayapi.trade_offline(jsprun_uid,tradelog,false);
int offlinestatus=Common.toDigit(request.getParameter("offlinestatus"));
if(offlinesubmit!=null&&offlines.contains(offlinestatus)){
String password=Md5Token.getInstance().getLongToken(request.getParameter("password"));
if(!password.equals((String)session.getAttribute("jsprun_pw"))){
request.setAttribute("successInfo", "您输入的密码不正确,不能修改订单状态,请返回修改。");
request.setAttribute("requestPath", "trade.jsp?orderid="+orderid+"");
return mapping.findForward("showMessage");
}
int timestamp = (Integer)(request.getAttribute("timestamp"));
String boardurl=(String)session.getAttribute("boardurl");
if(offlinestatus==Tenpayapi.STATUS_SELLER_SEND){
List<Map<String,String>> trades=dataBaseService.executeQuery("SELECT amount FROM jrun_trades WHERE tid='"+tradelog.get("tid")+"' AND pid='"+tradelog.get("pid")+"'");
Map<String,String> trade=trades.get(0);
if(Integer.valueOf(tradelog.get("number"))>Integer.valueOf(trade.get("amount"))){
request.setAttribute("errorInfo", "商品剩余数量不足,请返回修改。");
return mapping.findForward("showMessage");
}
String message="这是由论坛系统自动发送的通知短消息。\n\n买家 "+tradelog.get("buyer")+" 购买您的商品 "+tradelog.get("subject")+"\n\n买家已付款,等待您发货,请[url="+boardurl+"trade.jsp?orderid="+orderid+"]点击这里[/url]查看详情。";
Common.sendpm(tradelog.get("sellerid"), "[系统消息] 有买家购买您的商品", message, "0", "System Message", timestamp);
}else if(offlinestatus==Tenpayapi.STATUS_WAIT_BUYER){
String message="这是由论坛系统自动发送的通知短消息。\n\n您购买的商品 "+tradelog.get("subject")+"\n\n卖家 "+tradelog.get("seller")+" 已发货,等待您的确认,请[url="+boardurl+"trade.jsp?orderid="+orderid+"]点击这里[/url]查看详情。";
Common.sendpm(tradelog.get("buyerid"), "[系统消息] 您购买的商品已经发货", message, "0", "System Message", timestamp);
}else if(offlinestatus==Tenpayapi.STATUS_TRADE_SUCCESS){
dataBaseService.runQuery("UPDATE jrun_trades SET lastbuyer='"+tradelog.get("buyer")+"', lastupdate='"+timestamp+"', totalitems=totalitems+'"+tradelog.get("number")+"', tradesum=tradesum+'"+tradelog.get("price")+"' WHERE tid='"+tradelog.get("tid")+"' AND pid='"+tradelog.get("pid")+"'");
String message="这是由论坛系统自动发送的通知短消息。\n\n商品 "+tradelog.get("subject")+" 已交易成功,请[url="+boardurl+"trade.jsp?orderid="+orderid+"]点击这里[/url]给对方评分。";
Common.sendpm(tradelog.get("sellerid"), "[系统消息] 商品交易已成功完成", message, "0", "System Message", timestamp);
Common.sendpm(tradelog.get("buyerid"), "[系统消息] 商品交易已成功完成", message, "0", "System Message", timestamp);
}else if(offlinestatus==Tenpayapi.STATUS_REFUND_CLOSE){
dataBaseService.runQuery("UPDATE jrun_trades SET amount=amount+'"+tradelog.get("number")+"' WHERE tid='"+tradelog.get("tid")+"' AND pid='"+tradelog.get("pid")+"'");
String message="这是由论坛系统自动发送的通知短消息。\n\n商品 "+tradelog.get("subject")+" 已退款成功,请[url="+boardurl+"trade.jsp?orderid="+orderid+"]点击这里[/url]给对方评分。";
Common.sendpm(tradelog.get("sellerid"), "[系统消息] 您购买的商品已成功退款", message, "0", "System Message", timestamp);
Common.sendpm(tradelog.get("buyerid"), "[系统消息] 您购买的商品已成功退款", message, "0", "System Message", timestamp);
}
String message=request.getParameter("message").trim();
if(message.length()>0){
message=tradelog.get("message")+"\t\t\t"+jsprun_uid+"\t"+session.getAttribute("jsprun_userss")+"\t"+timestamp+"\t"+Common.strip_tags(Common.cutstr(message, 200));
}else{
message=tradelog.get("message");
}
dataBaseService.runQuery("UPDATE jrun_tradelog SET status='"+offlinestatus+"', lastupdate='"+timestamp+"', message='"+message+"' WHERE orderid='"+orderid+"'");
request.setAttribute("successInfo", "交易单状态已更新。");
request.setAttribute("requestPath", "trade.jsp?orderid="+orderid+"");
return mapping.findForward("showMessage");
}
String tradesubmit=request.getParameter("tradesubmit");
if(tradesubmit!=null){
if(status==0){
StringBuffer update=new StringBuffer();
if(sellerid==jsprun_uid){
String baseprice=FormDataCheck.turnToDoubleString(request.getParameter("newprice"));
int transportfee=Common.toDigit(request.getParameter("newfee"));
tradelog.put("baseprice", baseprice);
tradelog.put("transportfee", transportfee+"");
update.append("baseprice='"+baseprice+"',");
update.append("transportfee='"+transportfee+"',");
}
else if(buyerid==jsprun_uid){
int number=Common.toDigit(request.getParameter("newnumber"));
tradelog.put("number", number+"");
List<Map<String,String>> trades=dataBaseService.executeQuery("SELECT amount FROM jrun_trades WHERE tid='"+tradelog.get("tid")+"' AND pid='"+tradelog.get("pid")+"'");
Map<String,String> trade=trades.get(0);
if(number>Integer.valueOf(trade.get("amount"))){
request.setAttribute("errorInfo", "商品剩余数量不足,请返回修改。");
return mapping.findForward("showMessage");
}
update.append("number='"+Common.toDigit(request.getParameter("newnumber"))+"',");
update.append("discount=0,");
update.append("buyername='"+Common.dhtmlspecialchars(request.getParameter("newbuyername"))+"',");
update.append("buyercontact='"+Common.dhtmlspecialchars(request.getParameter("newbuyercontact"))+"',");
update.append("buyerzip='"+Common.dhtmlspecialchars(request.getParameter("newbuyerzip"))+"',");
update.append("buyerphone='"+Common.dhtmlspecialchars(request.getParameter("newbuyerphone"))+"',");
update.append("buyermobile='"+Common.dhtmlspecialchars(request.getParameter("newbuyermobile"))+"',");
}
float tax=0;
if(update.length()>0){
float baseprice=Float.valueOf(tradelog.get("baseprice"));
if(Integer.valueOf(tradelog.get("discount"))>0){
baseprice=baseprice-tax;
}
price=baseprice*Integer.valueOf(tradelog.get("number"));
update.append("price='"+(price+(Integer.valueOf(tradelog.get("transport"))==2?Integer.valueOf(tradelog.get("transportfee")):0))+"'");
dataBaseService.runQuery("UPDATE jrun_tradelog SET "+update+" WHERE orderid='"+orderid+"'");
tradelogs=dataBaseService.executeQuery("SELECT * FROM jrun_tradelog WHERE orderid='"+orderid+"'");
tradelog=tradelogs.get(0);
}
}
}
tradelog.put("statusview", (String)Tenpayapi.trade_getstatus(status));
if(offline>0){
Map<Integer,String> offlinenexts=(Map<Integer,String>)Tenpayapi.trade_offline(jsprun_uid, tradelog,true);
String trade_message=offlinenexts.get(-1);
offlinenexts.remove(-1);
request.setAttribute("offlinenexts", offlinenexts);
request.setAttribute("trade_message", trade_message);
List<String[]> messages=new ArrayList<String[]>();
String[] message=tradelog.get("message").split("\t\t\t");
for (String row : message) {
String[] rows=row.split("\t");
if(rows.length==4){
messages.add(rows);
}
}
request.setAttribute("messages", messages.size()>0?messages:null);
}else{
request.setAttribute("loginurl", "https://www.tenpay.com/med/tradeDetail.shtml?b=1&trans_id="+tradelog.get("tradeno"));
}
boolean isratestatus=(Boolean)Tenpayapi.trade_typestatus("successtrades",status)||(Boolean)Tenpayapi.trade_typestatus("refundsuccess",status);
request.setAttribute("isratestatus", isratestatus);
request.setAttribute("tradelog", tradelog);
return mapping.findForward("totrade_view");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -