修改发送逻辑

master
bynt 1 year ago
parent bfee172d2b
commit 92559d4007

@ -19,7 +19,7 @@ public enum MailRequestEnum {
/** /**
* *
*/ */
GG("GG", "dmp::gender::"), GG("GG", "mail::gender::"),
/** /**

@ -33,4 +33,30 @@ public interface DeliveryRecordRepository extends
*/ */
@Query("select sum(d.num) from DeliveryRecord d where d.createTime >= ?1 and d.status = ?2 and d.userId = ?3") @Query("select sum(d.num) from DeliveryRecord d where d.createTime >= ?1 and d.status = ?2 and d.userId = ?3")
Integer queryNumberByDateAndUser(DateTime dateTime, Integer status, Long userId); Integer queryNumberByDateAndUser(DateTime dateTime, Integer status, Long userId);
/**
*
*
* @param userId
* @param beginTime
* @param endTime
* @param num
* @return
*/
@Query("select count(t) from TaskImei t where userId = ?1 and status = ?4 and updateTime between ?2 and ?3")
Integer countByUserId(Long userId, DateTime beginTime, DateTime endTime, Integer num);
/**
*
*
* @param dateTime
* @param time
* @param userId
* @return
*/
@Query("select sum(d.num) from DeliveryRecord d where d.userId = ?3 and d.createTime between ?1 and ?2 ")
Integer queryNumberByDateAndUser(DateTime dateTime, DateTime time, Long userId);
} }

@ -53,4 +53,14 @@ public interface DeliveryRecordService {
* @return * @return
*/ */
Boolean exchangeByInterFace(List<ImeiDTO> imeiDTOList, String taskImeiName, String publicKey, String privateKey); Boolean exchangeByInterFace(List<ImeiDTO> imeiDTOList, String taskImeiName, String publicKey, String privateKey);
/**
*
*
* @param userId
* @param beginOfDay
* @param endOfDay
* @return
*/
Integer countByUserIdAndDate(Long userId, DateTime beginOfDay, DateTime endOfDay);
} }

@ -69,4 +69,10 @@ public class DeliveryRecordServiceImpl implements DeliveryRecordService {
HttpUtil.post("https://www.baidu.com/", JSONUtil.toJsonStr(stripsDTO)); HttpUtil.post("https://www.baidu.com/", JSONUtil.toJsonStr(stripsDTO));
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public Integer countByUserIdAndDate(Long userId, DateTime beginOfDay, DateTime dateTime) {
Integer num = deliveryRecordRepository.queryNumberByDateAndUser(beginOfDay, dateTime, userId);
return num != null ? num : DefaultNumberConstants.ZERO_NUMBER;
}
} }

@ -109,12 +109,16 @@ public class DeliveryBalanceTask {
&& dmpLimitNum > DefaultNumberConstants.ZERO_NUMBER) { && dmpLimitNum > DefaultNumberConstants.ZERO_NUMBER) {
DateTime now = DateUtil.date(); DateTime now = DateUtil.date();
// 统计今天数量 // 统计今天数量
Integer count = taskImeiService.countByUserIdAndDate Integer count = deliveryRecordService.countByUserIdAndDate(userId, DateUtil.beginOfDay(now), DateUtil.endOfDay(now));
(userId, DateUtil.beginOfDay(now), DateUtil.endOfDay(now), DefaultNumberConstants.ONE_NUMBER); int sum = count + list.size();
downList = CollUtil.sub(list, count >= // 下载统计
dmpLimitNum ? DefaultNumberConstants.ZERO_NUMBER : dmpLimitNum, list.size()); downList = CollUtil.sub(list, sum >= dmpLimitNum
list = CollUtil.sub(list, DefaultNumberConstants.ZERO_NUMBER, ? DefaultNumberConstants.ZERO_NUMBER : list.size(), dmpLimitNum > sum
count >= dmpLimitNum ? DefaultNumberConstants.ZERO_NUMBER : dmpLimitNum); ? list.size() : sum - dmpLimitNum);
// 发送统计
list = CollUtil.sub(list, sum >= dmpLimitNum
? Math.min(sum - dmpLimitNum, list.size())
: DefaultNumberConstants.ZERO_NUMBER, list.size());
} }
// 最大数量不能大于剩余数量 // 最大数量不能大于剩余数量
if (list.size() >= channelCustom.getSurplusNum()) { if (list.size() >= channelCustom.getSurplusNum()) {

@ -5,6 +5,8 @@ package com.baiye.service;
* @date : 2021/12/17 * @date : 2021/12/17
*/ */
import cn.hutool.core.collection.CollUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
@ -40,6 +42,7 @@ public class WeightRandomStrategyX<K, V extends Number> {
public static void main(String[] args) { public static void main(String[] args) {
List<String> list = Lists.newArrayList("a", "b", "c", "d", "e", "f", "7"); List<String> list = Lists.newArrayList("a", "b", "c", "d", "e", "f", "7");
List<String> sub = CollUtil.sub(list, 10, 7);
List<List<String>> lists = averageAssign(list, 3); List<List<String>> lists = averageAssign(list, 3);
} }

Loading…
Cancel
Save