📄 tradeservice.java
字号:
package dataservice;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.sql.Date;
import domain.Book;
import domain.Goods;
import domain.Trade;
import domain.User;
import oracle.jdbc.OracleTypes;
public class TradeService extends Service {
public static void main(String[] args) {
TradeService ts = new TradeService();
// System.out.println(ts.getTradeTime("08010507221732296521171296385826552688663646922"));//时间不合法时,有异常需要处理
ArrayList<Trade> trades = ts.getNotPayedTrades("05083224");
System.out.println(trades.size());
// Trade trade = trades.get(1);
// System.out.println(trade.getGood().getId());
// String errorMsg = ts.transferGood("lily", "05083224", "2008060516282005083224", 1);
String errorMsg = ts.remit("05083224", "lily", 50);
System.out.println(errorMsg);
System.out.println(ts.getSucesTrades("05083224").size());
}
public String transferGood(String buyerId, String salerId, String goodId, int goodCount) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call transferGood(?, ?, ?, ?, ?, ?) }");
util.setString(1, buyerId);
util.setString(2, salerId);
util.setString(3, goodId);
util.setInt(4, goodCount);
util.registerOutParameter(5, OracleTypes.NUMERIC);
util.registerOutParameter(6, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(5);
errorMsg = util.getErrorMsg() + util.getString(6);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public String transferBook(String buyerId, String salerId, String bookId, int bookCount) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call transferBook(?, ?, ?, ?, ?, ?) }");
util.setString(1, buyerId);
util.setString(2, salerId);
util.setString(3, bookId);
util.setInt(4, bookCount);
util.registerOutParameter(5, OracleTypes.NUMERIC);
util.registerOutParameter(6, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(5);
errorMsg = util.getErrorMsg() + util.getString(6);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public String remit(String fromUserId, String toUserId, double balance) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call remit(?, ?, ?, ?, ?) }");
util.setString(1, fromUserId);
util.setString(2, toUserId);
util.setDouble(3, balance);
util.registerOutParameter(4, OracleTypes.NUMERIC);
util.registerOutParameter(5, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(4);
errorMsg = util.getErrorMsg() + util.getString(5);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public String newTrade(String listId, String buyerId, String salerId,
String goodId, int goodCount, String goodType) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call newTrade(?, ?, ?, ?, ?, ?, ?, ?) }");
util.setString(1, listId);
util.setString(2, buyerId);
util.setString(3, salerId);
util.setString(4, goodId);
util.setInt(5, goodCount);
util.setString(6, goodType);
util.registerOutParameter(7, OracleTypes.NUMERIC);
util.registerOutParameter(8, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(7);
errorMsg = util.getErrorMsg() + util.getString(8);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public String setTradeSuccessful(String tradeId) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call setTradeSuccessful(?, ?, ?) }");
util.setString(1, tradeId);
util.registerOutParameter(2, OracleTypes.NUMERIC);
util.registerOutParameter(3, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(2);
errorMsg = util.getErrorMsg() + util.getString(3);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public String setListSuccessful(String listId) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call setListSuccessful(?, ?, ?) }");
util.setString(1, listId);
util.registerOutParameter(2, OracleTypes.NUMERIC);
util.registerOutParameter(3, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(2);
errorMsg = util.getErrorMsg() + util.getString(3);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
public Trade getTrade(String tradeId) {
Trade trade = new Trade();
trade.setId(tradeId);
User buyer = new User();
User saler = new User();
Goods goods = new Goods();
Book book = new Book();
open();
util.prepareCall("{ ? = call getTradeInfo(?) }");
util.registerOutParameter(1, OracleTypes.CURSOR);
util.setString(2, tradeId);
util.execute();
ResultSet rs = util.getResultSet(1);
try {
if(rs.next()) {
trade.setListId(rs.getString(2));
buyer.setId(rs.getString(3));
trade.setBuyer(buyer);
saler.setId(rs.getString(4));
trade.setSaler(saler);
if (rs.getString(7).trim().equals("普通商品")) {
goods.setId(rs.getString(5));
trade.setGood(goods);
}
else if (rs.getString(7).trim().equals("图书")) {
book.setId(rs.getString(5));
trade.setGood(goods);
}
trade.setGoodCount(rs.getInt(6));
if (rs.getInt(8) == 0)
trade.setPayed(false);
else if (rs.getInt(8) == 1)
trade.setPayed();
if (rs.getInt(9) == 0)
trade.setSuccessful(false);
else if (rs.getInt(9) == 1)
trade.setSuccessful();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return trade;
}
public Date getTradeTime(String tradeId) {
Date date = null;
open();
util.prepareCall("{ ? = call getTradeTime(?) }");
util.registerOutParameter(1, OracleTypes.DATE);
util.setString(2, tradeId);
util.execute();
date = util.getDate(1);
close();
return date;
}
public ArrayList<Trade> getPayedTrades(String userId) {
ArrayList<Trade> list = new ArrayList<Trade>();
open();
util.prepareCall("{ ? = call getPayedTrades(?) }");
util.registerOutParameter(1, OracleTypes.CURSOR);
util.setString(2, userId);
util.execute();
ResultSet rs = util.getResultSet(1);
try {
while(rs.next()) {
Trade trade = new Trade();
User buyer = new User();
User saler = new User();
Goods goods = new Goods();
Book book = new Book();
trade.setId(rs.getString(1));
trade.setListId(rs.getString(2));
buyer.setId(rs.getString(3));
trade.setBuyer(buyer);
saler.setId(rs.getString(4));
trade.setSaler(saler);
if (rs.getString(7).trim().equals("普通商品")) {
goods.setId(rs.getString(5));
trade.setGood(goods);
}
else if (rs.getString(7).trim().equals("图书")) {
book.setId(rs.getString(5));
trade.setGood(book);
}
trade.setGoodCount(rs.getInt(6));
trade.setPayed();
if (rs.getInt(9) == 0)
trade.setSuccessful(false);
else if (rs.getInt(9) == 1)
trade.setSuccessful();
list.add(trade);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return list;
}
public ArrayList<Trade> getNotPayedTrades(String userId) {
ArrayList<Trade> list = new ArrayList<Trade>();
open();
util.prepareCall("{ ? = call getNotPayedTrades(?) }");
util.registerOutParameter(1, OracleTypes.CURSOR);
util.setString(2, userId);
util.execute();
ResultSet rs = util.getResultSet(1);
try {
while(rs.next()) {
Trade trade = new Trade();
User saler = new User();
User buyer = new User();
Goods goods = new Goods();
Book book = new Book();
trade.setId(rs.getString(1));
trade.setListId(rs.getString(2));
buyer.setId(rs.getString(3));
trade.setBuyer(buyer);
saler.setId(rs.getString(4));
trade.setSaler(saler);
if (rs.getString(7).trim().equals("普通商品")) {
goods.setId(rs.getString(5));
trade.setGood(goods);
}
else if (rs.getString(7).trim().equals("图书")) {
book.setId(rs.getString(5));
trade.setGood(book);
}
trade.setGoodCount(rs.getInt(6));
trade.setPayed(false);
if (rs.getInt(9) == 0)
trade.setSuccessful(false);
else if (rs.getInt(9) == 1)
trade.setSuccessful();
list.add(trade);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return list;
}
public ArrayList<Trade> getSucesTrades(String userId) {
ArrayList<Trade> list = new ArrayList<Trade>();
open();
util.prepareCall("{ ? = call getSucesTrades(?) }");
util.registerOutParameter(1, OracleTypes.CURSOR);
util.setString(2, userId);
util.execute();
ResultSet rs = util.getResultSet(1);
try {
while(rs.next()) {
Trade trade = new Trade();
User buyer = new User();
User saler = new User();
Goods goods = new Goods();
Book book = new Book();
trade.setId(rs.getString(1));
trade.setListId(rs.getString(2));
buyer.setId(rs.getString(3));
trade.setBuyer(buyer);
saler.setId(rs.getString(4));
trade.setSaler(saler);
if (rs.getString(7).trim().equals("普通商品")) {
goods.setId(rs.getString(5));
trade.setGood(goods);
}
else if (rs.getString(7).trim().equals("图书")) {
book.setId(rs.getString(5));
trade.setGood(goods);
}
trade.setGoodCount(rs.getInt(6));
if (rs.getInt(8) == 0)
trade.setPayed(false);
else if (rs.getInt(8) == 1)
trade.setPayed();
trade.setSuccessful();
list.add(trade);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return list;
}
public ArrayList<Trade> getNotSucesTrades(String userId) {
ArrayList<Trade> list = new ArrayList<Trade>();
open();
util.prepareCall("{ ? = call getNotSucesTrades(?) }");
util.registerOutParameter(1, OracleTypes.CURSOR);
util.setString(2, userId);
util.execute();
ResultSet rs = util.getResultSet(1);
try {
while(rs.next()) {
Trade trade = new Trade();
User buyer = new User();
User saler = new User();
Goods goods = new Goods();
Book book = new Book();
trade.setId(rs.getString(1));
trade.setListId(rs.getString(2));
buyer.setId(rs.getString(3));
trade.setBuyer(buyer);
saler.setId(rs.getString(4));
trade.setSaler(saler);
if (rs.getString(7).trim().equals("普通商品")) {
goods.setId(rs.getString(5));
trade.setGood(goods);
}
else if (rs.getString(7).trim().equals("图书")) {
book.setId(rs.getString(5));
trade.setGood(goods);
}
trade.setGoodCount(rs.getInt(6));
if (rs.getInt(8) == 0)
trade.setPayed(false);
else if (rs.getInt(8) == 1)
trade.setPayed();
trade.setSuccessful(false);
list.add(trade);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return list;
}
public String setPayed(String tradeId) {
open();
int isSuccessful = 0;
String errorMsg = null;
util.prepareCall("{ call setPayed(?, ?, ?) }");
util.setString(1, tradeId);
util.registerOutParameter(2, OracleTypes.NUMERIC);
util.registerOutParameter(3, OracleTypes.VARCHAR);
util.execute();
isSuccessful = util.getInt(2);
errorMsg = util.getErrorMsg() + util.getString(3);
close();
if (isSuccessful == 1)
return null;
else
return errorMsg;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -