RechargeServiceImpl.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package cn.seecoder.courselearning.serviceimpl;
  2. import cn.seecoder.courselearning.mapperservice.RechargeOrderMapper;
  3. import cn.seecoder.courselearning.mapperservice.UserMapper;
  4. import cn.seecoder.courselearning.po.RechargeOrder;
  5. import cn.seecoder.courselearning.po.User;
  6. import cn.seecoder.courselearning.service.RechargeService;
  7. import cn.seecoder.courselearning.util.Constant;
  8. import cn.seecoder.courselearning.vo.RechargeOrderVO;
  9. import cn.seecoder.courselearning.vo.ResultVO;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.stereotype.Service;
  13. import javax.annotation.Resource;
  14. import java.util.Date;
  15. @Service
  16. public class RechargeServiceImpl implements RechargeService {
  17. private static final Logger logger = LoggerFactory.getLogger(RechargeService.class);
  18. @Resource
  19. UserMapper userMapper;
  20. @Resource
  21. RechargeOrderMapper rechargeOrderMapper;
  22. @Override
  23. public ResultVO<RechargeOrderVO> rechargeAccount(RechargeOrderVO rechargeOrderVO) {
  24. ResultVO<RechargeOrderVO> ret = new ResultVO<>();
  25. Integer userId = rechargeOrderVO.getUserId();
  26. if(userId == null || userId <= 0){
  27. ret.setCode(Constant.REQUEST_FAIL);
  28. ret.setMsg("userId 参数无效");
  29. }else{
  30. User user = userMapper.selectByPrimaryKey(userId);
  31. if(user != null){
  32. try{
  33. rechargeOrderVO.setCreateTime(new Date());
  34. Integer value = rechargeOrderVO.getValue();
  35. // 更新用户余额
  36. userMapper.increaseBalance(userId, value);
  37. RechargeOrder rechargeOrder = new RechargeOrder(rechargeOrderVO);
  38. if(rechargeOrderMapper.insert(rechargeOrder) > 0){
  39. ret.setCode(Constant.REQUEST_SUCCESS);
  40. ret.setMsg("充值成功");
  41. ret.setData(new RechargeOrderVO(rechargeOrder));
  42. }else{
  43. ret.setCode(Constant.REQUEST_FAIL);
  44. ret.setMsg("系统错误");
  45. }
  46. }catch (Exception e){
  47. ret.setCode(Constant.REQUEST_FAIL);
  48. ret.setMsg("服务器数据库系统出错,请咨询系统管理员");
  49. logger.error("用户充值账号时出错", e);
  50. }
  51. }
  52. }
  53. return ret;
  54. }
  55. }