Commit a58678aa by Kazuki Nakamura

#51859 eモニポイント連携 #51860 ポイント交換申請

parent bac3de3c
......@@ -25,6 +25,9 @@ POINT_USE_MAIL_TITLE=\u3010\uff45\u30e2\u30cb\u3011\u30dd\u30a4\u30f3\u30c8\u4ea
##\u4f1a\u54e1\u767b\u9332\u78ba\u8a8d\u30e1\u30fc\u30eb\u30b5\u30d6\u30b8\u30a7\u30af\u30c8
REGISTER_CONFIRM_MAIL_TITLE=\u3010\uff45\u30e2\u30cb\u3011\u4f1a\u54e1\u767b\u9332\u78ba\u8a8d
##\u90f5\u9001\u5148\u78ba\u8a8d\u30e1\u30fc\u30eb\u30b5\u30d6\u30b8\u30a7\u30af\u30c8
MEMBER_CARD_RECEIPT_MAIL_TITLE=\u3010\uff45\u30e2\u30cb\u3011\u90f5\u9001\u53d7\u4ed8\u306e\u5b8c\u4e86
# Access Control
IP_ALLOWED_SRC=114.179.200.54
ADMIN_ALLOWED_SRC=192.168.*,127.*,172.21.*,0:0:0:0:0:0:0:*,::1,219.106.249.241,114.179.200.54,210.253.181.158
......
......@@ -6,11 +6,6 @@ package jp.agentec.sinaburocast.action.admin.enquete;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.form.admin.enquete.GiftExchangeSearchForm;
import jp.agentec.sinaburocast.service.GiftExchangeService;
import org.apache.log4j.Logger;
import org.apache.velocity.tools.generic.DateTool;
import org.seasar.framework.util.StringUtil;
......@@ -18,6 +13,11 @@ import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.ResponseUtil;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.form.admin.enquete.GiftExchangeSearchForm;
import jp.agentec.sinaburocast.service.GiftExchangeService;
/**
* ポイント交換申請検索
* @author arakawa
......@@ -104,7 +104,7 @@ public class GiftExchangeSearchAction extends AbstractAction {
String result = SinaburoUtil.toSJIS(giftExchangeService.getGiftExchangeForCsv(giftExchangeSearchForm));
String dateStr = new DateTool().format("yyyyMMdd_HHmmss",DateTool.getSystemDate());
ResponseUtil.download(URLEncoder.encode("ポイント交換申請結果_"+dateStr+".tsv", "UTF-8"),result.getBytes("Windows-31J") );
ResponseUtil.download(URLEncoder.encode("ポイント交換申請結果_"+dateStr+".csv", "UTF-8"),result.getBytes("Windows-31J") );
return null;
}
......
/**
*
*/
package jp.agentec.sinaburocast.action.admin.enquete;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import org.apache.log4j.Logger;
import org.apache.velocity.tools.generic.DateTool;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.ResponseUtil;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.form.admin.enquete.MemberCardReceiptSearchForm;
import jp.agentec.sinaburocast.service.MemberCardReceiptService;
/**
* (磁気カードの)郵送申請検索
* @author nakamura-k
*
*/
public class MemberCardReceiptSearchAction extends AbstractAction {
private final Logger logger = Logger.getLogger(getClass());
@ActionForm
public MemberCardReceiptSearchForm memberCardReceiptSearchForm;
public MemberCardReceiptService memberCardReceiptService;
/**
* 初期表示
*/
@Execute(validator = false,reset="resetIndex")
public String index() {
return "/admin/enquete/memberCardReceiptSearch.html";
}
/**
* カード郵送申請を検索する
*/
@Execute(validator = false,urlPattern="memberCardReceiptSearch/{pageNo}")
public String memberCardReceiptSearch(){
if(StringUtil.isNotBlank(memberCardReceiptSearchForm.fromDay) && !SinaburoUtil.checkDate(memberCardReceiptSearchForm.fromDay)){
addErrorMessage("dateError", "errors.E033");
addErrorMessage("dateError_1", "errors.E033_1");
addErrorMessage("dateError_2", "errors.E033_2");
return "/admin/enquete/memberCardReceiptSearch.html";
}else if(StringUtil.isNotBlank(memberCardReceiptSearchForm.toDay) && !SinaburoUtil.checkDate(memberCardReceiptSearchForm.toDay)){
addErrorMessage("dateError", "errors.E033");
addErrorMessage("dateError_1", "errors.E033_1");
addErrorMessage("dateError_2", "errors.E033_2");
return "/admin/enquete/memberCardReceiptSearch.html";
}else if(StringUtil.isNotBlank(memberCardReceiptSearchForm.fromDay) && StringUtil.isNotBlank(memberCardReceiptSearchForm.toDay)
&& memberCardReceiptSearchForm.toDay.compareTo(memberCardReceiptSearchForm.fromDay) < 0
){
addErrorMessage("dateError", "errors.E020");
return "/admin/enquete/memberCardReceiptSearch.html";
}
search();
return "/admin/enquete/memberCardReceiptSearch.html";
}
/**
* Formの日付のチェックを行う。
*/
private void formCheck(){
if(StringUtil.isNotBlank(memberCardReceiptSearchForm.fromDay) && !SinaburoUtil.checkDate(memberCardReceiptSearchForm.fromDay)){
addErrorMessage("dateError", "errors.E033");
addErrorMessage("dateError_1", "errors.E033_1");
addErrorMessage("dateError_2", "errors.E033_2");
}else if(StringUtil.isNotBlank(memberCardReceiptSearchForm.toDay) && !SinaburoUtil.checkDate(memberCardReceiptSearchForm.toDay)){
addErrorMessage("dateError", "errors.E033");
addErrorMessage("dateError_1", "errors.E033_1");
addErrorMessage("dateError_2", "errors.E033_2");
}else if(StringUtil.isNotBlank(memberCardReceiptSearchForm.fromDay) && StringUtil.isNotBlank(memberCardReceiptSearchForm.toDay)
&& memberCardReceiptSearchForm.toDay.compareTo(memberCardReceiptSearchForm.fromDay) < 0
){
addErrorMessage("dateError", "errors.E020");
}
}
private void search(){
formCheck();
if(hasErrors()){
return ;
}
memberCardReceiptSearchForm.searchResultList = memberCardReceiptService.findAllByPaging(memberCardReceiptSearchForm);
}
/**
* カード郵送申請結果CSV出力
*/
@Execute(validator=false)
public String reportDownload() throws UnsupportedEncodingException, Exception {
String result = SinaburoUtil.toSJIS(memberCardReceiptService.getMemberCardReceiptForCsv(memberCardReceiptSearchForm));
String dateStr = new DateTool().format("yyyyMMdd_HHmmss",DateTool.getSystemDate());
ResponseUtil.download(URLEncoder.encode("カード郵送申請結果_"+dateStr+".csv", "UTF-8"),result.getBytes("Windows-31J") );
return null;
}
}
......@@ -6,6 +6,14 @@ import java.util.regex.Pattern;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.annotation.OperationHistoryAno;
......@@ -19,14 +27,6 @@ import jp.agentec.sinaburocast.form.admin.setting.MessageRegistForm;
import jp.agentec.sinaburocast.service.GiftExchangeInfoService;
import jp.agentec.sinaburocast.service.MessageService;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
/**
* メッセージ処理
*
......@@ -36,6 +36,8 @@ import org.seasar.struts.annotation.Execute;
public class MessageRegistAction extends AbstractAction {
private final Logger logger = Logger.getLogger(getClass());
private Integer ECOBO = 1;
private Integer ICHICO = 2;
@ActionForm
public MessageRegistForm messageRegistForm;
......@@ -90,9 +92,15 @@ public class MessageRegistAction extends AbstractAction {
@Execute(validator = false)
public String messageSearch() {
if (SinaburoConstant.MessageCode.POINT_USE == Integer.parseInt(messageRegistForm.messageCd)){
if (SinaburoConstant.MessageCode.POINT_USE_ECOBO == Integer.parseInt(messageRegistForm.messageCd) ||
SinaburoConstant.MessageCode.POINT_USE_ICHICO == Integer.parseInt(messageRegistForm.messageCd)){
GiftExchangeInfo giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfo();
GiftExchangeInfo giftExchangeInfo = new GiftExchangeInfo();
if(SinaburoConstant.MessageCode.POINT_USE_ECOBO == Integer.parseInt(messageRegistForm.messageCd)) {
giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfoById(ECOBO);
}else {
giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfoById(ICHICO);
}
if (giftExchangeInfo != null){
messageRegistForm.startDate = SinaburoUtil.convertStringDateToFormat(giftExchangeInfo.startDate, SinaburoConstant.datePikerSign.signSlash);
......@@ -107,7 +115,8 @@ public class MessageRegistAction extends AbstractAction {
messageRegistForm.message = "";
messageRegistForm.mailBody = "";
}
}else{
} else {
Message info = messageService.findById(Integer.parseInt(messageRegistForm.messageCd));
if (info != null){
......@@ -143,9 +152,15 @@ public class MessageRegistAction extends AbstractAction {
return "/error/doubleAction.html";
}
if (SinaburoConstant.MessageCode.POINT_USE == Integer.parseInt(messageRegistForm.messageCd)){
if (SinaburoConstant.MessageCode.POINT_USE_ECOBO == Integer.parseInt(messageRegistForm.messageCd) ||
SinaburoConstant.MessageCode.POINT_USE_ICHICO == Integer.parseInt(messageRegistForm.messageCd)){
GiftExchangeInfo info = giftExchangeInfoService.findGiftExchangeInfo();
GiftExchangeInfo info = new GiftExchangeInfo();
if(SinaburoConstant.MessageCode.POINT_USE_ECOBO == Integer.parseInt(messageRegistForm.messageCd)) {
info = giftExchangeInfoService.findGiftExchangeInfoById(ECOBO);
}else {
info = giftExchangeInfoService.findGiftExchangeInfoById(ICHICO);
}
if (info == null){
......@@ -174,7 +189,7 @@ public class MessageRegistAction extends AbstractAction {
giftExchangeInfoService.update(giftExchangeInfo);
}
}else{
} else {
Message info = messageService.findById(Integer.parseInt(messageRegistForm.messageCd));
if (info == null){
......@@ -222,7 +237,8 @@ public class MessageRegistAction extends AbstractAction {
addErrorMessage("message", "errors.required",SinaburoViewUtil.getMessage("labels.message"));
}
if (SinaburoConstant.MessageCode.POINT_USE == Integer.parseInt(messageRegistForm.messageCd)){
if (SinaburoConstant.MessageCode.POINT_USE_ECOBO == Integer.parseInt(messageRegistForm.messageCd) ||
SinaburoConstant.MessageCode.POINT_USE_ICHICO == Integer.parseInt(messageRegistForm.messageCd)){
if (StringUtil.isBlank(messageRegistForm.startDate)){
addErrorMessage("dateError", "errors.required",SinaburoViewUtil.getMessage("labels.gift.startDate"));
......
package jp.agentec.sinaburocast.action.user;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import javax.mail.MessagingException;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.SinaburoConstant.UserType;
......@@ -14,21 +24,16 @@ import jp.agentec.sinaburocast.common.util.SinaburoViewUtil;
import jp.agentec.sinaburocast.entity.Gift;
import jp.agentec.sinaburocast.entity.GiftExchangeInfo;
import jp.agentec.sinaburocast.entity.Member;
import jp.agentec.sinaburocast.entity.Message;
import jp.agentec.sinaburocast.entity.Prefecture;
import jp.agentec.sinaburocast.form.user.PointUseForm;
import jp.agentec.sinaburocast.service.GiftExchangeInfoService;
import jp.agentec.sinaburocast.service.GiftService;
import jp.agentec.sinaburocast.service.MemberCardReceiptService;
import jp.agentec.sinaburocast.service.MemberService;
import jp.agentec.sinaburocast.service.MessageService;
import jp.agentec.sinaburocast.service.PointGetService;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import jp.agentec.sinaburocast.service.PrefectureService;
/**
* ポイント利用
......@@ -42,14 +47,17 @@ public class PointUseAction extends AbstractAction {
@ActionForm
public PointUseForm pointUseForm;
public PointGetService pointGetService;
public MemberService memberService;
public GiftService giftService;
public GiftExchangeInfoService giftExchangeInfoService;
public MessageService messageService;
public GiftService giftService;
public PointGetService pointGetService;
public PrefectureService prefectureService;
public MemberCardReceiptService memberCardReceiptService;
/**
* 初期表示
*/
@Execute(validator = false)
public String index(){
......@@ -57,28 +65,16 @@ public class PointUseAction extends AbstractAction {
if(member == null){
return "/user/login/";
}
// 最新のユーザー情報を取得
member = memberService.findById(member.memberId);
//最新のユーザー情報を取得
super.setAuthenticatedToken(member, UserType.USER);
//住所、連絡先が未登録ユーザの場合、会員情報変更画面に遷移する。
// if(member.cityName == null ||
// member.areaName == null ||
// member.buildingName == null ||
// member.telno == null ||
// member.zipCode == null
// ){
// return "/user/userEdit/uEdit.html";
// }
// メンバー情報バリデーション
if (StringUtil.isBlank(member.zipCode) || member.prefectureId == null || StringUtil.isBlank(member.cityName) || StringUtil.isBlank(member.areaName) || StringUtil.isBlank(member.telno)
|| StringUtil.isBlank(member.firstName) || StringUtil.isBlank(member.lastName) || StringUtil.isBlank(member.firstNameKana) || StringUtil.isBlank(member.lastNameKana)
|| member.genderCd == null || StringUtil.isBlank(member.birthday)) {
ActionMessages messages = (ActionMessages)request.getAttribute(Globals.ERROR_KEY);
if (messages == null) {
messages = new ActionMessages();
}
......@@ -89,66 +85,181 @@ public class PointUseAction extends AbstractAction {
return "/user/userEdit/";
}
pointUseForm.giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfo();
pointUseForm.message = messageService.findById(SinaburoConstant.MessageCode.POINT_USE);
// ポイント交換利用方法取得
pointUseForm.giftExchangeInfoList = giftExchangeInfoService.findGiftExchangeInfoList();
//ポイント利用画面
return "/user/pointUse/pointUseIndex.html";
}
public GiftExchangeInfoService giftExchangeInfoService;
/**
* 期間内か判定し、ポイントセット画面へ遷移
* @return
*/
@Execute(validator = false)
public String pointUse(){
GiftExchangeInfo giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfo();
String giftExchangeInfoIdStr = request.getParameter("giftExchangeInfoId");
Integer giftExchangeInfoId = -1;
if(giftExchangeInfoIdStr.isEmpty()) {
request.setAttribute("errMsg", SinaburoViewUtil.getMessage("errors.E000"));
return "/error/errorMsg.html";
}
giftExchangeInfoId = Integer.parseInt(giftExchangeInfoIdStr);
// IDからポイント交換タイプを格納
pointUseForm.giftType = (giftExchangeInfoId == SinaburoConstant.giftType.ECOBO) ? SinaburoConstant.giftType.ECOBO : SinaburoConstant.giftType.ICHICO;
GiftExchangeInfo giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfoById(giftExchangeInfoId);
// ポイント交換期間外はエラー
if(!(Integer.parseInt(giftExchangeInfo.startDate) <= Integer.parseInt(SinaburoUtil.getToDayString()) &&
Integer.parseInt(giftExchangeInfo.endDate) >= Integer.parseInt(SinaburoUtil.getToDayString()) )){
//if(!(Integer.parseInt(today.substring(6,8)) >= 5 && Integer.parseInt(today.substring(6,8)) <= 15)){
//addErrorMessage("dayError", "errors.E035");
//return index();
if(!(Integer.parseInt(giftExchangeInfo.startDate) <= Integer.parseInt(SinaburoUtil.getToDayString())
&& Integer.parseInt(SinaburoUtil.getToDayString()) <= Integer.parseInt(giftExchangeInfo.endDate) )
){
request.setAttribute("errMsg", giftExchangeInfo.expiredMessage);
return "/error/errorMsg.html";
}
//景品取得
pointUseForm.giftList = giftService.findAllOrderById();
// ポイント交換用プルダウン取得
pointUseForm.giftList = giftService.findByGiftType(pointUseForm.giftType);
//ポイント利用画面
return "/user/pointUse/pointUse.html";
}
/**
* ポイント利用確認(入力情報確認ボタン押下)
* 交換ポイント確認
* @return
*/
@Execute(validator = false)
public String confirm() {
Member member = getMember();
if(member == null){
return "/user/login/";
}
// ポイント情報取得
Gift gift = giftService.findById(Integer.parseInt(pointUseForm.giftId));
//選択した枚数が保有ポイント数より少ない場合
if( member.pointNum < gift.requiredPoint){
addError(SinaburoViewUtil.getMessage("errors.E013"));
return "/user/pointUse/pointUse.html";
}
if(SinaburoConstant.giftType.ICHICO.equals(pointUseForm.giftType)) {
// ICHICOポイント会員番号入力画面
return "/user/pointUse/memberConfirm.html";
} else {
TokenProcessor.getInstance().saveToken(request);
// ポイント交換申請確認画面
return "/user/pointUse/pointUseConfirm.html";
}
}
/**
* 会員番号確認(ICHICOポイント交換時のみ)
* @return
*/
@Execute(validator = false)
public String memberConfirm() {
Member member = getMember();
if(member == null){
return "/user/login/";
}
// 入力データバリデーション
if(pointUseForm.memberNum.isEmpty()) {
addError(SinaburoViewUtil.getMessage("errors.E067"));
return "/user/pointUse/memberConfirm.html";
}
if(!pointUseForm.memberNum.matches("^[0-9]+$")) {
addError(SinaburoViewUtil.getMessage("errors.E068"));
return "/user/pointUse/memberConfirm.html";
}
if(pointUseForm.memberNum.length() != 8) {
addError(SinaburoViewUtil.getMessage("errors.E069"));
return "/user/pointUse/memberConfirm.html";
}
TokenProcessor.getInstance().saveToken(request);
//ポイント交換申請確認画面
// ポイント交換申請確認画面
return "/user/pointUse/pointUseConfirm.html";
}
/**
* 会員登録方法ページ
* @return
*/
@Execute(validator = false)
public String memberRegistPage() {
// 当月を取得
SimpleDateFormat sdf = new SimpleDateFormat("MM");
String month = sdf.format(SinaburoUtil.getTimestamp());
// 申請済みか判定
if(memberCardReceiptService.findByMemberIdAndMonth(getMember().memberId, month)){
addError(SinaburoViewUtil.getMessage("errors.E070"));
return "/user/pointUse/memberConfirm.html";
}
return "/user/pointUse/memberRegistPage.html";
}
/**
* 郵送先確認
* @return
*/
@Execute(validator = false)
public String confirmOfAddress() {
Member member = getMember();
if(member == null){
return "/user/login/";
}
// 最新のユーザー情報を取得
member = memberService.findById(member.memberId);
if(member.prefectureId != null) {
Prefecture prefecture = prefectureService.findNameById(member.prefectureId);
member.prefecture = prefecture;
}
// 住所をセット
request.setAttribute("member", member);
TokenProcessor.getInstance().saveToken(request);
return "/user/pointUse/confirmOfAddress.html";
}
/**
* 郵送受付の完了メールを送信する
* @return
*/
@Execute(validator = false)
public String sendEmailForMemberCardReceipt() {
Member member = getMember();
if(member == null){
return "/user/login/";
}
member = memberService.findById(member.memberId);
// カード郵送申請情報をDBに登録する
memberCardReceiptService.insertMemberCardReceipt(member);
//メール送信
try {
Message message = messageService.findById(SinaburoConstant.MessageCode.MEMBER_CARD_RECEIPT);
if (!StringUtil.isBlank(member.pcEmail)) {
MailUtil.send(member.pcEmail, PropertyUtil.getProperty("MEMBER_CARD_RECEIPT_MAIL_TITLE"), message.message);
}
if (!StringUtil.isBlank(member.mbEmail)) {
MailUtil.send(member.mbEmail, PropertyUtil.getProperty("MEMBER_CARD_RECEIPT_MAIL_TITLE"), message.message);
}
} catch (Exception e) {
logger.warn("Mail send failed." + e.toString());
addError(SinaburoViewUtil.getMessage("errors.E055"));
return "/user/pointUse/confirmOfAddress.html";
}
return index();
}
/**
* ポイント交換申請ボタン押下
* @return 遷移先パス。
* @throws MessagingException
......@@ -171,15 +282,25 @@ public class PointUseAction extends AbstractAction {
addError(SinaburoViewUtil.getMessage("errors.E013"));
return "/user/pointUse/pointUse";
}
// 会員番号更新
if(SinaburoConstant.giftType.ICHICO.equals(pointUseForm.giftType)) {
member.memberNum = pointUseForm.memberNum;
}
//2.ユーザのポイント数より消費ポイント数を減算しDBに登録する。
//3.ポイント交換申請情報をDBに登録する。
pointGetService.cutDownPointLogic(gift,member);
getMember().pointNum = member.pointNum;
//メール送信
//■メール送信
try {
GiftExchangeInfo giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfo();
GiftExchangeInfo giftExchangeInfo = new GiftExchangeInfo();
if(SinaburoConstant.giftType.ECOBO.equals(pointUseForm.giftType)) {
giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfoById(SinaburoConstant.giftType.ECOBO);
} else {
giftExchangeInfo = giftExchangeInfoService.findGiftExchangeInfoById(SinaburoConstant.giftType.ICHICO);
}
if (!StringUtil.isBlank(member.pcEmail)) {
MailUtil.send(member.pcEmail, PropertyUtil.getProperty("POINT_USE_MAIL_TITLE"), giftExchangeInfo.mailBody);
}
......
......@@ -5,12 +5,20 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.RequestUtil;
import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.SinaburoConstant.UserType;
import jp.agentec.sinaburocast.common.exception.ExpectedException;
import jp.agentec.sinaburocast.common.exception.SystemException;
import jp.agentec.sinaburocast.common.util.BirthdayUtil;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.common.util.SinaburoViewUtil;
import jp.agentec.sinaburocast.entity.Member;
......@@ -21,16 +29,6 @@ import jp.agentec.sinaburocast.service.MemberService;
import jp.agentec.sinaburocast.service.PostalcodeService;
import jp.agentec.sinaburocast.service.PrefectureService;
import org.apache.log4j.Logger;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.TokenProcessor;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.RequestUtil;
/**
* 会員情報編集
......@@ -485,4 +483,15 @@ public class UserEditAction extends AbstractAction {
return "/user/userEdit/uEditEnd.html";
}
/**
* 郵送先確認画面からの遷移
* @return
* @throws ParseException
*/
@Execute(validator = false)
public String indexFromConfirmAddress() throws ParseException {
userEditForm.cofirmReturn = true;
return index();
}
}
......@@ -319,8 +319,14 @@ public interface SinaburoConstant {
/** パスワード確認 */
int PASS_WORD_CONFIRM = 5;
/** ポイント利用 */
int POINT_USE = 6;
/** ポイント利用(エコボ満点カード) */
int POINT_USE_ECOBO = 6;
/** ポイント利用(ICHICOポイント) */
int POINT_USE_ICHICO = 9;
/** 郵送受付の完了メール*/
int MEMBER_CARD_RECEIPT = 10;
/** 空メール会員登録済み */
int MEMBER_REGISTERD = 7;
......@@ -604,6 +610,16 @@ public interface SinaburoConstant {
String notRegist = "notRegistOperationHistoryKey";
}
/**
* ポイント交換タイプ(2023年11月頃にエコボ廃止予定)
* @author nakamura-k
*
*/
interface giftType{
Integer ECOBO = 1;
Integer ICHICO = 2;
}
}
......@@ -33,6 +33,9 @@ public class Gift extends AbstractEntity {
@Column(name = "required_point")
public Integer requiredPoint;
@Column(name = "gift_type")
public Integer giftType;
@OneToMany(mappedBy = "gift")
public List<GiftExchange> giftExchange;
......
package jp.agentec.sinaburocast.entity;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
......@@ -15,7 +13,6 @@ import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
@Entity
@Table(name="m_member")
......@@ -100,6 +97,9 @@ public class Member extends AbstractEntity {
@Column(name = "local_city_flg")
public Integer localCityFlg;
@Column(name = "member_num")
public String memberNum;
@OneToMany(mappedBy = "member")
public List<MemberWithdraw> memberWithdrawList;
......
package jp.agentec.sinaburocast.entity;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name="t_member_card_receipt")
public class MemberCardReceipt extends AbstractEntity {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(name = "member_card_receipt_id")
public Integer memberCardReceiptId;
@Column(name = "member_id")
public Integer memberId;
@Temporal(TemporalType.DATE)
@Column(name = "apply_date")
public Timestamp applyDate;
@ManyToOne
@JoinColumn(name = "member_id", referencedColumnName = "member_id")
public Member member;
}
package jp.agentec.sinaburocast.form.admin.enquete;
import java.util.ArrayList;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import jp.agentec.sinaburocast.entity.MemberCardReceipt;
import jp.agentec.sinaburocast.form.admin.setting.PagingForm;
/**
* (磁気カード)郵送申請検索Form
*
* @author nakamura-k
*
*/
@Component(instance=InstanceType.SESSION)
public class MemberCardReceiptSearchForm extends PagingForm{
/** 申請日(From) */
public String fromDay;
/** 申請日(To) */
public String toDay;
/** 検索結果 */
public ArrayList<MemberCardReceipt> searchResultList;
public void resetIndex(){
fromDay = null;
toDay = null;
searchResultList = null;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, StandardToStringStyle.SIMPLE_STYLE).toString();
}
}
......@@ -2,12 +2,12 @@ package jp.agentec.sinaburocast.form.user;
import java.util.List;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
import jp.agentec.sinaburocast.entity.Gift;
import jp.agentec.sinaburocast.entity.GiftExchangeInfo;
import jp.agentec.sinaburocast.entity.Message;
import org.apache.commons.lang.builder.StandardToStringStyle;
import org.apache.commons.lang.builder.ToStringBuilder;
/**
* ポイント利用Form
*
......@@ -28,8 +28,13 @@ public class PointUseForm {
public Message message;
public List<GiftExchangeInfo> giftExchangeInfoList;
// ポイント利用方法タイプ(エコボ満点カード、ICHICOポイント)
public Integer giftType;
public GiftExchangeInfo giftExchangeInfo;
// ICHICO会員番号
public String memberNum;
// public void reset() {
// giftList = new ArrayList<Gift>();
......
......@@ -76,6 +76,9 @@ public class UserEditForm {
public String birthdayM;
public String birthdayD;
// 郵送先確認画面へ遷移するかのフラグ
public boolean cofirmReturn;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, StandardToStringStyle.DEFAULT_STYLE).toString();
......
package jp.agentec.sinaburocast.service;
import jp.agentec.sinaburocast.entity.AdminUser;
import jp.agentec.sinaburocast.entity.GiftExchangeInfo;
import java.util.List;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import jp.agentec.sinaburocast.entity.AdminUser;
import jp.agentec.sinaburocast.entity.GiftExchangeInfo;
@Component(instance=InstanceType.SINGLETON)
public class GiftExchangeInfoService extends AbstractService<GiftExchangeInfo> {
......@@ -24,4 +26,14 @@ public class GiftExchangeInfoService extends AbstractService<GiftExchangeInfo> {
return select().getSingleResult();
}
// 全検索
public List<GiftExchangeInfo> findGiftExchangeInfoList() {
return select().orderBy("giftExchangeInfoId asc").getResultList();
}
// IDで検索
public GiftExchangeInfo findGiftExchangeInfoById(Integer giftExchangeInfoId) {
return select().where(new SimpleWhere().eq("giftExchangeInfoId",giftExchangeInfoId )).getSingleResult();
}
}
\ No newline at end of file
......@@ -5,11 +5,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.entity.GiftExchange;
import jp.agentec.sinaburocast.form.admin.enquete.GiftExchangeSearchForm;
import org.apache.log4j.Logger;
import org.seasar.extension.jdbc.AutoSelect;
import org.seasar.extension.jdbc.where.SimpleWhere;
......@@ -17,6 +12,11 @@ import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import org.seasar.framework.util.StringUtil;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.entity.GiftExchange;
import jp.agentec.sinaburocast.form.admin.enquete.GiftExchangeSearchForm;
@Component(instance=InstanceType.SINGLETON)
public class GiftExchangeService extends AbstractService<GiftExchange> {
......@@ -116,41 +116,44 @@ public class GiftExchangeService extends AbstractService<GiftExchange> {
public String getGiftExchangeForCsv(GiftExchangeSearchForm giftExchangeSearchForm) throws UnsupportedEncodingException, Exception{
StringBuffer str = new StringBuffer();
str.append("\"申請日\"\t\"会員ID\"\t\"氏名\"\t\"メールアドレス\"\t\"申請枚数\"\t\"郵便番号\"\t\"都道府県\"\t\"市区町村\"\t\"町名・番地\"\t\"建物名\""+"\r\n");
str.append("\"申請日\",\"会員ID\",\"氏名\",\"メールアドレス\",\"申請枚数\",\"郵便番号\",\"都道府県\",\"市区町村\",\"町名・番地\",\"建物名\",\"会員番号\""+"\r\n");
List<GiftExchange> giftExchangeList = getGiftExchangeByFromDayAndToDay(giftExchangeSearchForm);
for (GiftExchange giftExchange : giftExchangeList) {
//申請日
str.append("\"" + SinaburoUtil.dateToString2(giftExchange.applyDate) + "\"\t");
str.append("\"" + SinaburoUtil.dateToString2(giftExchange.applyDate) + "\",");
//会員ID
str.append("\"" + giftExchange.memberId +"\"\t");
str.append("\"" + giftExchange.memberId +"\",");
//氏名
str.append("\"" + giftExchange.member.firstName + " " + giftExchange.member.lastName + "\"\t");
str.append("\"" + giftExchange.member.firstName + " " + giftExchange.member.lastName + "\",");
//メールアドレス
str.append("\"" + giftExchange.member.pcEmail +"\"\t");
str.append("\"" + giftExchange.member.pcEmail +"\",");
//申請枚数
str.append("\"" + giftExchange.cnt + "\"\t");
str.append("\"" + giftExchange.cnt + "\",");
//郵便番号
str.append("\"" + giftExchange.member.zipCode + "\"\t");
str.append("\"" + giftExchange.member.zipCode + "\",");
//都道府県
str.append("\"" + giftExchange.member.prefecture.prefecture + "\"\t");
str.append("\"" + giftExchange.member.prefecture.prefecture + "\",");
//市区町村
str.append("\"" + giftExchange.member.cityName + "\"\t");
str.append("\"" + giftExchange.member.cityName + "\",");
//町名・番地
str.append("\"" + giftExchange.member.areaName + "\"\t");
str.append("\"" + giftExchange.member.areaName + "\",");
//建物名
str.append("\"" + giftExchange.member.buildingName + "\"");
str.append("\"" + giftExchange.member.buildingName + "\",");
//会員番号
str.append("\"" + giftExchange.member.memberNum + "\"");
str.append("\r\n");
......
......@@ -2,6 +2,7 @@ package jp.agentec.sinaburocast.service;
import java.util.List;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
......@@ -17,4 +18,9 @@ public class GiftService extends AbstractService<Gift> {
public List<Gift> findAllOrderById() {
return select().orderBy("giftId asc").getResultList();
}
// ギフトタイプで検索
public List<Gift> findByGiftType(Integer giftType) {
return select().where(new SimpleWhere().eq("giftType",giftType )).orderBy("giftId asc").getResultList();
}
}
\ No newline at end of file
package jp.agentec.sinaburocast.service;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.seasar.extension.jdbc.AutoSelect;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import org.seasar.framework.util.StringUtil;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.entity.Member;
import jp.agentec.sinaburocast.entity.MemberCardReceipt;
import jp.agentec.sinaburocast.form.admin.enquete.MemberCardReceiptSearchForm;
@Component(instance=InstanceType.SINGLETON)
public class MemberCardReceiptService extends AbstractService<MemberCardReceipt> {
private final Logger logger = Logger.getLogger(getClass());
private static final String ID_SEQ_NAME = "member_card_receipt_id_seq";
/**
* IDを発行して、登録する。
*
*/
public int insertMemberCardReceipt(MemberCardReceipt memberCardReceipt, String insId) {
memberCardReceipt.memberCardReceiptId = getSeqNextVal(Integer.class, ID_SEQ_NAME);
return super.insert(memberCardReceipt, insId);
}
public MemberCardReceipt findById(Integer memberCardReceiptId) {
return select().id(memberCardReceiptId).getSingleResult();
}
public List<MemberCardReceipt> findAllOrderById() {
return select().orderBy("memberCardReceiptId asc").getResultList();
}
public List<MemberCardReceipt> findBymemberIdList(Integer memberId) {
return select().where(new SimpleWhere().eq("memberId", memberId)).getResultList();
}
/**
* カード郵送申請情報を登録する
* @param member
*/
public void insertMemberCardReceipt(Member member) {
MemberCardReceipt memberCardReceipt = new MemberCardReceipt();
memberCardReceipt.memberId = member.memberId;
memberCardReceipt.applyDate = SinaburoUtil.getTimestamp();
insertMemberCardReceipt(memberCardReceipt, member.loginId);
}
/**
* カード郵送申請情報取得(画面用)
* @param memberCardReceiptSearchForm
* @return ArrayList<MemberCardReceipt>
*/
public ArrayList<MemberCardReceipt> findAllByPaging(MemberCardReceiptSearchForm memberCardReceiptSearchForm){
//件数取得
AutoSelect<MemberCardReceipt> counter = this.getAutoSelectForFindAllByPaging(memberCardReceiptSearchForm);
memberCardReceiptSearchForm.setPaging(null, memberCardReceiptSearchForm.pageNo, counter.getCount());
//結果取得
return (ArrayList<MemberCardReceipt>)this.getAutoSelectForFindAllByPaging(memberCardReceiptSearchForm).orderBy("applyDate,memberId")
.offset(memberCardReceiptSearchForm.getOffSet(""))
.limit(memberCardReceiptSearchForm.getLimit(""))
.getResultList();
}
/**
* 会員IDと月で検索し、データの有無を判定する
* @return
*/
public boolean findByMemberIdAndMonth(Integer memberId, String month) {
List<MemberCardReceipt> resultList = findBymemberIdList(memberId);
if(resultList.size() == 0) {
return false;
}
SimpleDateFormat sdf = new SimpleDateFormat("MM");
for(MemberCardReceipt memberCardReceipt : resultList) {
String applyMonth = sdf.format(memberCardReceipt.applyDate);
if(month.equals(applyMonth)) {
return true;
}
}
return false;
}
/**
* カード郵送申請情報を検索するための、AutoSelectを返す。
* @param memberCardReceiptSearchForm
* @return AutoSelect<MemberCardReceipt>
*/
private AutoSelect<MemberCardReceipt> getAutoSelectForFindAllByPaging(MemberCardReceiptSearchForm memberCardReceiptSearchForm){
Date fromDay = null;
Date toDay = null;
if (!StringUtil.isBlank(memberCardReceiptSearchForm.fromDay)){
fromDay=SinaburoUtil.convertStringToTimestamp(memberCardReceiptSearchForm.fromDay,"yyyy-MM-dd");
}
if (!StringUtil.isBlank(memberCardReceiptSearchForm.toDay)){
toDay=SinaburoUtil.convertStringToTimestamp(SinaburoUtil.getNextDay(memberCardReceiptSearchForm.toDay),"yyyy-MM-dd");
}
return select().innerJoin("member").innerJoin("member.prefecture").where(new SimpleWhere()
.ge("applyDate", fromDay)
.lt("applyDate", toDay)
.eq("member.validFlg", SinaburoConstant.MemberValidFlg.VALID)
.eq("member.delFlg", SinaburoConstant.MemberDelFlg.NOT_DEL));
}
/**
* CSVファイル出力ポイント交換申請情報取得
* @param memberCardReceiptSearchForm
* @return String ポイント交換申請情報文字列
*/
public String getMemberCardReceiptForCsv(MemberCardReceiptSearchForm memberCardReceiptSearchForm) throws UnsupportedEncodingException, Exception{
StringBuffer str = new StringBuffer();
str.append("\"申請日\",\"会員ID\",\"氏名\",\"郵便番号\",\"都道府県\",\"市区町村\",\"町名・番地\",\"建物名\",\"電話番号\""+"\r\n");
List<MemberCardReceipt> memberCardReceiptList = getMemberCardReceiptByFromDayAndToDay(memberCardReceiptSearchForm);
for (MemberCardReceipt memberCardReceipt : memberCardReceiptList) {
//申請日
str.append("\"" + SinaburoUtil.dateToString2(memberCardReceipt.applyDate) + "\",");
//会員ID
str.append("\"" + memberCardReceipt.memberId +"\",");
//氏名
str.append("\"" + memberCardReceipt.member.firstName + " " + memberCardReceipt.member.lastName + "\",");
//郵便番号
str.append("\"" + memberCardReceipt.member.zipCode + "\",");
//都道府県
str.append("\"" + memberCardReceipt.member.prefecture.prefecture + "\",");
//市区町村
str.append("\"" + memberCardReceipt.member.cityName + "\",");
//町名・番地
str.append("\"" + memberCardReceipt.member.areaName + "\",");
//建物名
str.append("\"" + memberCardReceipt.member.buildingName + "\",");
//電話番号
str.append("\"" + memberCardReceipt.member.telno + "\"");
str.append("\r\n");
}
return str.toString();
}
/**
* ポイント交換申請情報取得(CSV出力用)
* @param memberCardReceiptSearchForm
* @return List<MemberCardReceipt>
*/
private List<MemberCardReceipt> getMemberCardReceiptByFromDayAndToDay(MemberCardReceiptSearchForm memberCardReceiptSearchForm){
Date fromDay = null;
Date toDay = null;
//#30951 「ポイント交換申請結果CSV出力」でエラー画面 対応
if (!StringUtil.isBlank(memberCardReceiptSearchForm.fromDay)){
logger.info("memberCardReceiptSearchForm.fromDay:" + memberCardReceiptSearchForm.fromDay);
fromDay = SinaburoUtil.convertStringToTimestamp(memberCardReceiptSearchForm.fromDay,"yyyy-MM-dd");
}
if (!StringUtil.isBlank(memberCardReceiptSearchForm.toDay)){
logger.info("memberCardReceiptSearchForm.toDay:" + memberCardReceiptSearchForm.toDay);
toDay = SinaburoUtil.convertStringToTimestamp(SinaburoUtil.getNextDay(memberCardReceiptSearchForm.toDay),"yyyy-MM-dd");
}
return select().innerJoin("member").innerJoin("member.prefecture").where(new SimpleWhere()
.ge("applyDate", fromDay)
.lt("applyDate", toDay)
.eq("member.validFlg", SinaburoConstant.MemberValidFlg.VALID)
.eq("member.delFlg", SinaburoConstant.MemberDelFlg.NOT_DEL))
.orderBy("applyDate,memberId")
.getResultList();
}
}
\ No newline at end of file
......@@ -6,6 +6,16 @@ import java.util.List;
import javax.mail.MessagingException;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.seasar.extension.jdbc.AutoSelect;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.beans.util.BeanMap;
import org.seasar.framework.beans.util.Beans;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import org.seasar.framework.util.StringUtil;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.util.MailUtil;
import jp.agentec.sinaburocast.common.util.PropertyUtil;
......@@ -24,16 +34,6 @@ import jp.agentec.sinaburocast.entity.PointGet;
import jp.agentec.sinaburocast.form.admin.member.MemberReportForm;
import jp.agentec.sinaburocast.form.admin.member.MemberSearchForm;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.seasar.extension.jdbc.AutoSelect;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.beans.util.BeanMap;
import org.seasar.framework.beans.util.Beans;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import org.seasar.framework.util.StringUtil;
@Component(instance = InstanceType.SINGLETON)
public class MemberService extends AbstractService<Member> {
......
......@@ -3,6 +3,11 @@ package jp.agentec.sinaburocast.service;
import java.util.List;
import java.util.Map;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.beans.util.BeanMap;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
import jp.agentec.sinaburocast.common.SinaburoConstant;
import jp.agentec.sinaburocast.common.util.SinaburoUtil;
import jp.agentec.sinaburocast.dto.PointRecoveryDto;
......@@ -11,11 +16,6 @@ import jp.agentec.sinaburocast.entity.GiftExchange;
import jp.agentec.sinaburocast.entity.Member;
import jp.agentec.sinaburocast.entity.PointGet;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.beans.util.BeanMap;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
@Component(instance = InstanceType.SINGLETON)
public class PointGetService extends AbstractService<PointGet> {
......@@ -115,7 +115,11 @@ public class PointGetService extends AbstractService<PointGet> {
GiftExchange giftExchange = new GiftExchange();
giftExchange.memberId = member.memberId;
giftExchange.giftId = gift.giftId;
if(SinaburoConstant.giftType.ECOBO.equals(gift.giftType)) {
giftExchange.cnt = gift.requiredPoint / SinaburoConstant.ECHOBO_MAI_POINT.MAI1;
} else {
giftExchange.cnt = gift.requiredPoint * 2;
}
giftExchange.applyDate = SinaburoUtil.getTimestamp();
giftExchangeService.insertGiftExchange(giftExchange, member.loginId);
......
......@@ -2,6 +2,7 @@ package jp.agentec.sinaburocast.service;
import java.util.List;
import org.seasar.extension.jdbc.where.SimpleWhere;
import org.seasar.framework.container.annotation.tiger.Component;
import org.seasar.framework.container.annotation.tiger.InstanceType;
......@@ -17,4 +18,10 @@ public class PrefectureService extends AbstractService<Prefecture> {
public List<Prefecture> findAllOrderById() {
return select().orderBy("prefectureId asc").getResultList();
}
// IDで検索
public Prefecture findNameById(Integer prefectureId) {
return select().where(new SimpleWhere().eq("prefectureId",prefectureId )).getSingleResult();
}
}
\ No newline at end of file
......@@ -108,6 +108,10 @@ errors.E063=\u5b58\u5728\u3057\u306a\u3044\u30a2\u30f3\u30b1\u30fc\u30c8ID\u3067
errors.E064=\u30a2\u30f3\u30b1\u30fc\u30c8ID\u306f\u5fc5\u9808\u3067\u3059\u3002
errors.E065=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306f\u5fc5\u9808\u3067\u3059\u3002
errors.E066=\u914d\u4fe1\u5bfe\u8c61\u306f\u5fc5\u9808\u3067\u3059\u3002
errors.E067=ICHICO\u30dd\u30a4\u30f3\u30c8\u4f1a\u54e1\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
errors.E068=ICHICO\u30dd\u30a4\u30f3\u30c8\u4f1a\u54e1\u756a\u53f7\u306f\u534a\u89d2\u6570\u5b57\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
errors.E069=ICHICO\u30dd\u30a4\u30f3\u30c8\u4f1a\u54e1\u756a\u53f7\u306f8\u6841\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
errors.E070=\u5f53\u6708\u306f\u65e2\u306b\u7533\u8acb\u6e08\u307f\u3067\u3059\u3002
#\u30b7\u30b9\u30c6\u30e0
errors.S000=\u30b7\u30b9\u30c6\u30e0\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
......
......@@ -70,7 +70,7 @@ $!tools.getMsg("dateError") $!tools.getMsg("dateError_1") $!tools.getMsg("dateEr
<div style="width:844px; overflow-x: auto;">
<table border="0" cellpadding="0" cellspacing="0" class="stripe" style="width:1244px;">
<table border="0" cellpadding="0" cellspacing="0" class="stripe" style="width:1324px;">
<colgroup>
<col width="100px">
<col width="80px">
......@@ -82,6 +82,7 @@ $!tools.getMsg("dateError") $!tools.getMsg("dateError_1") $!tools.getMsg("dateEr
<col width="184px">
<col width="200px">
<col width="200px">
<col width="80px">
</colgroup>
<thead>
<tr>
......@@ -95,6 +96,7 @@ $!tools.getMsg("dateError") $!tools.getMsg("dateError_1") $!tools.getMsg("dateEr
<th class="t_center">市区町村</th>
<th class="t_center">町名・番地</th>
<th class="t_center">建物名</th>
<th class="t_center">会員番号</th>
</tr>
</thead>
<tbody>
......@@ -110,6 +112,7 @@ $!tools.getMsg("dateError") $!tools.getMsg("dateError_1") $!tools.getMsg("dateEr
<td class="tdDiv">$!escape.html($!giftExchange.member.cityName)</td>
<td class="tdDiv">$!escape.html($!giftExchange.member.areaName)</td>
<td class="tdDiv">$!escape.html($!giftExchange.member.buildingName)</td>
<td class="tdDiv">$!giftExchange.member.memberNum</td>
</tr>
#end
</tbody>
......
#set($title = "カード郵送申請検索")
#set($menukubun = "3")
#parse( "/WEB-INF/view/common/header_admin.vm" )
<script language="javascript" type="text/javascript" charset="utf-8">
<!--
function report_download(){
document.frm.action="#q('/admin/enquete/memberCardReceiptSearch/reportDownload/')";
document.frm.submit();
}
function member_card_receipt_search(){
document.frm.action="#q('/admin/enquete/memberCardReceiptSearch/memberCardReceiptSearch/1')";
document.frm.submit();
}
//開始日
$(function() {
$('#fromDay').datepick({showTrigger: '#calFromDate'
});
});
//終了日
$(function() {
$('#toDay').datepick({showTrigger: '#calToDate'});
});
// -->
</script>
<div id="contents">
<div id="contents_main">
<div id="breadcrumbsWrap">
</div><!--[ /breadcrumbsWrap ]-->
<div id="main" class="clearfix">
<h2 class="contents_title">カード郵送申請検索</h2>
<form method="POST" action="#q('/admin/enquete/memberCardReceiptSearch/memberCardReceiptSearch/1')" name="frm">
<div id="right_contents">
<div id="search">
$!tools.getMsg("dateError") $!tools.getMsg("dateError_1") $!tools.getMsg("dateError_2")
<table border="0" cellspacing="5" cellpadding="0" class="stripe3 w790">
<tr class="gray">
<td class="w100">申請日(From)</td>
<td><input name="fromDay" id="fromDay" type="text" class="w180 mgl10" value="$!escape.html($!memberCardReceiptSearchForm.fromDay)">
<div style="display: none;"><img id="calFromDate" src="/em/images/icon_cal.gif" style="padding-left:5px;padding-right:5px; vertical-align: middle;"></div>
</td>
<td class="w100">申請日(To)</td>
<td><input name="toDay" id="toDay" type="text" class="w180 mgl10" value="$!escape.html($!memberCardReceiptSearchForm.toDay)">
<div style="display: none;"><img id="calToDate" src="/em/images/icon_cal.gif" style="padding-left:5px;padding-right:5px; vertical-align: middle;"></div></td>
</tr>
<tr>
<td align="center" colspan="7"><br>
##<a href="#" onclick="member_card_receipt_search(); return false;"><img src="/em/images/enq_01_btn_03_off.jpg" width="100" height="35" alt="検索" /></a>
<input type="button" class="button" value="検索" onclick="member_card_receipt_search();"/>
</td>
</tr>
</table>
</div>
#if($memberCardReceiptSearchForm.searchResultList && $!memberCardReceiptSearchForm.searchResultList.size() > 0)
■該当件数 $!{memberCardReceiptSearchForm.pagingMap.paging.totalCnt}件中 &nbsp;&nbsp;$!{memberCardReceiptSearchForm.pagingMap.paging.firstIndex} ~ $!{memberCardReceiptSearchForm.pagingMap.paging.lastIndex}件
<BR><BR>
<h3 class="table_title">検索結果一覧</h3>
<div style="width:844px; overflow-x: auto;">
<table border="0" cellpadding="0" cellspacing="0" class="stripe" style="width:1124px;">
<colgroup>
<col width="100px">
<col width="80px">
<col width="100px">
<col width="80px">
<col width="100px">
<col width="184px">
<col width="200px">
<col width="200px">
<col width="80px">
</colgroup>
<thead>
<tr>
<th class="t_center">申請日</th>
<th class="t_center">会員ID</th>
<th class="t_center">氏名</th>
<th class="t_center">郵便番号</th>
<th class="t_center">都道府県</th>
<th class="t_center">市区町村</th>
<th class="t_center">町名・番地</th>
<th class="t_center">建物名</th>
<th class="t_center">電話番号</th>
</tr>
</thead>
<tbody>
#foreach($memberCardReceipt in $!memberCardReceiptSearchForm.searchResultList)
<tr #if($velocityCount % 2 == 0) class="white dot_line" #else class="gray" #end >
<td class="tdDiv t_center">$date.format("yyyy/MM/dd",$!memberCardReceipt.applyDate)</td>
<td class="tdDiv">$!memberCardReceipt.memberId</td>
<td class="tdDiv">$!escape.html($!memberCardReceipt.member.firstName) $!escape.html($!memberCardReceipt.member.lastName)&nbsp;</td>
<td class="tdDiv">$!memberCardReceipt.member.zipCode</td>
<td class="tdDiv">$!memberCardReceipt.member.prefecture.prefecture</td>
<td class="tdDiv">$!escape.html($!memberCardReceipt.member.cityName)</td>
<td class="tdDiv">$!escape.html($!memberCardReceipt.member.areaName)</td>
<td class="tdDiv">$!escape.html($!memberCardReceipt.member.buildingName)</td>
<td class="tdDiv">$!memberCardReceipt.member.telno</td>
</tr>
#end
</tbody>
</table>
</div>
<!--▼ページング▼-->
<ul class="pageNav01">
#makeLink("#q('/admin/enquete/memberCardReceiptSearch/memberCardReceiptSearch/')",$memberCardReceiptSearchForm.pagingMap.paging)
<a href="#" onclick="report_download(); return false;"><button class="button1">郵送申請結果CSV出力</button></a>
</ul>
<!--▲ページング▲-->
#else
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
#end
<br/>
</div>
</form>
</div>
<div id="contents_bottom">
<img src="/em/images/bg_contents_bottom.jpg" width="1036" height="15" /> </div> </div>
</div>
</div>
</div>
#parse( "/WEB-INF/view/common/footer_admin.vm" )
\ No newline at end of file
......@@ -35,8 +35,8 @@
function messageChange(){
sel_type_index = document.forms[0].messageCd.selectedIndex;
if(sel_type_index=="5"){
console.log(sel_type_index);
if(sel_type_index=="5" || sel_type_index=="6"){
document.getElementById("expiredMessage").style.display ="";
document.getElementById("mailBody").style.display ="";
document.getElementById("shinseiPeriod").style.display ="";
......@@ -78,7 +78,9 @@
<option value="3" #if($!messageRegistForm.messageCd == "3") selected #end>現在回答可能なアンケート</option>
<option value="4" #if($!messageRegistForm.messageCd == "4") selected #end>1%支援制度の状況</option>
<option value="5" #if($!messageRegistForm.messageCd == "5") selected #end>パスワード確認</option>
<option value="6" #if($!messageRegistForm.messageCd == "6") selected #end>ポイント利用</option>
<option value="6" #if($!messageRegistForm.messageCd == "6") selected #end>ポイント利用(エコボ満点カード)</option>
<option value="9" #if($!messageRegistForm.messageCd == "9") selected #end>ポイント利用(ICHICOポイント)</option>
<option value="10" #if($!messageRegistForm.messageCd == "10") selected #end>郵送受付の完了メール</option>
<option value="7" #if($!messageRegistForm.messageCd == "7") selected #end>会員登録完了済みメール</option>
<option value="8" #if($!messageRegistForm.messageCd == "8") selected #end>会員登録確認メール</option>
</select>
......
......@@ -56,7 +56,9 @@
#if($!messageRegistForm.messageCd == "3") 現在回答可能なアンケート #end
#if($!messageRegistForm.messageCd == "4") 1%支援制度の状況 #end
#if($!messageRegistForm.messageCd == "5") パスワード確認 #end
#if($!messageRegistForm.messageCd == "6") ポイント利用 #end
#if($!messageRegistForm.messageCd == "6") ポイント利用(エコボ満点カード) #end
#if($!messageRegistForm.messageCd == "9") ポイント利用(ICHICOポイント) #end
#if($!messageRegistForm.messageCd == "10") 郵送受付の完了メール #end
#if($!messageRegistForm.messageCd == "7") 会員登録完了済みメール #end
#if($!messageRegistForm.messageCd == "8") 会員登録確認メール #end
</td>
......
......@@ -93,7 +93,8 @@ function numberOnly() {
<li><a href="#q('/admin/enquete/enqueteSearch/')">アンケート検索</a></li>
<li><a href="#q('/admin/enquete/enqueteRegist/')">アンケート登録</a></li>
<!-- <li><a href="#q('/admin/enquete/pointExchangeResultOutput/')">アンケート結果出力</a></li>-->
<li class="end"><a href="#q('/admin/enquete/giftExchangeSearch/')">ポイント交換申請結果出力</a></li>
<li><a href="#q('/admin/enquete/giftExchangeSearch/')">ポイント交換申請結果出力</a></li>
<li class="end"><a href="#q('/admin/enquete/memberCardReceiptSearch/')">カード郵送申請結果出力</a></li>
</ul>
</li>
<li><a href="#q('/admin/support/')"><img id="btn04" src="/em/images/g_navi04_off.jpg" alt="1%支援制度管理" width="205" height="51" /></a>
......
#set($title = "磁気カードの郵送先の確認")
<!-- preHeader -->
#parse( "/WEB-INF/view/common/preHeader.vm" )
##<!-- JAVASCRIPTはここに記載 -->
<script language="JavaScript" type="text/JavaScript">
<!--
function back(){
document.forms[0].action="#q('/user/pointUse/memberRegistPage')";
document.forms[0].submit();
}
-->
</script>
<body bgcolor="#B3C9E1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<center>
<!-- header -->
<table width="1024" cellspacing="0" cellpadding="0">
<tr>
<TD>#parse( "/WEB-INF/view/common/header.vm" )</TD>
</tr>
<tr>
<TD>
<table width="1024" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25" background="/em/images/shadowlft2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
<td width="1024" bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td align="right" width="155" valign="top">#parse( "/WEB-INF/view/common/menu.vm" )</td>
<td align="left" width="10" background="/em/images/cts_bar.gif"><img src="/em/images/spacer.gif" border="0"></td>
<td align="center" valign="top">
##タイトル
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="ctsTitle">磁気カードの郵送先の確認</td>
</tr>
</table>
<!-- Contents Title Table End -->
<form method="post" action="#q('/user/pointUse/sendEmailForMemberCardReceipt')">
## 本文
<br>
<table width="740px" border="0" cellspacing="0" cellpadding="0">
<tr><td width="730px" >現在は下記の住所で登録されています。</td></tr>
<tr><td><font color="red"><br>&nbsp;住所:$!member.prefecture.prefecture&nbsp;$!member.cityName&nbsp;$!member.areaName&nbsp;$!member.buildingName</font></td></tr>
<tr><td><br>変更が必要な方は<a href="#q('/user/userEdit/indexFromConfirmAddress/')">こちら</a></td></tr>
</table>
<br><br>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr><td align="center"><br><input width="200px" class="nextBtn" type="submit" value="確認完了"></td></tr>
</table>
##CONTENT END 各ページコンテンツ
<!-- Button Table Start 点線-->
<table width="780" border="0" cellspacing="5" cellpadding="0">
<tr>
<td background="/em/images/cts_btnbar.gif"><img src="/em/images/spacer.gif" width="1" height="10" border="0"></td>
</tr>
</table>
<table width="780" cellspacing="5" cellpadding="0" border="0">
<tr>
<td align="left">
<input type="image" border="0" align="absmiddle" src="/em/images/back_btn.gif" onclick="back();">
</td>
</tr>
</table>
<!-- Button Table End -->
</td>
</tr>
</table>
</td>
<td width="25" background="/em/images/shadowrgt2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
</tr>
</table>
</TD>
</tr>
<tr>
<TD>#parse( "/WEB-INF/view/common/footer.vm" )</TD>
</tr>
</table>
</center>
</body>
</html>
\ No newline at end of file
#set($title = "会員番号確認画面")
<!-- preHeader -->
#parse( "/WEB-INF/view/common/preHeader.vm" )
##<!-- JAVASCRIPTはここに記載 -->
<style>
.memberNum {
width:170px;
height:22px;
border:none;
outline:none;
padding:0px 0px 0px 10px;
font-size:25px;
letter-spacing:0.2em;
}
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function back(){
document.forms[0].action="#q('/user/pointUse/pointUse')?giftExchangeInfoId=2";
document.forms[0].submit();
}
function memberRegistPage() {
document.forms[0].action="#q('/user/pointUse/memberRegistPage/')";
document.forms[0].submit();
}
-->
</script>
<body bgcolor="#B3C9E1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<center>
<!-- header -->
<table width="1024" cellspacing="0" cellpadding="0">
<tr>
<TD>#parse( "/WEB-INF/view/common/header.vm" )</TD>
</tr>
<tr>
<TD>
<table width="1024" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25" background="/em/images/shadowlft2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
<td width="1024" bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td align="right" width="155" valign="top">#parse( "/WEB-INF/view/common/menu.vm" )</td>
<td align="left" width="10" background="/em/images/cts_bar.gif"><img src="/em/images/spacer.gif" border="0"></td>
<td align="center" valign="top">
##CONTENT START 各ページコンテンツ
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="ctsTitle">ポイント利用</td>
</tr>
</table>
<!-- Contents Title Table End -->
<form name="mainForm" method="post" action="/em/user/pointUse/memberConfirm/" >
<BR><BR><BR>
<input type="hidden" name="giftType" value="$!pointUseForm.giftType">
<input type="hidden" name="giftId" value="$!pointUseForm.giftId">
#foreach($gift in $!pointUseForm.giftList)
<input type="hidden" name="giftList[$velocityCount].giftId" value="$gift.giftId"/>
<input type="hidden" name="giftList[$velocityCount].giftName" value="$gift.giftName"/>
#end
<table width="400px" border="0" cellpadding="2" cellspacing="1" bgcolor="#004080">
<tr>
<td class="listmenu tahoma" align="center">ICHICOポイント会員番号</td>
<td class="tahoma"bgcolor="#ffffff">
<input class="memberNum" type="text" id=memberNum name=memberNum value="$!pointUseForm.memberNum" maxlength="8" size="8">
</td>
</tr>
</TABLE>
#errmsg()
## 次へ(確認)ボタン
<table width="70%" border="0" cellspacing="2" cellpadding="0">
<TR><TD align="center">アプリ利用者でもカード利用者でもご利用できます。</TD></TR>
<TR><TD><font color="red">
入力された番号にICHICOポイントが反映されますので、
希望される会員番号と相違ないかご確認をお願いいたします。
ポイント交換申請後はいかなる場合でも変更・取消はお受けできませんのでご了承ください。
</font></TD></TR>
<TR><TD align="center"><font color="#FF0000"></font>&nbsp;</TD></TR>
<TR>
<TD align="center">
<input class="nextBtn" type="submit" value="次へ">
</TD>
</TR>
## ICHICOポイントIDが無い場合のリンク
<TR>
<TD align="center"><br><br>
ICHICOポイントIDをお持ちでない方は<a href="#" onclick="memberRegistPage()">こちら</a>
</TD>
</TR>
</TABLE><br>
##CONTENT END 各ページコンテンツ
<!-- Button Table Start 点線-->
<table width="780" border="0" cellspacing="5" cellpadding="0">
<tr>
<td background="/em/images/cts_btnbar.gif"><img src="/em/images/spacer.gif" width="1" height="10" border="0"></td>
</tr>
</table>
<table width="780" cellspacing="5" cellpadding="0" border="0">
<tr>
<td align="left">
<input type="image" border="0" align="absmiddle" src="/em/images/back_btn.gif" onclick="back();">
</td>
</tr>
</table>
<!-- Button Table End -->
</td>
</tr>
</table>
</td>
<td width="25" background="/em/images/shadowrgt2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
</tr>
</table>
</TD>
</tr>
<tr>
<TD>#parse( "/WEB-INF/view/common/footer.vm" )</TD>
</tr>
</table>
</center>
</body>
</html>
\ No newline at end of file
#set($title = "ICHICOポイントの会員登録方法")
<!-- preHeader -->
#parse( "/WEB-INF/view/common/preHeader.vm" )
##<!-- JAVASCRIPTはここに記載 -->
<body bgcolor="#B3C9E1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<center>
<!-- header -->
<table width="1024" cellspacing="0" cellpadding="0">
<tr>
<TD>#parse( "/WEB-INF/view/common/header.vm" )</TD>
</tr>
<tr>
<TD>
<table width="1024" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25" background="/em/images/shadowlft2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
<td width="1024" bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td align="right" width="155" valign="top">#parse( "/WEB-INF/view/common/menu.vm" )</td>
<td align="left" width="10" background="/em/images/cts_bar.gif"><img src="/em/images/spacer.gif" border="0"></td>
<td align="center" valign="top">
##タイトル
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="ctsTitle">ICHICOポイントの会員登録方法</td>
</tr>
</table>
<!-- Contents Title Table End -->
<form method="post" action="#q('/user/pointUse/confirmOfAddress')">
##見出し
<br>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5"><img src="/em/images/cts_cmt01.gif" width="5" height="23" border="0"></td>
<td width="730" class="attention">ICHICOポイントの会員登録方法
</td>
<td width="5" align="right"><img src="/em/images/cts_cmt03.gif" width="5" height="23" border="0"></td>
</tr>
</table>
## 本文
<br>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr><td width="730" >ICHICOポイントをご利用いただく方法は、スマートフォンアプリまたは磁気カードです。<br>
e-モニター制度でご案内するアプリ・磁気カードは、
eモニポイントから交換したり、市の他の制度で得たICHICOポイントをためることはできますが
現金のチャージはできません。</td></tr>
<tr><td>ICHICOポイントの詳細は<a href="#q('/user/pointUse/memberRegistPage/')">こちら</a></td></tr>
</table>
## ①スマホアプリ
<br><br>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr><td width="740" >❶スマートフォンアプリをご希望の方</td></tr>
<tr><td><br>※アプリダウンロードの詳細は<a href="https://www.city.ichikawa.lg.jp/catpage/cat_00000096.html">こちら</a></td></tr>
<tr><td>ダウンロードが完了した方は<a href="#q('/user/pointUse/')">こちら</a></td></tr>
</table>
## ②磁気カード
<br><br>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr><td width="740" >❷磁気カードをご希望の方</td></tr>
<tr><td><br>磁気カードを郵送いたしますので、下記のボタンをクリックしてください。
<br>eモニの会員情報に入力いただいているご住所に郵送します。事前に住所を確認してください。</td></tr>
<tr><td><br><input width="200px" class="nextBtn" type="submit" value="郵送先の確認"></td></tr>
</table>
##CONTENT END 各ページコンテンツ
<!-- Button Table Start 点線-->
<table width="780" border="0" cellspacing="5" cellpadding="0">
<tr>
<td background="/em/images/cts_btnbar.gif"><img src="/em/images/spacer.gif" width="1" height="10" border="0"></td>
</tr>
</table>
<!-- Button Table End -->
</td>
</tr>
</table>
</td>
<td width="25" background="/em/images/shadowrgt2.jpg"><img src="/em/images/spacer.gif" width="25" height="1" border="0"></td>
</tr>
</table>
</TD>
</tr>
<tr>
<TD>#parse( "/WEB-INF/view/common/footer.vm" )</TD>
</tr>
</table>
</center>
</body>
</html>
\ No newline at end of file
......@@ -29,18 +29,19 @@
<!-- Contents Title Table End -->
<form method="post" action="/em/user/pointUse/confirm/" >
<BR><BR>
<BR>
<BR><BR><BR>
<input type="hidden" name="giftType" value="$!pointUseForm.giftType">
<input type="hidden" name="memberNum" value="$!memberNum"/>
<table width="500" border="0" cellpadding="2" cellspacing="1" bgcolor="#004080">
<tr>
<td class="listmenu" width="140" >現在のポイント数</td>
<td class="listmenu" width="160" >現在のポイント数</td>
<td class="listcts" width="360">
$!tools.getNumberFormatStr($!userInfo.pointNum)
</td>
</tr>
<tr>
<td class="listmenu">枚数</td>
<td class="listmenu">#if($!pointUseForm.giftType == 1)枚数#else交換ポイント数#end</td>
<td class="listcts">
<select name="giftId">
......@@ -69,11 +70,18 @@
##入力情報確認ボタン
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<TR>
<TD align="center"><font color="#FF0000"></font>&nbsp;</TD>
<TR><TD align="center"><font color="#FF0000"></font>&nbsp;</TD></TR>
<TR>
<TD align="center">
#if($!pointUseForm.giftType == 1)
<input type="image" src="/em/images/input_conf.gif" alt="入力情報確認">
#else
<input class="nextBtn" type="submit" value="次へ">
<br><br>
<font color="red">
ICHICOポイントの使用期限は、付与されてから1年になりますのでご注意ください。
</font>
#end
</TD>
</TR>
</TABLE>
......
......@@ -5,7 +5,11 @@
<script language="JavaScript" type="text/JavaScript">
<!--
function back(){
document.forms[0].action="#q('/user/pointUse/pointUse')";
if($!pointUseForm.giftType == 1){
document.forms[0].action="#q('/user/pointUse/pointUse')?giftExchangeInfoId=1";
} else {
document.forms[0].action="#q('/user/pointUse/confirm')";
}
document.forms[0].submit();
}
-->
......@@ -40,8 +44,14 @@
<form method="post" action="/em/user/pointUse/regist/" >
#makeToken()
<BR><BR>
<BR>
<BR><BR><BR>
<input type="hidden" name="giftType" value="$!pointUseForm.giftType">
<input type="hidden" name="giftId" value="$!giftId"/>
<input type="hidden" name="memberNum" value="$!memberNum"/>
#foreach($gift in $!pointUseForm.giftList)
<input type="hidden" name="giftList[$velocityCount].giftId" value="$gift.giftId"/>
<input type="hidden" name="giftList[$velocityCount].giftName" value="$gift.giftName"/>
#end
<table width="480" border="0" cellpadding="2" cellspacing="1" bgcolor="#004080">
<tr>
......@@ -50,6 +60,13 @@
<tr>
<td class="listcts">
#if($!pointUseForm.giftType == 2)
<font color="red">
入力された番号にICHICOポイントが反映されますので、
希望される会員番号と相違ないかご確認をお願いいたします。
ポイント交換申請後はいかなる場合でも変更・取消はお受けできませんのでご了承ください。
</font><br>
#end
入力した内容を確認して、よろしければ下のポイント交換申請ボタンを押してください。
</td>
</tr>
......@@ -57,19 +74,30 @@
<BR>
<table width="280" border="0" cellpadding="0" cellspacing="1" >
<table width="100% border="0" cellpadding="0" cellspacing="1" >
<tr>
<td align='center' >
<font color="red">
#if($!pointUseForm.giftType == 1)
枚数:
#foreach($gift in $!pointUseForm.giftList)
#if($gift.giftId == $!pointUseForm.giftId)
$gift.giftName
#end
#end
#else
交換ポイント数:
#foreach($gift in $!pointUseForm.giftList)
#if($gift.giftId == $!pointUseForm.giftId)
$gift.giftName
#end
#end
<font color="blue">&nbsp;
会員番号: $!pointUseForm.memberNum
</font>
#end
</font>
</td>
<input type="hidden" name="giftId" value="$!giftId"/>
</tr>
</TABLE>
......
......@@ -30,6 +30,7 @@
<BR>
$tools.getMsg("dayError")
## ここからポイント利用方法一覧
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5"><img src="/em/images/cts_cmt01.gif" width="5" height="23" border="0"></td>
......@@ -37,21 +38,28 @@ $tools.getMsg("dayError")
</td>
<td width="5" align="right"><img src="/em/images/cts_cmt03.gif" width="5" height="23" border="0"></td>
</tr>
#foreach($row in $!pointUseForm.giftExchangeInfoList)
<tr>
<td background="/em/images/cts_cmt02_bg.gif"><img src="/em/images/spacer.gif" width="5" height="5" border="0"></td>
<td align="left"><a href="#q('/user/pointUse/pointUse/')"> $!pointUseForm.giftExchangeInfo.linkText</a>
<td align="left"><a href="#q('/user/pointUse/pointUse/')?giftExchangeInfoId=$!row.giftExchangeInfoId"> $row.linkText</a>
</td>
<td background="/em/images/cts_cmt03_bg.gif"><img src="/em/images/spacer.gif" width="5" height="5" border="0"></td>
</tr>
#end
<tr>
<td><img src="/em/images/cts_cmt02.gif" width="5" height="5" border="0"></td>
<td background="/em/images/cts_cmt04_bg.gif"><img src="/em/images/spacer.gif" width="1" height="5" border="0"></td>
<td><img src="/em/images/cts_cmt04.gif" width="5" height="5" border="0"></td>
</tr>
</table>
<form method="post" action="/em/user/pointUse/pointUse/" >
## ここからメッセージ表示
<!-- $!pointUseForm.message.message -->
$!pointUseForm.giftExchangeInfo.message
#foreach($row in $!pointUseForm.giftExchangeInfoList)
$!row.message
#end
##CONTENT END 各ページコンテンツ
<!-- Button Table Start 点線-->
......
......@@ -91,6 +91,7 @@
#set($login-url = $tools.getSecureUrl('/user/userEdit/confirm/'))
<form name="mainForm" action="$!login-url" method="post">
<input type="hidden" name="cofirmReturn" value="$!userEditForm.cofirmReturn"/>
<!-- Category Title01 Start -->
<table width="780" border="0" cellspacing="0" cellpadding="0">
......
......@@ -78,6 +78,7 @@
</table>
#set($login-url = $tools.getSecureUrl('/user/userEdit/editRegist/'))
<form name="mainForm" action="$!login-url" method="post">
<input type="hidden" name="cofirmReturn" value="$!userEditForm.cofirmReturn"/>
<!-- Category Table 01 Start -->
<table width="480" border="0" cellpadding="2" cellspacing="1" bgcolor="#004080">
......
......@@ -50,7 +50,11 @@
</tr>
</table>
<BR>
#if($!userEditForm.cofirmReturn)
<a href="#q('/user/pointUse/confirmOfAddress/')" >郵送先の確認画面へ戻る</a>
#else
<a href="#q('/user/myPage/')" >マイページへ戻る</a>
#end
<!-- Button Table Start -->
<table width="780" border="0" cellspacing="5" cellpadding="0">
......
......@@ -368,3 +368,18 @@ a.btn02:hover {
}
.mgb5 { margin-bottom: 15px!important; }
/* pointUseNext */
.nextBtn {
border-radius : 5%;
border-color : #5B9BD5;
font-size : 17px;
text-align : center;
cursor : pointer;
padding : 3px 50px;
background : #004890;
color : #ffffff;
}
.nextBtn:hover {
background : #203864;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment