src/main/java/com/whyc/controller/DocUserController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/Page.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/DocFaceMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/DocUser.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DocFaceService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DocUserService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/DocFaceMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/DocUserController.java
@@ -1,14 +1,16 @@ package com.whyc.controller; import com.whyc.dto.Page; import com.whyc.dto.Response; import com.whyc.pojo.DocUser; import com.whyc.service.DocUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; @RestController @Api(tags = "用户管理") @@ -18,18 +20,21 @@ private DocUserService service; @ApiOperation(value = "查询所有用户信息",notes = "默认排除指定用户:sys_admin") @GetMapping("getAllUser") private Response getAllUser(){ return service.getAllUser(); @PostMapping("getAllUser") private Response getAllUser(@RequestBody Page page){ return service.getAllUser(page); } @ApiOperation(value = "编辑所有用户信息") @PostMapping("updateAllUser") private Response updateAllUser(@RequestBody DocUser docUser){ return service.updateAllUser(docUser); @ApiImplicitParam(name = "file", value = "上传的文件", dataTypeClass = MultipartFile.class, required = false,paramType = "form") private Response updateAllUser(@RequestPart("file") MultipartFile file,@RequestBody DocUser docUser){ return service.updateAllUser(file,docUser); } @ApiOperation(value = "新添加用户信息") @PostMapping("addUser") private Response addUser(@RequestBody DocUser docUser){ return service.addUser(docUser); @ApiImplicitParam(name = "file", value = "上传的文件", dataTypeClass = MultipartFile.class, required = false,paramType = "form") private Response addUser(@RequestPart("file") MultipartFile file,@RequestBody DocUser docUser){ return service.addUser(file,docUser); } } src/main/java/com/whyc/dto/Page.java
New file @@ -0,0 +1,22 @@ package com.whyc.dto; import io.swagger.annotations.ApiModel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import java.io.Serializable; import java.util.List; @Data @NoArgsConstructor @AllArgsConstructor @ToString @ApiModel(value="分页对象", description="") public class Page implements Serializable{ private Integer pageSize=6; //每页的行数 private Integer pageCurr=1; //当前页码数 private Integer pageAll; //总记录数 private List data; } src/main/java/com/whyc/mapper/DocFaceMapper.java
@@ -3,4 +3,6 @@ import com.whyc.pojo.DocFace; public interface DocFaceMapper extends CustomMapper<DocFace>{ //读取最大的faceid并生成新的faceid+1 int selectMaxFaceId(); } src/main/java/com/whyc/pojo/DocUser.java
@@ -51,6 +51,10 @@ @ApiModelProperty(value = "人脸id") private String faceId; @TableField(exist = false) @ApiModelProperty(value = "人脸图片信息base64") private String faceData; @ApiModelProperty(value = "角色id") private String roleId; src/main/java/com/whyc/service/DocFaceService.java
@@ -1,11 +1,40 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.whyc.mapper.DocFaceMapper; import com.whyc.pojo.DocFace; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class DocFaceService { @Autowired @Autowired(required = false) private DocFaceMapper mapper; //读取最大的faceid并生成新的faceid+1 public int getNewFaceId(){ int faceId=mapper.selectMaxFaceId(); if(faceId==0){ faceId=4001; }else { faceId=faceId+1; } return faceId; } //录入新的人脸 public int setNewFace(int faceId,String filePath){ DocFace face=new DocFace(); face.setFaceId(faceId); face.setUrl(filePath); int bl=mapper.insert(face); return bl; } //修改旧的人脸 public int updateFace(int faceId, String filePath) { UpdateWrapper wrapper=new UpdateWrapper(); wrapper.set("url",filePath); wrapper.eq("face_id",faceId); int bl=mapper.update(null,wrapper); return bl; } } src/main/java/com/whyc/service/DocUserService.java
@@ -1,40 +1,97 @@ 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.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() { public Response getAllUser(Page page) { PageHelper.startPage(page.getPageCurr(),page.getPageSize()); List<DocUser> list=mapper.getAllUser(); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null?true:false,pageInfo,"数据返回"); } //编辑所有用户信息 public Response updateAllUser(DocUser docUser) { 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.eq("tel",docUser.getTel()); wrapper.eq("phone",docUser.getPhone()); wrapper.eq("depart_id",docUser.getDepartId()); wrapper.eq("face_id",docUser.getFaceId()); wrapper.eq("role_id",docUser.getRoleId()); 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(DocUser docUser) { 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 = ""; ApplicationHome applicationHome = new ApplicationHome(getClass()); File jarFile = applicationHome.getDir(); if( 1 == YamlProperties.runModel){ fileDirName = jarFile.getParentFile().toString(); }else{ //打包版 fileDirName = jarFile.toString(); } String root=fileDirName+"/face/"+File.separator; if(file.isEmpty()){ faceId=0; }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; } } src/main/resources/mapper/DocFaceMapper.xml
@@ -3,4 +3,7 @@ <mapper namespace="com.whyc.mapper.DocFaceMapper"> <select id="selectMaxFaceId" resultType="java.lang.Integer"> select IFNULL(max(face_id),0) from tb_doc_face limit 1 </select> </mapper>