|
|
@@ -0,0 +1,160 @@
|
|
|
+package com.java110.job.adapt.hcIotNew;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.java110.core.factory.GenerateCodeFactory;
|
|
|
+import com.java110.dto.community.CommunityMemberDto;
|
|
|
+import com.java110.dto.file.FileDto;
|
|
|
+import com.java110.dto.file.FileRelDto;
|
|
|
+import com.java110.dto.machine.MachineTranslateDto;
|
|
|
+import com.java110.dto.owner.OwnerDto;
|
|
|
+import com.java110.dto.store.StoreUserDto;
|
|
|
+import com.java110.dto.system.Business;
|
|
|
+import com.java110.dto.user.UserDto;
|
|
|
+import com.java110.intf.common.IFileInnerServiceSMO;
|
|
|
+import com.java110.intf.common.IFileRelInnerServiceSMO;
|
|
|
+import com.java110.intf.common.IMachineTranslateInnerServiceSMO;
|
|
|
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
|
|
|
+import com.java110.intf.store.IStoreUserV1InnerServiceSMO;
|
|
|
+import com.java110.intf.user.IUserV1InnerServiceSMO;
|
|
|
+import com.java110.job.adapt.DatabusAdaptImpl;
|
|
|
+import com.java110.job.adapt.hcIotNew.http.ISendIot;
|
|
|
+import com.java110.utils.util.DateUtil;
|
|
|
+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 org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 200100060001
|
|
|
+ * 200100070001
|
|
|
+ */
|
|
|
+@Component(value = "sendStaffDataToIotAdapt")
|
|
|
+public class SendStaffDataToIotAdapt extends DatabusAdaptImpl {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISendIot sendIotImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFileInnerServiceSMO fileInnerServiceSMOImpl;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void execute(Business business, List<Business> businesses) {
|
|
|
+
|
|
|
+ JSONObject data = business.getData();
|
|
|
+ String userId = data.getString("userId");
|
|
|
+ if (StringUtil.isEmpty(userId)) {
|
|
|
+ throw new IllegalArgumentException("未包含员工信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ StoreUserDto storeUserDto = new StoreUserDto();
|
|
|
+ storeUserDto.setUserId(userId);
|
|
|
+ List<StoreUserDto> storeUserDtos = storeUserV1InnerServiceSMOImpl.queryStoreUsers(storeUserDto);
|
|
|
+
|
|
|
+ if (ListUtil.isNull(storeUserDtos)) {
|
|
|
+ throw new IllegalArgumentException("员工不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ UserDto userDto = new UserDto();
|
|
|
+ userDto.setUserId(userId);
|
|
|
+
|
|
|
+ List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
|
|
|
+ if (ListUtil.isNull(userDtos)) {
|
|
|
+ throw new IllegalArgumentException("员工不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ JSONObject staff = new JSONObject();
|
|
|
+ staff.put("propertyId", storeUserDtos.get(0).getStoreId());
|
|
|
+ staff.put("staffId", userId);
|
|
|
+ staff.put("name", userDtos.get(0).getName());
|
|
|
+ staff.put("tel", userDtos.get(0).getTel());
|
|
|
+ staff.put("relCd", storeUserDtos.get(0).getRelCd());
|
|
|
+ staff.put("staffPhoto", getStaffPhoto(userId));
|
|
|
+
|
|
|
+
|
|
|
+ ResultVo resultVo = sendIotImpl.post("/iot/api/staff.addStaffApi", staff);
|
|
|
+
|
|
|
+ CommunityMemberDto communityMemberDto = new CommunityMemberDto();
|
|
|
+ communityMemberDto.setMemberId(storeUserDtos.get(0).getStoreId());
|
|
|
+ List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
|
|
|
+
|
|
|
+ if (ListUtil.isNull(communityMemberDtos)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (resultVo.getCode() != ResultVo.CODE_OK) {
|
|
|
+ saveTranslateLog(communityMemberDtos.get(0).getCommunityId(), MachineTranslateDto.CMD_ADD_COMMUNITY,
|
|
|
+ staff.getString("staffId"), staff.getString("name"),
|
|
|
+ MachineTranslateDto.STATE_ERROR, resultVo.getMsg());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ saveTranslateLog(communityMemberDtos.get(0).getCommunityId(), MachineTranslateDto.CMD_ADD_COMMUNITY,
|
|
|
+ staff.getString("staffId"), staff.getString("name"),
|
|
|
+ MachineTranslateDto.STATE_SUCCESS, resultVo.getMsg());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 存储交互 记录
|
|
|
+ *
|
|
|
+ * @param communityId
|
|
|
+ */
|
|
|
+ public void saveTranslateLog(String communityId, String cmd, String objId, String objName, String state, String remark) {
|
|
|
+ MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
|
|
|
+ machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
|
|
|
+ machineTranslateDto.setCommunityId(communityId);
|
|
|
+ machineTranslateDto.setMachineCmd(cmd);
|
|
|
+ machineTranslateDto.setMachineCode("-1");
|
|
|
+ machineTranslateDto.setMachineId("-1");
|
|
|
+ machineTranslateDto.setObjId(objId);
|
|
|
+ machineTranslateDto.setObjName(objName);
|
|
|
+ machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_COMMUNITY);
|
|
|
+ machineTranslateDto.setRemark(remark);
|
|
|
+ machineTranslateDto.setState(state);
|
|
|
+ machineTranslateDto.setbId("-1");
|
|
|
+ machineTranslateDto.setObjBId("-1");
|
|
|
+ machineTranslateDto.setUpdateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
|
|
|
+ machineTranslateInnerServiceSMOImpl.saveMachineTranslate(machineTranslateDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getStaffPhoto(String userId) {
|
|
|
+
|
|
|
+
|
|
|
+ FileRelDto fileRelDto = new FileRelDto();
|
|
|
+ fileRelDto.setObjId(userId);
|
|
|
+ fileRelDto.setRelTypeCd("12000");
|
|
|
+ List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
|
|
|
+ if (ListUtil.isNull(fileRelDtos)) {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ FileDto fileDto = new FileDto();
|
|
|
+ fileDto.setFileId(fileRelDtos.get(0).getFileSaveName());
|
|
|
+ fileDto.setFileSaveName(fileRelDtos.get(0).getFileSaveName());
|
|
|
+ List<FileDto> fileDtos = fileInnerServiceSMOImpl.queryFiles(fileDto);
|
|
|
+ if (ListUtil.isNull(fileDtos)) {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ return fileDtos.get(0).getFileName();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|