一个微信对多个京粉

This commit is contained in:
雷欧(林平凡)
2025-04-11 16:06:13 +08:00
parent d88bcfbca2
commit f1c7710fb3
3 changed files with 28 additions and 20 deletions

View File

@@ -8,8 +8,6 @@ package cn.van.business.repository;
*/
import cn.van.business.model.jd.OrderRow;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
@@ -33,23 +31,35 @@ public interface OrderRowRepository extends JpaRepository<OrderRow, String> {
List<OrderRow> findByValidCode(int validCode);
// 查找 validCode != 15 或者 !=-1 的订单行 ,并且按orderTime 降序
// 修改后支持传入List<Long>
@Query("SELECT o FROM OrderRow o " + "WHERE o.validCode NOT IN ?1 " + "AND o.unionId IN :unionIds " + // 关键修改点
"ORDER BY o.orderTime DESC")
List<OrderRow> findByValidCodeNotInOrderByOrderTimeDescAndUnionId(@Param("validCodes") int[] validCodes, @Param("unionIds") List<Long> unionIds // 参数类型改为List
@Query("SELECT o FROM OrderRow o "
+ "WHERE o.validCode NOT IN :validCodes "
+ "AND o.unionId IN :unionIds "
+ "ORDER BY o.orderTime DESC")
List<OrderRow> findByValidCodeNotInAndUnionIdIn(
@Param("validCodes") int[] validCodes,
@Param("unionIds") List<Long> unionIds
);
@Query("select o from OrderRow o where o.validCode not in ?1 and o.orderTime >= ?2 order by o.orderTime DESC")
List<OrderRow> findByValidCodeNotInAndOrderTimeGreaterThanOrderByOrderTimeDesc(int[] validCodes, @DateTimeFormat(pattern = "yyyy-MM-dd") Date threeMonthsAgo);
@Query("SELECT o FROM OrderRow o "
+ "WHERE o.validCode NOT IN :validCodes "
+ "AND o.orderTime >= :startDate "
+ "ORDER BY o.orderTime DESC")
List<OrderRow> findByValidCodeNotInAndOrderTimeAfter(
@Param("validCodes") int[] validCodes,
@Param("startDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate
);
// 修改后支持传入unionId列表
@Query("SELECT o FROM OrderRow o " + "WHERE o.validCode NOT IN :validCodes " + "AND o.skuId = :skuId " + "AND o.unionId IN :unionIds " + // 关键修改点
"ORDER BY o.orderTime DESC")
List<OrderRow> findBySkuIdAndUnionId(@Param("validCodes") int[] validCodes, @Param("skuId") long skuId, @Param("unionIds") List<Long> unionIds // 参数类型改为List
@Query("SELECT o FROM OrderRow o "
+ "WHERE o.validCode NOT IN :validCodes "
+ "AND o.skuId = :skuId "
+ "AND o.unionId IN :unionIds "
+ "ORDER BY o.orderTime DESC")
List<OrderRow> findBySkuIdAndUnionIdIn(
@Param("validCodes") int[] validCodes,
@Param("skuId") long skuId,
@Param("unionIds") List<Long> unionIds
);
//// 在OrderRowRepository中添加模糊查询方法
//// 模糊查询收件人姓名或地址(包含分页)
//@Query("SELECT o FROM OrderRow o WHERE " + "o.recipientName LIKE %:keyword% OR " + "o.address LIKE %:keyword% " + "ORDER BY o.orderTime DESC")

View File

@@ -2,10 +2,8 @@ package cn.van.business.util;
import cn.van.business.model.jd.OrderRow;
import cn.van.business.repository.OrderRowRepository;
import cn.van.business.repository.ProductOrderRepository;
import cn.van.business.util.jdReq.*;
import com.alibaba.fastjson2.util.DateUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jd.open.api.sdk.DefaultJdClient;
import com.jd.open.api.sdk.JdClient;
import com.jd.open.api.sdk.domain.kplunion.OrderService.request.query.OrderRowReq;
@@ -282,7 +280,7 @@ public class JDScheduleJob {
int[] validCodes = {-1};
// 只要三个月的,更多的也刷新不出来的
Date threeMonthsAgo = Date.from(LocalDateTime.now().minusMonths(3).atZone(ZoneId.systemDefault()).toInstant());
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInAndOrderTimeGreaterThanOrderByOrderTimeDesc(validCodes, threeMonthsAgo);
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInAndOrderTimeAfter(validCodes, threeMonthsAgo);
for (OrderRow orderRow : orderRows) {

View File

@@ -242,7 +242,7 @@ public class JDUtil {
unionIds.add(Long.valueOf(unionId));
}
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, unionIds);
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInAndUnionIdIn(param, unionIds);
/**
* 菜单:
* 今日统计
@@ -432,7 +432,7 @@ public class JDUtil {
String unionId = superAdmin.getUnionId();
unionIds.add(Long.valueOf(unionId));
}
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, unionIds);
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInAndUnionIdIn(param, unionIds);
List<StringBuilder> contents = new ArrayList<>();
StringBuilder content = new StringBuilder();
@@ -505,7 +505,7 @@ public class JDUtil {
content.append("精准查询sku不统计已取消的订单:\r");
int[] validCodes = {-1, 3};
List<OrderRow> bySkuIdAndUnionId = orderRowRepository.findBySkuIdAndUnionId(validCodes, Long.parseLong(order), unionIds);
List<OrderRow> bySkuIdAndUnionId = orderRowRepository.findBySkuIdAndUnionIdIn(validCodes, Long.parseLong(order), unionIds);
int size = bySkuIdAndUnionId.size();
content.append("查询到").append(size).append("条订单\r");
// 切割成20条20条返回前100条