|
@@ -1,7 +1,13 @@
|
|
|
package vip.xiaonuo.disk.service.impl;
|
|
package vip.xiaonuo.disk.service.impl;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
+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.qiwenshare.common.result.RestResult;
|
|
|
|
|
+import vip.xiaonuo.common.page.CommonPageRequest;
|
|
|
|
|
+import vip.xiaonuo.common.pojo.CommonResult;
|
|
|
|
|
+import vip.xiaonuo.disk.dto.storage.GetUserStorageDTO;
|
|
|
import vip.xiaonuo.disk.service.IStorageService;
|
|
import vip.xiaonuo.disk.service.IStorageService;
|
|
|
import vip.xiaonuo.disk.domain.StorageBean;
|
|
import vip.xiaonuo.disk.domain.StorageBean;
|
|
|
import vip.xiaonuo.disk.domain.SysParam;
|
|
import vip.xiaonuo.disk.domain.SysParam;
|
|
@@ -11,8 +17,10 @@ import vip.xiaonuo.disk.mapper.UserFileMapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
+import vip.xiaonuo.disk.vo.storage.StorageBeanVO;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
@@ -25,6 +33,7 @@ public class StorageService extends ServiceImpl<StorageMapper, StorageBean> impl
|
|
|
@Resource
|
|
@Resource
|
|
|
UserFileMapper userFileMapper;
|
|
UserFileMapper userFileMapper;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
public Long getTotalStorageSize(String userId) {
|
|
public Long getTotalStorageSize(String userId) {
|
|
|
LambdaQueryWrapper<StorageBean> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<StorageBean> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(StorageBean::getUserId, userId);
|
|
lambdaQueryWrapper.eq(StorageBean::getUserId, userId);
|
|
@@ -83,4 +92,70 @@ public class StorageService extends ServiceImpl<StorageMapper, StorageBean> impl
|
|
|
return true;
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult<Long> getDefaultStorage() {
|
|
|
|
|
+ // 查询sysparam表,根据totalStorageSize标识查询
|
|
|
|
|
+ LambdaQueryWrapper<SysParam> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper1.eq(SysParam::getSysParamKey, "totalStorageSize");
|
|
|
|
|
+ SysParam sysParam = sysParamMapper.selectOne(lambdaQueryWrapper1);
|
|
|
|
|
+ return CommonResult.data(Long.parseLong(sysParam.getSysParamValue()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult<String> updateDefaultStorage(Long size) {
|
|
|
|
|
+ // 查询sysparam表,根据totalStorageSize标识查询
|
|
|
|
|
+ LambdaQueryWrapper<SysParam> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper1.eq(SysParam::getSysParamKey, "totalStorageSize");
|
|
|
|
|
+ SysParam sysParam = sysParamMapper.selectOne(lambdaQueryWrapper1);
|
|
|
|
|
+ // 进行修改空间大小
|
|
|
|
|
+ sysParam.setSysParamValue(String.valueOf(size));
|
|
|
|
|
+ int i = sysParamMapper.updateById(sysParam);
|
|
|
|
|
+ if (i > 0) {
|
|
|
|
|
+ return CommonResult.data("修改成功");
|
|
|
|
|
+ }
|
|
|
|
|
+ return CommonResult.error("修改失败");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult<Page<StorageBeanVO>> getUserStorageList(GetUserStorageDTO getUserStorageDTO) {
|
|
|
|
|
+ Page<StorageBeanVO> storageBeanList = storageMapper.getUserStorageList(CommonPageRequest.defaultPage(), getUserStorageDTO);
|
|
|
|
|
+ if (storageBeanList.getRecords() != null && storageBeanList.getSize() > 0) {
|
|
|
|
|
+ // 如果查出的数据不为空,关联用户的角色
|
|
|
|
|
+ for (StorageBeanVO storageBean : storageBeanList.getRecords()) {
|
|
|
|
|
+ String userId = storageBean.getUserId();
|
|
|
|
|
+ List<String> roleNameList = storageMapper.getUserRoleNameListById(userId);
|
|
|
|
|
+ if (roleNameList != null && roleNameList.size() > 0) {
|
|
|
|
|
+ storageBean.setRoleName(roleNameList);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return CommonResult.data(storageBeanList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public CommonResult<String> updateUserStorage(GetUserStorageDTO getUserStorageDTO) {
|
|
|
|
|
+ // 校验是否有此用户的存储空间
|
|
|
|
|
+ List<Long> userIdList = getUserStorageDTO.getUserIdList();
|
|
|
|
|
+ if (userIdList == null || userIdList.size() == 0) {
|
|
|
|
|
+ return CommonResult.error("用户ID不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ for (Long userId : userIdList) {
|
|
|
|
|
+ QueryWrapper<StorageBean> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.lambda().eq(StorageBean::getUserId, userId);
|
|
|
|
|
+ StorageBean storageBean = storageMapper.selectOne(queryWrapper);
|
|
|
|
|
+ if (storageBean != null) {
|
|
|
|
|
+ storageBean.setTotalStorageSize(getUserStorageDTO.getTotalStorageSize());
|
|
|
|
|
+ storageMapper.updateById(storageBean);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
|
+ log.error("更新用户存储空间失败", ex);
|
|
|
|
|
+ }
|
|
|
|
|
+ return CommonResult.ok("更新成功");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|