猫妈狗爸伴宠师小程序后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
4.4 KiB

8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
8 months ago
8 months ago
7 months ago
8 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
  1. package com.cyl.h5.controller;
  2. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  3. import com.cyl.h5.config.SecurityUtil;
  4. import com.cyl.h5.pojo.request.H5MemberCouponGetRequest;
  5. import com.cyl.h5.pojo.request.H5MemberCouponRequest;
  6. import com.cyl.h5.pojo.response.WechatMemberCouponResponse;
  7. import com.cyl.h5.service.H5CouponService;
  8. import com.cyl.h5.service.H5MemberCouponService;
  9. import com.cyl.manager.marketing.domain.WechatMemberCoupon;
  10. import com.cyl.manager.marketing.domain.WechatStock;
  11. import com.cyl.manager.marketing.mapper.WechatMemberCouponMapper;
  12. import com.cyl.manager.marketing.pojo.SendCouponRequest;
  13. import com.cyl.manager.ums.domain.Member;
  14. import com.cyl.manager.ums.service.MemberService;
  15. import com.github.pagehelper.PageHelper;
  16. import com.ruoyi.common.core.controller.BaseController;
  17. import com.ruoyi.common.core.domain.AjaxResult;
  18. import com.ruoyi.common.core.page.TableDataInfo;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import lombok.extern.slf4j.Slf4j;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.data.domain.Pageable;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.util.List;
  26. import java.util.stream.Collectors;
  27. /**
  28. * 商家券
  29. *
  30. * @author daixiande
  31. * @date 2024-05-06
  32. */
  33. //@Api("商家券")
  34. @RestController
  35. @RequestMapping("/h5/coupon")
  36. @Slf4j
  37. public class H5CouponController extends BaseController
  38. {
  39. @Autowired
  40. private H5CouponService h5CouponService;
  41. @Autowired
  42. private H5MemberCouponService h5MemberCouponService;
  43. @Autowired
  44. private MemberService memberService;
  45. @Autowired
  46. private WechatMemberCouponMapper wechatMemberCouponMapper;
  47. /**
  48. * 查询商家券列表
  49. */
  50. // @ApiOperation("查询商家券列表")
  51. @GetMapping("/list")
  52. public AjaxResult list()
  53. {
  54. startPage();
  55. WechatStock ws = new WechatStock();
  56. Member member = null;
  57. try {
  58. member = SecurityUtil.getLocalMember();
  59. } catch (Exception e) {
  60. e.printStackTrace();
  61. log.error("【优惠券领取】当前用户未登录");
  62. }
  63. List<WechatStock> list = h5CouponService.selectWechatStocktForGet(member);
  64. for (WechatStock stock : list) {
  65. stock.setAlreadyReceived(wechatMemberCouponMapper.selectCount(
  66. Wrappers.<WechatMemberCoupon>lambdaQuery()
  67. .eq(WechatMemberCoupon::getMemberId, member.getId())
  68. .eq(WechatMemberCoupon::getStockId, stock.getStockId())
  69. ));
  70. }
  71. //过滤掉没有领取机会的卷
  72. list = list.stream().filter(n -> n.getMaxCouponsPerUser() > n.getAlreadyReceived()).collect(Collectors.toList());
  73. return AjaxResult.success(list);
  74. }
  75. /**
  76. * 查询会员券列表
  77. */
  78. // @ApiOperation("查询会员券列表")
  79. @PostMapping("/listMemberCoupon")
  80. public TableDataInfo listMemberCoupon(@RequestBody H5MemberCouponRequest h5MemberCouponRequest, Pageable page)
  81. {
  82. Member member = SecurityUtil.getLocalMember();
  83. h5MemberCouponRequest.setMemberId(member.getId());
  84. PageHelper.startPage(1, 100,"create_time desc");
  85. List<WechatMemberCoupon> list = h5MemberCouponService.selectMemberCouponList(h5MemberCouponRequest);
  86. return getDataTable(list);
  87. }
  88. /**
  89. * 查询会员券列表
  90. */
  91. // @ApiOperation("查询会员券列表")
  92. @GetMapping("/listMemberCouponForOrder")
  93. public TableDataInfo listMemberCoupon2()
  94. {
  95. Member member = SecurityUtil.getLocalMember();
  96. List<WechatMemberCouponResponse> list = h5MemberCouponService.selectMemberCouponListForOrder(member.getId());
  97. return getDataTable(list);
  98. }
  99. // @ApiOperation("领取优惠券")
  100. @PostMapping("/get")
  101. public AjaxResult get(@RequestBody H5MemberCouponGetRequest h5MemberCouponRequest)
  102. {
  103. Member member = SecurityUtil.getLocalMember();
  104. String phone = memberService.getPhoneDecrypted(member.getPhoneEncrypted());
  105. SendCouponRequest sendCouponRequest = new SendCouponRequest();
  106. sendCouponRequest.setPhone(phone);
  107. sendCouponRequest.setStockId(h5MemberCouponRequest.getStockId());
  108. int result = h5CouponService.sendCoupon(sendCouponRequest);
  109. if (result == 1) {
  110. return AjaxResult.success();
  111. }
  112. return AjaxResult.error();
  113. }
  114. }