소스 검색

优化代码

wuxw 2 년 전
부모
커밋
1913c2dbe9
1개의 변경된 파일94개의 추가작업 그리고 0개의 파일을 삭제
  1. 94 0
      service-job/src/main/java/com/java110/job/cmd/owner/QueryOwnerAcVideoUrlCmd.java

+ 94 - 0
service-job/src/main/java/com/java110/job/cmd/owner/QueryOwnerAcVideoUrlCmd.java

@@ -0,0 +1,94 @@
+package com.java110.job.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.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
+import com.java110.job.adapt.hcIotNew.http.ISendIot;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * 获取业主端视频播放
+ */
+@Java110Cmd(serviceCode = "owner.queryOwnerAcVideoUrl")
+public class QueryOwnerAcVideoUrlCmd extends Cmd {
+
+    @Autowired
+    private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+    @Autowired
+    private ISendIot sendIotImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        Assert.hasKeyAndValue(reqJson, "machineId", "未包含设备ID");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
+
+
+        String userId = context.getReqHeaders().get("user-id");
+
+        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+        ownerAppUserDto.setUserId(userId);
+        ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
+        ownerAppUserDto.setMemberId(reqJson.getString("memberId"));
+        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+        if (ListUtil.isNull(ownerAppUserDtos)) {
+            throw new CmdException("未绑定业主");
+        }
+
+        String memberId = "";
+        for (OwnerAppUserDto tmpOwnerAppUserDto : ownerAppUserDtos) {
+            if ("-1".equals(tmpOwnerAppUserDto.getMemberId())) {
+                continue;
+            }
+
+            memberId = tmpOwnerAppUserDto.getMemberId();
+        }
+
+        if (StringUtil.isEmpty(memberId)) {
+            throw new CmdException("未绑定业主");
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        ownerDto.setMemberId(memberId);
+        List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        Assert.listOnlyOne(ownerDtos, "业主不存在");
+
+        reqJson.put("link", ownerDtos.get(0).getLink());
+
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+
+        reqJson.put("iotApiCode","queryOwnerAcPlayVideoUrlBmoImpl");
+
+        ResultVo resultVo = sendIotImpl.post("/iot/api/common.openCommonApi", reqJson);
+
+        if (resultVo.getCode() != ResultVo.CODE_OK) {
+            throw new CmdException(resultVo.getMsg());
+        }
+
+        context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+    }
+}