一个微信对多个京粉
This commit is contained in:
@@ -33,14 +33,22 @@ public interface OrderRowRepository extends JpaRepository<OrderRow, String> {
|
||||
List<OrderRow> findByValidCode(int validCode);
|
||||
|
||||
// 查找 validCode != 15 或者 !=-1 的订单行 ,并且按orderTime 降序
|
||||
@Query("select o from OrderRow o where o.validCode not in ?1 and o.unionId =?2 order by o.orderTime DESC")
|
||||
List<OrderRow> findByValidCodeNotInOrderByOrderTimeDescAndUnionId(int[] validCodes, Long unionId);
|
||||
// 修改后支持传入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 ?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 ?1 and o.skuId = ?2 and o.unionId = ?3 order by o.orderTime DESC")
|
||||
List<OrderRow> findBySkuIdAndUnionId(int[] validCodes,long skuId, long unionId);
|
||||
// 修改后支持传入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
|
||||
);
|
||||
|
||||
|
||||
//// 在OrderRowRepository中添加模糊查询方法
|
||||
//// 模糊查询收件人姓名或地址(包含分页)
|
||||
|
||||
@@ -235,14 +235,14 @@ public class JDUtil {
|
||||
public void sendOrderToWxByOrderJD(String order, String fromWxid) {
|
||||
|
||||
int[] param = {-1};
|
||||
WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid);
|
||||
String unionId;
|
||||
if (superAdmin != null) {
|
||||
unionId = superAdmin.getUnionId();
|
||||
}else {
|
||||
return;
|
||||
List<WXUtil.SuperAdmin> superAdmins = getSuperAdmins(fromWxid);
|
||||
List<Long> unionIds = new ArrayList<>();
|
||||
for (WXUtil.SuperAdmin superAdmin : superAdmins) {
|
||||
String unionId = superAdmin.getUnionId();
|
||||
unionIds.add(Long.valueOf(unionId));
|
||||
}
|
||||
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, Long.valueOf(unionId));
|
||||
|
||||
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, unionIds);
|
||||
/**
|
||||
* 菜单:
|
||||
* 今日统计
|
||||
@@ -426,14 +426,13 @@ public class JDUtil {
|
||||
*/
|
||||
public void sendOrderToWxByOrderJDAdvanced(String order, String fromWxid) {
|
||||
int[] param = {-1};
|
||||
WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid);
|
||||
String unionId;
|
||||
if (superAdmin != null) {
|
||||
unionId = superAdmin.getUnionId();
|
||||
}else {
|
||||
return;
|
||||
List<WXUtil.SuperAdmin> superAdmins = getSuperAdmins(fromWxid);
|
||||
List<Long> unionIds = new ArrayList<>();
|
||||
for (WXUtil.SuperAdmin superAdmin : superAdmins) {
|
||||
String unionId = superAdmin.getUnionId();
|
||||
unionIds.add(Long.valueOf(unionId));
|
||||
}
|
||||
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, Long.valueOf(unionId));
|
||||
List<OrderRow> orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, unionIds);
|
||||
|
||||
List<StringBuilder> contents = new ArrayList<>();
|
||||
StringBuilder content = new StringBuilder();
|
||||
@@ -491,7 +490,7 @@ public class JDUtil {
|
||||
List<OrderRow> orderRowList = orderRowRepository.findByOrderId(Long.parseLong(order));
|
||||
if (!orderRowList.isEmpty()) {
|
||||
OrderRow orderRow = orderRowList.get(0);
|
||||
if (orderRow.getUnionId().equals(Long.parseLong(unionId))) {
|
||||
if (unionIds.contains(orderRow.getUnionId())) {
|
||||
content.append(orderUtil.getFormattedOrderInfo(orderRow, orderRow.getValidCode()));
|
||||
} else {
|
||||
content.append("订单不属于你,无法查询\r");
|
||||
@@ -506,7 +505,7 @@ public class JDUtil {
|
||||
content.append("精准查询sku,不统计已取消的订单:\r");
|
||||
int[] validCodes = {-1, 3};
|
||||
|
||||
List<OrderRow> bySkuIdAndUnionId = orderRowRepository.findBySkuIdAndUnionId(validCodes, Long.parseLong(order), Long.parseLong(unionId));
|
||||
List<OrderRow> bySkuIdAndUnionId = orderRowRepository.findBySkuIdAndUnionId(validCodes, Long.parseLong(order), unionIds);
|
||||
int size = bySkuIdAndUnionId.size();
|
||||
content.append("查询到").append(size).append("条订单\r");
|
||||
// 切割成20条20条返回前100条
|
||||
|
||||
@@ -156,6 +156,9 @@ public class OrderUtil {
|
||||
public String getFormattedOrderInfoBatch(OrderRow orderRow) {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
ValidCodeConverter converter = new ValidCodeConverter();
|
||||
Long unionId = orderRow.getUnionId();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(unionId));
|
||||
|
||||
//+ "订单+sku:" + orderRow.getId() + "\r"
|
||||
//+ "商品单价:" + orderRow.getPrice() + "\r"
|
||||
//+ "商品数量:" + orderRow.getSkuNum() + "\r"
|
||||
@@ -170,9 +173,10 @@ public class OrderUtil {
|
||||
//}
|
||||
|
||||
|
||||
return "订单:" + orderRow.getOrderId() + " (" + (orderRow.getPlus() == 1 ? "plus" : "非plus") + ")\r" +
|
||||
return "订单:" + orderRow.getOrderId() + " (" + (orderRow.getPlus() == 1 ? "plus" : "非plus") + ")\r"
|
||||
+"京粉备注:"+ remarkFromJdid + "\r"
|
||||
|
||||
"状态:" + (converter.getCodeDescription(orderRow.getValidCode())) + "\r"
|
||||
+"状态:" + (converter.getCodeDescription(orderRow.getValidCode())) + "\r"
|
||||
|
||||
+ "名称:" + orderRow.getSkuName() + "\r\n"
|
||||
//+ "商品单价:" + orderRow.getPrice() + "\r"
|
||||
|
||||
@@ -97,13 +97,14 @@ public class WXUtil {
|
||||
return jdidToRemarkMap.get(jdid);
|
||||
}
|
||||
|
||||
public static SuperAdmin getSuperAdmin(String wxid) {
|
||||
public static List<SuperAdmin> getSuperAdmins(String wxid) {
|
||||
List<SuperAdmin> result = new ArrayList<>();
|
||||
for (SuperAdmin admin : super_admins.values()) {
|
||||
if (admin.getWxid().equals(wxid)) {
|
||||
return admin;
|
||||
result.add(admin);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ public class WxMessageConsumer {
|
||||
}
|
||||
|
||||
String fromWxid = innerData.getFromWxid();
|
||||
WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid);
|
||||
WXUtil.SuperAdmin superAdmin = getSuperAdmins(fromWxid);
|
||||
if (Util.isEmpty(superAdmin)) {
|
||||
logger.info("不是超管消息,不处理");
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user