|
|
@@ -17,13 +17,11 @@ import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
import com.cyksj.mapper.UserMapper;
|
|
|
import com.cyksj.mapper.manage.distribute.DistributeMoneyApplyMapper;
|
|
|
import com.cyksj.mapper.manage.distribute.DistributePointsExchangeMoneyMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.DistributeWaitingSendPointsMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.request.ApplyMoneyReq;
|
|
|
-import com.cyksj.model.views.DistributeMoneyApplyView;
|
|
|
-import com.cyksj.model.views.DistributeOrdersView;
|
|
|
-import com.cyksj.model.views.DistributePopularizeOrdersView;
|
|
|
-import com.cyksj.model.views.DistributePopularizeView;
|
|
|
-import com.cyksj.redis.RedisService;
|
|
|
+import com.cyksj.model.views.*;
|
|
|
import com.cyksj.web.util.StpUserUtil;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
|
@@ -35,6 +33,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
/*
|
|
|
*项目名: netflix
|
|
|
@@ -61,7 +61,9 @@ public class DistributePopularizeController {
|
|
|
|
|
|
private final DistributeMoneyApplyMapper distributeMoneyApplyMapper;
|
|
|
|
|
|
- private final RedisService redisService;
|
|
|
+ private final UserDistributeMapper userDistributeMapper;
|
|
|
+
|
|
|
+ private final DistributeWaitingSendPointsMapper distributeWaitingSendPointsMapper;
|
|
|
|
|
|
/**
|
|
|
* 推广订单明细
|
|
|
@@ -105,6 +107,28 @@ public class DistributePopularizeController {
|
|
|
distributePopularizeView.setGotPoints(user.getPoints());
|
|
|
Number number = beanSearcher.searchCount(DistributeOrdersView.class, MapUtils.builder().field(DistributeOrdersView::getUserId, userId).op(Operator.Equal).build());
|
|
|
distributePopularizeView.setDistributeOrders(number.intValue());
|
|
|
+ UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userId).select(UserDistribute::getId).last("limit 1"));
|
|
|
+ if (userDistribute != null) {
|
|
|
+ //是否是固定推广者
|
|
|
+ UserDistributeView userDistributeView = beanSearcher.searchFirst(UserDistributeView.class, MapUtils.builder()
|
|
|
+ .field(UserDistributeView::getDistribute_id, userDistribute.getId()).op(Operator.Equal)
|
|
|
+ .orderBy(UserDistributeView::getGoodsId).desc()
|
|
|
+ .build());
|
|
|
+ //最高平台比例
|
|
|
+ distributePopularizeView.setHighestRate(userDistributeView.getRate());
|
|
|
+ }else {
|
|
|
+ GoodsDon goodsDon = goodsDonMapper.selectOne(Wrappers.lambdaQuery(GoodsDon.class).orderByDesc(GoodsDon::getRate).select(GoodsDon::getRate).last("limit 1"));
|
|
|
+ distributePopularizeView.setHighestRate(goodsDon.getRate());
|
|
|
+ }
|
|
|
+ List<DistributeWaitingSendPoints> distributeWaitingSendPoints = distributeWaitingSendPointsMapper.selectList(Wrappers.lambdaQuery(DistributeWaitingSendPoints.class).eq(DistributeWaitingSendPoints::getSendStatus, DistributeWaitingSendPoints.Status.waiting).select(DistributeWaitingSendPoints::getPoints));
|
|
|
+ BigDecimal waitingPoints = BigDecimal.ZERO;
|
|
|
+ if (!distributeWaitingSendPoints.isEmpty()) {
|
|
|
+ Optional<BigDecimal> points = distributeWaitingSendPoints.stream().map(DistributeWaitingSendPoints::getPoints).reduce(BigDecimal::add);
|
|
|
+ if (points.isPresent()) {
|
|
|
+ waitingPoints = points.get();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ distributePopularizeView.setWaitingSendPoints(waitingPoints);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(distributePopularizeView);
|
|
|
}
|
|
|
|
|
|
@@ -151,4 +175,12 @@ public class DistributePopularizeController {
|
|
|
}
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult("系统异常,请重新提交提现申请");
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取积分兑换门槛
|
|
|
+ */
|
|
|
+ @GetMapping("/applyMoney/threshold")
|
|
|
+ public Result<DistributePointsExchangeMoney> getThreshold() {
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(distributePointsExchangeMoneyMapper.selectOne(Wrappers.lambdaQuery(DistributePointsExchangeMoney.class).last("limit 1")));
|
|
|
+ }
|
|
|
+}
|