package jp.agentec.sinaburocast.action.admin.mail; import java.util.ArrayList; import java.util.List; import jp.agentec.sinaburocast.action.AbstractAction; import jp.agentec.sinaburocast.common.SinaburoConstant; import jp.agentec.sinaburocast.common.annotation.OperationHistoryAno; import jp.agentec.sinaburocast.common.util.SinaburoUtil; import jp.agentec.sinaburocast.common.util.SinaburoViewUtil; import jp.agentec.sinaburocast.entity.EnqueteMail; import jp.agentec.sinaburocast.form.admin.mail.MailSearchForm; import jp.agentec.sinaburocast.service.EnqueteMailService; import org.apache.log4j.Logger; import org.apache.struts.util.TokenProcessor; import org.seasar.framework.util.StringUtil; import org.seasar.struts.annotation.ActionForm; import org.seasar.struts.annotation.Execute; /** * アンケートメール検索 * @author kim-hs * */ public class MailSearchAction extends AbstractAction { private final Logger logger = Logger.getLogger(getClass()); @ActionForm public MailSearchForm mailSearchForm; public EnqueteMailService enqueteMailService; /** * 初期表示 */ @Execute(validator = false, reset="clearAll") public String index() { session.removeAttribute("mailList"); mailSearchForm.mailSubject=""; mailSearchForm.backFlg = true; List<EnqueteMail> mailList = new ArrayList<EnqueteMail>(); mailList = enqueteMailService.findAllOrderById(null, mailSearchForm.pageNo, mailSearchForm); session.setAttribute("mailList", mailList); return "/admin/mail/mailSearch.html"; } /** * メール検索 * @return */ @Execute(validator = false, reset="clearSearch") public String searchMail() { //session.removeAttribute("mailList"); TokenProcessor.getInstance().saveToken(request); if(StringUtil.isNotBlank(mailSearchForm.fromDay) && !SinaburoUtil.checkDate(mailSearchForm.fromDay)){ addErrorMessage("dateError", "errors.E033"); addErrorMessage("dateError_1", "errors.E033_1"); addErrorMessage("dateError_2", "errors.E033_2"); return "/admin/mail/mailSearch.html"; }else if(StringUtil.isNotBlank(mailSearchForm.toDay) && !SinaburoUtil.checkDate(mailSearchForm.toDay)){ addErrorMessage("dateError", "errors.E033"); addErrorMessage("dateError_1", "errors.E033_1"); addErrorMessage("dateError_2", "errors.E033_2"); return "/admin/mail/mailSearch.html"; }else if(StringUtil.isNotBlank(mailSearchForm.fromDay) && StringUtil.isNotBlank(mailSearchForm.toDay) && mailSearchForm.toDay.compareTo(mailSearchForm.fromDay) < 0 ){ addErrorMessage("dateError", "errors.E020"); return "/admin/mail/mailSearch.html"; } List<EnqueteMail> mailList = new ArrayList<EnqueteMail>(); mailList = enqueteMailService.findAllOrderById(null, mailSearchForm.pageNo, mailSearchForm); session.setAttribute("mailList", mailList); return "/admin/mail/mailSearch.html"; } /** * メール検索ページング * @return */ @Execute(validator = false, urlPattern = "searchMail/{pageNo}", reset="clearPage") public String memberSearchResultPage() { TokenProcessor.getInstance().saveToken(request); List<EnqueteMail> mailList = new ArrayList<EnqueteMail>(); mailList = enqueteMailService.findAllOrderById(null, mailSearchForm.pageNo, mailSearchForm); session.setAttribute("mailList", mailList); return "/admin/mail/mailSearch.html"; } /** * メール削除 * @return */ @Execute(validator = false) @OperationHistoryAno(operationTypeId=SinaburoConstant.OperationType.DELETE,target="メール削除",detail="削除",screenId=SinaburoConstant.screenId.CMS0001) public String deleteMail() { // トークン確認 // if (!TokenProcessor.getInstance().isTokenValid(request, true)) { // // return "/error/admin/doubleAction.html"; // } String enqueteMailId = request.getParameter("enqueteMailId"); EnqueteMail enqueteMail = new EnqueteMail(); //enqueteMail.enqueteMailId = Integer.parseInt(enqueteMailId); enqueteMail = enqueteMailService.findById(Integer.parseInt(enqueteMailId)); int result = 0; if (enqueteMail == null) { result = 0; } else { result = enqueteMailService.deleteMail(enqueteMail); } if(result < 1){ request.setAttribute(SinaburoConstant.notRegistOperationHistoryKey.notRegist, SinaburoConstant.notRegistOperationHistoryKey.notRegist); addError(SinaburoViewUtil.getMessage("info.I001")); return "/admin/mail/mailSearch.html"; } List<EnqueteMail> mailList = new ArrayList<EnqueteMail>(); mailList = enqueteMailService.findAllOrderById(null, mailSearchForm.pageNo, mailSearchForm); session.setAttribute("mailList", mailList); addError(SinaburoViewUtil.getMessage("info.I002")); return "/admin/mail/mailSearch.html"; } /** * メール編集 * @return */ @Execute(validator = false) public String mailEdit() { return "/admin/mail/mailEdit.html"; } /** * 予約語挿入 * @return */ @Execute(validator = false) public String mailResevedPopup() { return "/admin/mail/popup.html"; } /** * メール検索 * 完了画面の戻るボタン * @return */ @Execute(validator = false) public String searchMailRegist() { TokenProcessor.getInstance().saveToken(request); //mailSearchForm.mailSubject=""; //mailSearchForm.backFlg = true; List<EnqueteMail> mailList = new ArrayList<EnqueteMail>(); mailList = enqueteMailService.findAllOrderById(null, mailSearchForm.pageNo, mailSearchForm); session.setAttribute("mailList", mailList); return "/admin/mail/mailSearch.html"; } }