CouponController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package com.platform.yijia.controller;
  2. import com.google.gson.Gson;
  3. import com.platform.yijia.config.YiJiaRequest;
  4. import com.platform.yijia.pojo.Coupon;
  5. import com.platform.yijia.pojo.UserCoupon;
  6. import com.platform.yijia.service.CouponService;
  7. import com.platform.yijia.utils.CodeMsg;
  8. import com.platform.yijia.utils.ResultData;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiParam;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.annotation.Resource;
  17. import java.util.Date;
  18. import java.util.List;
  19. /*
  20. * <Title> CouponController </Title>
  21. * <Description> 优惠券 </Description>
  22. * @Author JK
  23. * @Date 2021年7月6日
  24. */
  25. @Controller
  26. @YiJiaRequest()
  27. @CrossOrigin
  28. @Api(tags = "优惠券")
  29. public class CouponController {
  30. private static Logger logger =(Logger) LoggerFactory.getLogger(CouponController.class);
  31. @Resource
  32. private CouponService couponService;
  33. //获取优惠券信息
  34. @RequestMapping(value = "/selectCouponInfo", method = RequestMethod.GET)
  35. @ResponseBody
  36. @ApiOperation(value = "获取优惠券信息", httpMethod = "GET", notes = "获取优惠券信息")
  37. public String selectCouponInfo(@ApiParam(value = "优惠券ID", required = true) @RequestParam Integer id){
  38. Gson gson =new Gson();
  39. ResultData resultData = null;
  40. try {
  41. Coupon coupon = new Coupon();
  42. coupon.setId(id);
  43. Coupon couponInfo = couponService.selectCouponInfo(coupon);
  44. resultData = ResultData.success(couponInfo);
  45. }catch (Exception e){
  46. logger.error("获取优惠券错误信息:" + e.getMessage());
  47. resultData = ResultData.error(CodeMsg.SEARCH_FAIL);
  48. }
  49. return gson.toJson(resultData);
  50. }
  51. //获取客户所拥有的优惠券
  52. @RequestMapping(value = "/selectUserCoupons", method = RequestMethod.GET)
  53. @ResponseBody
  54. @ApiOperation(value = "获取客户所拥有的优惠券", httpMethod = "GET", notes = "获取客户所拥有的优惠券")
  55. public String selectUserCoupons(@ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId,
  56. @ApiParam(value = "用户unionId", required = true) @RequestParam String unionId){
  57. Gson gson =new Gson();
  58. ResultData resultData = null;
  59. try {
  60. UserCoupon userCoupon = new UserCoupon();
  61. userCoupon.setStationId(stationId);
  62. userCoupon.setUnionId(unionId);
  63. List<UserCoupon> userCoupons = couponService.selectUserCoupons(userCoupon);
  64. resultData = ResultData.success(userCoupons);
  65. }catch (Exception e){
  66. logger.error("获取客户所拥有的优惠券错误信息:" + e.getMessage());
  67. resultData = ResultData.error(CodeMsg.SEARCH_FAIL);
  68. }
  69. return gson.toJson(resultData);
  70. }
  71. //用户领取优惠券
  72. @RequestMapping(value = "/addUserCoupon", method = RequestMethod.POST)
  73. @ResponseBody
  74. @ApiOperation(value = "用户领取优惠券", httpMethod = "POST", notes = "用户领取优惠券")
  75. public String addUserCoupon(@ApiParam(value = "用户优惠券实体类", required = true) @RequestBody UserCoupon userCoupon){
  76. Gson gson = new Gson();
  77. ResultData resultData = null;
  78. try{
  79. if(userCoupon.getCouponId() !=null){
  80. Coupon coupon = new Coupon();
  81. coupon.setId(userCoupon.getCouponId());
  82. //获取该优惠券信息
  83. Coupon couponInfo = couponService.selectCouponInfo(coupon);
  84. //该优惠券是否存在
  85. if(couponInfo !=null){
  86. //优惠券是否已发放
  87. if(couponInfo.getGrantStatus() !=null && couponInfo.getGrantStatus().equals("1")){
  88. //该优惠券是否有效
  89. if(couponInfo.getStatus() !=null && couponInfo.getStatus().equals("1")){
  90. userCoupon.setCouponIsEffective("1");
  91. userCoupon.setCouponIsUsed("0");
  92. userCoupon.setCouponNo("123456789");
  93. userCoupon.setGetCouponTime(new Date());
  94. couponService.addUserCoupon(userCoupon);
  95. resultData = ResultData.success("领取成功!");
  96. }else {
  97. resultData = ResultData.error(CodeMsg.COUPON_LOSE_EFFECTIVE);
  98. }
  99. }else {
  100. resultData = ResultData.error(CodeMsg.COUPON_NO_GRANT);
  101. }
  102. }else {
  103. resultData = ResultData.error(CodeMsg.NO_COUPON);
  104. }
  105. }else {
  106. resultData = ResultData.error(CodeMsg.REQUEST_FAIL);
  107. }
  108. }catch (Exception e){
  109. logger.error("用户领取优惠券错误信息:" + e.getMessage());
  110. resultData = ResultData.error(CodeMsg.INSERT_FAIL);
  111. }
  112. return gson.toJson(resultData);
  113. }
  114. }