RechargeServiceImpl.java 2.7 KB

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