Commit 6fc59a4d authored by alex yao's avatar alex yao

fix:限制文件个数

parent 1a1d8578
...@@ -25,6 +25,7 @@ import cn.com.poc.equity.service.*; ...@@ -25,6 +25,7 @@ import cn.com.poc.equity.service.*;
import cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity; import cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity;
import cn.com.poc.knowledge.service.BizKnowledgeInfoService; import cn.com.poc.knowledge.service.BizKnowledgeInfoService;
import cn.com.yict.framemax.core.i18n.I18nMessageException; import cn.com.yict.framemax.core.i18n.I18nMessageException;
import com.alibaba.fastjson.TypeReference;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -275,11 +276,21 @@ public class MemberEquityServiceImpl implements MemberEquityService { ...@@ -275,11 +276,21 @@ public class MemberEquityServiceImpl implements MemberEquityService {
bizAgentApplicationInfoEntity.setMemberId(memberId.intValue()); bizAgentApplicationInfoEntity.setMemberId(memberId.intValue());
bizAgentApplicationInfoEntity.setIsDeleted(CommonConstant.IsDeleted.N); bizAgentApplicationInfoEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAgentApplicationInfoEntity> applicationInfoEntities = bizAgentApplicationInfoService.findByExample(bizAgentApplicationInfoEntity, null); List<BizAgentApplicationInfoEntity> applicationInfoEntities = bizAgentApplicationInfoService.findByExample(bizAgentApplicationInfoEntity, null);
//获取知识库数量 //获取知识库文件数量
BizKnowledgeInfoEntity bizKnowledgeInfoEntity = new BizKnowledgeInfoEntity(); BizKnowledgeInfoEntity bizKnowledgeInfoEntity = new BizKnowledgeInfoEntity();
bizKnowledgeInfoEntity.setMemberId(memberId.toString()); bizKnowledgeInfoEntity.setMemberId(memberId.toString());
bizKnowledgeInfoEntity.setIsDeleted(CommonConstant.IsDeleted.N); bizKnowledgeInfoEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizKnowledgeInfoEntity> knowledgeInfoEntities = bizKnowledgeInfoService.findByExample(bizKnowledgeInfoEntity, null); List<BizKnowledgeInfoEntity> knowledgeInfoEntities = bizKnowledgeInfoService.findByExample(bizKnowledgeInfoEntity, null);
Integer kdNum = 0;
if (CollectionUtils.isNotEmpty(knowledgeInfoEntities)) {
for (BizKnowledgeInfoEntity entity : knowledgeInfoEntities) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(entity.getKdIds())) {
List<Integer> kdIds = JsonUtils.deSerialize(entity.getKdIds(), new TypeReference<List<Integer>>() {
}.getType());
kdNum += kdIds.size();
}
}
}
String equityConfig = bizMemberEquityEntity.getEquityConfig(); String equityConfig = bizMemberEquityEntity.getEquityConfig();
MemberEquityInfo memberEquityInfo = JsonUtils.deSerialize(equityConfig, MemberEquityInfo.class); MemberEquityInfo memberEquityInfo = JsonUtils.deSerialize(equityConfig, MemberEquityInfo.class);
...@@ -294,7 +305,7 @@ public class MemberEquityServiceImpl implements MemberEquityService { ...@@ -294,7 +305,7 @@ public class MemberEquityServiceImpl implements MemberEquityService {
memberEquityInfo.setExpiredDate(null); memberEquityInfo.setExpiredDate(null);
} }
memberEquityInfo.setUsedAgentNum(applicationInfoEntities.size()); memberEquityInfo.setUsedAgentNum(applicationInfoEntities.size());
memberEquityInfo.setUsedKnowledgeNum(knowledgeInfoEntities.size()); memberEquityInfo.setUsedKnowledgeNum(kdNum);
return memberEquityInfo; return memberEquityInfo;
} }
......
...@@ -51,14 +51,23 @@ public class KnowledgeRestImpl implements KnowledgeRest { ...@@ -51,14 +51,23 @@ public class KnowledgeRestImpl implements KnowledgeRest {
public List<BizKnowledgeDocumentDto> uploadDocument(MultipartFile[] documentFiles) throws Exception { public List<BizKnowledgeDocumentDto> uploadDocument(MultipartFile[] documentFiles) throws Exception {
Assert.notEmpty(documentFiles); Assert.notEmpty(documentFiles);
Assert.isTrue(documentFiles.length <= 5); Assert.isTrue(documentFiles.length <= 5);
List<BizKnowledgeDocumentEntity> entities = knowledgeService.uploadDocument(documentFiles); UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
List<BizKnowledgeDocumentDto> result = entities.stream().map(entity -> { MemberEquityInfo equityInfo = memberEquityService.getEquityInfo(userBaseEntity.getUserId());
BizKnowledgeDocumentDto dto = new BizKnowledgeDocumentDto(); String lock = userBaseEntity.getUserId().toString().intern();
BeanUtil.copyProperties(entity, dto); synchronized (lock) {
dto.setDocumentSize(FileUtils.formatFileSize(entity.getDocumentSize())); //次数检查
return dto; Integer knowledgeNum = equityInfo.getKnowledgeNum();
}).collect(Collectors.toList()); if (documentFiles.length + equityInfo.getUsedKnowledgeNum() > knowledgeNum) {
return result; throw new I18nMessageException("exception/create.num.limit");
}
List<BizKnowledgeDocumentEntity> entities = knowledgeService.uploadDocument(documentFiles);
return entities.stream().map(entity -> {
BizKnowledgeDocumentDto dto = new BizKnowledgeDocumentDto();
BeanUtil.copyProperties(entity, dto);
dto.setDocumentSize(FileUtils.formatFileSize(entity.getDocumentSize()));
return dto;
}).collect(Collectors.toList());
}
} }
@Override @Override
...@@ -244,8 +253,8 @@ public class KnowledgeRestImpl implements KnowledgeRest { ...@@ -244,8 +253,8 @@ public class KnowledgeRestImpl implements KnowledgeRest {
public BizKnowledgeInfoDto createKnowledge(BizKnowledgeInfoDto dto) throws Exception { public BizKnowledgeInfoDto createKnowledge(BizKnowledgeInfoDto dto) throws Exception {
Assert.notNull(dto.getKnowledgeName(), I18nUtils.message("assert/knowledge.name.null")); Assert.notNull(dto.getKnowledgeName(), I18nUtils.message("assert/knowledge.name.null"));
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException(); UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
//次数检查
checkEquity(userBaseEntity); // checkEquity(userBaseEntity);
BizKnowledgeInfoEntity bizKnowledgeInfoEntity = new BizKnowledgeInfoEntity(); BizKnowledgeInfoEntity bizKnowledgeInfoEntity = new BizKnowledgeInfoEntity();
bizKnowledgeInfoEntity.setKnowledgeName(dto.getKnowledgeName()); bizKnowledgeInfoEntity.setKnowledgeName(dto.getKnowledgeName());
bizKnowledgeInfoEntity.setMemberId(userBaseEntity.getUserId().toString()); bizKnowledgeInfoEntity.setMemberId(userBaseEntity.getUserId().toString());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment