package foundation.system;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.Filter;
|
import foundation.json.IJSONProvider;
|
import foundation.json.IJSONWriter;
|
import foundation.persist.NamedSQL;
|
import foundation.persist.SQLRunner;
|
import foundation.token.UserToken;
|
import foundation.util.ID;
|
|
public class LoginResult implements IJSONProvider {
|
|
private Entity entity;
|
|
public LoginResult(Entity entity) {
|
this.entity = entity;
|
}
|
|
public LoginResult(String userId) throws Exception {
|
NamedSQL namedSQL = NamedSQL.getInstance("getUserByUsername");
|
|
Filter filter = new Filter();
|
filter.add("sys_user.id", userId);
|
filter.add("md_employee.is_active", "T");
|
filter.add("sys_user.is_active", "T");
|
namedSQL.setFilter(filter);
|
|
Entity entity = SQLRunner.getEntity(namedSQL);
|
|
this.entity = entity;
|
}
|
|
public Entity getEntity() {
|
return entity;
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
String userId = entity.getString("id");
|
UserToken userToken = UserToken.getInstance(userId, ID.newValue());
|
String token = userToken.getContent();
|
|
writer.beginObject();
|
writer.write("token", token);
|
writer.write("loginCode", entity.getString("name"));
|
writer.write("userName", entity.getString("employee_name"));
|
writer.endObject();
|
}
|
|
}
|