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 list=mapper.getAllUser(); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null?true:false,pageInfo,"数据返回"); } //编辑所有用户信息 public Response updateAllUser(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; } }