📄 customerprocess.java
字号:
package serverpack;
import java.sql.*;
import java.text.DecimalFormat;
public class CustomerProcess {
private Connection conn;
private Statement stat;
private Statement stat2;
private Monitor mo;
private DecimalFormat df;
public CustomerProcess(Connection c,Monitor m){conn = c;mo = m;df = new DecimalFormat("#,###,###,###.00");}
public boolean Feedback(MyMessage mm)
{
try
{
stat = conn.createStatement();
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM login WHERE id = '"+mm.GetMes(0)+"'");
result.next();
String customername = result.getString("name");
String sid = "softsell_all_"+mm.GetMes(2);
result = stat.executeQuery("SELECT * FROM "+sid+" WHERE softname = '"+mm.GetMes(1)+"'");
result.next();
String developid = result.getString("develop_id");
String developname = result.getString("develop_name");
sid = "softsell_feedback_"+mm.GetMes(2);
stat.execute("INSERT INTO "+sid+" VALUES(NULL,'"+mm.GetMes(1)+"'," +
"'"+developid+"','"+developname+"','"+mm.GetMes(3)+"','"+customername+"')");
System.out.println(mm.GetMes(0)+" Feedback success");
mo.appendmessage(mm.GetMes(0)+" Feedback success"+"\n");
mm.SetType("true");
mm.SetNum(0);
result.close();
stat.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean Payback(MyMessage mm)
{
try
{
String tempid = mm.GetMes(0);
String temptime = mm.GetMes(1);
stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stat2 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM bank_account WHERE id = '"+tempid+"'");
result.next();
float left = result.getFloat("account");
ResultSet rs = stat2.executeQuery("SELECT * FROM bank_loan WHERE id = '"+tempid+"'" +
" AND time = '"+temptime+"'");
rs.next();
float owne = rs.getFloat("account");
if(left > owne)
{
rs.updateString("if_payback", "Y");
rs.updateRow();
result.updateFloat("account", left - owne);
result.updateRow();
ResultSet bankclient = stat2.executeQuery("SELECT * FROM bank_client");
bankclient.moveToInsertRow();
bankclient.updateString("id", tempid);
bankclient.updateString("name", result.getString("name"));
bankclient.updateString("h_type", "payback");
bankclient.updateFloat("account", owne);
bankclient.updateString("to_id", " ");
bankclient.updateString("to_name", " ");
bankclient.updateNull("time");
bankclient.insertRow();
System.out.println(mm.GetMes(0)+" Payback success");
mo.appendmessage(mm.GetMes(0)+" Payback success"+"\n");
mm.SetType("true");
mm.SetNum(0);
}
else
{
System.out.println(mm.GetMes(0)+" account not enough");
mo.appendmessage(mm.GetMes(0)+" account not enough"+"\n");
mm.SetType("notenough");
mm.SetNum(0);
}
rs.close();
result.close();
stat.close();
stat2.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean CheckLoan(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
boolean b = false;
int count = 0;
stat = conn.createStatement();
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM bank_loan WHERE id = '"+mm.GetMes(0)+"'" +
" AND if_granted = 'Y' AND if_payback = 'N'");
if(result.next())
{
b = true;
do
{
mm.SetMes("not payback", count++);
mm.SetMes(df.format(result.getFloat("account")), count++);///////////////////////
mm.SetMes("bank", count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
/////////////////////////
if(b)
{
System.out.println(id+" CheckLoan success");
mo.appendmessage(id+" CheckLoan success"+"\n");
mm.SetType("true");
mm.SetNum(count);
}
else
{
System.out.println(id+" No Loan");
mo.appendmessage(id+" No Loan"+"\n");
mm.SetType("false");
mm.SetNum(0);
}
result.close();
stat.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean CheckSoft(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
boolean b = false;
int count = 0;
String tempid = mm.GetMes(0);
stat = conn.createStatement();
stat2 = conn.createStatement();
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM login WHERE type = 'softsell'");
while(result.next())
{
String sid = "softsell_customer_"+ result.getString("id");
// System.out.println(sid);
ResultSet rs = stat2.executeQuery("SELECT * FROM "+sid+" WHERE customer_id = '"+tempid+"' ");
while(rs.next())
{
b = true;
do
{
mm.SetMes(rs.getString("softname"), count++);
mm.SetMes(df.format(rs.getFloat("retail")), count++);
mm.SetMes(result.getString("id"), count++);
mm.SetMes(rs.getString("time"), count++);
}while(rs.next());
}
}
/////////////////////////
if(b)
{
System.out.println(id+" CheckSoft success");
mo.appendmessage(id+" CheckSoft success"+"\n");
mm.SetType("true");
mm.SetNum(count);
}
else
{
System.out.println(id+" No Software");
mo.appendmessage(id+" No Software"+"\n");
mm.SetType("false");
mm.SetNum(0);
}
result.close();
stat.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean Record(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
boolean b = false;
int count = 0;
int num;
stat = conn.createStatement();
stat2 = conn.createStatement();
String tempid = mm.GetMes(0);
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM login WHERE type = 'softsell'");
while(result.next())
{
String sid = "softsell_customer_"+ result.getString("id");
// System.out.println(sid);
ResultSet rs = stat2.executeQuery("SELECT * FROM "+sid+" WHERE customer_id = '"+tempid+"' ");
while(rs.next())
{
b = true;
do
{
mm.SetMes(rs.getString("softname"), count++);
mm.SetMes(df.format(rs.getFloat("retail")), count++);
mm.SetMes(result.getString("name"), count++);
mm.SetMes(" ", count++);
mm.SetMes(rs.getString("time"), count++);
}while(rs.next());
}
rs.close();
}
/////////////////////////
result = stat.executeQuery("SELECT * FROM login WHERE type = 'restaurant'");
while(result.next())
{
String sid = "restaurant_customer_"+ result.getString("id");
ResultSet rs = stat2.executeQuery("SELECT * FROM "+sid+" WHERE customer_id = '"+tempid+"'");
while(rs.next())
{
b = true;
do
{
mm.SetMes(rs.getString("foodname"), count++);
mm.SetMes(df.format(rs.getFloat("price")), count++);
mm.SetMes(result.getString("name"), count++);
mm.SetMes(" ", count++);
mm.SetMes(rs.getString("time"), count++);
}while(rs.next());
}
rs.close();
}
///////////////////
result = stat.executeQuery("SELECT * FROM bank_client WHERE id = '"+tempid+"'");
if(result.next())
{
b = true;
do
{
mm.SetMes(result.getString("h_type"), count++);
mm.SetMes(df.format(result.getFloat("account")), count++);
mm.SetMes("bank", count++);
mm.SetMes(result.getString("to_name"), count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
result = stat.executeQuery("SELECT * FROM bank_client WHERE to_id = '"+tempid+"'");
if(result.next())
{
b = true;
do
{
mm.SetMes("get", count++);
mm.SetMes(df.format(result.getFloat("account")), count++);
mm.SetMes("bank", count++);
mm.SetMes(result.getString("name"), count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
////////////////////////////
if(b)
{
System.out.println(id+" Record success");
mo.appendmessage(id+" Record success"+"\n");
mm.SetType("true");
mm.SetNum(count);
}
else
{
System.out.println(id+" No Record");
mo.appendmessage(id+" No Record"+"\n");
mm.SetType("false");
mm.SetNum(0);
}
result.close();
stat.close();
stat2.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean AllSoftSellView(MyMessage mm)
{
try
{
String cmd="select * from login where type='softsell'";
PreparedStatement pstat=conn.prepareStatement(cmd);
ResultSet rs=pstat.executeQuery();
if(!rs.next())
{
mm.SetType("false");
mm.SetNum(0);
System.out.println("No softsell company");
mo.appendmessage("No softsell company"+"\n");
rs.close();
pstat.close();
return true;
}
else{
rs.last();
int num=rs.getRow();
rs.beforeFirst();
int count=0;
while(rs.next())
{
mm.SetMes(rs.getString("name"), count++);
mm.SetMes(rs.getString("id"), count++);
}
rs.close();
pstat.close();
mm.SetType("true");
mm.SetNum(num*2);
System.out.println("AllSoftSellView success");
mo.appendmessage("AllSoftSellView success"+"\n");
return true;
}
}
catch(SQLException e){
e.printStackTrace();
System.out.println("SQLException!");
}
return false;
}
//////////////////////////////////////////////////////////////////////////////
public boolean SoftView(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
String cmd="select * from softsell_all_".concat(mm.GetMes(0));
cmd=cmd.concat(" where stored>0");
PreparedStatement pstat=conn.prepareStatement(cmd);
ResultSet rs=pstat.executeQuery();
if(!rs.next())
{
mm.SetType("false");
mm.SetNum(0);
System.out.println(id+" No soft in this Corp");
mo.appendmessage(id+" No soft in this Corp"+"\n");
rs.close();
pstat.close();
return true;
}
else{
rs.last();
int num=rs.getRow();
rs.beforeFirst();
int count=0;
while(rs.next())
{
mm.SetMes(rs.getString("softname"), count++);
mm.SetMes(rs.getString("description"), count++);
mm.SetMes(df.format(rs.getFloat("retail")), count++);
}
rs.close();
pstat.close();
mm.SetType("true");
mm.SetNum(num*3);
System.out.println(id+" SoftView success");
mo.appendmessage(id+" SoftView success"+"\n");
return true;
}
}
catch(SQLException e){
e.printStackTrace();
System.out.println("SQLException!");
}
return false;
}
///////////////////////////////////////////////////////////////////
public boolean AllRestaurantView(MyMessage mm)
{
try
{
String cmd="select * from login where type='restaurant'";
PreparedStatement pstat=conn.prepareStatement(cmd);
ResultSet rs=pstat.executeQuery();
if(!rs.next())
{
mm.SetType("false");
mm.SetNum(0);
System.out.println("No restaurant");
mo.appendmessage("No restaurant"+"\n");
rs.close();
pstat.close();
return true;
}
else{
rs.last();
int num=rs.getRow();
rs.beforeFirst();
int count=0;
while(rs.next())
{
mm.SetMes(rs.getString("name"), count++);
mm.SetMes(rs.getString("id"), count++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -