提交 8e75dfb4 编写于 作者: Hello 码上秃's avatar Hello 码上秃

Bug修改__当线索转商机时,使用规则来进行自动分配,没有按照规则来进行自动分配

上级 024070f2
......@@ -6,19 +6,19 @@ import com.huike.clues.domain.TbAssignRecord;
import com.huike.clues.mapper.SysDictDataMapper;
import com.huike.clues.mapper.SysUserMapper;
import com.huike.clues.mapper.TbAssignRecordMapper;
import com.huike.clues.service.ITbCourseService;
import com.huike.common.core.domain.entity.SysDictData;
import com.huike.common.core.domain.entity.SysUser;
import com.huike.common.utils.DateUtils;
import com.huike.common.utils.DictUtils;
import com.huike.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* rule 处理策略
......@@ -32,14 +32,16 @@ public class RuleStrategy implements Rule {
//这里能够成功注入吗?
@Autowired
private static TbAssignRecordMapper assignRecordMapper;
private TbAssignRecordMapper assignRecordMapper;
//private static TbAssignRecordMapper assignRecordMapper;
//这里能够成功注入吗?
@Autowired
private static SysUserMapper userMapper;
private SysUserMapper userMapper;
//private static SysUserMapper userMapper;
@Autowired
private static SysDictDataMapper dictDataMapper;
private SysDictDataMapper dictDataMapper;
private static SysUser lisi = new SysUser();
......@@ -56,25 +58,52 @@ public class RuleStrategy implements Rule {
/**
* 参考一下adminStrategy是怎么做的
*/
static{
try{
//空间换时间的方式将数据库中的学科读取到内存中
//预加载学科数据到内存中
List<SysDictData> course_subject = dictDataMapper.selectDictDataByType("course_subject");
for (SysDictData index: course_subject) {
//找到java和前端两个学科对应的数值
if(index.getDictLabel().equals("Java")){
subjectJAVA = index;
}
if(index.getDictLabel().equals("前端")){
subjectHtml = index;
}
}
//预加载lisi和lisi1的数据到内存中
lisi = userMapper.selectUserByName("lisi");
lisi1 = userMapper.selectUserByName("lisi1");
}catch (Exception e){
}
//static{
// try{
// //空间换时间的方式将数据库中的学科读取到内存中
// //预加载学科数据到内存中
// List<SysDictData> course_subject = dictDataMapper.selectDictDataByType("course_subject");
// for (SysDictData index: course_subject) {
// //找到java和前端两个学科对应的数值
// if(index.getDictLabel().equals("Java")){
// subjectJAVA = index;
// }
// if(index.getDictLabel().equals("前端")){
// subjectHtml = index;
// }
// }
// //预加载lisi和lisi1的数据到内存中
// lisi = userMapper.selectUserByName("lisi");
// lisi1 = userMapper.selectUserByName("lisi1");
// }catch (Exception e){
// }
//}
@PostConstruct
public void init() {
//空间换时间的方式将数据库中的学科读取到内存中
//预加载学科数据到内存中
List<SysDictData> course_subject = dictDataMapper.selectDictDataByType("course_subject");
/**优化:List集合转Map集合**/
//for (SysDictData index: course_subject) {
// //找到java和前端两个学科对应的数值
// if(index.getDictLabel().equals("Java")){
// subjectJAVA = index;
// }
// if(index.getDictLabel().equals("前端")){
// subjectHtml = index;
// }
//}
// List集合转Map集合
Map<String, SysDictData> courseSubjectMap = course_subject.stream().collect(Collectors.toMap(SysDictData::getDictLabel, Function.identity()));
subjectJAVA = courseSubjectMap.get("Java");
subjectHtml = courseSubjectMap.get("前端");
//预加载lisi和lisi1的数据到内存中
lisi = userMapper.selectUserByName("lisi");
lisi1 = userMapper.selectUserByName("lisi1");
}
......@@ -90,16 +119,18 @@ public class RuleStrategy implements Rule {
@Override
public Integer transforBusiness(TbBusiness tbBusiness) {
//注意处理空指针的问题
if(tbBusiness.getSubject().equals(subjectJAVA.getDictLabel())){
//如果意向学科是java--分配给lisi
return distribute(tbBusiness,lisi);
}else if(tbBusiness.getSubject().equals(subjectHtml.getDictLabel())){
//如果意向学科是前端--分配给lisi1
return distribute(tbBusiness,lisi1);
}else{
//不进行分配,不添加分配记录-----即待分配状态
if (tbBusiness.getSubject() != null && tbBusiness.getSubject() != "") {
if (tbBusiness.getSubject().equals(subjectJAVA.getDictValue())) {
//如果意向学科是java--分配给lisi
return distribute(tbBusiness, lisi);
} else if (tbBusiness.getSubject().equals(subjectHtml.getDictValue())) {
//如果意向学科是前端--分配给lisi1
return distribute(tbBusiness, lisi1);
}
return 1;
}
//不进行分配,不添加分配记录-----即待分配状态
return 1;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册