public interface AttachmentManager
限定符和类型 | 方法和说明 |
---|---|
Attachment |
build(int type,
java.lang.Long id)
根据业务类型,通过AttachmentProvider构建Attachment对象。
|
boolean |
checkIsLicitGenesis(java.lang.Long referenceId,
java.lang.Long genesisId)
检测是否是合法的来源
|
java.util.Map<java.lang.String,java.lang.String> |
convertAttachmentParameter(Attachment attr)
将 附件转换成前端的数据格式
|
java.util.List<Attachment> |
copy(java.lang.Long reference,
java.lang.Long subReference)
复制附件, 不存入表
|
java.lang.String |
copy(java.lang.Long reference,
java.lang.Long subReference,
java.lang.Long newReference,
java.lang.Long newSubReference,
java.lang.Integer category)
复制附件,并把附件存入表中
|
java.lang.String |
copy(java.lang.Long reference,
java.lang.Long subReference,
java.lang.Long newReference,
java.lang.Long newSubReference,
java.lang.Integer category,
java.lang.Long userId,
java.lang.Long accountId)
上面那个接口必须需要用户登录才能复制,因为要用到userId,accountId,直接提供接口,不需要用户登录,为的是方便系统复制
|
java.lang.String |
copy(java.lang.Long reference,
java.lang.Long subReference,
java.lang.Long newReference,
java.lang.Long newSubReference,
java.lang.Integer category,
java.lang.Long userId,
java.lang.Long accountId,
java.lang.String filename) |
java.lang.String |
create(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference)
该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl,
String[] mimeType, String[] size, String[] createdate, String[] filename,
String[] type, String[] needClone
怎么判断是否有附件呢,请看:
//保存附件
String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request);
if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){
colSummary.setHasAttachments(true);
}
|
java.lang.String |
create(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference,
javax.servlet.http.HttpServletRequest request)
该方法必须和 comp=type:'fileupload' 配合使用,在request中必须有的Parameter:String[] fileUrl,
String[] mimeType, String[] size, String[] createdate, String[] filename,
String[] type, String[] needClone
怎么判断是否有附件呢,请看:
//保存附件
String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request);
if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){
colSummary.setHasAttachments(true);
}
|
java.lang.String |
create(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference,
java.util.List<java.util.Map> attachList)
根据应用自己获取的附件定义列表创建附件信息,一般用于Ajax提交的情况
|
java.lang.String |
create(java.util.Collection<Attachment> attachments)
保存附件信息,文件已经上传到服务器上,只需要在附件表和文件表中记录
|
java.lang.String |
create(java.util.Collection<Attachment> attachments,
boolean needSetSort)
保存附件信息
|
java.lang.String |
create(java.util.Collection<Attachment> attachments,
java.lang.Long memberId,
java.lang.Long orgAccountId)
保存附件信息,文件已经上传到服务器上,只需要在附件表和文件表中记录
|
java.lang.String |
create(java.lang.Long[] v3xFileId,
ApplicationCategoryEnum cotegory,
java.lang.Long reference,
java.lang.Long subReference)
存附件信息,文件已经上传到服务器并且已经保存到数据库,只需要在附件表中记录
|
void |
deleteById(long attachmentId)
按照附件Id删除
|
void |
deleteByIds(java.util.List<java.lang.Long> attachmentId)
按照附件Id删除
|
void |
deleteByReference(java.util.List<java.lang.Long> references)
批量删除附件
|
void |
deleteByReference(java.lang.Long reference)
按照主数据删除: 文件没有做物理删除
|
void |
deleteByReference(java.lang.Long reference,
int... type)
按照主数据删除: 文件没有做物理删除
|
void |
deleteByReference(java.lang.Long reference,
java.lang.Long subReference)
按照主数据和次数据删除: 文件没有做物理删除
|
void |
deleteOnlyAttByReference(java.lang.Long reference) |
java.util.List<Attachment> |
getAllByReference(java.lang.Long reference)
读取一个主题下的所有附件信息,并根据密级设置是否可浏览
|
java.util.List<java.lang.Object[]> |
getAllFileUrlByReference(java.lang.Long reference)
读取某个主体下所有附件的fileURL
|
Attachment |
getAttachment(java.lang.Long id)
获取单个附件
|
Attachment |
getAttachmentByFileURL(java.lang.Long fileURL)
根据v3xfile的id取得附件对象
|
java.util.List<Attachment> |
getAttachmentByFileURLs(java.util.List<java.lang.Long> fileURLs)
根据fileurl list获取对应的附件list
|
java.util.List<Attachment> |
getAttachmentByFileURLStrings(java.lang.String fileURLs)
根据逗号分隔的fileurl获取对应的附件
|
Attachment |
getAttachmentById(java.lang.Long id)
根据附件id取得附件对象
|
java.util.List<java.lang.Object[]> |
getAttachmentsByFileName(java.lang.String fileName,
java.lang.Long reference,
java.lang.Integer type,
FlipInfo flipInfo) |
java.util.List<Attachment> |
getAttachmentsFromAttachList(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference,
java.util.List mapList) |
java.util.List<Attachment> |
getAttachmentsFromRequest(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference,
javax.servlet.http.HttpServletRequest request)
从v3x:fileupload中取得数据,构造Attachment,此时没有存放到数据库中
|
java.util.List<Attachment> |
getAttachmentsFromRequestNotRelition(javax.servlet.http.HttpServletRequest request)
本方法只为显示附件,并没有保存。
|
java.util.List<Attachment> |
getAttachmentsFromRequestNotRelition(java.lang.String attachstr) |
java.lang.String |
getAttListJSON(java.util.List<Attachment> list) |
java.lang.String |
getAttListJSON(java.lang.Long reference)
为前端显示附件获取一个主题下的所有附件信息,包括二级主题,
如:协同的附件和协同回复的附件
|
java.lang.String |
getAttListJSON(java.lang.Long reference,
java.lang.Long subReference)
为前端显示附件获取一个主题下指定区域的附件信息
如:协同的附件或者协同回复的附件
|
java.lang.String |
getAttListJSON4JS(java.lang.Long reference) |
java.lang.String |
getAttListJSON4JS(java.lang.Long reference,
java.lang.Long subReference) |
long |
getAttSizeSum(long attId) |
java.util.List<Attachment> |
getByReference(java.util.List<java.lang.Long> references) |
java.util.List<Attachment> |
getByReference(java.lang.Long reference)
读取一个主题下的所有附件信息,包括二级主题,如:协同的附件和协同回复的附件
|
java.util.List<java.lang.Object[]> |
getByReference(java.lang.Long reference,
java.lang.Integer type,
FlipInfo flipInfo) |
java.util.List<Attachment> |
getByReference(java.lang.Long reference,
java.lang.Long... subReferences)
读取附件信息
|
java.util.List<Attachment> |
getByReference(java.lang.Long reference,
java.lang.Long subReference)
读取附件信息
|
java.util.List<Attachment> |
getByReferenceNoOfficeTransFlag(java.lang.Long reference)
获取附件(没有设置是否可以转换参数转换)
|
java.util.List<Attachment> |
getBySubReference(java.util.List<java.lang.Long> subReferences) |
java.util.List<java.lang.Long> |
getBySubReference(java.lang.Long subReference)
根据subReference值查询 文件ID
|
java.lang.String |
getFileNameExcludeSuffix(java.util.List<Attachment> attachments)
获取不包含后缀的文件名字符串,用|隔开
|
java.lang.String |
getFilesmName(java.util.List<Attachment> attachments)
获取用于附件说明展示的名称,格式:
1.xxxx
2.xxxx
|
boolean |
hasAttachments(java.lang.Long reference,
java.lang.Long subReference)
是否包含附件, 慎用,做好在自己的表中增加一个“是否有附件”的标记
|
void |
removeByReference(java.util.List<java.lang.Long> reference)
按照主数据删除: 文件做物理删除 (批量模式)
注意,此方法和deleteByReference实现的功能略有不同
|
void |
removeByReference(java.lang.Long reference)
按照主数据删除: 文件做物理删除
|
void |
removeByReference(java.lang.Long reference,
java.lang.Long subReference)
按照主数据和次数据删除: 文件做物理删除
|
void |
saveAsAtt(java.util.List<Attachment> attachments) |
java.util.List<Attachment> |
setOfficeTransformEnable(java.util.List<Attachment> list) |
java.lang.String |
update(ApplicationCategoryEnum category,
java.lang.Long reference,
java.lang.Long subReference,
javax.servlet.http.HttpServletRequest request)
该方法必须和v3x:fileupload 配合使用,在request中必须有的Parameter:String[] fileUrl,
String[] mimeType, String[] size, String[] createdate, String[] filename,
String[] type, String[] needClone
执行的策略是,现delete,然后create |
void |
update(Attachment attachment) |
void |
updateFileNameByAffairIds(java.lang.String newSubject,
java.util.List<java.lang.Long> affairIdList)
更新文件名
|
void |
updateFileNameByReference(java.lang.String fileName,
java.lang.Long reference)
协同需求增加接口, 根据reference批量更新协同附件的名称
|
void |
updateReference(java.lang.Long fileUrl,
java.lang.Long referenceId)
根据文件表示更新引用
|
void |
updateReferenceByFileUrls(java.lang.String fileUrls,
java.lang.Long referenceId)
根据逗号分隔的fileurl更新对应的应用ID
|
void |
updateReferenceSubReference(java.lang.Long fileUrl,
java.lang.Long referenceId,
java.lang.Long subReference)
根据文件表示更新引用及子引用
|
java.util.Map<java.lang.String,java.lang.String> convertAttachmentParameter(Attachment attr)
attr
- Attachment getAttachment(java.lang.Long id)
id
- java.util.List<Attachment> getAttachmentsFromRequestNotRelition(javax.servlet.http.HttpServletRequest request)
request
- java.util.List<Attachment> getAttachmentsFromRequestNotRelition(java.lang.String attachstr)
java.lang.String create(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request) throws java.lang.Exception
//保存附件 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request); if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){ colSummary.setHasAttachments(true); }
category
- 所属应用分类reference
- 主题Id,如协同的IdsubReference
- 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同request
- java.lang.Exception
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
,
com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(String)
java.lang.String create(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference) throws java.lang.Exception
//保存附件 String attaFlag = this.attachmentManager.create(ApplicationCategoryEnum.collaboration, colSummary.getId(), colSummary.getId(), request); if(com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(attaFlag)){ colSummary.setHasAttachments(true); }
category
- 所属应用分类reference
- 主题Id,如协同的IdsubReference
- 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同java.lang.Exception
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
,
com.seeyon.v3x.common.filemanager.Constants.isUploadLocaleFile(String)
java.lang.String create(java.util.Collection<Attachment> attachments, java.lang.Long memberId, java.lang.Long orgAccountId)
attachments
- 附件列表memberId
- 用户编号orgAccountId
- 单位编号java.lang.String create(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, java.util.List<java.util.Map> attachList) throws java.lang.Exception
category
- 所属应用分类reference
- 主题Id,如协同的IdsubReference
- 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同attachList
- 应用自己获取的附件定义列表java.lang.Exception
java.lang.String create(java.util.Collection<Attachment> attachments)
reference
- subReference
- category
- extensions
- com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
java.lang.String create(java.util.Collection<Attachment> attachments, boolean needSetSort)
attachments
- needSetSort
- 是否需要重设附件的sort,cap4中逻辑优化调整java.util.List<Attachment> getAttachmentsFromRequest(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request) throws java.lang.Exception
category
- reference
- subReference
- request
- java.lang.Exception
java.util.List<Attachment> getAttachmentsFromAttachList(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, java.util.List mapList) throws java.lang.Exception
java.lang.Exception
java.lang.String update(ApplicationCategoryEnum category, java.lang.Long reference, java.lang.Long subReference, javax.servlet.http.HttpServletRequest request) throws java.lang.Exception
category
- 所属应用分类reference
- 主题Id,如协同的IdsubReference
- 二级主题Id,如协同的回复Id,如果当前是给协同上传附件,则该subReference 与 reference相同request
- java.lang.Exception
com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
java.util.List<Attachment> getByReference(java.lang.Long reference)
reference
- java.util.List<Attachment> getByReferenceNoOfficeTransFlag(java.lang.Long reference)
reference
- java.util.List<Attachment> getAllByReference(java.lang.Long reference)
reference
- java.util.List<Attachment> getByReference(java.lang.Long reference, java.lang.Long subReference)
reference
- subReference
- java.util.List<Attachment> getByReference(java.lang.Long reference, java.lang.Long... subReferences)
reference
- 主数据subReferences
- 次数据多个java.util.List<java.lang.Object[]> getByReference(java.lang.Long reference, java.lang.Integer type, FlipInfo flipInfo)
reference
- 文件关联的业务Id,比如groupIdtype
- 类型firstResult
- 数据行开始位置,从0开始,-1表示不限制maxResults
- 取数据量,-1表示不限制java.util.List<java.lang.Object[]> getAllFileUrlByReference(java.lang.Long reference)
reference
- void deleteByReference(java.lang.Long reference) throws BusinessException
reference
- BusinessException
void deleteByReference(java.lang.Long reference, int... type) throws BusinessException
reference
- type
- 类型BusinessException
void removeByReference(java.lang.Long reference) throws BusinessException
reference
- BusinessException
void removeByReference(java.util.List<java.lang.Long> reference) throws BusinessException
reference
- BusinessException
此方法的批量实现
void deleteByReference(java.lang.Long reference, java.lang.Long subReference) throws BusinessException
reference
- subReference
- BusinessException
void removeByReference(java.lang.Long reference, java.lang.Long subReference) throws BusinessException
reference
- subReference
- BusinessException
void deleteById(long attachmentId)
attachmentId
- void deleteByIds(java.util.List<java.lang.Long> attachmentId)
attachmentId
- boolean hasAttachments(java.lang.Long reference, java.lang.Long subReference)
reference
- subReference
- Attachment getAttachmentByFileURL(java.lang.Long fileURL)
fileURL
- Attachment getAttachmentById(java.lang.Long id)
id
- void update(Attachment attachment)
attachment
- java.lang.String copy(java.lang.Long reference, java.lang.Long subReference, java.lang.Long newReference, java.lang.Long newSubReference, java.lang.Integer category)
reference
- 原主体的IdsubReference
- 原主体的次IdnewReference
- 新主体的IdnewSubReference
- 新主体的次Idcategory
- 新的所属应用分类com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
,
com.seeyon.ctp.common.filemanager.Constants.isUploadLocaleFile
void updateReference(java.lang.Long fileUrl, java.lang.Long referenceId)
fileUrl
- 文件标识referenceId
- void updateReferenceSubReference(java.lang.Long fileUrl, java.lang.Long referenceId, java.lang.Long subReference)
fileUrl
- 文件标识referenceId
- subReference
- java.lang.String copy(java.lang.Long reference, java.lang.Long subReference, java.lang.Long newReference, java.lang.Long newSubReference, java.lang.Integer category, java.lang.Long userId, java.lang.Long accountId)
java.lang.String copy(java.lang.Long reference, java.lang.Long subReference, java.lang.Long newReference, java.lang.Long newSubReference, java.lang.Integer category, java.lang.Long userId, java.lang.Long accountId, java.lang.String filename)
reference
- subReference
- newReference
- newSubReference
- category
- userId
- accountId
- filename
- 新的文件名java.util.List<Attachment> copy(java.lang.Long reference, java.lang.Long subReference)
reference
- subReference
- java.lang.String create(java.lang.Long[] v3xFileId, ApplicationCategoryEnum cotegory, java.lang.Long reference, java.lang.Long subReference)
v3xFileId
- cotegory
- reference
- subReference
- com.seeyon.ctp.common.filemanager.Constants.ATTACHMENT_TYPE_FILE
long getAttSizeSum(long attId)
boolean checkIsLicitGenesis(java.lang.Long referenceId, java.lang.Long genesisId)
referenceId
- 关联协同的IDgenesisId
- 来源Idjava.lang.String getAttListJSON(java.lang.Long reference)
reference
- java.util.List<Attachment> getAttachmentByFileURLStrings(java.lang.String fileURLs)
fileURLs
- java.util.List<Attachment> getAttachmentByFileURLs(java.util.List<java.lang.Long> fileURLs)
fileURLs
- void updateReferenceByFileUrls(java.lang.String fileUrls, java.lang.Long referenceId)
fileUrls
- referenceId
- void deleteByReference(java.util.List<java.lang.Long> references) throws BusinessException
references
- BusinessException
java.lang.String getAttListJSON(java.lang.Long reference, java.lang.Long subReference)
reference
- subReference
- java.util.List<Attachment> setOfficeTransformEnable(java.util.List<Attachment> list)
java.lang.String getAttListJSON(java.util.List<Attachment> list)
java.lang.String getAttListJSON4JS(java.lang.Long reference)
java.lang.String getAttListJSON4JS(java.lang.Long reference, java.lang.Long subReference)
void updateFileNameByAffairIds(java.lang.String newSubject, java.util.List<java.lang.Long> affairIdList)
fileName
- affairIdList
- java.util.List<java.lang.Long> getBySubReference(java.lang.Long subReference)
subReference
- void deleteOnlyAttByReference(java.lang.Long reference)
java.util.List<Attachment> getBySubReference(java.util.List<java.lang.Long> subReferences)
@param
- subReferences@return
- void saveAsAtt(java.util.List<Attachment> attachments)
java.lang.String getFileNameExcludeSuffix(java.util.List<Attachment> attachments)
attachments
- java.lang.String getFilesmName(java.util.List<Attachment> attachments)
attachments
- java.util.List<Attachment> getByReference(java.util.List<java.lang.Long> references)
@param
- references@return
- Attachment build(int type, java.lang.Long id) throws BusinessException
type
- 业务类型id
- 业务Idnull
。BusinessException
java.util.List<java.lang.Object[]> getAttachmentsByFileName(java.lang.String fileName, java.lang.Long reference, java.lang.Integer type, FlipInfo flipInfo)
fileName
- reference
- type
- flipInfo
- void updateFileNameByReference(java.lang.String fileName, java.lang.Long reference)
fileName
- reference
-