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.
 
 
 
 
 

153 lines
6.8 KiB

  1. package com.simple.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.simple.annotation.AuthIgnore;
  4. import com.simple.common.ErrorCode;
  5. import com.simple.common.Result;
  6. import com.simple.common.ResultData;
  7. import com.simple.domain.po.WxCouponOrder;
  8. import com.simple.exception.MallinkException;
  9. import com.simple.service.WxCouponOrderService;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiImplicitParam;
  12. import io.swagger.annotations.ApiImplicitParams;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.apache.log4j.Logger;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.Map;
  19. @RestController
  20. @RequestMapping("/api/couponOrder")
  21. @Api(description = "卡券相关接口")
  22. public class WxCouponOrderController extends BaseController {
  23. private Logger logger = Logger.getLogger(WxCouponOrderController.class);
  24. @Autowired
  25. private WxCouponOrderService wxCouponOrderService;
  26. @ApiOperation("分页列表接口")
  27. @GetMapping("list")
  28. @ApiImplicitParams({
  29. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
  30. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
  31. public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) {
  32. if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder();
  33. final PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize);
  34. return new ResultData(page);
  35. }
  36. @ApiOperation("根据id更新接口")
  37. @PostMapping("update")
  38. public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) {
  39. wxCouponOrderService.saveOrUpdate(wxCouponOrder);
  40. return new ResultData();
  41. }
  42. @ApiOperation("交易流水分页列表接口")
  43. @GetMapping("listUnverified")
  44. @ApiImplicitParams({
  45. @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
  46. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true),
  47. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)})
  48. public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) {
  49. return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, false);
  50. }
  51. @ApiOperation("核销流水分页列表接口")
  52. @GetMapping("listVerified")
  53. @ApiImplicitParams({
  54. @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
  55. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true),
  56. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)})
  57. public ResultData listVerified(String date, Integer pageNum, Integer pageSize) {
  58. return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, true);
  59. }
  60. @ApiOperation("某日期交易总流水")
  61. @GetMapping("getUnverifiedAmountOnDate")
  62. @ApiImplicitParams({
  63. @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")})
  64. public ResultData getUnverifiedAmountOnDate(String date) {
  65. return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, false);
  66. }
  67. @ApiOperation("某日期核销总流水")
  68. @GetMapping("getVerifiedAmountOnDate")
  69. @ApiImplicitParams({
  70. @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")})
  71. public ResultData getVerifiedAmountOnDate(String date) {
  72. return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, true);
  73. }
  74. @ApiOperation(value = "卡券详情接口")
  75. @GetMapping("detail")
  76. @ApiImplicitParams({
  77. @ApiImplicitParam(name = "couponOrderId", value = "券ID", dataType = "string", paramType = "query", required = true)
  78. })
  79. public ResultData detail(String couponOrderId) {
  80. if(couponOrderId == null) {
  81. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  82. }
  83. return wxCouponOrderService.detailBUserVo(getUser().getId(), couponOrderId);
  84. }
  85. @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}")
  86. @PostMapping("verify")
  87. public ResultData verify(@RequestBody Map<String, String> paramMap) {
  88. logger.info(paramMap.toString());
  89. String couponOrderIdStr = paramMap.get("couponOrderId");
  90. if (StringUtils.isBlank(couponOrderIdStr)) {
  91. logger.error("couponOrderId不能为空: " + paramMap.toString());
  92. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  93. }
  94. Long couponOrderId = 0L;
  95. try {
  96. couponOrderId = Long.valueOf(couponOrderIdStr);
  97. } catch (NumberFormatException e) {
  98. couponOrderId = 0L;
  99. logger.error("couponOrderId参数不正确: " + paramMap.toString());
  100. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  101. }
  102. try {
  103. ResultData rd = wxCouponOrderService.verify(couponOrderId, getUser().getId());
  104. return rd;
  105. } catch (MallinkException e) {
  106. logger.error("核销异常: " + e.getMessage());
  107. return new ResultData(e.getErrorCode(), e.getMessage());
  108. } catch (Exception e) {
  109. logger.error("核销异常: " + e.getMessage());
  110. return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage());
  111. }
  112. }
  113. @ApiOperation(value = "根据couponOrderId查询接口", notes = "{\"couponOrderId\":\"string\"}")
  114. @PostMapping("/findById")
  115. public ResultData findById(@RequestBody Map<String, String> paramMap) {
  116. logger.info(paramMap.toString());
  117. String couponOrderIdStr = paramMap.get("couponOrderId");
  118. if (StringUtils.isBlank(couponOrderIdStr)) {
  119. logger.error("couponOrderId不能为空: " + paramMap.toString());
  120. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  121. }
  122. Long couponOrderId = 0L;
  123. try {
  124. couponOrderId = Long.valueOf(couponOrderIdStr);
  125. } catch (NumberFormatException e) {
  126. couponOrderId = 0L;
  127. logger.error("couponOrderId参数不正确: " + paramMap.toString());
  128. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  129. }
  130. return new ResultData(Result.SUCCESS, "查询成功", wxCouponOrderService.getById(couponOrderId));
  131. }
  132. }