|
|
@@ -1,22 +1,26 @@
|
|
|
package com.cyksj.web.controller.goods;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUnit;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
+import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
-import com.cyksj.model.entity.GoodsDon;
|
|
|
-import com.cyksj.model.entity.GoodsDonSku;
|
|
|
-import com.cyksj.model.entity.GoodsDonSpec;
|
|
|
-import com.cyksj.model.entity.OrderDon;
|
|
|
+import com.cyksj.mapper.channel.ChannelPopularizeMapper;
|
|
|
+import com.cyksj.model.entity.*;
|
|
|
+import com.cyksj.model.views.GoodsChannelPopularizeView;
|
|
|
import com.cyksj.model.views.GoodsDonPopularizeView;
|
|
|
import com.cyksj.model.views.GoodsDonViews;
|
|
|
import com.cyksj.task.StatisticsDataScheduler;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
|
+import com.ejlchina.searcher.param.Operator;
|
|
|
+import com.ejlchina.searcher.util.MapBuilder;
|
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -47,6 +51,8 @@ public class GoodsDonController {
|
|
|
|
|
|
private final OrderDonMapper orderDonMapper;
|
|
|
|
|
|
+ private final ChannelPopularizeMapper channelPopularizeMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 获取商品列表
|
|
|
*/
|
|
|
@@ -64,12 +70,33 @@ public class GoodsDonController {
|
|
|
* 推广未登录,虚拟商品列表
|
|
|
*/
|
|
|
@GetMapping("/get/popularize")
|
|
|
- public Result<SearchResult<GoodsDonPopularizeView>> getPopularizeVipGoods() {
|
|
|
- SearchResult<GoodsDonPopularizeView> search = beanSearcher.search(GoodsDonPopularizeView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
+ public Result<GoodsChannelPopularizeView> getPopularizeVipGoods(Long popularizeId) {
|
|
|
+ if (popularizeId == null || popularizeId < 1) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该推广链接已失效");
|
|
|
+ }
|
|
|
+ ChannelPopularize channelPopularize = channelPopularizeMapper.selectById(popularizeId);
|
|
|
+ if (channelPopularize == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该推广链接已失效");
|
|
|
+ }
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.field(GoodsDonPopularizeView::getStatus, true)
|
|
|
.field(GoodsDonPopularizeView::getDeleted, true)
|
|
|
- .field(GoodsDonPopularizeView::getType, 1)
|
|
|
- .build());
|
|
|
+ .field(GoodsDonPopularizeView::getType, 1);
|
|
|
+
|
|
|
+ GoodsChannelPopularizeView goodsChannelPopularizeView = new GoodsChannelPopularizeView();
|
|
|
+ BeanUtil.copyProperties(channelPopularize, goodsChannelPopularizeView);
|
|
|
+ if (channelPopularize.getGoodsIds() != null) {
|
|
|
+ try {
|
|
|
+ List<Long> goodsIds = Jsons.parseList(channelPopularize.getGoodsIds(), Long.class);
|
|
|
+ if (!goodsIds.isEmpty()) {
|
|
|
+ builder.field(GoodsDonPopularizeView::getImg, goodsIds).op(Operator.InList);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SearchResult<GoodsDonPopularizeView> search = beanSearcher.search(GoodsDonPopularizeView.class,
|
|
|
+ builder.build());
|
|
|
DateTime now = DateTime.now();
|
|
|
Integer randomNum = 2000;
|
|
|
List<GoodsDonPopularizeView> collect = search.getDataList().stream().filter(data -> data.getPrice().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
|
|
|
@@ -112,7 +139,9 @@ public class GoodsDonController {
|
|
|
});
|
|
|
search = new SearchResult<>(collect);
|
|
|
search.setTotalCount(collect.size());
|
|
|
- return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
+
|
|
|
+ goodsChannelPopularizeView.setGoodsViews(search);
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(goodsChannelPopularizeView);
|
|
|
}
|
|
|
|
|
|
|