51 lines
1.7 KiB
Java
51 lines
1.7 KiB
Java
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);
|
||
}
|
||
}
|
||
|