修改补量时间精确到分钟

master
wjt 1 year ago
parent 1ce42166dd
commit 5a7926e062

@ -20,6 +20,7 @@ import com.baiye.util.QueryHelp;
import com.baiye.util.RedisUtils;
import com.baiye.util.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.boot.jaxb.SourceType;
import org.springframework.context.event.EventListener;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@ -78,6 +79,19 @@ public class ClueBoostServiceImpl implements ClueBoostService {
CommonLog.info("赔付线索:" + integer + "条");
}
/**
*
*
* @param startTime
* @param endTime
* @param interval
*/
private Boolean timeCompare(Date startTime, Date endTime, int interval) {
long between = DateUtil.between(startTime, endTime, DateUnit.MINUTE, true);
long i = interval * 60L;
return between <= i;
}
@EventListener(ClueBoostDTO.class)
@Transactional(rollbackFor = Exception.class)
public void boost(ClueBoostDTO clueBoostDTO) {
@ -92,20 +106,18 @@ public class ClueBoostServiceImpl implements ClueBoostService {
//上一次拨打距离当前时间间隔1小时
Date lastTime = clueBoost.getLastTime();
long betweenLast = DateUtil.between(lastTime, DateUtil.date(), DateUnit.HOUR);
if (betweenLast < DefaultNumberConstants.ONE_NUMBER) {
if (timeCompare(lastTime, DateUtil.date(), DefaultNumberConstants.ONE_NUMBER)) {
return;
}
//第一次拨打后 24小时内需2通
Date firstTime = clueBoost.getFirstTime();
long betweenFirst = DateUtil.between(firstTime, DateUtil.date(), DateUnit.HOUR);
Integer callNum = clueBoost.getCallNum();
if (betweenFirst <= DefaultNumberConstants.TWENTY_THREE) {
if (timeCompare(firstTime, DateUtil.date(), DefaultNumberConstants.TWENTY_FOUR)) {
clueBoost.setCallNum(callNum + 1);
clueBoost.setLastTime(DateUtil.date());
redisUtils.set(KEY + clueBoostDTO.getClueId(), clueBoost, 48 - betweenFirst, TimeUnit.MILLISECONDS);
redisUtils.set(KEY + clueBoostDTO.getClueId(), clueBoost, 48, TimeUnit.HOURS);
return;
} else if (betweenFirst <= DefaultNumberConstants.FORTY_EIGHT) {
} else if (timeCompare(firstTime, DateUtil.date(), DefaultNumberConstants.FORTY_EIGHT)) {
if (callNum >= DefaultNumberConstants.TWO_NUMBER) {
//满足补量
ClueBoost clueBoostNew = new ClueBoost().addClueBoost(clueBoost.getClueId(), clueBoost.getMemberId(), clueBoost.getClueType(), clueBoostDTO.getWhichUserId());

Loading…
Cancel
Save