Quellcode durchsuchen

优化修改手机号 手机端登录bug

java110 vor 3 Jahren
Ursprung
Commit
2b11efe23c

+ 32 - 1
service-user/src/main/java/com/java110/user/cmd/owner/DeleteAppUserBindingOwnerCmd.java

@@ -5,27 +5,36 @@ import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.owner.OwnerAppUserPo;
+import com.java110.po.user.UserPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
 @Java110Cmd(serviceCode = "owner.deleteAppUserBindingOwner")
 public class DeleteAppUserBindingOwnerCmd extends Cmd {
 
     @Autowired
     private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "appUserId", "绑定ID不能为空");
 
-        String env = MappingCache.getValue(MappingConstant.ENV_DOMAIN,"HC_ENV");
+        String env = MappingCache.getValue(MappingConstant.ENV_DOMAIN, "HC_ENV");
 
         if ("DEV".equals(env) || "TEST".equals(env)) {
             throw new IllegalArgumentException("演示环境不能解绑,解绑后演示账号手机端无法登陆");
@@ -34,11 +43,33 @@ public class DeleteAppUserBindingOwnerCmd extends Cmd {
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        // todo 查询 绑定信息
+
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserDto.setAppUserId(reqJson.getString("appUserId"));
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+        Assert.listOnlyOne(ownerAppUserDtos, "绑定信息不存在");
+
+        // 删除绑定信息
         OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(reqJson, OwnerAppUserPo.class);
         int flag = ownerAppUserV1InnerServiceSMOImpl.deleteOwnerAppUser(ownerAppUserPo);
         if (flag < 1) {
             throw new CmdException("删除失败");
         }
+
+        if (StringUtil.isEmpty(ownerAppUserDtos.get(0).getUserId())) {
+            return;
+        }
+        if (ownerAppUserDtos.get(0).getUserId().startsWith("-")) {
+            return;
+        }
+        // todo 删除用户信息
+        UserPo userPo = new UserPo();
+        userPo.setUserId(ownerAppUserDtos.get(0).getUserId());
+        userV1InnerServiceSMOImpl.deleteUser(userPo);
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 47 - 22
service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java

@@ -17,16 +17,13 @@ import com.java110.dto.owner.OwnerDto;
 import com.java110.intf.acct.IAccountInnerServiceSMO;
 import com.java110.intf.common.IFileInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
-import com.java110.intf.user.IOwnerV1InnerServiceSMO;
-import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
-import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
-import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
-import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.*;
 import com.java110.po.account.AccountPo;
 import com.java110.po.file.FileRelPo;
 import com.java110.po.owner.OwnerAppUserPo;
 import com.java110.po.owner.OwnerAttrPo;
 import com.java110.po.owner.OwnerPo;
+import com.java110.po.user.UserPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -110,6 +107,9 @@ public class EditOwnerCmd extends Cmd {
     @Autowired
     private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
 
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         Assert.jsonObjectHaveKey(reqJson, "memberId", "请求报文中未包含ownerId");
@@ -201,8 +201,6 @@ public class EditOwnerCmd extends Cmd {
         //todo 修改 业主信息
         editOwner(reqJson);
 
-
-
         JSONArray attrs = reqJson.getJSONArray("attrs");
         if (attrs == null || attrs.size() < 1) {
             return;
@@ -228,8 +226,14 @@ public class EditOwnerCmd extends Cmd {
                 throw new CmdException("修改业主属性失败");
             }
         }
+
+        //todo 如果 业主做了绑定则修改绑定的手机号
+        updateOwnerAppUser(reqJson);
+
+
     }
 
+
     public void editOwner(JSONObject paramInJson) {
 
         OwnerDto ownerDto = new OwnerDto();
@@ -254,22 +258,7 @@ public class EditOwnerCmd extends Cmd {
         if (flag < 1) {
             throw new CmdException("修改业主失败");
         }
-        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
-        ownerAppUserDto.setMemberId(paramInJson.getString("ownerId"));
 
-        //todo 查询app用户表
-        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
-        if (ownerAppUserDtos != null && ownerAppUserDtos.size() > 0) {
-            for (OwnerAppUserDto ownerAppUser : ownerAppUserDtos) {
-                OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(ownerAppUser, OwnerAppUserPo.class);
-                ownerAppUserPo.setLink(paramInJson.getString("link"));
-                ownerAppUserPo.setIdCard(paramInJson.getString("idCard"));
-                flag = ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
-                if (flag < 1) {
-                    throw new CmdException("修改业主失败");
-                }
-            }
-        }
         //todo 判断业主手机号和账户手机号是否相同,不相同修改账户手机号
         AccountDto accountDto = new AccountDto();
         accountDto.setObjId(ownerDtos.get(0).getMemberId());
@@ -332,4 +321,40 @@ public class EditOwnerCmd extends Cmd {
             throw new CmdException("保存文件失败");
         }
     }
+
+
+    /**
+     * 如果 业主做了绑定则修改绑定的手机号
+     * @param reqJson
+     */
+    private void updateOwnerAppUser(JSONObject reqJson) {
+
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserDto.setMemberId(reqJson.getString("memberId"));
+
+        //todo 查询app用户表
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+        if (ownerAppUserDtos == null || ownerAppUserDtos.size() < 1) {
+            return;
+        }
+        for (OwnerAppUserDto ownerAppUser : ownerAppUserDtos) {
+            OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(ownerAppUser, OwnerAppUserPo.class);
+            ownerAppUserPo.setLink(reqJson.getString("link"));
+            ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
+
+            if (StringUtil.isEmpty(ownerAppUser.getUserId())) {
+                continue;
+            }
+            if (ownerAppUser.getUserId().startsWith("-")) {
+                continue;
+            }
+            // todo 删除用户信息
+            UserPo userPo = new UserPo();
+            userPo.setUserId(ownerAppUserDtos.get(0).getUserId());
+            userPo.setTel(reqJson.getString("link"));
+            userV1InnerServiceSMOImpl.updateUser(userPo);
+        }
+
+
+    }
 }