package cn.seecoder.courselearning.serviceimpl; import cn.seecoder.courselearning.mapperservice.RechargeOrderMapper; import cn.seecoder.courselearning.mapperservice.UserMapper; import cn.seecoder.courselearning.po.RechargeOrder; import cn.seecoder.courselearning.po.User; import cn.seecoder.courselearning.service.RechargeService; import cn.seecoder.courselearning.util.Constant; import cn.seecoder.courselearning.vo.RechargeOrderVO; import cn.seecoder.courselearning.vo.ResultVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; @Service public class RechargeServiceImpl implements RechargeService { private static final Logger logger = LoggerFactory.getLogger(RechargeService.class); @Resource UserMapper userMapper; @Resource RechargeOrderMapper rechargeOrderMapper; @Override public ResultVO rechargeAccount(RechargeOrderVO rechargeOrderVO) { ResultVO ret = new ResultVO<>(); Integer userId = rechargeOrderVO.getUserId(); if(userId == null || userId <= 0){ ret.setCode(Constant.REQUEST_FAIL); ret.setMsg("userId 参数无效"); }else{ User user = userMapper.selectByPrimaryKey(userId); if(user != null){ try{ rechargeOrderVO.setCreateTime(new Date()); Integer value = rechargeOrderVO.getValue(); // 更新用户余额 userMapper.increaseBalance(userId, value); RechargeOrder rechargeOrder = new RechargeOrder(rechargeOrderVO); if(rechargeOrderMapper.insert(rechargeOrder) > 0){ ret.setCode(Constant.REQUEST_SUCCESS); ret.setMsg("充值成功"); ret.setData(new RechargeOrderVO(rechargeOrder)); }else{ ret.setCode(Constant.REQUEST_FAIL); ret.setMsg("系统错误"); } }catch (Exception e){ ret.setCode(Constant.REQUEST_FAIL); ret.setMsg("服务器数据库系统出错,请咨询系统管理员"); logger.error("用户充值账号时出错", e); } } } return ret; } }