重构 文档下载

This commit is contained in:
付庆吉
2021-05-11 09:06:04 +08:00
parent 5614b2533c
commit 824d346434
4 changed files with 26 additions and 29 deletions

View File

@ -4,6 +4,7 @@ package com.chinaunicom.mall.ebtp.extend.bizbidshared.controller;
import cn.hutool.core.util.StrUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageResponse;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.constant.EbtpRoleEnum;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.extend.bizbidshared.entity.BizBidShared;
import com.chinaunicom.mall.ebtp.extend.bizbidshared.entity.BizBidSharedVO;
@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.stream.Collectors;
@RestController
@Api(tags = "")
@ -51,7 +53,8 @@ public class BizBidSharedController {
if (StringUtils.isEmpty(bizBidShared.getId())) {
bizBidShared.setId(PropertyUtils.getSnowflakeId());
}
bizBidShared.setSharedRole(StrUtil.join(",", bizBidShared.getSharedRoles()));
bizBidShared.setSharedRole(StrUtil.join(",", bizBidShared.getRoles().stream().map(m -> EbtpRoleEnum.matchRole(m).getDesc()).collect(Collectors.toList())));
bizBidShared.setSharedRoles(StrUtil.join(",", bizBidShared.getRoles()));
boolean save = ibizBidSharedService.saveOrUpdate(bizBidShared);
return BaseResponse.success(save);

View File

@ -44,6 +44,12 @@ public class BizBidShared extends BaseEntity implements Serializable {
@ApiModelProperty(value = "共享文档文件名")
private String sharedName;
/**
* 共享文档使用角色
*/
@ApiModelProperty(value = "共享文档使用角色")
private String sharedRoles;
/**
* 共享文档使用角色
*/
@ -52,10 +58,9 @@ public class BizBidShared extends BaseEntity implements Serializable {
/**
* 共享文档使用角色list
*/
@Transient
@TableField(exist = false)
private List<String> sharedRoles;
private List<String> roles;
/**
* 共享文档ID
*/
@ -78,4 +83,7 @@ public class BizBidShared extends BaseEntity implements Serializable {
@TableField(exist = false)
private String fileSuffix;
@TableField(exist = false)
private boolean isAllowDownload;
}

View File

@ -1,15 +1,13 @@
package com.chinaunicom.mall.ebtp.extend.bizbidshared.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.api.AttachmentClient;
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentDetail;
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.extend.bizbidshared.dao.BizBidSharedMapper;
import com.chinaunicom.mall.ebtp.extend.bizbidshared.entity.BizBidShared;
@ -18,10 +16,6 @@ import com.chinaunicom.mall.ebtp.extend.bizbidshared.service.IBizBidSharedServic
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* 对数据表 biz_bid_shared 操作的 serviceImpl
*
@ -31,10 +25,11 @@ import java.util.stream.Collectors;
public class BizBidSharedServiceImpl extends BaseServiceImpl<BizBidSharedMapper, BizBidShared> implements IBizBidSharedService {
@Autowired
private AttachmentClient attachmentClient;
private IBaseCacheUserService cacheUserService;
@Override
public IPage<BizBidShared> getList(BizBidSharedVO bizBidNotice) {
BaseCacheUser user = cacheUserService.getCacheUser();
LambdaQueryWrapper<BizBidShared> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotEmpty(bizBidNotice.getSharedName()), BizBidShared::getSharedName, bizBidNotice.getSharedName())
.like(StrUtil.isNotEmpty(bizBidNotice.getSharedRole()), BizBidShared::getSharedRole, bizBidNotice.getSharedRole())
@ -46,14 +41,9 @@ public class BizBidSharedServiceImpl extends BaseServiceImpl<BizBidSharedMapper,
Page<BizBidShared> page = this.page(new Page<>(bizBidNotice.getPageNo(), bizBidNotice.getPageSize()), wrapper);
List<String> collect = page.getRecords().stream().map(BizBidShared::getSharedFile).distinct().collect(Collectors.toList());
Optional<AttachmentDetail> optional = attachmentClient.findByBusinessId(collect);
optional.ifPresent(o -> {
page.getRecords().forEach(r -> {
Optional<AttachmentEntity> first = o.get(r.getSharedFile()).stream().findFirst();
first.ifPresent(f -> r.setFileName(f.getFilename()).setFileSuffix(FileUtil.getSuffix(f.getFilename())));
});
});
//是否可下载
page.getRecords().forEach(p -> p.setAllowDownload(p.getSharedRoles().contains(user.getCurrentRoleCode())));
return page;
}

View File

@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.constant.EbtpRoleEnum;
import com.chinaunicom.mall.ebtp.extend.bizbidsharedrecord.dao.BizBidSharedRecordMapper;
import com.chinaunicom.mall.ebtp.extend.bizbidsharedrecord.entity.BizBidSharedRecord;
import com.chinaunicom.mall.ebtp.extend.bizbidsharedrecord.entity.BizBidSharedRecordVO;
import com.chinaunicom.mall.ebtp.extend.bizbidsharedrecord.service.IBizBidSharedRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@ -22,8 +22,6 @@ import org.springframework.stereotype.Service;
@Service
public class BizBidSharedRecordServiceImpl extends BaseServiceImpl<BizBidSharedRecordMapper, BizBidSharedRecord> implements IBizBidSharedRecordService {
@Autowired
BizBidSharedRecordMapper bizBidSharedRecordMapper;
@Override
public IPage<BizBidSharedRecord> getList(BizBidSharedRecordVO recordVO) {
@ -38,13 +36,11 @@ public class BizBidSharedRecordServiceImpl extends BaseServiceImpl<BizBidSharedR
if (recordVO.getCreateDate() != null) {
wrapper.between(BizBidSharedRecord::getCreateDate, recordVO.getCreateDate(), recordVO.getCreateDate().plusDays(1L));
}
return this.page(new Page<>(recordVO.getPageNo(), recordVO.getPageSize()), wrapper);
}
Page<BizBidSharedRecord> page = this.page(new Page<>(recordVO.getPageNo(), recordVO.getPageSize()), wrapper);
// @Override
// public BizBidSharedRecord getByIdInfo(BizBidSharedRecord bizBidSharedRecord) {
// return bizBidSharedRecordMapper.getByIdInfo(bizBidSharedRecord.getRecordId(), bizBidSharedRecord.getCurrent(), bizBidSharedRecord.getPageSize());
// }
page.getRecords().forEach(p -> p.setRecordRole(EbtpRoleEnum.matchRole(p.getRecordRole()).getDesc()));
return page;
}
}