From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java
index 521ed20..cf65d82 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java
@@ -3,7 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.owner.OwnerAppUserDto;
@@ -20,7 +20,7 @@
 import java.util.List;
 
 @Java110Cmd(serviceCode = "owner.refreshAppUserBindingOwnerOpenId")
-public class RefreshAppUserBindingOwnerOpenIdCmd extends AbstractServiceCmdListener {
+public class RefreshAppUserBindingOwnerOpenIdCmd extends Cmd {
 
     @Autowired
     private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
@@ -70,7 +70,7 @@
         ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
 
         OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
-        ownerAppUserPo.setAppUserId(appUserId);
+        ownerAppUserDto.setAppUserId(appUserId);
         ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
         List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
 
@@ -98,7 +98,7 @@
             userAttrPo.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
             userAttrPo.setValue(reqJson.getString("openId"));
             userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
-            return ;
+            return;
         }
         UserAttrPo userAttrPo = new UserAttrPo();
         userAttrPo.setUserId(userId);
@@ -106,5 +106,31 @@
         userAttrPo.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
         userAttrPo.setValue(reqJson.getString("openId"));
         userAttrV1InnerServiceSMOImpl.updateUserAttr(userAttrPo);
+
+        if (!reqJson.containsKey("unionId")) {
+            return;
+        }
+
+        userAttrDto = new UserAttrDto();
+        userAttrDto.setUserId(userId);
+        userAttrDto.setSpecCd(UserAttrDto.SPEC_UNION_ID);
+        userAttrDtos = userAttrV1InnerServiceSMOImpl.queryUserAttrs(userAttrDto);
+        if (userAttrDtos == null || userAttrDtos.size() < 1) {
+            userAttrPo = new UserAttrPo();
+            userAttrPo.setUserId(userId);
+            userAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            userAttrPo.setSpecCd(UserAttrDto.SPEC_UNION_ID);
+            userAttrPo.setValue(reqJson.getString("unionId"));
+            userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
+            return;
+        }
+        userAttrPo = new UserAttrPo();
+        userAttrPo.setUserId(userId);
+        userAttrPo.setAttrId(userAttrDtos.get(0).getAttrId());
+        userAttrPo.setSpecCd(UserAttrDto.SPEC_UNION_ID);
+        userAttrPo.setValue(reqJson.getString("unionId"));
+        userAttrV1InnerServiceSMOImpl.updateUserAttr(userAttrPo);
+
+
     }
 }

--
Gitblit v1.8.0