RunTimeUser currentUser = RunTimeUser.getRunTimeUser(request);
String card = request.getParameter("card");
String password = request.getParameter("password");
Scorecard scorecard = scorecardDao.findScorecard(card, password);
request.setAttribute("url", MemberURLConst.URL_ADD_USER_SCORE);
if(scorecard == null)
{
request.setAttribute("errmsg", "该积分卡不存在。");
return new ModelAndView(MemberURLConst.URL_BASE);
}
if(scorecard.getLocked())
{
request.setAttribute("errmsg", "该积分卡被锁,不能进行充值。");
return new ModelAndView(MemberURLConst.URL_BASE);
}
if(!scorecard.getEnabled())
{
request.setAttribute("errmsg", "该积分卡已充值,不能再进行充值。");
return new ModelAndView(MemberURLConst.URL_BASE);
}
Date date = new Date();
if(date.before(scorecard.getEffectiveTimeStart()))
{
request.setAttribute("errmsg", "该积分卡充值时间未到,不能再进行充值。");
return new ModelAndView(MemberURLConst.URL_BASE);
}
if(date.after(scorecard.getEffectiveTimeEnd()))
{
request.setAttribute("errmsg", "该积分卡已过期,不能再进行充值。");
return new ModelAndView(MemberURLConst.URL_BASE);
}
Card c = currentUser.getCard();
c.setScore(c.getScore() + scorecard.getScore());
cardDao.updateCard(c);
MemberRecord record = new MemberRecord();
record.setRecordDate(new Date());
record.setRecorder(currentUser);
record.setScore(scorecard.getScore());
record.setNote("充值"+scorecard.getScore()+"积分 ");
cardDao.createRecord(record);
scorecard.setEnabled(false);
scorecardDao.updateScorecard(scorecard);
request.setAttribute("errmsg", "积分充值成功");
return new ModelAndView(MemberURLConst.URL_BASE);
}