Files
senmesh-zc/src/main/java/com/senmesh/sfile/service/impl/ShareUserFileServiceImpl.java
ran.shang e99b717e48 file
2025-12-31 18:10:10 +08:00

51 lines
1.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.senmesh.sfile.service.impl;
import com.senmesh.common.util.UserContextHolder;
import com.senmesh.sfile.constant.FileStatusEnum;
import com.senmesh.sfile.constant.RootTypeEnum;
import com.senmesh.sfile.dto.ExpandUserFileCreateDTO;
import com.senmesh.sfile.dto.ShareUserFileCreateDTO;
import com.senmesh.sfile.service.ShareUserFileService;
import com.senmesh.sfile.service.UserFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Calendar;
import java.util.Date;
/**
* 分享用户文件ServiceImpl
*/
@Service
public class ShareUserFileServiceImpl implements ShareUserFileService {
@Autowired
private UserFileService userFileService;
@Override
@Transactional
public Long create(ShareUserFileCreateDTO createDTO) {
Long userFileId = createDTO.getUserFileId();
Long userId = UserContextHolder.getExistLoginUserId();
Integer validDays = createDTO.getValidDays();
// 根据有效天数计算过期时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DAY_OF_MONTH, validDays);
Date endTime = calendar.getTime();
// 调用UserFileService的重载create方法,根据普通文件创建分享文件
ExpandUserFileCreateDTO expandCreateDTO = ExpandUserFileCreateDTO.builder()
.userFileId(userFileId)
.userId(userId)
.rootType(RootTypeEnum.SHARE.getType())
.fileStatus(FileStatusEnum.NORMAL.getStatus())
.endTime(endTime)
.build();
return userFileService.create(expandCreateDTO);
}
}