|
|
@ -96,42 +96,44 @@ public class DeliveryBalanceTask {
|
|
|
|
&& Boolean.TRUE.equals(userInfo.getEnabled())
|
|
|
|
&& Boolean.TRUE.equals(userInfo.getEnabled())
|
|
|
|
&& ObjectUtil.isNotNull(channelCustom)
|
|
|
|
&& ObjectUtil.isNotNull(channelCustom)
|
|
|
|
&& Boolean.TRUE.equals(taskTagDto.getIsDmpDelivery())) {
|
|
|
|
&& Boolean.TRUE.equals(taskTagDto.getIsDmpDelivery())) {
|
|
|
|
Integer dmpLimitNum = channelCustom.getDmpLimitNum();
|
|
|
|
|
|
|
|
// 找出两天之内未兑换的数量
|
|
|
|
|
|
|
|
Integer number = deliveryRecordService.queryNumberByDateAndUser
|
|
|
|
|
|
|
|
(DateUtil.offsetDay(DateUtil.date(), DefaultNumberConstants.MINUS_TWO_NUMBER),
|
|
|
|
|
|
|
|
DefaultNumberConstants.ZERO_NUMBER, userId);
|
|
|
|
|
|
|
|
// 判断剩余数量
|
|
|
|
|
|
|
|
if (ObjectUtil.isNull(channelCustom.getSurplusNum()) || ObjectUtil.isNull(dmpLimitNum)
|
|
|
|
|
|
|
|
|| channelCustom.getSurplusNum() - (number != null ? number : DefaultNumberConstants.ZERO_NUMBER) >>
|
|
|
|
|
|
|
|
DefaultNumberConstants.ONE_NUMBER <= DefaultNumberConstants.TEN_NUMBER) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
lock.lock();
|
|
|
|
lock.lock();
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 截取数据
|
|
|
|
if (taskTagDto.getIsForm() != null && taskTagDto.getIsForm() != DefaultNumberConstants.EIGHT_NUMBER) {
|
|
|
|
if (ObjectUtil.isNotNull(dmpLimitNum)
|
|
|
|
Integer dmpLimitNum = channelCustom.getDmpLimitNum();
|
|
|
|
&& dmpLimitNum > DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
// 找出两天之内未兑换的数量
|
|
|
|
DateTime now = DateUtil.date();
|
|
|
|
Integer number = deliveryRecordService.queryNumberByDateAndUser
|
|
|
|
// 统计今天数量
|
|
|
|
(DateUtil.offsetDay(DateUtil.date(), DefaultNumberConstants.MINUS_TWO_NUMBER),
|
|
|
|
Integer count = deliveryRecordService.countByUserIdAndDate
|
|
|
|
DefaultNumberConstants.ZERO_NUMBER, userId);
|
|
|
|
(userId, DateUtil.beginOfDay(now), DateUtil.endOfDay(now));
|
|
|
|
// 判断剩余数量
|
|
|
|
int sum = count + list.size();
|
|
|
|
if (ObjectUtil.isNull(channelCustom.getSurplusNum()) || ObjectUtil.isNull(dmpLimitNum)
|
|
|
|
// 下载统计
|
|
|
|
|| channelCustom.getSurplusNum() - (number != null ? number : DefaultNumberConstants.ZERO_NUMBER) >>
|
|
|
|
downList = CollUtil.sub(list, sum >= dmpLimitNum
|
|
|
|
DefaultNumberConstants.ONE_NUMBER <= DefaultNumberConstants.TEN_NUMBER) {
|
|
|
|
? DefaultNumberConstants.ZERO_NUMBER : list.size(), dmpLimitNum > sum
|
|
|
|
continue;
|
|
|
|
? list.size() : sum - dmpLimitNum);
|
|
|
|
}
|
|
|
|
// 发送统计
|
|
|
|
// 截取数据
|
|
|
|
list = CollUtil.sub(list, sum >= dmpLimitNum
|
|
|
|
if (ObjectUtil.isNotNull(dmpLimitNum)
|
|
|
|
? Math.min(sum - dmpLimitNum, list.size())
|
|
|
|
&& dmpLimitNum > DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
: DefaultNumberConstants.ZERO_NUMBER, list.size());
|
|
|
|
DateTime now = DateUtil.date();
|
|
|
|
}
|
|
|
|
// 统计今天数量
|
|
|
|
// 最大数量不能大于剩余数量
|
|
|
|
Integer count = deliveryRecordService.countByUserIdAndDate
|
|
|
|
if (list.size() >= channelCustom.getSurplusNum()) {
|
|
|
|
(userId, DateUtil.beginOfDay(now), DateUtil.endOfDay(now));
|
|
|
|
list = CollUtil.sub(list, DefaultNumberConstants.ZERO_NUMBER,
|
|
|
|
int sum = count + list.size();
|
|
|
|
channelCustom.getSurplusNum());
|
|
|
|
// 下载统计
|
|
|
|
downList.addAll(CollUtil.sub
|
|
|
|
downList = CollUtil.sub(list, sum >= dmpLimitNum
|
|
|
|
(list, channelCustom.getSurplusNum(), list.size()));
|
|
|
|
? DefaultNumberConstants.ZERO_NUMBER : list.size(), dmpLimitNum > sum
|
|
|
|
|
|
|
|
? 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()) {
|
|
|
|
|
|
|
|
list = CollUtil.sub(list, DefaultNumberConstants.ZERO_NUMBER,
|
|
|
|
|
|
|
|
channelCustom.getSurplusNum());
|
|
|
|
|
|
|
|
downList.addAll(CollUtil.sub
|
|
|
|
|
|
|
|
(list, channelCustom.getSurplusNum(), list.size()));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 总量超过50
|
|
|
|
// 总量超过50
|
|
|
|