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

📄 addrecordaction.java

📁 因为许多人出去吃饭都一个人付帐
💻 JAVA
字号:
package cn.com.sdcncsi.lunch.balance.action;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.SessionAware;

import cn.com.sdcncsi.lunch.balance.domain.AccountBook;
import cn.com.sdcncsi.lunch.balance.domain.AccountDetail;
import cn.com.sdcncsi.lunch.balance.domain.AccountType;
import cn.com.sdcncsi.lunch.balance.form.AddRecordForm;
import cn.com.sdcncsi.lunch.balance.service.AddRecordService;
import cn.com.sdcncsi.lunch.domain.User;
import cn.com.sdcncsi.lunch.utils.Constants;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class AddRecordAction extends ActionSupport implements SessionAware, ModelDriven {

	private static Log logger = LogFactory.getLog(AddRecordAction.class.getName());
	private AddRecordService addRecordService;
	private AddRecordForm addRecordForm = new AddRecordForm();
	
	public String execute(){
		logger.debug("accountBook:"+addRecordForm.getPayUserId());
		try{
			logger.debug("save:"+this.addRecordService.saveRecord(populateAccountBook(),populateAccountDetail()));
		}catch(Exception e){
			e.printStackTrace();
		}
		return SUCCESS;
	}
	
	private Set<AccountDetail> populateAccountDetail() {
		Set<AccountDetail> accountDetails = new HashSet<AccountDetail>();
		for(String sAccountDetail : addRecordForm.getAccountUserIds()){
			//accountDetail.setUserId(addRecordForm.getPayUserId());
			AccountDetail accountDetail = new AccountDetail();
			User user = new User();
			user.setId(new Integer(sAccountDetail));
			accountDetail.setUser(user);
			accountDetails.add(accountDetail);
		}
		return accountDetails;
	}

	private AccountBook populateAccountBook() {
		AccountBook accountBook = new AccountBook();
		accountBook.setAccountBill(addRecordForm.getAccountBill());
		accountBook.setAccountDate(addRecordForm.getAccountDate());
		AccountType accountType = new AccountType();
		accountType.setAccountTypeId(addRecordForm.getAccountType());
		accountBook.setAccountType(accountType);
		User user = new User();
		user.setId(new Integer(addRecordForm.getPayUserId()));
		//accountBook.setPayUserId(addRecordForm.getPayUserId());
		accountBook.setUser(user);
		return accountBook;
	}

	private Map session;
	
	public void setSession(Map session) {
		// TODO Auto-generated method stub
		this.session = session;
	}

	public void setAddRecordService(AddRecordService addRecordService) {
		this.addRecordService = addRecordService;
	}

	public void setAddRecordForm(AddRecordForm addRecordForm){
		this.addRecordForm = addRecordForm;
	}
	
	public Object getModel() {
		return addRecordForm;
	}

	/* (non-Javadoc)
	 * @see com.opensymphony.xwork2.ActionSupport#validate()
	 */
	@Override
	public void validate() {
		logger.debug("validate");
		// TODO Auto-generated method stub
		if (null==addRecordForm.getAccountDate()){
			addFieldError( "date.required", getText("date.required") );
		}
		logger.debug("getAccountUserIds:"+addRecordForm.getAccountUserIds());
		if (null==addRecordForm.getAccountUserIds()){
			logger.debug("user.MustIn:"+getText("user.MustIn"));
			addFieldError( "user.MustIn", getText("user.MustIn") );
		}
		else{
			logger.debug("addRecordForm.getPayUserId():"+addRecordForm.getPayUserId());
			if (!addRecordForm.getAccountUserIds().contains(addRecordForm.getPayUserId())){
				addFieldError( "payUser.MustIn", getText("payUser.MustIn") );
			}
		}
		//将错误信息放入session
		session.put(Constants.ERROR_ADDRECORD, getFieldErrors());
	}

}

⌨️ 快捷键说明

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