解决API修改群组或用户为空时的异常问题

This commit is contained in:
heavyrian2012
2021-12-09 10:39:38 +08:00
parent ace7435726
commit d6dbf08b8b
3 changed files with 20 additions and 19 deletions
@@ -34,42 +34,43 @@ public class UpdateProfileAction extends RobotAction {
WFCMessage.User.Builder builder = messagesStore.getUserInfo(robot.getUid()).toBuilder();
boolean modified = false;
String value = input.getStrValue() == null ? "" : input.getStrValue();
switch (input.getIntValue()) {
case Modify_DisplayName:
builder.setDisplayName(input.getStrValue());
builder.setDisplayName(value);
modified = true;
break;
case Modify_Gender:
builder.setGender(Integer.parseInt(input.getStrValue()));
builder.setGender(Integer.parseInt(value));
modified = true;
break;
case Modify_Portrait:
builder.setPortrait(input.getStrValue());
builder.setPortrait(value);
modified = true;
break;
//不允许修改电话号码,如果修改电话号码必须通过admin进行修改
// case Modify_Mobile:
// builder.setMobile(input.getStrValue());
// builder.setMobile(value);
// modified = true;
// break;
case Modify_Email:
builder.setEmail(input.getStrValue());
builder.setEmail(value);
modified = true;
break;
case Modify_Address:
builder.setAddress(input.getStrValue());
builder.setAddress(value);
modified = true;
break;
case Modify_Company:
builder.setCompany(input.getStrValue());
builder.setCompany(value);
modified = true;
break;
case Modify_Social:
builder.setSocial(input.getStrValue());
builder.setSocial(value);
modified = true;
break;
case Modify_Extra:
builder.setExtra(input.getStrValue());
builder.setExtra(value);
modified = true;
break;
default:
@@ -2392,31 +2392,31 @@ public class MemoryMessagesStore implements IMessagesStore {
}
WFCMessage.User.Builder builder = user.toBuilder();
if((flag & Update_User_DisplayName) > 0) {
builder.setDisplayName(userInfo.getDisplayName());
builder.setDisplayName(userInfo.getDisplayName() == null ? "" : userInfo.getDisplayName());
}
if((flag & Update_User_Portrait) > 0) {
builder.setPortrait(userInfo.getPortrait());
builder.setPortrait(userInfo.getPortrait() == null ? "" : userInfo.getPortrait());
}
if((flag & Update_User_Gender) > 0) {
builder.setGender(userInfo.getGender());
}
if((flag & Update_User_Mobile) > 0) {
builder.setMobile(userInfo.getMobile());
builder.setMobile(userInfo.getMobile() == null ? "" : userInfo.getMobile());
}
if((flag & Update_User_Email) > 0) {
builder.setEmail(userInfo.getEmail());
builder.setEmail(userInfo.getEmail() == null ? "" : userInfo.getEmail());
}
if((flag & Update_User_Address) > 0) {
builder.setAddress(userInfo.getAddress());
builder.setAddress(userInfo.getAddress() == null ? "" : userInfo.getAddress());
}
if((flag & Update_User_Company) > 0) {
builder.setCompany(userInfo.getCompany());
builder.setCompany(userInfo.getCompany() == null ? "" : userInfo.getCompany());
}
if((flag & Update_User_Social) > 0) {
builder.setSocial(userInfo.getSocial());
builder.setSocial(userInfo.getSocial() == null ? "" : userInfo.getSocial());
}
if((flag & Update_User_Extra) > 0) {
builder.setExtra(userInfo.getExtra());
builder.setExtra(userInfo.getExtra() == null ? "" : userInfo.getExtra());
}
if((flag & Update_User_Name) > 0) {
if(StringUtil.isNullOrEmpty(userInfo.getName())) {
@@ -55,7 +55,7 @@ public class InputModifyGroupInfo extends InputGroupBase {
return WFCMessage.ModifyGroupInfoRequest.newBuilder()
.setGroupId(group_id)
.setType(type)
.setValue(value)
.setValue(value == null ? "" : value)
.addAllToLine(to_lines == null || to_lines.isEmpty() ? Arrays.asList(0) : to_lines)
.setNotifyContent(notify_message.toProtoMessageContent())
.build();
@@ -63,7 +63,7 @@ public class InputModifyGroupInfo extends InputGroupBase {
return WFCMessage.ModifyGroupInfoRequest.newBuilder()
.setGroupId(group_id)
.setType(type)
.setValue(value)
.setValue(value == null ? "" : value)
.addAllToLine(to_lines == null || to_lines.isEmpty() ? Arrays.asList(0) : to_lines)
.build();
}