1
0

BackendConfirmLogController.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. String merchantId = request.getParameter("merchantId") == null ? "" : request.getParameter("merchantId");
  77. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  78. if (accountInfo == null) {
  79. return getFailureResult(1001, "请先登录");
  80. }
  81. PaginationRequest paginationRequest = new PaginationRequest();
  82. paginationRequest.setCurrentPage(page);
  83. paginationRequest.setPageSize(pageSize);
  84. Map<String, Object> searchParams = new HashMap<>();
  85. if (accountInfo.getMerchantId() != null && accountInfo.getMerchantId() > 0) {
  86. searchParams.put("merchantId", accountInfo.getMerchantId());
  87. }
  88. if (StringUtil.isNotEmpty(status)) {
  89. searchParams.put("status", status);
  90. }
  91. if (StringUtil.isNotEmpty(userId)) {
  92. searchParams.put("userId", userId);
  93. }
  94. if (StringUtil.isNotEmpty(couponId)) {
  95. searchParams.put("couponId", couponId);
  96. }
  97. if (StringUtil.isNotEmpty(mobile)) {
  98. MtUser userInfo = memberService.queryMemberByMobile(mobile);
  99. if (userInfo != null) {
  100. searchParams.put("userId", userInfo.getId().toString());
  101. } else {
  102. searchParams.put("userId", "0");
  103. }
  104. }
  105. paginationRequest.setSortColumn(new String[]{"updateTime desc", "id desc"});
  106. paginationRequest.setSearchParams(searchParams);
  107. // 登录员工所属店铺处理
  108. TAccount tAccount = tAccountService.getAccountInfoById(accountInfo.getId());
  109. if (tAccount.getStoreId() > 0 && tAccount.getStoreId() > 0) {
  110. searchParams.put("storeId", tAccount.getStoreId());
  111. }
  112. PaginationResponse<ConfirmLogDto> paginationResponse = confirmLogService.queryConfirmLogListByPagination(paginationRequest);
  113. // 卡券类型列表
  114. CouponTypeEnum[] typeListEnum = CouponTypeEnum.values();
  115. List<ParamDto> typeList = new ArrayList<>();
  116. for (CouponTypeEnum enumItem : typeListEnum) {
  117. ParamDto paramDto = new ParamDto();
  118. paramDto.setKey(enumItem.getKey());
  119. paramDto.setName(enumItem.getValue());
  120. paramDto.setValue(enumItem.getKey());
  121. typeList.add(paramDto);
  122. }
  123. Map<String, Object> result = new HashMap<>();
  124. result.put("paginationResponse", paginationResponse);
  125. result.put("typeList", typeList);
  126. return getSuccessResult(result);
  127. }
  128. /**
  129. * 撤销已使用的卡券
  130. *
  131. * @param request
  132. * @return
  133. */
  134. @ApiOperation(value = "撤销已使用的卡券")
  135. @RequestMapping(value = "/rollbackUserCoupon/{id}", method = RequestMethod.GET)
  136. @CrossOrigin
  137. public ResponseObject rollbackUserCoupon(HttpServletRequest request, @PathVariable("id") Integer id) {
  138. String token = request.getHeader("Access-Token");
  139. String userCouponId = (request.getParameter("userCouponId") == null || StringUtil.isEmpty(request.getParameter("userCouponId"))) ? "0" : request.getParameter("userCouponId");
  140. AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
  141. if (accountInfo == null) {
  142. return getFailureResult(1001, "请先登录");
  143. }
  144. try {
  145. couponService.rollbackUserCoupon(id, Integer.parseInt(userCouponId), accountInfo.getAccountName());
  146. } catch (BusinessCheckException e) {
  147. return getFailureResult(201, e.getMessage());
  148. }
  149. return getSuccessResult(true);
  150. }
  151. }