|
@@ -2,12 +2,16 @@ package com.yonge.cooleshow.student.controller.coupon;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.coupon.CouponUseStateEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.queryInfo.CouponInfoQuery;
|
|
|
import com.yonge.cooleshow.biz.dal.queryInfo.CouponIssueQueryInfo;
|
|
|
import com.yonge.cooleshow.biz.dal.service.CouponIssueService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.coupon.CouponIssueWrapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
|
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
import com.yonge.cooleshow.student.io.request.CouponInfoVO;
|
|
@@ -15,14 +19,18 @@ import com.yonge.toolset.base.page.PageInfo;
|
|
|
import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* 优惠券信息
|
|
@@ -64,4 +72,36 @@ public class CouponInfoController extends BaseController {
|
|
|
|
|
|
return succeed(PageUtil.getPageInfo(couponIssueWrapperIPage,pageInfos));
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 优惠券状态统计信息
|
|
|
+ * @return List<CouponInfoVO.CouponIssueStateStat>
|
|
|
+ */
|
|
|
+ @GetMapping("/statInfo")
|
|
|
+ public HttpResponseResult<List<CouponInfoVO.CouponStateStat>> findCouponStateStatInfo(
|
|
|
+ @ApiParam(value = "优惠券类型") @RequestParam(value = "couponType", required = false) String couponType) {
|
|
|
+
|
|
|
+ // 登录用户信息
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (Objects.isNull(user) || Objects.isNull(user.getId())) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<StatGroupWrapper> wrappers = couponIssueService.queryCouponStateStatInfo(user.getId(),
|
|
|
+ CouponInfoQuery.CouponStateStatQuery.builder()
|
|
|
+ .clientType(ClientEnum.STUDENT)
|
|
|
+ .build().couponType(couponType));
|
|
|
+
|
|
|
+ List<CouponInfoVO.CouponStateStat> retlist = Lists.newArrayList();
|
|
|
+
|
|
|
+ for (StatGroupWrapper item : wrappers) {
|
|
|
+
|
|
|
+ retlist.add(CouponInfoVO.CouponStateStat.builder()
|
|
|
+ .useState(CouponUseStateEnum.valueOf(item.getGid()))
|
|
|
+ .total(item.getTotal())
|
|
|
+ .build());
|
|
|
+ }
|
|
|
+
|
|
|
+ return succeed(retlist);
|
|
|
+ }
|
|
|
}
|