VIPServiceImpl.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.example.cinema.blImpl.promotion;
  2. import com.example.cinema.bl.promotion.VIPService;
  3. import com.example.cinema.data.promotion.VIPCardMapper;
  4. import com.example.cinema.vo.VIPCardForm;
  5. import com.example.cinema.po.VIPCard;
  6. import com.example.cinema.vo.ResponseVO;
  7. import com.example.cinema.vo.VIPInfoVO;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. /**
  11. * Created by liying on 2019/4/14.
  12. */
  13. @Service
  14. public class VIPServiceImpl implements VIPService {
  15. @Autowired
  16. VIPCardMapper vipCardMapper;
  17. @Override
  18. public ResponseVO addVIPCard(int userId) {
  19. VIPCard vipCard = new VIPCard();
  20. vipCard.setUserId(userId);
  21. vipCard.setBalance(0);
  22. try {
  23. int id = vipCardMapper.insertOneCard(vipCard);
  24. return ResponseVO.buildSuccess(vipCardMapper.selectCardById(id));
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. return ResponseVO.buildFailure("失败");
  28. }
  29. }
  30. @Override
  31. public ResponseVO getCardById(int id) {
  32. try {
  33. return ResponseVO.buildSuccess(vipCardMapper.selectCardById(id));
  34. } catch (Exception e) {
  35. e.printStackTrace();
  36. return ResponseVO.buildFailure("失败");
  37. }
  38. }
  39. @Override
  40. public ResponseVO getVIPInfo() {
  41. VIPInfoVO vipInfoVO = new VIPInfoVO();
  42. vipInfoVO.setDescription(VIPCard.description);
  43. vipInfoVO.setPrice(VIPCard.price);
  44. return ResponseVO.buildSuccess(vipInfoVO);
  45. }
  46. @Override
  47. public ResponseVO charge(VIPCardForm vipCardForm) {
  48. VIPCard vipCard = vipCardMapper.selectCardById(vipCardForm.getVipId());
  49. if (vipCard == null) {
  50. return ResponseVO.buildFailure("会员卡不存在");
  51. }
  52. double balance = vipCard.calculate(vipCardForm.getAmount());
  53. vipCard.setBalance(vipCard.getBalance() + balance);
  54. try {
  55. vipCardMapper.updateCardBalance(vipCardForm.getVipId(), vipCard.getBalance());
  56. return ResponseVO.buildSuccess(vipCard);
  57. } catch (Exception e) {
  58. e.printStackTrace();
  59. return ResponseVO.buildFailure("失败");
  60. }
  61. }
  62. @Override
  63. public ResponseVO getCardByUserId(int userId) {
  64. try {
  65. VIPCard vipCard = vipCardMapper.selectCardByUserId(userId);
  66. if(vipCard==null){
  67. return ResponseVO.buildFailure("用户卡不存在");
  68. }
  69. return ResponseVO.buildSuccess(vipCard);
  70. } catch (Exception e) {
  71. e.printStackTrace();
  72. return ResponseVO.buildFailure("失败");
  73. }
  74. }
  75. }