派生自 projectDept/qhighschool

yn147
2023-05-10 96286178ee1c257c130cb2ad964a781f36c4eee5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
package com.qxueyou.scc.teach.res.service;
 
import com.qxueyou.scc.base.model.FileMeta;
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.teach.res.model.Res;
import com.qxueyou.scc.teach.res.model.ResDir;
import com.qxueyou.scc.teach.res.model.ResLib;
 
import java.util.List;
 
public interface IResService {
 
    /**
     * 初始化个人资源库
     *
     * @return
     */
    Result initUserLib();
 
    /**
     * 获取个人资源库
     *
     * @return
     */
    ResLib readUserLib();
 
    /**
     * 读取个人资源库
     *
     * @param type 资源库类型
     * @return
     */
    ResLib getResLib(String type, String ownerId);
 
    /**
     * 新增资源
     *
     * @param dirId        文件夹id
     * @param itemDestId   如果为视频,文档,文章等,则为文件id,如果为练习,则为exerciseGroupId
     * @param name         资源名称
     * @param remark       说明
     * @param type         资源类型
     * @param coverPageUrl 封面文件id,如果为练习,则为空
     * @return 上传结果:{"success":true,msg:"success",attrs:{"resId","90023afwe32300fee23"}},若成功,则返回resId
     */
    Result add(String dirId, String itemDestId, String name, String remark, String type, String coverPageUrl);
 
    /**
     * 批量上传资源
     */
    Result addBatchRes(String dirId, String type, List<FileMeta> items);
 
    /**
     * 返回资源
     *
     * @param resId
     * @return
     */
    Res read(String resId);
 
    /**
     * 修改资源
     *
     * @param resId        资源id
     * @param name         名称
     * @param remark       说明
     * @param coverPageUrl 封面文件id,如果为练习,则为空
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result update(String resId, String name, String remark, String coverPageUrl);
 
    /**
     * 删除资源
     *
     * @param resIds 资源id数组
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result delete(String[] resIds);
 
    /**
     * 复制资源
     *
     * @param resId     资源id数组
     * @param destDirId 目标文件夹id
     * @param name      资源名称
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result doCopy(String resId, String destDirId, String name);
 
    /**
     * 移动资源
     *
     * @param resId     资源id数组
     * @param destDirId 目标文件夹id
     * @param name      资源名称
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result doMove(String resId, String destDirId, String name);
 
    /**
     * 查询资源
     *
     * @param dirId   资源文件夹id
     * @param text    搜索文本
     * @param pageNo  页码
     * @param pageNum 每页显示行数
     * @param type    资源类型
     * @return 返回资源列表
     */
    List<Res> listRes(String dirId, String text, Integer pageSize, Integer pageNum, String type);
 
    /**
     * 查询我的所有资源
     *
     * @param text    搜索文本
     * @param pageNo  页码
     * @param pageNum 每页显示行数
     * @param type    资源类型
     * @return 返回资源列表
     */
    List<Res> listMyRes(String text, Integer pageSize, Integer pageNum, String type);
 
    /**
     * 根据资源库类型查找资源
     *
     * @param libType  资源库类型
     * @param ownerId  所有者id
     * @param text     搜索文本
     * @param pageSize 每页显示行数
     * @param pageNum  页码
     * @param resType  资源类型
     * @return 返回资源列表
     */
    List<Res> listResByLib(String libType, String ownerId, String text, Integer pageSize, Integer pageNum,
                           String resType);
 
    /**
     * 根据资源库类型查找资源总数
     *
     * @param libType 资源库类型
     * @param ownerId 所有者id
     * @param text    搜索文本
     * @param resType 资源类型
     * @return 返回资源列表
     */
    int listResCountByLib(String libType, String ownerId, String text, String resType);
 
    /**
     * 我的所有资源的数量
     *
     * @param text 搜索文本
     * @param type 资源类型
     * @return 返回资源列表
     */
    int listMyResCount(String text, String type);
 
    /**
     * 查询资源个数
     *
     * @param dirId   资源文件夹id
     * @param text    搜索文本
     * @param pageNo  页码
     * @param pageNum 每页显示行数
     * @param type    资源类型
     * @return 返回资源总数
     */
    int listResCount(String dirId, String text, String type);
 
    /**
     * 读取资源真实文件访问路径
     *
     * @param resId     资源id数组
     * @param attribute 资源附加属性
     * @return 上传结果:{"success":true,msg:"success",attrs:{"type":"",path:""}}
     */
    Result readAccessPath(String resId, String attribute);
 
    /**
     * 新增资源文件夹
     *
     * @param parentDirId 父级资源文件夹id
     * @param name        文件夹名称
     * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId
     */
    Result addDir(String parentDirId, String name);
 
    /**
     * 读取资源文件夹
     *
     * @param dirId 资源文件夹id
     * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId
     */
    ResDir readDir(String dirId);
 
    /**
     * 修改资源文件夹
     *
     * @param dirId 文件夹id
     * @param name  名称
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result updateDir(String dirId, String name);
 
    /**
     * 删除资源文件夹
     *
     * @param dirIds 资源文件夹id数组
     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
     */
    Result deleteDir(String[] dirIds);
 
    /**
     * 返回个人资源库下级资源文件夹列表
     *
     * @param parentDirId 父级资源文件夹id
     * @return 返回资源列表
     */
    List<ResDir> doGetMyLibChildDirs(String parentDirId);
 
    /**
     * 返回下级资源文件夹列表
     *
     * @param parentDirId 父级资源文件夹id
     * @param type        资源库类型
     * @return 返回资源列表
     */
    List<ResDir> doGetChildDirs(String parentDirId, String type);
 
    /**
     * 返回资源库根节点
     *
     * @param type    类型
     * @param ownerId 拥有者id
     * @return 返回资源库根节点
     */
    ResDir doGetRootDir(String type, String ownerId);
 
    void deleteFile4Dir(String dirId);
}