重构 文档下载
This commit is contained in:
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user