diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java index a9860b88..8e15e17f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java @@ -9,6 +9,7 @@ package com.xiaoleilu.loServer.action.admin; import cn.wildfirechat.common.APIPath; +import cn.wildfirechat.proto.ProtoConstants; import cn.wildfirechat.proto.WFCMessage; import com.google.gson.Gson; import com.xiaoleilu.loServer.RestResult; @@ -43,7 +44,8 @@ public class CreateUserAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputOutputUserInfo inputCreateUser = getRequestBody(request.getNettyRequest(), InputOutputUserInfo.class); if (inputCreateUser != null - && !StringUtil.isNullOrEmpty(inputCreateUser.getName())) { + && !StringUtil.isNullOrEmpty(inputCreateUser.getName()) + && (inputCreateUser.getType() == ProtoConstants.UserType.UserType_Normal || inputCreateUser.getType() == ProtoConstants.UserType.UserType_Admin || inputCreateUser.getType() == ProtoConstants.UserType.UserType_Super_Admin)) { if(StringUtil.isNullOrEmpty(inputCreateUser.getPassword())) { inputCreateUser.setPassword(UUIDGenerator.getUUID()); @@ -78,6 +80,7 @@ public class CreateUserAction extends AdminAction { if (inputCreateUser.getExtra() != null) newUserBuilder.setExtra(inputCreateUser.getExtra()); + newUserBuilder.setType(inputCreateUser.getType()); newUserBuilder.setUpdateDt(System.currentTimeMillis()); diff --git a/common/src/main/java/cn/wildfirechat/pojos/InputOutputUserInfo.java b/common/src/main/java/cn/wildfirechat/pojos/InputOutputUserInfo.java index a62ec30d..c261419a 100755 --- a/common/src/main/java/cn/wildfirechat/pojos/InputOutputUserInfo.java +++ b/common/src/main/java/cn/wildfirechat/pojos/InputOutputUserInfo.java @@ -24,6 +24,7 @@ public class InputOutputUserInfo { private String company; private String social; private String extra; + private int type; private long updateDt; public static InputOutputUserInfo fromPbUser(WFCMessage.User pbUser) { @@ -39,6 +40,7 @@ public class InputOutputUserInfo { inputCreateUser.company = pbUser.getCompany(); inputCreateUser.social = pbUser.getSocial(); inputCreateUser.extra = pbUser.getExtra(); + inputCreateUser.type = pbUser.getType(); inputCreateUser.updateDt = pbUser.getUpdateDt(); return inputCreateUser; } @@ -74,6 +76,7 @@ public class InputOutputUserInfo { if (getExtra() != null) newUserBuilder.setExtra(getExtra()); newUserBuilder.setGender(gender); + newUserBuilder.setType(type); newUserBuilder.setUpdateDt(System.currentTimeMillis()); return newUserBuilder.build(); @@ -174,4 +177,12 @@ public class InputOutputUserInfo { public void setGender(int gender) { this.gender = gender; } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } }