package com.ks.tool.bkz.service.impl.user;
|
|
import com.ks.tool.bkz.dao.mybatis.user.CardPwdInfoMapper;
|
import com.ks.tool.bkz.entity.user.CardPwdInfo;
|
import com.ks.tool.bkz.exception.CardPwdException;
|
import com.ks.tool.bkz.service.user.CardPwdService;
|
import com.ks.tool.bkz.util.StringUtil;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
|
@Service
|
public class CardPwdImpl implements CardPwdService {
|
@Resource
|
private CardPwdInfoMapper cardPwdInfoMapper;
|
|
@Override
|
public void addCardPwd(CardPwdInfo info) throws CardPwdException {
|
|
}
|
|
@Override
|
public CardPwdInfo selectByCard(String card) {
|
return cardPwdInfoMapper.selectByCard(card);
|
}
|
|
@Transactional
|
@Override
|
public void consumeCardPwd(Long uid, String card, String pwd) throws CardPwdException {
|
if(uid==null)
|
throw new CardPwdException(10, "用户不能为空");
|
|
if(StringUtil.isNullOrEmpty(card)||StringUtil.isNullOrEmpty(pwd))
|
throw new CardPwdException(10, "卡密不能为空");
|
|
CardPwdInfo info = selectByCard(card);
|
if (info == null)
|
throw new CardPwdException(1, "卡号不存在");
|
if (!info.getPwd().equalsIgnoreCase(pwd))
|
throw new CardPwdException(2, "卡密不匹配");
|
if (info.getConsumeState() == CardPwdInfo.STATE_CONSUMED)
|
throw new CardPwdException(3, "卡密已被使用");
|
|
CardPwdInfo update = new CardPwdInfo();
|
update.setId(info.getId());
|
update.setConsumeState(CardPwdInfo.STATE_CONSUMED);
|
update.setConsumeTime(new Date());
|
update.setConsumeUid(uid);
|
update.setUpdateTime(new Date());
|
cardPwdInfoMapper.updateByPrimaryKeySelective(update);
|
}
|
}
|