add exceed cdr remove
This commit is contained in:
parent
a73078221f
commit
1229783050
@ -1,8 +1,15 @@
|
||||
package com.pudonghot.yo.fsagent.service.impl;
|
||||
|
||||
import lombok.val;
|
||||
import java.util.Date;
|
||||
import java.util.Calendar;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chyxion.tigon.mybatis.Search;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pudonghot.yo.mapper.CallDetailRecordMapper;
|
||||
import com.pudonghot.yo.model.domain.CallDetailRecord;
|
||||
import com.pudonghot.yo.model.domain.CallDetailRecordAll;
|
||||
import com.pudonghot.yo.mapper.CallDetailRecordAllMapper;
|
||||
import com.pudonghot.yo.model.domain.CallDetailRecordBase;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -28,7 +35,30 @@ public class CallDetailRecordServiceImpl
|
||||
@Override
|
||||
public void insert(final CallDetailRecordBase req) {
|
||||
log.debug("Insert call detail [{}].", req);
|
||||
callDetailRecordAllMapper.insert(req);
|
||||
callDetailRecordMapper.insert(req);
|
||||
|
||||
if (req.getDialType() == CallDetailRecordBase.DialType.CAMPAIGN) {
|
||||
val calledNumber = req.getCalledNumber();
|
||||
val today = DateUtils.truncate(new Date(), Calendar.HOUR);
|
||||
val search = new Search(CallDetailRecord.CALLED_NUMBER, calledNumber)
|
||||
.between(CallDetailRecord.START_STAMP,
|
||||
DateUtils.addDays(today, -2),
|
||||
DateUtils.addDays(today, -1))
|
||||
.eq(CallDetailRecord.DIAL_TYPE, CallDetailRecordBase.DialType.CAMPAIGN);
|
||||
|
||||
if (req.getAnswerStamp() == null) {
|
||||
if (callDetailRecordMapper.exists(search)) {
|
||||
log.info("Ignore exceed CDR [{}].", req.getConnId());
|
||||
req.setDeleted(Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
callDetailRecordAllMapper.update(
|
||||
CallDetailRecordBase.DELETED, Boolean.TRUE,
|
||||
search.isNull(CallDetailRecordAll.ANSWER_STAMP));
|
||||
}
|
||||
}
|
||||
|
||||
callDetailRecordAllMapper.insert(req);
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
package com.pudonghot.yo.state;
|
||||
|
||||
import org.junit.Test;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
import org.junit.Test;
|
||||
import java.util.Calendar;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
|
||||
/**
|
||||
* @author Donghuang <br>
|
||||
@ -19,4 +22,13 @@ public class TestDriver {
|
||||
log.info("Original UUID: {}", uuid);
|
||||
log.info("UUID: {}", id);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDate() {
|
||||
|
||||
log.info("Before Yesterday [{}].", DateUtils.addDays(
|
||||
DateUtils.truncate(new Date(), Calendar.HOUR), -2));
|
||||
log.info("Yesterday [{}].", DateUtils.addDays(
|
||||
DateUtils.truncate(new Date(), Calendar.HOUR), -1));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user