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

📄 trademanageaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			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&&currentcredit<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 + -