diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java index da5c651..b9abd1d 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java @@ -54,4 +54,14 @@ public class BraceletParamsDto { * 资源类型 */ private String sourceType; + + /** + * 资源文件ID + */ + private Long fileId; + + /** + * 文件ID + */ + private String filePath; } diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java index 75ffac3..f58ab84 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonVo.java @@ -1,6 +1,11 @@ package com.bonus.common.entity.bracelet.vo; +import com.alibaba.fastjson2.annotation.JSONField; +import com.bonus.common.security.utils.SecurityUtils; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; @@ -8,6 +13,7 @@ import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; +import java.io.Serializable; import java.util.Date; /** @@ -18,7 +24,7 @@ import java.util.Date; * @description:人员-vo */ @Data -public class PersonVo { +public class PersonVo implements Serializable { /** * id @@ -64,20 +70,24 @@ public class PersonVo { * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Date createTime = new Date(); /** * 修改时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Date updateTime = new Date(); /** * 创建人 */ - private Long createUser; + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) + private Long createUser = SecurityUtils.getUserId(); /** * 修改人 */ - private Long updateUser; + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) + private Long updateUser = SecurityUtils.getUserId(); /** * 所属班组ID */ @@ -86,6 +96,7 @@ public class PersonVo { /** * 删除的文件ID */ + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String delFiles; /** diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/file/ResourceFileVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/file/ResourceFileVo.java index 211d9b7..d6eb8a9 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/file/ResourceFileVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/file/ResourceFileVo.java @@ -1,5 +1,6 @@ package com.bonus.common.entity.file; +import com.bonus.common.security.utils.SecurityUtils; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -36,13 +37,13 @@ public class ResourceFileVo { private Date createTime = new Date(); @ApiModelProperty(value = "创建人") - private Long createUser; + private Long createUser = SecurityUtils.getUserId(); @ApiModelProperty(value = "修改日期") private Date updateTime = new Date(); @ApiModelProperty(value = "修改人") - private Long updateUser; + private Long updateUser = SecurityUtils.getUserId(); @ApiModelProperty(value = "是否删除") private Integer delFlag = 0; diff --git a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/config/WebMvcConfig.java b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/config/WebMvcConfig.java index f76b01c..dc39a91 100644 --- a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/config/WebMvcConfig.java +++ b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/config/WebMvcConfig.java @@ -14,7 +14,7 @@ import com.bonus.common.security.interceptor.HeaderInterceptor; public class WebMvcConfig implements WebMvcConfigurer { /** 不需要拦截地址 "/logout",*/ - public static final String[] excludeUrls = { "/login", "/refresh" }; + public static final String[] excludeUrls = { "/login", "/refresh","/mongoFile/**" }; @Override public void addInterceptors(InterceptorRegistry registry) diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/PersonMgeController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/PersonMgeController.java index 3351c3b..a5e6993 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/PersonMgeController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/PersonMgeController.java @@ -32,7 +32,7 @@ public class PersonMgeController extends BaseController { @Resource(name = "IPersonMgeService") private IPersonMgeService service; - @RequiresPermissions("basic:person:list") +// @RequiresPermissions("basic:person:list") @GetMapping("list") @SysLog(title = "人员管理", businessType = OperaType.QUERY,logType = 0,module = "基础管理->人员管理",details ="查询人员列表") public TableDataInfo list(BraceletParamsDto dto) { @@ -41,14 +41,14 @@ public class PersonMgeController extends BaseController { return getDataTable(list); } - @RequiresPermissions("basic:person:add") +// @RequiresPermissions("basic:person:add") @PostMapping("addPerson") @SysLog(title = "人员管理", businessType = OperaType.INSERT,logType = 0,module = "基础管理->人员管理",details ="新增人员" ) public AjaxResult add(HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file, String params) { return service.addPerson(file, params); } - @RequiresPermissions("basic:person:edit") +// @RequiresPermissions("basic:person:edit") @PostMapping("editPerson") @SysLog(title = "人员管理", businessType = OperaType.INSERT,logType = 0,module = "基础管理->人员管理",details ="修改人员" ) public AjaxResult editPerson(HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file, String params) { @@ -60,7 +60,7 @@ public class PersonMgeController extends BaseController { return service.getPersonInfo(dto); } - @RequiresPermissions("basic:person:del") +// @RequiresPermissions("basic:person:del") @PostMapping("delPerson") @SysLog(title = "人员管理", businessType = OperaType.INSERT,logType = 0,module = "基础管理->人员管理",details ="删除人员" ) public AjaxResult delPerson(@RequestBody BraceletParamsDto dto) { diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ResourceFileMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ResourceFileMapper.java index 5abdf68..5fd5c8a 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ResourceFileMapper.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ResourceFileMapper.java @@ -30,5 +30,5 @@ public interface ResourceFileMapper { * @author cwchen * @date 2024/7/16 15:07 */ - void delResourceFile(PersonVo vo); + void delResourceFile(Long fileId); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/PersonMgeServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/PersonMgeServiceImpl.java index 113b287..d15ee5e 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/PersonMgeServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/PersonMgeServiceImpl.java @@ -16,6 +16,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.bracelet.BraceletParamsDto; import com.bonus.common.entity.bracelet.vo.PersonVo; import com.bonus.common.entity.file.ResourceFileVo; +import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.ValidatorsUtils; import com.bonus.system.api.RemoteFileService; import com.bonus.system.api.domain.SysFile; @@ -102,6 +103,7 @@ public class PersonMgeServiceImpl implements IPersonMgeService { // 对身份证号、手机号 进行 sm4加密 保存人员数据、保存文件资源 vo.setIdCard(Sm4Utils.encode(vo.getIdCard())); vo.setPhone(Sm4Utils.encode(vo.getPhone())); +// SecurityUtils.getLoginUser() mapper.addPerson(vo); delFileId = uploadFile(file, vo); } catch (Exception e) { @@ -152,7 +154,7 @@ public class PersonMgeServiceImpl implements IPersonMgeService { if (StringUtils.isNotEmpty(vo.getDelFiles())) { String[] delFiles = vo.getDelFiles().split(","); for (String fileId : delFiles) { - resourceFileMapper.delResourceFile(vo); + resourceFileMapper.delResourceFile(vo.getFileId()); remoteFileService.delFile(fileId, SecurityConstants.INNER); } } @@ -188,7 +190,10 @@ public class PersonMgeServiceImpl implements IPersonMgeService { if (dto.getTeamId() != null) { return AjaxResult.error("该人员已分配班组,请先从班组中移除该人员"); } + // 删除人员、资源文件、人脸照片 mapper.delPerson(dto); + resourceFileMapper.delResourceFile(dto.getFileId()); + remoteFileService.delFile(dto.getFilePath(), SecurityConstants.INNER); return AjaxResult.success(); } catch (Exception e) { log.error("删除人员", e); diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/PersonMgeMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/PersonMgeMapper.xml index a664c46..368c85b 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/PersonMgeMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/PersonMgeMapper.xml @@ -71,6 +71,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ResourceFileMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ResourceFileMapper.xml index 260884c..0e374b3 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ResourceFileMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ResourceFileMapper.xml @@ -36,6 +36,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - UPDATE sys_file_source SET del_flag = 1 WHERE id = #{id} + UPDATE sys_file_source SET del_flag = 1 WHERE id = #{fileId} \ No newline at end of file diff --git a/bonus-modules/bonus-file/src/main/java/com/bonus/file/controller/MongoFileUploadController.java b/bonus-modules/bonus-file/src/main/java/com/bonus/file/controller/MongoFileUploadController.java index 70aff97..006bf49 100644 --- a/bonus-modules/bonus-file/src/main/java/com/bonus/file/controller/MongoFileUploadController.java +++ b/bonus-modules/bonus-file/src/main/java/com/bonus/file/controller/MongoFileUploadController.java @@ -4,6 +4,7 @@ package com.bonus.file.controller; import com.bonus.common.core.domain.R; import com.bonus.common.core.utils.BASE64DecodedMultipartFile; import com.bonus.common.entity.file.FileExportVo; +import com.bonus.common.security.annotation.InnerAuth; import com.bonus.file.mongodb.service.FileUploadService; import com.bonus.file.mongodb.util.MongodbFileUtil; import com.bonus.system.api.domain.SysFile; @@ -32,6 +33,7 @@ public class MongoFileUploadController { @ApiOperation(value = "获取图片base64地址") @PostMapping("getImgBase64") + @InnerAuth public R getImgBase64(@RequestBody String fileId){ try { SysFile sysFile = new SysFile(); @@ -48,6 +50,7 @@ public class MongoFileUploadController { @ApiOperation(value = "获取图片base64地址") @PostMapping("getFileBast64") + @InnerAuth public R getFileBast64(@RequestBody String fileId){ try { SysFile sysFile = new SysFile(); @@ -64,6 +67,7 @@ public class MongoFileUploadController { @ApiOperation(value = "获取图片base64地址") @PostMapping("getFileByte") + @InnerAuth public R getFileByte(@RequestBody String fileId){ try { SysFile sysFile = new SysFile(); @@ -78,6 +82,7 @@ public class MongoFileUploadController { @ApiOperation(value = "单文件上传") @PostMapping("singleUploadFile") + @InnerAuth public R singleUploadFile(@RequestParam(value = "file", required = false) MultipartFile file){ try { FileExportVo fileExportVo = mongoService.uploadFile(file); @@ -90,6 +95,7 @@ public class MongoFileUploadController { @ApiOperation(value = "多文件上传") @PostMapping("mostUploadFile") + @InnerAuth public R mostUploadFile(@RequestParam(value = "files", required = false) MultipartFile[] files){ try { List multipartFiles = Arrays.asList(files); @@ -103,6 +109,7 @@ public class MongoFileUploadController { @ApiOperation(value = "文件删除") @PostMapping("delFile") + @InnerAuth public R delFile(@RequestBody String fileId){ try { mongoService.removeFile(fileId); @@ -115,6 +122,7 @@ public class MongoFileUploadController { @ApiOperation(value = "base64上传") @PostMapping("uploadFileByBase64") + @InnerAuth public R uploadFileByBase64(@RequestParam(value = "base64", required = false) String base64){ try { MultipartFile multipartFile = BASE64DecodedMultipartFile.base64ToMultipart(base64);