java110 лет назад: 4
Родитель
Сommit
08e3cd6dc3

+ 73 - 77
java110-db/src/main/resources/mapper/user/UserAttrV1ServiceDaoImplMapper.xml

@@ -5,102 +5,98 @@
 <mapper namespace="userAttrV1ServiceDaoImpl">
 <mapper namespace="userAttrV1ServiceDaoImpl">
 
 
 
 
-
-
-
     <!-- 保存用户属性信息 add by wuxw 2018-07-03 -->
     <!-- 保存用户属性信息 add by wuxw 2018-07-03 -->
     <insert id="saveUserAttrInfo" parameterType="Map">
     <insert id="saveUserAttrInfo" parameterType="Map">
         insert into u_user_attr(
         insert into u_user_attr(
-attr_id,spec_cd,id,user_id,value
-) values (
-#{attrId},#{specCd},#{id},#{userId},#{value}
-)
+        attr_id,spec_cd,id,user_id,value
+        ) values (
+        #{attrId},#{specCd},#{id},#{userId},#{value}
+        )
     </insert>
     </insert>
 
 
 
 
-
     <!-- 查询用户属性信息 add by wuxw 2018-07-03 -->
     <!-- 查询用户属性信息 add by wuxw 2018-07-03 -->
     <select id="getUserAttrInfo" parameterType="Map" resultType="Map">
     <select id="getUserAttrInfo" parameterType="Map" resultType="Map">
-        select  t.attr_id,t.attr_id attrId,t.spec_cd,t.spec_cd specCd,t.status_cd,t.status_cd statusCd,t.id,t.user_id,t.user_id userId,t.value 
-from u_user_attr t 
-where 1 =1 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="id !=null and id != ''">
-   and t.id= #{id}
-</if> 
-<if test="userId !=null and userId != ''">
-   and t.user_id= #{userId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.attr_id,t.attr_id attrId,t.spec_cd,t.spec_cd specCd,t.status_cd,t.status_cd
+        statusCd,t.id,t.user_id,t.user_id userId,t.value
+        from u_user_attr t
+        where 1 =1
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="id !=null and id != ''">
+            and t.id= #{id}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
 
     </select>
     </select>
 
 
 
 
-
-
     <!-- 修改用户属性信息 add by wuxw 2018-07-03 -->
     <!-- 修改用户属性信息 add by wuxw 2018-07-03 -->
     <update id="updateUserAttrInfo" parameterType="Map">
     <update id="updateUserAttrInfo" parameterType="Map">
-        update  u_user_attr t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="attrId !=null and attrId != ''">
-, t.attr_id= #{attrId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-, t.spec_cd= #{specCd}
-</if> 
-<if test="id !=null and id != ''">
-, t.id= #{id}
-</if> 
-<if test="value !=null and value != ''">
-, t.value= #{value}
-</if> 
- where 1=1 <if test="userId !=null and userId != ''">
-and t.user_id= #{userId}
-</if> 
+        update u_user_attr t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="attrId !=null and attrId != ''">
+            , t.attr_id= #{attrId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            , t.spec_cd= #{specCd}
+        </if>
+        <if test="id !=null and id != ''">
+            , t.id= #{id}
+        </if>
+        <if test="value !=null and value != ''">
+            , t.value= #{value}
+        </if>
+        where 1=1
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
 
 
     </update>
     </update>
 
 
     <!-- 查询用户属性数量 add by wuxw 2018-07-03 -->
     <!-- 查询用户属性数量 add by wuxw 2018-07-03 -->
-     <select id="queryUserAttrsCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from u_user_attr t 
-where 1 =1 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="id !=null and id != ''">
-   and t.id= #{id}
-</if> 
-<if test="userId !=null and userId != ''">
-   and t.user_id= #{userId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
+    <select id="queryUserAttrsCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from u_user_attr t
+        where 1 =1
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="id !=null and id != ''">
+            and t.id= #{id}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
 
 
 
 
-     </select>
+    </select>
 
 
 </mapper>
 </mapper>

+ 110 - 0
service-user/src/main/java/com/java110/user/cmd/owner/RefreshAppUserBindingOwnerOpenIdCmd.java

@@ -0,0 +1,110 @@
+package com.java110.user.cmd.owner;
+
+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.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.user.UserAttrDto;
+import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
+import com.java110.intf.user.IUserAttrV1InnerServiceSMO;
+import com.java110.po.owner.OwnerAppUserPo;
+import com.java110.po.userAttr.UserAttrPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+@Java110Cmd(serviceCode = "owner.refreshAppUserBindingOwnerOpenId")
+public class RefreshAppUserBindingOwnerOpenIdCmd extends AbstractServiceCmdListener {
+
+    @Autowired
+    private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "appUserId", "绑定ID不能为空");
+        Assert.hasKeyAndValue(reqJson, "openId", "必填,请填写状态");
+        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区ID");
+        if (reqJson.getString("appUserId").startsWith("-")) {
+            Assert.hasKeyAndValue(reqJson, "oldAppUserId", "必填,请填写老绑定ID");
+            Assert.hasKeyAndValue(reqJson, "appType", "必填,请填写appType");
+        }
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+        String appUserId = reqJson.getString("appUserId");
+
+        if (appUserId.startsWith("-")) {
+            OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+            ownerAppUserDto.setAppUserId(reqJson.getString("oldAppUserId"));
+            ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
+            List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+            Assert.listOnlyOne(ownerAppUserDtos, "传入oldAppUserId错误");
+            OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(ownerAppUserDtos.get(0), OwnerAppUserPo.class);
+            ownerAppUserPo.setAppUserId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userId));
+            ownerAppUserPo.setAppType(reqJson.getString("appType"));
+            ownerAppUserPo.setOpenId(reqJson.getString("openId"));
+            ownerAppUserPo.setNickName(reqJson.getString("nickName"));
+            ownerAppUserPo.setHeadImgUrl(reqJson.getString("headImgUrl"));
+            ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo);
+            freshUserToken(reqJson, ownerAppUserDtos.get(0).getUserId());
+            return;
+        }
+
+        OwnerAppUserPo ownerAppUserPo = new OwnerAppUserPo();
+        ownerAppUserPo.setAppUserId(appUserId);
+        ownerAppUserPo.setCommunityId(reqJson.getString("communityId"));
+        ownerAppUserPo.setOpenId(reqJson.getString("openId"));
+        ownerAppUserPo.setNickName(reqJson.getString("nickName"));
+        ownerAppUserPo.setHeadImgUrl(reqJson.getString("headImgUrl"));
+        ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
+
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserPo.setAppUserId(appUserId);
+        ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+        Assert.listOnlyOne(ownerAppUserDtos, "传入appUserId错误");
+
+
+        freshUserToken(reqJson, ownerAppUserDtos.get(0).getUserId());
+    }
+
+    private void freshUserToken(JSONObject reqJson, String userId) {
+        //判断 用户下是否有openId 属性有修改没有添加
+        if (!reqJson.containsKey("openId")) {
+            return;
+        }
+
+
+        UserAttrDto userAttrDto = new UserAttrDto();
+        userAttrDto.setUserId(userId);
+        userAttrDto.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
+        List<UserAttrDto> userAttrDtos = userAttrV1InnerServiceSMOImpl.queryUserAttrs(userAttrDto);
+        if (userAttrDtos == null || userAttrDtos.size() < 1) {
+            UserAttrPo userAttrPo = new UserAttrPo();
+            userAttrPo.setUserId(userId);
+            userAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            userAttrPo.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
+            userAttrPo.setValue(reqJson.getString("openId"));
+            userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
+            return ;
+        }
+        UserAttrPo userAttrPo = new UserAttrPo();
+        userAttrPo.setUserId(userId);
+        userAttrPo.setAttrId(userAttrDtos.get(0).getAttrId());
+        userAttrPo.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
+        userAttrPo.setValue(reqJson.getString("openId"));
+        userAttrV1InnerServiceSMOImpl.updateUserAttr(userAttrPo);
+    }
+}