RechargeServiceImpl.java 2.5 KB

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