liuxiaolong
2019-05-06 1043e7be0b7503d7b0f488dc0d8d11a2b8079dee
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package com.cloud.control.service.impl;
 
import com.cloud.common.model.FileInfos;
import com.cloud.common.utils.PageUtil;
import com.cloud.control.dao.TaskUserMapper;
import com.cloud.control.dao.TaskUserPendMapper;
import com.cloud.control.model.TaskUserPend;
import com.cloud.control.service.TaskUserPendingService;
import com.cloud.control.utils.Base64Utils;
import com.cloud.model.common.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
 
@Service
public class TaskUserPendingServiceImpl implements TaskUserPendingService {
 
    @Autowired
    private TaskUserPendMapper taskUserPendDao;
    @Autowired
    private TaskUserMapper taskUserDao;
 
    @Override
    public List<Map> select(Map<String, Object> params) {
        return null;
    }
 
    @Override
    public void deleteTaskUser(List<String> list) {
        list.forEach(id-> {
            taskUserPendDao.deleteById(id);
        });
    }
 
    @Override
    public TaskUserPend selectById(String id) {
        TaskUserPend taskUserPend = taskUserPendDao.selectByPrimaryKey(id);
        return taskUserPend;
    }
 
    /**
     * 查找待布控人员
     * @return
     */
    @Override
    public Page<TaskUserPend> findTaskPendingUsers(Map<String, Object> params) {
        Page<TaskUserPend> page = new Page<>();
        int total = taskUserPendDao.countTaskPendingUsers(params);
        page.setTotal(total);
        if(params.containsKey("start") && params.get("start")!=null && params.containsKey("length") && params.get("length")!=null)
            PageUtil.pageParamConver(params, true);
        if(params.containsKey("orderBy") && params.get("orderBy") !=null && params.containsKey("sortType") && params.get("sortType") !=null){
            Object orderBy = params.get("orderBy");
            Object sortType = params.get("sortType");
            if(!orderBy.equals("createTime") && !orderBy.equals("dbInfos") && !orderBy.equals("updateBy")){//处理排序非法
                params.remove("orderBy");
            }else{
                if(!sortType.equals("asc") && !sortType.equals("desc")){//处理排序非法
                    params.put("sortType","desc");
                }
            }
 
        }
        List<TaskUserPend> taskPendingUsers = taskUserPendDao.findTaskPendingUsers(params);
        page.setData(taskPendingUsers);
        return page;
    }
 
    @Override
    public void save(TaskUserPend taskUserPend) {
        taskUserPendDao.updateByPrimaryKeySelective(taskUserPend);
    }
 
    @Override
    public void upload(List<FileInfos> fileInfos) {
 
        for (FileInfos file : fileInfos){
            TaskUserPend record = new TaskUserPend();
            record.setId(UUID.randomUUID().toString());
            record.setImgUrl(file.getPath());
            record.setCreateTime(new Date());
            record.setUpdateTime(new Date());
            record.setDelFlag("0");
            taskUserPendDao.insertSelective(record);
        }
    }
 
    @Override
    public void addFromRetrieve(Map jsonMap) {
        TaskUserPend taskUserPend = new TaskUserPend();
        taskUserPend.setImgUrl(jsonMap.get("imgUrl").toString());
        if(jsonMap.get("idCard").toString()!="" && jsonMap.get("idCard").toString()!=null){
            taskUserPend.setIdCard(jsonMap.get("idCard").toString());
        }
        if(jsonMap.get("dbInfos").toString()!=null && jsonMap.get("dbInfos").toString()!=""){
            taskUserPend.setDbInfos(jsonMap.get("dbInfos").toString());
        }
        taskUserPend.setId(UUID.randomUUID().toString());
        taskUserPend.setDelFlag("0");
        taskUserPend.setCreateTime(new Date());
        taskUserPend.setUpdateTime(new Date());
        byte[] feature = Base64Utils.Base64Tobyte(taskUserPend.getFeatureBase64());
        taskUserPend.setFeature(feature);
        taskUserPendDao.insertSelective(taskUserPend);
    }
 
    @Override
    public void joinControl(TaskUserPend taskUserPend) {
        //先删除原有的用户布控任务关联
        taskUserPendDao.deleteByUser(taskUserPend.getUserId());
        List<String> taskIds = taskUserPend.getTaskIds();
        //再进行新的关联
        TaskUserPend taskUserPend1 = taskUserPendDao.selectByPrimaryKey(taskUserPend.getId());
        taskIds.forEach(taskId->{
            taskUserPend1.setId(UUID.randomUUID().toString());
            taskUserPend1.setTaskId(taskId);
            taskUserPend1.setCreateTime(new Date());
            taskUserPend1.setIsControl("1");
            taskUserPend1.setSource(0);
            taskUserDao.insertFromPend(taskUserPend1);
        });
    }
}