重构接口,加入"项目"模块
This commit is contained in:
@@ -1,19 +1,15 @@
|
||||
package com.lxyer.bbs.base;
|
||||
|
||||
import com.lxyer.bbs.base.user.UserRecord;
|
||||
import com.lxyer.bbs.base.iface.UI;
|
||||
import com.lxyer.bbs.base.user.UserInfo;
|
||||
import org.redkale.net.http.RestMapping;
|
||||
import org.redkale.service.Service;
|
||||
import org.redkale.source.CacheSource;
|
||||
import org.redkale.source.DataSource;
|
||||
import org.redkale.source.FilterExpress;
|
||||
import org.redkale.source.FilterNode;
|
||||
import org.redkale.util.Sheet;
|
||||
import org.redkalex.cache.RedisCacheSource;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Lxy at 2017/10/3 13:50.
|
||||
@@ -36,8 +32,12 @@ public class BaseService<F extends UF,I extends UI> implements Service {
|
||||
|
||||
protected static final boolean winos = System.getProperty("os.name").contains("Window");
|
||||
|
||||
@RestMapping(ignore = true)
|
||||
public DataSource getSource() {
|
||||
return source;
|
||||
}
|
||||
|
||||
protected Sheet<I> createInfo(Sheet<F> fSheet){
|
||||
/*protected Sheet<I> createInfo(Sheet<F> fSheet){
|
||||
Sheet<I> sheet = new Sheet<>();
|
||||
|
||||
if (fSheet == null || fSheet.getTotal() < 1){
|
||||
@@ -53,7 +53,7 @@ public class BaseService<F extends UF,I extends UI> implements Service {
|
||||
}
|
||||
|
||||
return sheet;
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 批量设置用户信息
|
||||
@@ -61,7 +61,7 @@ public class BaseService<F extends UF,I extends UI> implements Service {
|
||||
* @param <I>
|
||||
* @return
|
||||
*/
|
||||
protected <I extends UI> Sheet<I> setIUser(Sheet<I> ufSheet){
|
||||
/*protected <I extends UI> Sheet<I> setIUser(Sheet<I> ufSheet){
|
||||
int[] userIds = ufSheet.stream().mapToInt(I::getUserid).toArray();
|
||||
|
||||
List<UserRecord> users = source.queryList(UserRecord.class, FilterNode.create("userId", FilterExpress.IN, userIds));
|
||||
@@ -70,16 +70,23 @@ public class BaseService<F extends UF,I extends UI> implements Service {
|
||||
x.setUser(user);
|
||||
});
|
||||
return ufSheet;
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 将含有用户外键的实体,转为info,并加入用户信息
|
||||
* @param uf
|
||||
* @return
|
||||
*/
|
||||
protected I setIUser(I uf){
|
||||
/*protected I setIUser(I uf){
|
||||
UserRecord user = source.find(UserRecord.class, uf.getUserid());
|
||||
|
||||
return (I) uf.setUser(user);
|
||||
}*/
|
||||
|
||||
@RestMapping(ignore = true)
|
||||
public int currentUserId(String sessionid){
|
||||
if (sessionid == null) return 0;
|
||||
Object userid = sessions.getAndRefresh(sessionid, sessionExpireSeconds);
|
||||
return userid == null ? 0 : (Integer)userid;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package com.lxyer.bbs.base;
|
||||
|
||||
import com.lxyer.bbs.base.iface.UI;
|
||||
|
||||
/**
|
||||
* user foreign key (userId)
|
||||
* Created by liangxianyou at 2018/6/9 14:50.
|
||||
|
9
src/com/lxyer/bbs/base/iface/C.java
Normal file
9
src/com/lxyer/bbs/base/iface/C.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package com.lxyer.bbs.base.iface;
|
||||
|
||||
/**
|
||||
* 创建信息
|
||||
* Created by liangxianyou at 2018/6/16 17:43.
|
||||
*/
|
||||
public interface C<I extends CI> {
|
||||
I createInfo();
|
||||
}
|
7
src/com/lxyer/bbs/base/iface/CI.java
Normal file
7
src/com/lxyer/bbs/base/iface/CI.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package com.lxyer.bbs.base.iface;
|
||||
|
||||
/**
|
||||
* Created by liangxianyou at 2018/6/16 18:39.
|
||||
*/
|
||||
public interface CI<I extends CI> {
|
||||
}
|
32
src/com/lxyer/bbs/base/iface/CService.java
Normal file
32
src/com/lxyer/bbs/base/iface/CService.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.lxyer.bbs.base.iface;
|
||||
|
||||
import org.redkale.net.http.RestMapping;
|
||||
import org.redkale.util.Sheet;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by liangxianyou at 2018/6/16 17:56.
|
||||
*/
|
||||
public interface CService<I extends UI> {
|
||||
|
||||
@RestMapping(ignore = true)
|
||||
default <A extends C> Sheet<I> createInfo(Sheet<A> fSheet){
|
||||
Sheet<I> sheet = new Sheet<>();
|
||||
|
||||
if (fSheet == null || fSheet.getTotal() < 1){
|
||||
sheet.setTotal(0);
|
||||
sheet.setRows(new ArrayList<>());
|
||||
}else {
|
||||
int total = (int)fSheet.getTotal();
|
||||
List<I> rows = new ArrayList<>(total);
|
||||
fSheet.forEach(x->rows.add((I)x.createInfo()));
|
||||
|
||||
sheet.setTotal(total);
|
||||
sheet.setRows(rows);
|
||||
}
|
||||
|
||||
return sheet;
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.lxyer.bbs.base;
|
||||
package com.lxyer.bbs.base.iface;
|
||||
|
||||
import com.lxyer.bbs.base.user.UserRecord;
|
||||
|
38
src/com/lxyer/bbs/base/iface/UIService.java
Normal file
38
src/com/lxyer/bbs/base/iface/UIService.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.lxyer.bbs.base.iface;
|
||||
|
||||
import com.lxyer.bbs.base.user.UserRecord;
|
||||
import org.redkale.net.http.RestMapping;
|
||||
import org.redkale.source.DataSource;
|
||||
import org.redkale.source.FilterExpress;
|
||||
import org.redkale.source.FilterNode;
|
||||
import org.redkale.util.Sheet;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by liangxianyou at 2018/6/16 18:25.
|
||||
*/
|
||||
public interface UIService<I extends UI> extends CService<I> {
|
||||
|
||||
DataSource getSource();
|
||||
|
||||
@RestMapping(ignore = true)
|
||||
default Sheet<I> setIUser(Sheet<I> sheet){
|
||||
int[] userids = sheet.stream().mapToInt(I::getUserid).toArray();
|
||||
|
||||
List<UserRecord> users = getSource().queryList(UserRecord.class, FilterNode.create("userid", FilterExpress.IN, userids));
|
||||
sheet.forEach(x->{
|
||||
UserRecord user = users.stream().filter(u -> u.getUserid() == x.getUserid()).findAny().orElse(null);
|
||||
x.setUser(user);
|
||||
});
|
||||
return sheet;
|
||||
}
|
||||
|
||||
@RestMapping(ignore = true)
|
||||
default I setIUser(I i){
|
||||
UserRecord user = getSource().find(UserRecord.class, i.getUserid());
|
||||
|
||||
return (I) i.setUser(user);
|
||||
}
|
||||
|
||||
}
|
@@ -52,12 +52,6 @@ public class UserService extends BaseService {
|
||||
sessions.getAndRefresh(sessionid, sessionExpireSeconds);
|
||||
return userid == null ? null : findUserInfo((Integer) userid);
|
||||
}
|
||||
@RestMapping(name = "userid")
|
||||
public int currentUserId(String sessionid){
|
||||
if (sessionid == null) return 0;
|
||||
Object userid = sessions.getAndRefresh(sessionid, sessionExpireSeconds);
|
||||
return userid == null ? 0 : (Integer)userid;
|
||||
}
|
||||
|
||||
@RestMapping(name = "info", comment = "用户信息")
|
||||
public UserInfo findUserInfo(int userid) {
|
||||
|
Reference in New Issue
Block a user