package com.simple.controller; import com.github.pagehelper.PageInfo; import com.simple.common.ErrorCode; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCUser; import com.simple.domain.po.WxCouponOrder; import com.simple.domain.vo.WxCouponOrderCVo; import com.simple.enums.EnumCouponOrderStatus; import com.simple.exception.MallinkException; import com.simple.service.WxCouponOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController @RequestMapping("/api/couponOrder") @Api(description = "用户卡券查询接口") public class WxCouponOrderController extends BaseController { private Logger logger = Logger.getLogger(WxCouponOrderController.class); @Autowired private WxCouponOrderService wxCouponOrderService; @ApiOperation(value = "退券接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("refund") public ResultData refund(@RequestBody Map paramMap) { logger.info(paramMap.toString()); String couponOrderIdStr = paramMap.get("couponOrderId"); if (StringUtils.isBlank(couponOrderIdStr)) { logger.error("couponOrderId不能为空: " + paramMap.toString()); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId不能为空"); } Long couponOrderId = 0L; try { couponOrderId = Long.valueOf(couponOrderIdStr); } catch (NumberFormatException e) { logger.error("couponOrderId参数不正确: " + paramMap.toString()); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId参数不正确"); } try { ResultData rd = wxCouponOrderService.refund(couponOrderId, getUser().getId()); return rd; } catch (MallinkException e) { logger.error("退券异常: " + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); } catch (Exception e) { logger.error("退券异常: " + e.getMessage()); return new ResultData(ErrorCode.REFUND_ORDER_ERROR, e.getMessage()); } } @ApiOperation("券包分页列表接口") @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { if(pageNum == null || pageSize == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrder(); wxCouponOrder.setCUserId(getUser().getId()); if (wxCouponOrder.getCouponOrderStatus() == null) wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); else wxCouponOrder.setSortColumns(WxCouponOrder.Field.UpdateDate_DESC); return wxCouponOrderService.listCUserVoAsPage(wxCouponOrder, pageNum, pageSize); } @ApiOperation(value = "卡券详情接口") @GetMapping("detail") @ApiImplicitParams({ @ApiImplicitParam(name = "couponOrderId", value = "券ID", dataType = "string", paramType = "query", required = true) }) public ResultData detail(String couponOrderId) { if(couponOrderId == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } return wxCouponOrderService.detailCUserVo(getUser().getId(), couponOrderId); } }