blob: b89dc18062ad4986e81d47b22e41501e58016002 [file] [log] [blame]
rootcd436562025-05-08 14:09:19 +00001package database;
2
root0dbc9812025-05-19 04:41:57 +00003import java.util.HashMap;
4import java.util.List;
5import java.util.Map;
6
7import javax.persistence.EntityManager;
Raverf79fdb62025-06-03 06:02:49 +00008import javax.persistence.PersistenceContext;
root678fd3e2025-06-03 14:20:20 +00009import javax.persistence.Persistence;
root0dbc9812025-05-19 04:41:57 +000010
11import com.querydsl.jpa.impl.JPAQuery;
12
13import entity.BegInfo;
14import entity.Notice;
15import entity.Post;
16import entity.Profile;
17import entity.QNotice;
18import entity.QSeed;
19import entity.QUser;
20import entity.QUserPT;
21import entity.QUserStar;
TRM-codingcdfe5482025-06-06 17:31:01 +080022import entity.QUserInvite;
root0dbc9812025-05-19 04:41:57 +000023import entity.Seed;
24import entity.User;
25import entity.UserPT;
26import entity.UserStar;
Raverf79fdb62025-06-03 06:02:49 +000027import entity.config;
root0dbc9812025-05-19 04:41:57 +000028
29public class Database1 implements DataManagerInterface {
Raverf79fdb62025-06-03 06:02:49 +000030 @PersistenceContext
31 private final EntityManager entitymanager;
root678fd3e2025-06-03 14:20:20 +000032
33 public Database1() {
Raverf79fdb62025-06-03 06:02:49 +000034 config cfg = new config();
35 Map<String,Object> props = new HashMap<>();
36 props.put("javax.persistence.jdbc.url",
37 "jdbc:mysql://" + cfg.SqlURL + "/" + cfg.Database);
root678fd3e2025-06-03 14:20:20 +000038 props.put("javax.persistence.jdbc.user", cfg.SqlUsername);
39 props.put("javax.persistence.jdbc.password", cfg.SqlPassword);
Raverf79fdb62025-06-03 06:02:49 +000040 this.entitymanager = Persistence.createEntityManagerFactory("myPersistenceUnit", props).createEntityManager();
root678fd3e2025-06-03 14:20:20 +000041 }
TRM-codingcdfe5482025-06-06 17:31:01 +080042 @Override
43 public String LoginUser(User userinfo){
44 try {
45 // 检查传入的参数是否合法
46 if (userinfo == null || userinfo.password == null) {
47 return null;
48 }
49
50 // 用户名和邮箱应该有且仅有一个不为空
51 boolean hasUsername = userinfo.username != null && !userinfo.username.isEmpty();
52 boolean hasEmail = userinfo.email != null && !userinfo.email.isEmpty();
53
54 // 如果两个都为空或两个都不为空,返回null
55 if ((!hasUsername && !hasEmail) || (hasUsername && hasEmail)) {
56 return null;
57 }
58
59 JPAQuery<User> query = new JPAQuery<>(entitymanager);
60 QUser u = QUser.user;
61 User foundUser = null;
62
63 if (hasUsername) {
64 // 通过用户名和密码查找
65 foundUser = query.select(u)
66 .from(u)
67 .where(u.username.eq(userinfo.username)
68 .and(u.password.eq(userinfo.password)))
69 .fetchOne();
70 } else {
71 // 通过邮箱和密码查找
72 foundUser = query.select(u)
73 .from(u)
74 .where(u.email.eq(userinfo.email)
75 .and(u.password.eq(userinfo.password)))
76 .fetchOne();
77 }
78
79 // 如果找到匹配的用户则返回用户ID,否则返回null
80 return foundUser != null ? foundUser.userid : null;
81
82 } catch (Exception e) {
83 e.printStackTrace();
84 return null;
85 }
86 }
root0dbc9812025-05-19 04:41:57 +000087
88 // 返回状态:0 success,1 邮箱重复,2其他原因
89 @Override
Raverf79fdb62025-06-03 06:02:49 +000090 public int RegisterUser(User userinfo){
91 try{
TRM-codingcdfe5482025-06-06 17:31:01 +080092 // 首先检查该邮箱是否在UserInvite表中被邀请过
93 JPAQuery<String> inviteQuery = new JPAQuery<>(entitymanager);
94 QUserInvite ui = QUserInvite.userInvite;
95 List<String> invitedEmails = inviteQuery.select(ui.inviterEmail).from(ui).fetch();
96
97 // 如果邮箱不在被邀请列表中,拒绝注册
98 if(!invitedEmails.contains(userinfo.email)){
99 return 2; // 未被邀请
100 }
101
102 // 检查邮箱是否已在User表中存在
Raverf79fdb62025-06-03 06:02:49 +0000103 JPAQuery<String> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000104 QUser u = QUser.user;
105 List<String> allEmails = query.select(u.email).from(u).fetch();
106
Raverf79fdb62025-06-03 06:02:49 +0000107 if(allEmails.contains(userinfo.email)){
TRM-codingcdfe5482025-06-06 17:31:01 +0800108 return 1; // 邮箱重复
root0dbc9812025-05-19 04:41:57 +0000109 }
TRM-codingcdfe5482025-06-06 17:31:01 +0800110
111 entitymanager.getTransaction().begin();
Raverf79fdb62025-06-03 06:02:49 +0000112 entitymanager.persist(userinfo);
TRM-codingcdfe5482025-06-06 17:31:01 +0800113 entitymanager.getTransaction().commit();
114 return 0; // 注册成功
root0dbc9812025-05-19 04:41:57 +0000115
Raverf79fdb62025-06-03 06:02:49 +0000116 }catch(Exception e){
root0dbc9812025-05-19 04:41:57 +0000117 e.printStackTrace();
TRM-codingcdfe5482025-06-06 17:31:01 +0800118 if (entitymanager.getTransaction().isActive()) {
119 entitymanager.getTransaction().rollback();
120 }
root0dbc9812025-05-19 04:41:57 +0000121 return 2;
122 }
Raverf79fdb62025-06-03 06:02:49 +0000123
root0dbc9812025-05-19 04:41:57 +0000124 }
125
126 // 返回状态:0 success,1 不存在,2其他原因
127 @Override
Raverf79fdb62025-06-03 06:02:49 +0000128 public int UpdateInformation(User userinfo){
root0dbc9812025-05-19 04:41:57 +0000129 try {
130 if (userinfo.userid == null) {
131 return 2; // userid为null直接返回错误
132 }
Raverf79fdb62025-06-03 06:02:49 +0000133 JPAQuery<User> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000134 QUser u = QUser.user;
135 User updateUser = query.select(u).from(u).where(u.userid.eq(userinfo.userid)).fetchOne();
136
Raverf79fdb62025-06-03 06:02:49 +0000137 if(updateUser == null){
root0dbc9812025-05-19 04:41:57 +0000138 return 1;
139 }
140 // 只更新需要的字段,避免破坏持久化状态和关联关系
141 updateUser.email = userinfo.email;
142 updateUser.username = userinfo.username;
143 updateUser.password = userinfo.password;
144 updateUser.sex = userinfo.sex;
145 updateUser.school = userinfo.school;
146 updateUser.pictureurl = userinfo.pictureurl;
147 updateUser.profile = userinfo.profile;
148 updateUser.accountstate = userinfo.accountstate;
149 updateUser.invitetimes = userinfo.invitetimes;
150 // 如有其他字段也一并赋值
Raverf79fdb62025-06-03 06:02:49 +0000151 entitymanager.merge(updateUser);
root0dbc9812025-05-19 04:41:57 +0000152 return 0;
153 } catch (Exception e) {
154 e.printStackTrace();
155 return 2;
156 }
Raverf79fdb62025-06-03 06:02:49 +0000157
root0dbc9812025-05-19 04:41:57 +0000158 }
159
160 // 返回用户的全部基本信息
161 @Override
Raverf79fdb62025-06-03 06:02:49 +0000162 public User GetInformation(String userid){
163 User user = entitymanager.find(User.class, userid);
164 return user;
root0dbc9812025-05-19 04:41:57 +0000165 }
166
167 //返回用户的全部pt站信息
168 @Override
Raverf79fdb62025-06-03 06:02:49 +0000169 public UserPT GetInformationPT(String userid){
170 UserPT userPT = entitymanager.find(UserPT.class, userid);
171 return userPT;
root0dbc9812025-05-19 04:41:57 +0000172 }
173
174 //返回状态:0 success,1 邮箱重复,2其他原因
175 @Override
Raverf79fdb62025-06-03 06:02:49 +0000176 public int UpdateInformationPT(UserPT userinfo){
177 try{
178 JPAQuery<UserPT> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000179 QUserPT u = QUserPT.userPT;
180 UserPT userPT = query.select(u).from(u).where(u.userid.eq(userinfo.userid)).fetchOne();
Raverf79fdb62025-06-03 06:02:49 +0000181
182 if(userPT == null){
root0dbc9812025-05-19 04:41:57 +0000183 return 1;
184 }
185 userPT = userinfo;
Raverf79fdb62025-06-03 06:02:49 +0000186 entitymanager.merge(userPT);
root0dbc9812025-05-19 04:41:57 +0000187 return 0;
188
Raverf79fdb62025-06-03 06:02:49 +0000189 }catch(Exception e){
root0dbc9812025-05-19 04:41:57 +0000190 e.printStackTrace();
191 return 2;
192 }
193 }
194
195 //返回状态:0 success,1 id重复,2其他原因
196 @Override
Raverf79fdb62025-06-03 06:02:49 +0000197 public int RegisterUserPT(UserPT userinfo){
root0dbc9812025-05-19 04:41:57 +0000198 try {
Raverf79fdb62025-06-03 06:02:49 +0000199 JPAQuery<UserPT> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000200 QUserPT u = QUserPT.userPT;
201 UserPT checkUserPT = query.select(u).from(u).where(u.userid.eq(userinfo.userid)).fetchOne();
202 if (checkUserPT != null) {
203 return 1;
204 }
Raverf79fdb62025-06-03 06:02:49 +0000205 entitymanager.persist(userinfo);
root0dbc9812025-05-19 04:41:57 +0000206 return 0;
207 } catch (Exception e) {
208 e.printStackTrace();
209 return 2;
210 }
211 }
212
213 //返回种子的全部信息
214 @Override
Raverf79fdb62025-06-03 06:02:49 +0000215 public Seed GetSeedInformation(String seedid){
216 JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
217 QSeed s = QSeed.seed;
218 Seed seed = query.select(s).from(s).where(s.seedid.eq(seedid)).fetchOne();
219 return seed;
root0dbc9812025-05-19 04:41:57 +0000220 }
221
Raveraae06122025-06-05 08:13:35 +0000222 @Override
223 public Seed[] GetSeedListByTag(String tag){
224 JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
225 QSeed s = QSeed.seed;
226 List<Seed> seeds = query.select(s).from(s).where(s.seedtag.eq(tag)).fetch();
227 return seeds.toArray(new Seed[0]);
228 }
229
root0dbc9812025-05-19 04:41:57 +0000230 //添加一个新的种子,0成功,其他失败信息待定;
231 @Override
Raverf79fdb62025-06-03 06:02:49 +0000232 public int RegisterSeed(Seed seedinfo){
root0dbc9812025-05-19 04:41:57 +0000233 try {
Raveraae06122025-06-05 08:13:35 +0000234 entitymanager.getTransaction().begin();
Raverf79fdb62025-06-03 06:02:49 +0000235 JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000236 QSeed s = QSeed.seed;
237 Seed seed = query.select(s).from(s).where(s.seedid.eq(seedinfo.seedid)).fetchOne();
Raveraae06122025-06-05 08:13:35 +0000238 User user = entitymanager.find(User.class, seedinfo.seeduserid);
239 if (user == null) {
240 entitymanager.getTransaction().rollback();
241 return 2; // 用户不存在
242 }
243 seed.user = user; // 设置种子的用户关联
root0dbc9812025-05-19 04:41:57 +0000244 if (seed != null) {
Raveraae06122025-06-05 08:13:35 +0000245 entitymanager.getTransaction().rollback();
root0dbc9812025-05-19 04:41:57 +0000246 return 1;
247 }
Raverf79fdb62025-06-03 06:02:49 +0000248 entitymanager.persist(seedinfo);
Raveraae06122025-06-05 08:13:35 +0000249 entitymanager.getTransaction().commit();
root0dbc9812025-05-19 04:41:57 +0000250 return 0;
251 } catch (Exception e) {
252 e.printStackTrace();
Raveraae06122025-06-05 08:13:35 +0000253 if (entitymanager.getTransaction().isActive()) {
254 entitymanager.getTransaction().rollback();
255 }
root0dbc9812025-05-19 04:41:57 +0000256 return 2;
257 }
258 }
259
260 //接收新的种子然后更新其全部属性
261 @Override
Raverf79fdb62025-06-03 06:02:49 +0000262 public int UpdateSeed(Seed seedinfo){
root0dbc9812025-05-19 04:41:57 +0000263 try {
Raverf79fdb62025-06-03 06:02:49 +0000264 JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000265 QSeed s = QSeed.seed;
266 Seed seed = query.select(s).from(s).where(s.seedid.eq(seedinfo.seedid)).fetchOne();
267 if (seed == null) {
268 return 1;
269 }
270 seed = seedinfo;
Raverf79fdb62025-06-03 06:02:49 +0000271 entitymanager.merge(seed);
root0dbc9812025-05-19 04:41:57 +0000272 return 0;
273 } catch (Exception e) {
274 e.printStackTrace();
275 return 2;
276 }
277 }
278
279 //传入搜索的关键词或句子,返回搜索到的种子信息(按照公共字符数量排序)
280 @Override
Raverf79fdb62025-06-03 06:02:49 +0000281 public Seed[] SearchSeed(String userQ){
282 JPAQuery<Seed> query = new JPAQuery<>(entitymanager);
283 QSeed s = QSeed.seed;
284 List<Seed> seeds = query.select(s).from(s).fetch();
root0dbc9812025-05-19 04:41:57 +0000285
Raverf79fdb62025-06-03 06:02:49 +0000286 if (seeds == null || userQ == null || userQ.trim().isEmpty()) {
root0dbc9812025-05-19 04:41:57 +0000287 return seeds.toArray(new Seed[0]);
288 }
Raverf79fdb62025-06-03 06:02:49 +0000289
290 String processedQuery = userQ.toLowerCase().trim();
291 Map<Seed, Integer> seedCountMap = new HashMap<>();
292 for(Seed seed : seeds){
293 String title = seed.title.toLowerCase().trim();
294 int count = countCommonCharacter(processedQuery, title);
295 seedCountMap.put(seed, count);
296 }
297 seeds.sort((s1, s2) -> {
298 int count1 = seedCountMap.getOrDefault(s1, 0);
299 int count2 = seedCountMap.getOrDefault(s2, 0);
300 return Integer.compare(count2, count1);
301 });
302
303 return seeds.toArray(new Seed[0]);
root0dbc9812025-05-19 04:41:57 +0000304 }
305
306 //计算字符串公共字符数量
Raverf79fdb62025-06-03 06:02:49 +0000307 private int countCommonCharacter(String str1, String str2){
root0dbc9812025-05-19 04:41:57 +0000308 Map<Character, Integer> map1 = new HashMap<>();
309 Map<Character, Integer> map2 = new HashMap<>();
310
Raverf79fdb62025-06-03 06:02:49 +0000311 for(char c : str1.toCharArray()){
root0dbc9812025-05-19 04:41:57 +0000312 if (!Character.isWhitespace(c)) {
313 map1.put(c, map1.getOrDefault(c, 0) + 1);
314 }
315 }
316
Raverf79fdb62025-06-03 06:02:49 +0000317 for(char c : str2.toCharArray()){
root0dbc9812025-05-19 04:41:57 +0000318 if (!Character.isWhitespace(c)) {
319 map2.put(c, map2.getOrDefault(c, 0) + 1);
320 }
321 }
322
323 int res = 0;
Raverf79fdb62025-06-03 06:02:49 +0000324 for(char c : map1.keySet()){
root0dbc9812025-05-19 04:41:57 +0000325 if (map2.containsKey(c)) {
326 res += Math.min(map1.get(c), map2.get(c));
327 }
Raverf79fdb62025-06-03 06:02:49 +0000328
root0dbc9812025-05-19 04:41:57 +0000329 }
330 return res;
331 }
332
333 //返回状态:0 success,1 重复,2其他原因
334 @Override
Raverf79fdb62025-06-03 06:02:49 +0000335 public int AddNotice(Notice notice){
root0dbc9812025-05-19 04:41:57 +0000336 try {
Raverf79fdb62025-06-03 06:02:49 +0000337 JPAQuery<Notice> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000338 QNotice n = QNotice.notice;
339 Notice checkNotice = query.select(n).from(n).where(n.noticeid.eq(notice.noticeid)).fetchOne();
340 if (checkNotice != null) {
341 return 1;
342 }
Raverf79fdb62025-06-03 06:02:49 +0000343
344 entitymanager.persist(notice);
root0dbc9812025-05-19 04:41:57 +0000345 return 0;
346 } catch (Exception e) {
347 e.printStackTrace();
348 return 2;
349 }
Raverf79fdb62025-06-03 06:02:49 +0000350
root0dbc9812025-05-19 04:41:57 +0000351 }
352
353 //返回状态:0 success,1 不存在,2其他原因
354 @Override
Raverf79fdb62025-06-03 06:02:49 +0000355 public boolean UpdateNotice(Notice notice){
root0dbc9812025-05-19 04:41:57 +0000356 try {
Raverf79fdb62025-06-03 06:02:49 +0000357 Notice oldNotice = entitymanager.find(Notice.class, notice.noticeid);
root0dbc9812025-05-19 04:41:57 +0000358 if (oldNotice == null) {
359 return false;
360 }
361 oldNotice = notice;
Raverf79fdb62025-06-03 06:02:49 +0000362 entitymanager.merge(oldNotice);
root0dbc9812025-05-19 04:41:57 +0000363 return true;
364 } catch (Exception e) {
365 e.printStackTrace();
366 return false;
367 }
368 }
369
370 //删除公告,返回状态:0 success,1 不存在,2其他原因
371 @Override
Raverf79fdb62025-06-03 06:02:49 +0000372 public boolean DeleteNotice(String noticeid){
root0dbc9812025-05-19 04:41:57 +0000373 try {
Raverf79fdb62025-06-03 06:02:49 +0000374 Notice notice = entitymanager.find(Notice.class, noticeid);
root0dbc9812025-05-19 04:41:57 +0000375 if (notice == null) {
376 return false;
377 }
Raverf79fdb62025-06-03 06:02:49 +0000378 entitymanager.remove(notice);
root0dbc9812025-05-19 04:41:57 +0000379 return true;
380 } catch (Exception e) {
381 e.printStackTrace();
382 return false;
383 }
Raverf79fdb62025-06-03 06:02:49 +0000384
root0dbc9812025-05-19 04:41:57 +0000385 }
386
387 //获取用户的剩余邀请次数
Raverf79fdb62025-06-03 06:02:49 +0000388 public int GetUserAvailableInviteTimes(String userid){
root0dbc9812025-05-19 04:41:57 +0000389 try {
Raverf79fdb62025-06-03 06:02:49 +0000390 JPAQuery<Integer> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000391 QUser u = QUser.user;
392 int invite_left = query.select(u.invitetimes).from(u).where(u.userid.eq(userid)).fetchOne();
Raverf79fdb62025-06-03 06:02:49 +0000393
root0dbc9812025-05-19 04:41:57 +0000394 return invite_left;
395 } catch (Exception e) {
396 e.printStackTrace();
397 return -1;
398 }
Raverf79fdb62025-06-03 06:02:49 +0000399
root0dbc9812025-05-19 04:41:57 +0000400 }
401
402 //邀请用户,返回状态:0 success,1 剩余次数不足,2,3其他原因
403 @Override
Raverf79fdb62025-06-03 06:02:49 +0000404 public int InviteUser(String inviterid,String inviteemail){
root0dbc9812025-05-19 04:41:57 +0000405 try {
Raverf79fdb62025-06-03 06:02:49 +0000406 User user = entitymanager.find(User.class, inviterid);
root0dbc9812025-05-19 04:41:57 +0000407 if (user == null || !user.email.equals(inviteemail)) {
408 return 3;
409 }
410 if (user.invitetimes <= 0) {
411 return 1;
412 }
413 user.invitetimes -= 1;
Raverf79fdb62025-06-03 06:02:49 +0000414 entitymanager.merge(user);
root0dbc9812025-05-19 04:41:57 +0000415 return 0;
416 } catch (Exception e) {
417 e.printStackTrace();
418 return 2;
419 }
Raverf79fdb62025-06-03 06:02:49 +0000420
root0dbc9812025-05-19 04:41:57 +0000421 }
422
423 //添加一个收藏,返回状态:0 success,1 不存在,2其他原因
424 @Override
Raverf79fdb62025-06-03 06:02:49 +0000425 public boolean AddCollect(String userid,String seedid){
426 JPAQuery<User> query2 = new JPAQuery<>(entitymanager);
427 QUser u2 = QUser.user;
428 User user = query2.select(u2).from(u2).where(u2.userid.eq(userid)).fetchOne();
429 if (user == null) {
root0dbc9812025-05-19 04:41:57 +0000430 return false;
431 }
Raverf79fdb62025-06-03 06:02:49 +0000432 JPAQuery<Seed> query3 = new JPAQuery<>(entitymanager);
433 QSeed p = QSeed.seed;
434 Seed seed = query3.select(p).from(p).where(p.seedid.eq(seedid)).fetchOne();
435 if (seed == null) {
436 return false;
437 }
438 JPAQuery<String> query = new JPAQuery<>(entitymanager);
439 QUserStar u = QUserStar.userStar;
440 List<String> allSeedId = query.select(u.seedid).from(u).where(u.userid.eq(userid)).fetch();
441
442 if (allSeedId.contains(seedid)) {
443 return false;
444 }
445 UserStar userStar = new UserStar();
446 userStar.userid = userid;
447 userStar.seedid = seedid;
448 entitymanager.persist(userStar);
449 return true;
root0dbc9812025-05-19 04:41:57 +0000450 }
451
452 //删除一个收藏,返回状态:0 success,1 不存在,2其他原因
453 @Override
Raverf79fdb62025-06-03 06:02:49 +0000454 public boolean DeleteCollect(String userid,String seedid){
root0dbc9812025-05-19 04:41:57 +0000455 try {
Raverf79fdb62025-06-03 06:02:49 +0000456 JPAQuery<UserStar> query = new JPAQuery<>(entitymanager);
root0dbc9812025-05-19 04:41:57 +0000457 QUserStar u = QUserStar.userStar;
458 UserStar userStar = query.select(u).from(u).where(u.userid.eq(userid).and(u.seedid.eq(seedid))).fetchOne();
459 if (userStar == null) {
460 return true; // 收藏不存在
461 }
Raverf79fdb62025-06-03 06:02:49 +0000462 entitymanager.remove(userStar);
root0dbc9812025-05-19 04:41:57 +0000463 return true;
464 } catch (Exception e) {
465 e.printStackTrace();
466 return false;
467 }
Raverf79fdb62025-06-03 06:02:49 +0000468
root0dbc9812025-05-19 04:41:57 +0000469 }
470
471 @Override
Raverf79fdb62025-06-03 06:02:49 +0000472 public int AddBegSeed(BegInfo info){
root0dbc9812025-05-19 04:41:57 +0000473 return 0;
474 }
475
476 @Override
Raverf79fdb62025-06-03 06:02:49 +0000477 public int UpdateBegSeed(BegInfo info){
root0dbc9812025-05-19 04:41:57 +0000478 return 0;
479 }
480
481 @Override
Raverf79fdb62025-06-03 06:02:49 +0000482 public int DeleteBegSeed(String begid){
root0dbc9812025-05-19 04:41:57 +0000483 return 0;
484 }
485
486 @Override
Raverf79fdb62025-06-03 06:02:49 +0000487 public int VoteSeed(String begId, String seedId, String userId){
root0dbc9812025-05-19 04:41:57 +0000488 return 0;
489 }
490
491 @Override
Raverf79fdb62025-06-03 06:02:49 +0000492 public int SubmitSeed(String begid,Seed seed){
root0dbc9812025-05-19 04:41:57 +0000493 return 0;
494 }
495
496 @Override
Raverf79fdb62025-06-03 06:02:49 +0000497 public void SettleBeg(){
498
root0dbc9812025-05-19 04:41:57 +0000499 }
500
501 @Override
Raverf79fdb62025-06-03 06:02:49 +0000502 public int AddPost(Post post){
root0dbc9812025-05-19 04:41:57 +0000503 return 0;
504 }
505
506 @Override
Raverf79fdb62025-06-03 06:02:49 +0000507 public int UpdatePost(Post post){
root0dbc9812025-05-19 04:41:57 +0000508 return 0;
509 }
510
511 @Override
Raverf79fdb62025-06-03 06:02:49 +0000512 public int DeletePost(String postid){
root0dbc9812025-05-19 04:41:57 +0000513 return 0;
514 }
515
516 @Override
Raverf79fdb62025-06-03 06:02:49 +0000517 public int AddComment(String postid, String userid, String comment){
root0dbc9812025-05-19 04:41:57 +0000518 return 0;
519 }
520
521 @Override
Raverf79fdb62025-06-03 06:02:49 +0000522 public int DeleteComment(String postid,String commentid){
root0dbc9812025-05-19 04:41:57 +0000523 return 0;
524 }
525
526 @Override
Raverf79fdb62025-06-03 06:02:49 +0000527 public boolean ExchangeMagicToUpload(String userid,int magic)//将魔力值兑换为上传量,返回状态:0 success,1 不存在,2其他原因
root0dbc9812025-05-19 04:41:57 +0000528 {
529 return true;
530 }
Raverf79fdb62025-06-03 06:02:49 +0000531
root0dbc9812025-05-19 04:41:57 +0000532 @Override
Raverf79fdb62025-06-03 06:02:49 +0000533 public boolean ExchangeMagicToDownload(String userid,int magic)
534 {
root0dbc9812025-05-19 04:41:57 +0000535 return true;
536 }//将魔力值兑换为下载量,返回状态:0 success,1 不存在,2其他原因
537
538 @Override
Raverf79fdb62025-06-03 06:02:49 +0000539 public boolean ExchangeMagicToVip(String userid,int magic){
root0dbc9812025-05-19 04:41:57 +0000540 return true;
541 }
542 //将魔力值兑换为VIP次数,返回状态:0 success,1 不存在,2其他原因
543
544 @Override
Raverf79fdb62025-06-03 06:02:49 +0000545 public boolean UploadTransmitProfile(Profile profile){
root0dbc9812025-05-19 04:41:57 +0000546 return true;
547 }
548
549 @Override
Raverf79fdb62025-06-03 06:02:49 +0000550 public Profile GetTransmitProfile(String profileid){
root0dbc9812025-05-19 04:41:57 +0000551 Profile profile = new Profile();
552 return profile;
553 }
554 //获取迁移信息
Raverf79fdb62025-06-03 06:02:49 +0000555
root0dbc9812025-05-19 04:41:57 +0000556 @Override
Raverf79fdb62025-06-03 06:02:49 +0000557 public boolean ExamTransmitProfile(String profileid,boolean result){
root0dbc9812025-05-19 04:41:57 +0000558 return true;
559 }
560 //审核迁移信息,0成功,1失败
561 @Override
Raverf79fdb62025-06-03 06:02:49 +0000562 public Profile[] GetTransmitProfileList(){
root0dbc9812025-05-19 04:41:57 +0000563 return new Profile[0];
564 }
565 //获取所有迁移信息
566
567}
Raverf79fdb62025-06-03 06:02:49 +0000568