Pārlūkot izejas kodu

优化微耕二维码开门配合改造

wuxw 1 gadu atpakaļ
vecāks
revīzija
818dcb3445

+ 21 - 2
service-common/src/main/java/com/java110/common/cmd/machine/GetQRcodeCmd.java

@@ -2,17 +2,20 @@ package com.java110.common.cmd.machine;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.IotDataDto;
 import com.java110.dto.machine.MachineDto;
+import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.common.IMachineV1InnerServiceSMO;
 import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.intf.job.IIotInnerServiceSMO;
+import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
@@ -46,10 +49,12 @@ public class GetQRcodeCmd extends Cmd {
     @Autowired
     private IIotInnerServiceSMO iotInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
-        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含用户信息");
         Assert.hasKeyAndValue(reqJson, "machineCode", "请求报文中未包含设备信息");
     }
 
@@ -57,9 +62,23 @@ public class GetQRcodeCmd extends Cmd {
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         ResponseEntity<String> responseEntity = null;
 
+        String userId = CmdContextUtils.getUserId(context);
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserDto.setUserId(userId);
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+        if(ListUtil.isNull(ownerAppUserDtos)){
+            throw new CmdException("未认证业主");
+        }
+
+        String memberId = ownerAppUserDtos.get(0).getMemberId();
+        if("-1".equals(memberId)){
+            throw new CmdException("未认证业主");
+        }
+
         //todo 如果是业主 限制开门次数
         OwnerDto ownerDto = new OwnerDto();
-        ownerDto.setMemberId(reqJson.getString("userId"));
+        ownerDto.setMemberId(memberId);
         ownerDto.setCommunityId(reqJson.getString("communityId"));
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
         if (ListUtil.isNull(ownerDtos)) {

+ 22 - 2
service-job/src/main/java/com/java110/job/cmd/owner/ListOwnerMachinesCmd.java

@@ -2,16 +2,20 @@ package com.java110.job.cmd.owner;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
 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.dto.owner.OwnerDto;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.job.adapt.hcIot.http.ISendIot;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -29,20 +33,36 @@ public class ListOwnerMachinesCmd extends Cmd {
     @Autowired
     private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
+
     @Autowired
     private ISendIot sendIotImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-        Assert.hasKeyAndValue(reqJson, "memberId", "请求报文中未包含业主信息");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
         super.validatePageInfo(reqJson);
     }
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        String userId = CmdContextUtils.getUserId(context);
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserDto.setUserId(userId);
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+        if(ListUtil.isNull(ownerAppUserDtos)){
+            throw new CmdException("未认证业主");
+        }
+
+        String memberId = ownerAppUserDtos.get(0).getMemberId();
+        if("-1".equals(memberId)){
+            throw new CmdException("未认证业主");
+        }
+
         String communityId = reqJson.getString("communityId");
-        String memberId = reqJson.getString("memberId");
 
         OwnerDto ownerDto = new OwnerDto();
         ownerDto.setCommunityId(communityId);