BackendSendLogController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.fuint.module.backendApi.controller;
  2. import com.fuint.common.Constants;
  3. import com.fuint.common.dto.AccountInfo;
  4. import com.fuint.common.service.CouponService;
  5. import com.fuint.common.service.MemberService;
  6. import com.fuint.common.service.SendLogService;
  7. import com.fuint.common.util.TokenUtil;
  8. import com.fuint.framework.exception.BusinessCheckException;
  9. import com.fuint.framework.pagination.PaginationRequest;
  10. import com.fuint.framework.pagination.PaginationResponse;
  11. import com.fuint.framework.web.BaseController;
  12. import com.fuint.framework.web.ResponseObject;
  13. import com.fuint.repository.model.MtSendLog;
  14. import com.fuint.repository.model.MtUser;
  15. import com.fuint.utils.StringUtil;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import javax.servlet.http.HttpServletRequest;
  21. import java.util.HashMap;
  22. import java.util.Map;
  23. /**
  24. * 卡券发放记录管理类controller
  25. *
  26. * Created by FSQ
  27. * CopyRight https://www.fuint.cn
  28. */
  29. @Api(tags="管理端-卡券发放相关接口")
  30. @RestController
  31. @RequestMapping(value = "/backendApi/sendLog")
  32. public class BackendSendLogController extends BaseController {
  33. /**
  34. * 发送记录服务接口
  35. */
  36. @Autowired
  37. private SendLogService sendLogService;
  38. /**
  39. * 会员接口服务
  40. * */
  41. @Autowired
  42. private MemberService memberService;
  43. /**
  44. * 卡券服务接口
  45. * */
  46. @Autowired
  47. CouponService couponService;
  48. /**
  49. * 查询发券记录列表
  50. *
  51. * @param request
  52. * @return
  53. * @throws BusinessCheckException
  54. */
  55. @ApiOperation(value = "查询发券记录列表")
  56. @RequestMapping(value = "/list", method = RequestMethod.GET)
  57. @CrossOrigin
  58. public ResponseObject list(HttpServletRequest request) throws BusinessCheckException {
  59. String token = request.getHeader("Access-Token");
  60. String status = request.getParameter("status") == null ? "" : request.getParameter("status");
  61. String userId = request.getParameter("userId") == null ? "" : request.getParameter("userId");
  62. String mobile = request.getParameter("mobile") == null ? "" : request.getParameter("mobile");
  63. String couponId = request.getParameter("couponId") == null ? "" : request.getParameter("couponId");
  64. Integer page = request.getParameter("page") == null ? Constants.PAGE_NUMBER : Integer.parseInt(request.getParameter("page"));
  65. Integer pageSize = request.getParameter("pageSize") == null ? Constants.PAGE_SIZE : Integer.parseInt(request.getParameter("pageSize"));
  66. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  67. if (accountInfo == null) {
  68. return getFailureResult(1001, "请先登录");
  69. }
  70. PaginationRequest paginationRequest = new PaginationRequest();
  71. paginationRequest.setCurrentPage(page);
  72. paginationRequest.setPageSize(pageSize);
  73. Map<String, Object> searchParams = new HashMap<>();
  74. if (StringUtil.isNotEmpty(status)) {
  75. searchParams.put("status", status);
  76. }
  77. if (StringUtil.isNotEmpty(userId)) {
  78. searchParams.put("userId", userId);
  79. }
  80. if (StringUtil.isNotEmpty(couponId)) {
  81. searchParams.put("couponId", couponId);
  82. }
  83. if (StringUtil.isNotEmpty(mobile)) {
  84. MtUser userInfo = memberService.queryMemberByMobile(mobile);
  85. if (userInfo != null) {
  86. searchParams.put("userId", userInfo.getId().toString());
  87. } else {
  88. searchParams.put("userId", "0");
  89. }
  90. }
  91. paginationRequest.setSortColumn(new String[]{"updateTime desc", "id desc"});
  92. paginationRequest.setSearchParams(searchParams);
  93. PaginationResponse<MtSendLog> paginationResponse = sendLogService.querySendLogListByPagination(paginationRequest);
  94. Map<String, Object> result = new HashMap<>();
  95. result.put("paginationResponse", paginationResponse);
  96. return getSuccessResult(result);
  97. }
  98. /**
  99. * 废除用户卡券
  100. *
  101. * @param request
  102. * @param id 日志ID
  103. * @return
  104. */
  105. @ApiOperation(value = "废除用户卡券")
  106. @RequestMapping(value = "/removeUserCoupon/{id}", method = RequestMethod.GET)
  107. @CrossOrigin
  108. public ResponseObject removeUserCoupon(HttpServletRequest request, @PathVariable("id") Long id) throws BusinessCheckException {
  109. String token = request.getHeader("Access-Token");
  110. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  111. if (accountInfo == null) {
  112. return getFailureResult(1001, "请先登录");
  113. }
  114. if (id == null) {
  115. return getFailureResult(201, "系统参数有误");
  116. }
  117. MtSendLog sendLog = sendLogService.querySendLogById(id);
  118. if (sendLog == null) {
  119. return getFailureResult(201, "系统参数有误");
  120. }
  121. try {
  122. couponService.removeUserCoupon(id, sendLog.getUuid(), accountInfo.getAccountName());
  123. } catch (BusinessCheckException e) {
  124. return getFailureResult(201, e.getMessage());
  125. }
  126. return getSuccessResult(true);
  127. }
  128. }