TASK:mixi;

This commit is contained in:
shahaibo
2024-05-08 12:46:50 +08:00
parent 1fefa85e5a
commit 5ebb549fe9
4 changed files with 2083 additions and 2088 deletions

View File

@@ -21,4 +21,5 @@ public class MiTuProductSellNum implements Serializable {
private Long productId;
private Integer sellNum;
private LocalDate sellDate;
private String shCode;
}

View File

@@ -1,13 +1,11 @@
package com.mixi.service;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.mixi.common.config.FileProperties;
import com.mixi.common.config.exception.BusinessException;
import com.mixi.common.context.UserContext;
@@ -19,26 +17,20 @@ import com.mixi.mapper.TProductMapper;
import com.mixi.mapper.entity.*;
import com.mixi.model.dto.*;
import com.mixi.model.vo.*;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
@@ -287,7 +279,11 @@ public class TAppProductService extends ServiceImpl<TProductMapper, TProduct> {
// return Lists.newArrayList();
// }
// List<Long> selectProductIds = appProductSaleRankVOS.stream().map(v->Long.valueOf(v.getId())).collect(Collectors.toList());
Map<Long, Integer> productIdNumMap = getProductIdListByQueryType(query.getType());
TStore byId = null;
if (query.getStoreId() != null) {
byId = storeService.getById(query.getStoreId());
}
Map<Long, Integer> productIdNumMap = getProductIdListByQueryType(query.getType(), byId);
List<Long> collect = productIdNumMap.keySet().stream().collect(Collectors.toList());
QueryWrapper<TProduct> qw = new QueryWrapper<>();
qw.lambda().in(TProduct::getId, collect);
@@ -345,7 +341,7 @@ public class TAppProductService extends ServiceImpl<TProductMapper, TProduct> {
return sortedList;
}
public Map<Long, Integer> getProductIdListByQueryType(Integer type) {
public Map<Long, Integer> getProductIdListByQueryType(Integer type, TStore byId) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate today = LocalDate.now();
String startDate = "";
@@ -367,6 +363,10 @@ public class TAppProductService extends ServiceImpl<TProductMapper, TProduct> {
.groupBy("product_id")
.orderByDesc("sell_num")
.last("LIMIT 10");
if (byId != null) {
qw.eq("sh_code", byId.getName());
}
List<MiTuProductSellNum> miTuProductSellNums = miTuProductSellNumMapper.selectList(qw);
if (CollectionUtils.isEmpty(miTuProductSellNums)) {
return new HashMap<>();

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mixi.common.config.exception.BusinessException;
import com.mixi.common.response.PageBaseResponse;
import com.mixi.common.response.Response;
import com.mixi.common.utils.CopyUtil;
import com.mixi.common.utils.MinioUtil;
import com.mixi.mapper.MiTuExportMapper;
@@ -15,27 +14,20 @@ import com.mixi.mapper.TProductMapper;
import com.mixi.mapper.entity.MiTuExport;
import com.mixi.mapper.entity.MiTuMember;
import com.mixi.mapper.entity.MiTuProduct;
import com.mixi.mapper.entity.TProduct;
import com.mixi.model.dto.QueryMiTuExportPageDTO;
import com.mixi.model.vo.MiTuExportVO;
import com.mixi.service.MiTuExportService;
import com.mixi.service.TAppProductService;
import com.mixi.service.TProductService;
import io.minio.errors.MinioException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -208,7 +200,7 @@ public class MiTuExportServiceImpl implements MiTuExportService {
}
case "Type S" : {
// Sell through 前20
Map<Long, Integer> productIdNumMap = appProductService.getProductIdListByQueryType(3);
Map<Long, Integer> productIdNumMap = appProductService.getProductIdListByQueryType(3, null);
List<Long> collect = productIdNumMap.keySet().stream().collect(Collectors.toList());
if (CollectionUtils.isEmpty(collect)) {
return new ArrayList<>();