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

📄 customerprocess.java

📁 java版虚拟社区,在mysql上运行.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -