Files
senmesh-zc/src/main/java/com/senmesh/sfile/service/impl/ShareUserFileServiceImpl.java

51 lines
1.7 KiB
Java
Raw Normal View History

2025-12-31 18:10:10 +08:00
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);
}
}