package jp.agentec.sinaburocast.action.user; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.Map; import jp.agentec.sinaburocast.action.AbstractAction; import jp.agentec.sinaburocast.common.SinaburoConstant; import jp.agentec.sinaburocast.common.util.SinaburoUtil; import jp.agentec.sinaburocast.dto.EnqResultDto; import jp.agentec.sinaburocast.entity.Enquete; import jp.agentec.sinaburocast.entity.Member; import jp.agentec.sinaburocast.entity.Message; import jp.agentec.sinaburocast.entity.PointPeriod; import jp.agentec.sinaburocast.form.user.MyPageForm; import jp.agentec.sinaburocast.service.EnqueteService; import jp.agentec.sinaburocast.service.MemberService; import jp.agentec.sinaburocast.service.MessageService; import jp.agentec.sinaburocast.service.PointGetService; import jp.agentec.sinaburocast.service.PointPeriodService; import org.apache.log4j.Logger; import org.seasar.struts.annotation.ActionForm; import org.seasar.struts.annotation.Execute; /** * マイページ * * @author kim-hs * */ public class MyPageAction extends AbstractAction { private final Logger logger = Logger.getLogger(getClass()); public MemberService memberService; public MessageService messageService; public PointGetService pointGetService; public PointPeriodService pointPeriodService; public EnqueteService enqueteService; @ActionForm public MyPageForm myPageForm; /** * 初期表示 * * @return * @throws ParseException */ @Execute(validator = false) public String index() throws ParseException { //Member memberInfoSession = (Member) session.getAttribute(AttrKey.AUTHENTICATED_TOKEN); Member memberInfoSession = getMember(); if (memberInfoSession != null) { Integer memberId = memberInfoSession.memberId; Member memberInfo = memberService.findById(memberId); myPageForm.point = memberInfo.pointNum.toString(); Map<String, Integer> lostPoint ; //ポイント有効期間 //PointPeriod pointPeriod =pointPeriodService.findById(1); PointPeriod pointPeriod = pointPeriodService.findByOnRecode(); Calendar now = Calendar.getInstance(); Calendar now1 = Calendar.getInstance(); Calendar now2 = Calendar.getInstance(); SimpleDateFormat f = new SimpleDateFormat("yyyyMM"); SimpleDateFormat f2 = new SimpleDateFormat("yyyyMMdd"); now.add(Calendar.YEAR, -pointPeriod.pointPeriod); now1.add(Calendar.YEAR, -pointPeriod.pointPeriod); now1.add(Calendar.MONTH, 1); String startDay = f.format(now.getTime()); String startDay1 = f.format(now1.getTime()); String enqDay = f2.format(now2.getTime()); lostPoint = pointGetService.findPointByMemberId(memberId, startDay,startDay1); if (lostPoint.get("point1") == null) { myPageForm.lostThisMonPoint = "0"; } else { myPageForm.lostThisMonPoint = String.valueOf(lostPoint.get("point1")); } if (lostPoint.get("point2") == null) { myPageForm.lostNextMonPoint = "0"; } else { myPageForm.lostNextMonPoint = String.valueOf(lostPoint.get("point2")); } //アンケートリスト作成 List<Enquete> messageEnqueteList = enqueteService.findEnqueteByTypeEnquete(enqDay,SinaburoConstant.EnqueteType.EMONITOR); List<EnqResultDto> enqlist = new ArrayList<EnqResultDto>(); for (int i = 0; i < messageEnqueteList.size(); i++) { Enquete list = messageEnqueteList.get(i); EnqResultDto dto = new EnqResultDto(); dto.enqTitle = list.enqueteName; dto.enqId = String.valueOf(list.enqueteId); dto.startDay = SinaburoUtil.convertStringDateToFormat(list.startDate, "/"); dto.endDay = SinaburoUtil.convertStringDateToFormat(list.endDate, "/"); enqlist.add(dto); } if (messageEnqueteList.size() == 0) { Message info = messageService.findById(SinaburoConstant.MessageCode.ENQUETE); myPageForm.enqNoMessage = info.message; } //1%支援 List<Enquete> messageDonationList = enqueteService.findEnqueteByType(enqDay,SinaburoConstant.EnqueteType.ORGANIZATION_CONTRIBUTE); List<EnqResultDto> enq1perlist = new ArrayList<EnqResultDto>(); for (int i = 0; i < messageDonationList.size(); i++) { Enquete list = messageDonationList.get(i); EnqResultDto dto = new EnqResultDto(); dto.enqTitle = list.enqueteName; dto.enqId = String.valueOf(list.enqueteId); dto.startDay = SinaburoUtil.convertStringDateToFormat(list.startDate, "/"); dto.endDay = SinaburoUtil.convertStringDateToFormat(list.endDate, "/"); enq1perlist.add(dto); } if (messageDonationList.size() == 0) { Message info = messageService.findById(SinaburoConstant.MessageCode.SUPPORT_SYSTEM); myPageForm.enq1PerNoMessage = info.message; } //お知らせ List<Message> messageNewsList = messageService.findByNews(SinaburoConstant.MessageCode.NEWS); session.setAttribute("newsList",messageNewsList); session.setAttribute("donationList",enq1perlist); session.setAttribute("enqueteList",enqlist); } else { return "/user/login/login.html"; } return "/user/myPage/mypageTop.html"; } }