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 select(Map params) { return null; } @Override public void deleteTaskUser(List list) { list.forEach(id-> { taskUserPendDao.deleteById(id); }); } @Override public TaskUserPend selectById(String id) { TaskUserPend taskUserPend = taskUserPendDao.selectByPrimaryKey(id); return taskUserPend; } /** * 查找待布控人员 * @return */ @Override public Page findTaskPendingUsers(Map params) { Page 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 taskPendingUsers = taskUserPendDao.findTaskPendingUsers(params); page.setData(taskPendingUsers); return page; } @Override public void save(TaskUserPend taskUserPend) { taskUserPendDao.updateByPrimaryKeySelective(taskUserPend); } @Override public void upload(List 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 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); }); } }