FollowRecordServiceImpl.java
3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package cn.fw.valhalla.service.data.impl;
import cn.fw.valhalla.dao.mapper.FollowRecordMapper;
import cn.fw.valhalla.domain.db.follow.FollowRecord;
import cn.fw.valhalla.domain.enums.FollowTypeEnum;
import cn.fw.valhalla.service.data.FollowRecordService;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author : kurisu
* @className : FollowRecordImpl
* @description : 跟进记录
* @date: 2020-08-12 11:10
*/
@Slf4j
@Service
public class FollowRecordServiceImpl extends ServiceImpl<FollowRecordMapper, FollowRecord> implements FollowRecordService {
@Override
public boolean queryAndSave(FollowRecord record) {
int count = this.count(Wrappers.<FollowRecord>lambdaQuery()
.eq(FollowRecord::getTaskId, record.getTaskId())
.eq(FollowRecord::getUserId, record.getUserId())
.eq(FollowRecord::getPlanTime, record.getPlanTime()));
if (count > 0) {
return true;
}
return this.save(record);
}
/**
* 查询跟进记录
*
* @param taskId
* @return
*/
@Override
public List<FollowRecord> getRecordList(final Long taskId) {
return this.list(Wrappers.<FollowRecord>lambdaQuery()
.eq(FollowRecord::getTaskId, taskId)
.eq(FollowRecord::getAddTodo, Boolean.TRUE)
.orderByAsc(FollowRecord::getId)
);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean overdue(final Long id) {
return this.update(Wrappers.<FollowRecord>lambdaUpdate()
.set(FollowRecord::getOutTime, Boolean.TRUE)
.eq(FollowRecord::getId, id)
);
}
@Override
public boolean addTodoBatchById(List<Long> list) {
if (CollectionUtils.isEmpty(list)) {
return false;
}
return this.update(Wrappers.<FollowRecord>lambdaUpdate()
.set(FollowRecord::getAddTodo, Boolean.TRUE)
.in(FollowRecord::getId, list)
);
}
@Override
public boolean removeByTaskId(Long taskId) {
return this.remove(Wrappers.<FollowRecord>lambdaQuery()
.eq(FollowRecord::getTaskId, taskId)
.eq(FollowRecord::getAddTodo, Boolean.FALSE)
.isNull(FollowRecord::getFollowTime)
);
}
@Override
public boolean removeByTaskIds(List<Long> idList) {
return this.remove(Wrappers.<FollowRecord>lambdaQuery()
.in(FollowRecord::getTaskId, idList)
.eq(FollowRecord::getOutTime, Boolean.FALSE)
.isNull(FollowRecord::getFollowTime)
);
}
@Override
public void removeRecordByCustId(Long customerId, List<FollowTypeEnum> list) {
remove(Wrappers.<FollowRecord>lambdaQuery()
.eq(FollowRecord::getCustomerId, customerId)
.eq(FollowRecord::getOutTime, Boolean.FALSE)
.eq(FollowRecord::getAddTodo, Boolean.FALSE)
.in(!CollectionUtils.isEmpty(list), FollowRecord::getType, list)
);
}
}