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

📄 travelcorp.java

📁 旅游自助系统
💻 JAVA
字号:
package org.tshs.entity;

import java.sql.SQLException;
import java.sql.Types;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import org.tshs.core.CacheManager;
import org.tshs.core.Constant.ObjectType;
import org.tshs.core.Constant.Sex;
import org.tshs.storage.rdbms.ColumnInfo;
import org.tshs.storage.rdbms.DbManager;
import org.tshs.storage.rdbms.TableRow;

public class TravelCorp extends TshsObject {
	
	public static final int propertyLength = 5;

	private String name;
	
	private String password;
	
	private String email;
	
	private String address;
	
	private String description;

	private List<Long> groupIds;
	
	public TravelCorp(Long id){
		super(id, ObjectType.CORP);
	}
	
	/**
	 * @param row
	 */
	public TravelCorp(TableRow row) {
		super((Long)row.getColumn("id"), ObjectType.CORP);
		setName((String)row.getColumn("name"));
		setPassword((String)row.getColumn("password"));
		setEmail((String)row.getColumn("email"));
		setAddress((String)row.getColumn("address"));
		setDescription((String)row.getColumn("description"));
		List<Long> idlist = (List<Long>) row.getColumn("groupIds");
		setGroupIds(idlist);
	}

	public void setName(String name){
		this.name = name;
	}

	public String getName() {
		return name;
	}
	
	public void setPassword(String password){
		this.password = password;
	}
	
	public String getPassword(){
		return password;
	}
	
	public void setEmail(String email){
		this.email = email;
	}

	public String getEmail() {
		return email;
	}
	
	public void setAddress(String address){
		this.address = address;
	}
	
	public String getAddress(){
		return address;
	}
	
	public void setDescription(String description){
		this.description = description;
	}
	
	public String getDescription(){
		return description;
	}

	public void setGroupIds(List<Long> groupIds){
		this.groupIds = groupIds;
	}
	
	public List<Long> getGroupIds(){
		return groupIds;
	}
	
	public List<TravelGroup> getGroups() throws Exception {
		List<TravelGroup> groupList = new ArrayList<TravelGroup>();
    	Iterator<Long> i = groupIds.iterator();
    	while(i.hasNext()){
    		groupList.add((TravelGroup)CacheManager.retrieve(i.next()));
    	}
    	return groupList;
	}
	
	public boolean addGroup(Long id){
		if(groupIds.contains(id)){
			return false;
		}
		groupIds.add(id);
		return true;
	}
	
	/**
	 * if groupIds contains the id, then remove
	 * 
	 * @param id
	 * @return true if removed, false if the corpration doesn't maintain such a group
	 */
	public boolean deleteGroup(Long id){
		if(!groupIds.contains(id)){
			return false;
		}
		groupIds.remove(id);
		
		return true;
	}

	/**
	 * @param password
	 * @return
	 */
	public boolean checkPassword(String password){
		if(this.password.equals(password)){
			return true;
		}else{
			return false;
		}
	}

	/**
	 * @param group
	 * @throws  
	 * @throws SQLException 
	 */
	public void removeGroup(TravelGroup group) throws Exception {
		groupIds.remove(group.getId());
		String sql = "delete from travelgroup where id = " + group.getId();
		DbManager.excute(sql);
		sql = "delete from corp2group where groupId = " + group.getId();
		DbManager.excute(sql);
	}
	
	public Vector selfList() throws Exception {
		Vector<String> groupNames = new Vector<String>();
		List<TravelGroup> groups = getGroups();
		Iterator<TravelGroup> i = groups.iterator();
		while (i.hasNext()) {
			groupNames.add(i.next().getName());
		}
		
		Vector<Object> self = new Vector<Object>();
		self.add(name);
		self.add(password);
		self.add(email);
		self.add(address);
		self.add(description);
		self.add(groupNames);
		return self;
	}

	public boolean modify(Vector data) {
		if(data.size() != propertyLength){
			System.out.println("Error from TravelCorp: data.size() != propertyLength");
			return false;
		}
		
		setName((String) data.get(0));
		setPassword((String)data.get(1));
		setEmail((String)data.get(2));
		setAddress((String)data.get(3));
		setDescription((String)data.get(4));
		
		try {
			DbManager.update(buildTableRow());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return true;
	}
	
	protected TableRow buildTableRow(){
		List<String> names = new ArrayList<String>();
		List<Integer> types = new ArrayList<Integer>();
		
		names.add("id");
		types.add(Types.BIGINT);
		names.add("name");
		types.add(Types.VARCHAR);
		names.add("password");
		types.add(Types.VARCHAR);
		names.add("email");
		types.add(Types.VARCHAR);
		names.add("address");
		types.add(Types.VARCHAR);
		names.add("description");
		types.add(Types.VARCHAR);
		
		ColumnInfo info = null;
		try {
			info = new ColumnInfo(names, types);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
		
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("id", id);
		map.put("name", name);
		map.put("password", password);
		map.put("email", email);
		map.put("address", address);
		map.put("description", description);
		TableRow row = new TableRow("travelcorp", map, info);
		
		return row;
	}

	/**
	 * @return
	 */
	public boolean update() {
		try {
			DbManager.update(this.buildTableRow());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		return true;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -