|
|
@@ -9,10 +9,10 @@ import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponMapper;
|
|
|
+import com.cyksj.mapper.manage.coupon.CouponRecommendMapper;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponSkuMapper;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponUserMapper;
|
|
|
import com.cyksj.model.dto.CouponPopularizeDto;
|
|
|
-import com.cyksj.model.entity.Coupon;
|
|
|
import com.cyksj.model.entity.CouponUser;
|
|
|
import com.cyksj.model.request.CouponCollectReq;
|
|
|
import com.cyksj.model.views.*;
|
|
|
@@ -50,6 +50,8 @@ public class CouponFrontController {
|
|
|
|
|
|
private final CouponMapper couponMapper;
|
|
|
|
|
|
+ private final CouponRecommendMapper couponRecommendMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 优惠券领取中心列表
|
|
|
*/
|
|
|
@@ -107,20 +109,15 @@ public class CouponFrontController {
|
|
|
* 推荐优惠券列表
|
|
|
*/
|
|
|
@GetMapping("/recommend/list")
|
|
|
- public Result<SearchResult<CouponRecommendView>> getRecommendList(HttpServletRequest request) {
|
|
|
+ public Result<Page<CouponRecommendView>> getRecommendList(@RequestParam(defaultValue = "1") Long start, @RequestParam(defaultValue = "5") Long limit) {
|
|
|
Long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
CouponNewUserView couponNewUserView = beanSearcher.searchFirst(CouponNewUserView.class, MapUtils.builder().field(CouponNewUserView::getUserId, userId).op(Operator.Equal).build());
|
|
|
- SearchResult<CouponRecommendView> search = beanSearcher.search(CouponRecommendView.class,
|
|
|
- MapUtils.flatBuilder(request.getParameterMap())
|
|
|
- .orderBy(CouponRecommendView::getId).desc()
|
|
|
- .build());
|
|
|
- search.getDataList().stream().filter(data -> {
|
|
|
- //过滤新用户优惠券
|
|
|
- if (data.getScope() == Coupon.Scope.newUser && couponNewUserView != null) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- return true;
|
|
|
- }).forEach(data -> {
|
|
|
+ Boolean isNewUser = true;
|
|
|
+ if (couponNewUserView != null) {
|
|
|
+ isNewUser = false;
|
|
|
+ }
|
|
|
+ Page<CouponRecommendView> page = couponRecommendMapper.getRecommendCouponViewList(userId, isNewUser, new Page<>(start, limit));
|
|
|
+ page.getRecords().forEach(data -> {
|
|
|
CouponUser couponUser = couponUserMapper.selectOne(Wrappers.lambdaQuery(CouponUser.class).eq(CouponUser::getUserId, userId).eq(CouponUser::getCouponId, data.getCouponId()).select(CouponUser::getId).last("limit 1"));
|
|
|
if (couponUser == null) {
|
|
|
//待领取
|
|
|
@@ -132,7 +129,7 @@ public class CouponFrontController {
|
|
|
String str = couponSkuMapper.selectGoodsSkuStr(data.getCouponId());
|
|
|
data.setGoodsSkuStr(str.replaceAll(",", "/").replaceAll(";", ""));
|
|
|
});
|
|
|
- return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(page);
|
|
|
}
|
|
|
|
|
|
/**
|