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);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|