package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.constant.YamlProperties;
|
import com.whyc.dto.FileDirPath;
|
import com.whyc.dto.Page;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.DocUserMapper;
|
import com.whyc.pojo.DocUser;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.system.ApplicationHome;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.File;
|
import java.io.IOException;
|
import java.util.List;
|
|
import static com.whyc.util.ActionUtil.createFilefolderIFNotExist;
|
|
@Service
|
public class DocUserService {
|
@Autowired(required = false)
|
private DocUserMapper mapper;
|
|
@Autowired
|
private DocFaceService faceService;
|
|
//查询所有用户信息
|
public Response getAllUser(int pageCurr,int pageSize) {
|
PageHelper.startPage(pageCurr,pageSize);
|
List<DocUser> list=mapper.getAllUser();
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().setII(1,list!=null?true:false,pageInfo,"数据返回");
|
}
|
//编辑所有用户信息
|
public Response updateUser(MultipartFile file,DocUser docUser) {
|
int faceId=(docUser.getFaceId()==null||docUser.getFaceId().isEmpty())?0:Integer.valueOf(docUser.getFaceId());
|
//检测是否存在重新上传的人脸
|
faceId=checkFaceData(file,faceId);
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.set("tel",docUser.getTel());
|
wrapper.set("phone",docUser.getPhone());
|
wrapper.set("depart_id",docUser.getDepartId());
|
wrapper.set("face_id",faceId);
|
wrapper.set("role_id",docUser.getRoleId());
|
wrapper.eq("id",docUser.getId());
|
int bl=mapper.update(null,wrapper);
|
return new Response().set(1,bl>0?true:false);
|
}
|
//新添加用户信息
|
public Response addUser(MultipartFile file,DocUser docUser) {
|
int faceId=(docUser.getFaceId()==null||docUser.getFaceId().isEmpty())?0:Integer.valueOf(docUser.getFaceId());
|
//检测是否存在重新上传的人脸
|
faceId=checkFaceData(file,faceId);
|
docUser.setFaceId(String.valueOf(faceId));
|
int bl=mapper.insert(docUser);
|
return new Response().set(1,bl>0?true:false);
|
}
|
|
//检测是否存在重新上传的人脸
|
public int checkFaceData(MultipartFile file,int faceId){
|
String fileDirName = FileDirPath.getFileDirName();
|
String root=fileDirName+File.separator+"face"+File.separator;
|
if(file.isEmpty()){
|
return faceId;
|
}else{
|
String fileFileName = file.getOriginalFilename();
|
String filePath = root + fileFileName;
|
createFilefolderIFNotExist(filePath);
|
try {
|
file.transferTo(new File(filePath));
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
if(faceId==0){
|
//插入新图片同时获取人脸id
|
faceId=faceService.getNewFaceId();
|
//录入新的人脸
|
faceService.setNewFace(faceId,filePath);
|
}else{
|
//修改旧的人脸
|
faceService.updateFace(faceId,filePath);
|
}
|
}
|
return faceId;
|
}
|
//删除用户信息
|
public Response delUser(int id) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.eq("id",id);
|
int bl=mapper.delete(wrapper);
|
return new Response().setII(1,bl>0?true:false,bl,"删除返回");
|
}
|
}
|