BackendConfirmLogController.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  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.dto.ConfirmLogDto;
  5. import com.fuint.common.dto.ParamDto;
  6. import com.fuint.common.enums.CouponTypeEnum;
  7. import com.fuint.common.service.AccountService;
  8. import com.fuint.common.service.ConfirmLogService;
  9. import com.fuint.common.service.CouponService;
  10. import com.fuint.common.service.MemberService;
  11. import com.fuint.common.util.TokenUtil;
  12. import com.fuint.framework.exception.BusinessCheckException;
  13. import com.fuint.framework.pagination.PaginationRequest;
  14. import com.fuint.framework.pagination.PaginationResponse;
  15. import com.fuint.framework.web.BaseController;
  16. import com.fuint.framework.web.ResponseObject;
  17. import com.fuint.repository.model.MtUser;
  18. import com.fuint.repository.model.TAccount;
  19. import com.fuint.utils.StringUtil;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.servlet.http.HttpServletRequest;
  25. import java.util.ArrayList;
  26. import java.util.HashMap;
  27. import java.util.List;
  28. import java.util.Map;
  29. /**
  30. * 会员卡券核销流水
  31. *
  32. * Created by FSQ
  33. * CopyRight https://www.fuint.cn
  34. */
  35. @Api(tags="管理端-券核销流水相关接口")
  36. @RestController
  37. @RequestMapping(value = "/backendApi/confirmLog")
  38. public class BackendConfirmLogController extends BaseController {
  39. /**
  40. * 卡券核销流水接口
  41. */
  42. @Autowired
  43. private ConfirmLogService confirmLogService;
  44. /**
  45. * 卡券服务接口
  46. */
  47. @Autowired
  48. private CouponService couponService;
  49. /**
  50. * 会员接口服务
  51. * */
  52. @Autowired
  53. private MemberService memberService;
  54. /**
  55. * 后台账户服务接口
  56. */
  57. @Autowired
  58. private AccountService tAccountService;
  59. /**
  60. * 获取会员卡券核销记录列表
  61. *
  62. * @param request HttpServletRequest对象
  63. * @return
  64. */
  65. @ApiOperation(value = "获取会员卡券核销记录列表")
  66. @RequestMapping(value = "/list", method = RequestMethod.GET)
  67. @CrossOrigin
  68. public ResponseObject list(HttpServletRequest request) throws BusinessCheckException {
  69. String token = request.getHeader("Access-Token");
  70. Integer page = request.getParameter("page") == null ? Constants.PAGE_NUMBER : Integer.parseInt(request.getParameter("page"));
  71. Integer pageSize = request.getParameter("pageSize") == null ? Constants.PAGE_SIZE : Integer.parseInt(request.getParameter("pageSize"));
  72. String status = request.getParameter("status") == null ? "" : request.getParameter("status");
  73. String userId = request.getParameter("userId") == null ? "" : request.getParameter("userId");
  74. String mobile = request.getParameter("mobile") == null ? "" : request.getParameter("mobile");
  75. String couponId = request.getParameter("couponId") == null ? "" : request.getParameter("couponId");
  76. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  77. if (accountInfo == null) {
  78. return getFailureResult(1001, "请先登录");
  79. }
  80. PaginationRequest paginationRequest = new PaginationRequest();
  81. paginationRequest.setCurrentPage(page);
  82. paginationRequest.setPageSize(pageSize);
  83. Map<String, Object> searchParams = new HashMap<>();
  84. if (accountInfo.getMerchantId() != null && accountInfo.getMerchantId() > 0) {
  85. searchParams.put("merchantId", accountInfo.getMerchantId());
  86. }
  87. if (StringUtil.isNotEmpty(status)) {
  88. searchParams.put("status", status);
  89. }
  90. if (StringUtil.isNotEmpty(userId)) {
  91. searchParams.put("userId", userId);
  92. }
  93. if (StringUtil.isNotEmpty(couponId)) {
  94. searchParams.put("couponId", couponId);
  95. }
  96. if (StringUtil.isNotEmpty(mobile)) {
  97. MtUser userInfo = memberService.queryMemberByMobile(accountInfo.getMerchantId(), mobile);
  98. if (userInfo != null) {
  99. searchParams.put("userId", userInfo.getId().toString());
  100. } else {
  101. searchParams.put("userId", "0");
  102. }
  103. }
  104. paginationRequest.setSortColumn(new String[]{"updateTime desc", "id desc"});
  105. paginationRequest.setSearchParams(searchParams);
  106. // 登录员工所属店铺处理
  107. TAccount tAccount = tAccountService.getAccountInfoById(accountInfo.getId());
  108. if (tAccount.getStoreId() > 0 && tAccount.getStoreId() > 0) {
  109. searchParams.put("storeId", tAccount.getStoreId());
  110. }
  111. PaginationResponse<ConfirmLogDto> paginationResponse = confirmLogService.queryConfirmLogListByPagination(paginationRequest);
  112. // 卡券类型列表
  113. CouponTypeEnum[] typeListEnum = CouponTypeEnum.values();
  114. List<ParamDto> typeList = new ArrayList<>();
  115. for (CouponTypeEnum enumItem : typeListEnum) {
  116. ParamDto paramDto = new ParamDto();
  117. paramDto.setKey(enumItem.getKey());
  118. paramDto.setName(enumItem.getValue());
  119. paramDto.setValue(enumItem.getKey());
  120. typeList.add(paramDto);
  121. }
  122. Map<String, Object> result = new HashMap<>();
  123. result.put("paginationResponse", paginationResponse);
  124. result.put("typeList", typeList);
  125. return getSuccessResult(result);
  126. }
  127. /**
  128. * 撤销已使用的卡券
  129. *
  130. * @param request
  131. * @return
  132. */
  133. @ApiOperation(value = "撤销已使用的卡券")
  134. @RequestMapping(value = "/rollbackUserCoupon/{id}", method = RequestMethod.GET)
  135. @CrossOrigin
  136. public ResponseObject rollbackUserCoupon(HttpServletRequest request, @PathVariable("id") Integer id) throws BusinessCheckException {
  137. String token = request.getHeader("Access-Token");
  138. String userCouponId = (request.getParameter("userCouponId") == null || StringUtil.isEmpty(request.getParameter("userCouponId"))) ? "0" : request.getParameter("userCouponId");
  139. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  140. if (accountInfo == null) {
  141. return getFailureResult(1001, "请先登录");
  142. }
  143. couponService.rollbackUserCoupon(id, Integer.parseInt(userCouponId), accountInfo.getAccountName());
  144. return getSuccessResult(true);
  145. }
  146. }