Commit c0f3aa29 authored by 刘斌's avatar 刘斌

fix: 完善H5

parent c6ba991f
package com.anplus.hr.controller; package com.anplus.hr.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.Response;
...@@ -14,13 +16,15 @@ import jakarta.annotation.Resource; ...@@ -14,13 +16,15 @@ import jakarta.annotation.Resource;
import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import org.dromara.core.trans.anno.TransMethodResult; import org.dromara.core.trans.anno.TransMethodResult;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import top.binfast.app.biz.sysapi.bean.params.sysDept.SysDeptParam; import top.binfast.app.biz.sysapi.bean.params.sysDept.SysDeptParam;
import top.binfast.app.biz.sysapi.bean.vo.sysDept.SysDeptDTO; import top.binfast.app.biz.sysapi.bean.vo.sysDept.SysDeptDTO;
import top.binfast.app.biz.sysbiz.service.SysDeptServ; import top.binfast.app.biz.sysapi.bean.vo.sysOss.SysOssVo;
import top.binfast.common.core.constant.BusinessType; import top.binfast.common.core.constant.BusinessType;
import top.binfast.common.core.enums.ResultCode;
import top.binfast.common.core.util.ResponseUtils; import top.binfast.common.core.util.ResponseUtils;
import top.binfast.common.core.validate.AddGroup; import top.binfast.common.core.validate.AddGroup;
import top.binfast.common.core.validate.EditGroup; import top.binfast.common.core.validate.EditGroup;
...@@ -228,4 +232,20 @@ public class EmployeeInfoCtrl { ...@@ -228,4 +232,20 @@ public class EmployeeInfoCtrl {
public MultiResponse<SysDeptDTO> deptTree(SysDeptParam dept) { public MultiResponse<SysDeptDTO> deptTree(SysDeptParam dept) {
return MultiResponse.of(employeeSysDeptServ.selectDeptTreeForEmployee(dept)); return MultiResponse.of(employeeSysDeptServ.selectDeptTreeForEmployee(dept));
} }
/**
* 上传OSS对象存储
*
* @param file 文件
*/
@SaIgnore
@PinSysLog(value = "OSS对象存储", businessType = BusinessType.INSERT)
@PostMapping(value = "/photo/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public SingleResponse<SysOssVo> upload(@RequestPart("file") MultipartFile file) {
if (ObjectUtil.isNull(file)) {
return SingleResponse.buildFailure(ResultCode.FAIL.getCode(), "上传文件不能为空");
}
SysOssVo oss = employeeInfoServ.upload(file);
return SingleResponse.of(oss);
}
} }
\ No newline at end of file
...@@ -52,12 +52,16 @@ public class EmployeeBaseInfoParam { ...@@ -52,12 +52,16 @@ public class EmployeeBaseInfoParam {
@NotNull(message = "年龄不能为空") @NotNull(message = "年龄不能为空")
private Integer age; private Integer age;
// /**
// * 照片
// */
// @NotBlank(message = "照片不能为空")
// private String photo;
/** /**
* 照片 * 头像OSS_ID
*/ */
@NotBlank(message = "照片不能为空") private Long ossId;
private String photo;
/** /**
* 籍贯 * 籍贯
......
...@@ -12,6 +12,7 @@ import com.anplus.hr.domain.vo.EmployeeInfoImportVo; ...@@ -12,6 +12,7 @@ import com.anplus.hr.domain.vo.EmployeeInfoImportVo;
import com.anplus.hr.domain.vo.EmployeeInfoVo; import com.anplus.hr.domain.vo.EmployeeInfoVo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import top.binfast.app.biz.sysapi.bean.model.oss.SysOss; import top.binfast.app.biz.sysapi.bean.model.oss.SysOss;
import top.binfast.app.biz.sysapi.bean.vo.sysOss.SysOssVo;
import top.binfast.common.excel.image.CellImageData; import top.binfast.common.excel.image.CellImageData;
import top.binfast.common.excel.image.ExcelProcessingResult; import top.binfast.common.excel.image.ExcelProcessingResult;
import top.binfast.common.oss.entity.UploadResult; import top.binfast.common.oss.entity.UploadResult;
...@@ -158,6 +159,14 @@ public interface EmployeeInfoServ extends IService<EmployeeInfo> { ...@@ -158,6 +159,14 @@ public interface EmployeeInfoServ extends IService<EmployeeInfo> {
*/ */
SysOss handleImageToUrl(ExcelProcessingResult excelProcessingResult, EmployeeInfoImportVo importVo); SysOss handleImageToUrl(ExcelProcessingResult excelProcessingResult, EmployeeInfoImportVo importVo);
/**
* 上传 MultipartFile 到对象存储服务,并保存文件信息到数据库
*
* @param file 要上传的 MultipartFile 对象
* @return 上传成功后的 SysOssVo 对象,包含文件信息
*/
SysOssVo upload(MultipartFile file);
/** /**
* 构建部门名称字符串 * 构建部门名称字符串
* *
......
...@@ -30,11 +30,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -30,11 +30,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.trans.service.impl.TransService; import org.dromara.trans.service.impl.TransService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import top.binfast.app.biz.sysapi.bean.model.oss.SysOss; import top.binfast.app.biz.sysapi.bean.model.oss.SysOss;
import top.binfast.app.biz.sysapi.bean.vo.sysOss.SysOssVo;
import top.binfast.app.biz.sysapi.dao.system.SysOssMapper; import top.binfast.app.biz.sysapi.dao.system.SysOssMapper;
import top.binfast.app.biz.sysbiz.service.SysOssServ;
import top.binfast.common.core.enums.ResultCode; import top.binfast.common.core.enums.ResultCode;
import top.binfast.common.core.exception.PlatformException; import top.binfast.common.core.exception.PlatformException;
import top.binfast.common.core.util.LambdaUtil; import top.binfast.common.core.util.LambdaUtil;
...@@ -59,6 +62,7 @@ import java.util.stream.Stream; ...@@ -59,6 +62,7 @@ import java.util.stream.Stream;
* @author LiuBin * @author LiuBin
* @date 2025-10-28 * @date 2025-10-28
*/ */
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, EmployeeInfo> implements EmployeeInfoServ { public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, EmployeeInfo> implements EmployeeInfoServ {
...@@ -69,6 +73,7 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ ...@@ -69,6 +73,7 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
private final EmployeeAuditLogServ employeeAuditLogServ; private final EmployeeAuditLogServ employeeAuditLogServ;
private final TransService transService; private final TransService transService;
private final OssService ossService; private final OssService ossService;
private final SysOssServ sysOssServ;
private final SysOssMapper sysOssMapper; private final SysOssMapper sysOssMapper;
private final EmployeeAsyncService employeeAsyncService; private final EmployeeAsyncService employeeAsyncService;
...@@ -336,6 +341,14 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ ...@@ -336,6 +341,14 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
return null; return null;
} }
@Override
public SysOssVo upload(MultipartFile file) {
SysOssVo sysOssVo = sysOssServ.upload(file);
sysOssMapper.update(null, new LambdaUpdateWrapper<SysOss>()
.set(SysOss::getTenantId, 1L)
.eq(SysOss::getId, sysOssVo.getOssId()));
return sysOssVo;
}
@Override @Override
public Boolean checkEmployeeIdCardNumberUnique(EmployeeInfoParam employee) { public Boolean checkEmployeeIdCardNumberUnique(EmployeeInfoParam employee) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment