From d31920a1233ab14cdd5e33756bb1b0e3ed235e66 Mon Sep 17 00:00:00 2001
From: 1098226878 <1098226878@qq.com>
Date: 星期三, 08 九月 2021 12:39:48 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml | 5
service-community/src/main/java/com/java110/community/dao/impl/CommunityServiceDaoImpl.java | 9
service-community/src/main/java/com/java110/community/dao/ICommunityServiceDao.java | 7
service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/GetTianChuangToken.java | 2
service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/PersonToTianchuangAdapt.java | 364 ++++++++++++++++++++++++++++++++---
service-community/src/main/java/com/java110/community/smo/impl/CommunityInnerServiceSMOImpl.java | 11 +
java110-interface/src/main/java/com/java110/intf/community/ICommunityInnerServiceSMO.java | 11 +
java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java | 77 +++----
service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/TianChuangConstant.java | 103 ++-------
9 files changed, 438 insertions(+), 151 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java b/java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java
index 6aa8d5e..70cad92 100755
--- a/java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java
@@ -22,7 +22,6 @@
import com.java110.utils.util.Base64Convert;
import com.java110.utils.util.StringUtil;
import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.logging.log4j.util.Base64Util;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
@@ -32,15 +31,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.security.InvalidParameterException;
-import java.security.Key;
-import java.security.KeyFactory;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.MessageDigest;
-import java.security.PrivateKey;
-import java.security.PublicKey;
+import java.security.*;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
@@ -73,8 +64,9 @@
private static final String CHARSET = "utf-8";
- // 鍔犲瘑
- public static String AesEncrypt(String sSrc, String sKey) throws Exception {
+ // 鍔犲瘑
+ public static String AesEncrypt(String sSrc, String sKey) {
+ try {
if (sKey == null) {
System.out.print("Key涓虹┖null");
return null;
@@ -91,39 +83,43 @@
byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
return Base64Convert.byteToBase64(encrypted);//姝ゅ浣跨敤BASE64鍋氳浆鐮佸姛鑳斤紝鍚屾椂鑳借捣鍒�2娆″姞瀵嗙殑浣滅敤銆�
+ } catch (Exception e) {
+ e.printStackTrace();
}
+ return "";
+ }
- // 瑙e瘑
- public static String AesDecrypt(String sSrc, String sKey) throws Exception {
- try {
- // 鍒ゆ柇Key鏄惁姝g‘
- if (sKey == null) {
- System.out.print("Key涓虹┖null");
- return null;
- }
- // 鍒ゆ柇Key鏄惁涓�16浣�
- if (sKey.length() != 16) {
- System.out.print("Key闀垮害涓嶆槸16浣�");
- return null;
- }
- byte[] raw = sKey.getBytes("utf-8");
- SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
- Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
- cipher.init(Cipher.DECRYPT_MODE, skeySpec);
- byte[] encrypted1 = Base64Convert.base64ToByte(sSrc);//鍏堢敤base64瑙e瘑
- try {
- byte[] original = cipher.doFinal(encrypted1);
- String originalString = new String(original,"utf-8");
- return originalString;
- } catch (Exception e) {
- System.out.println(e.toString());
- return null;
- }
- } catch (Exception ex) {
- System.out.println(ex.toString());
+ // 瑙e瘑
+ public static String AesDecrypt(String sSrc, String sKey) {
+ try {
+ // 鍒ゆ柇Key鏄惁姝g‘
+ if (sKey == null) {
+ System.out.print("Key涓虹┖null");
return null;
}
+ // 鍒ゆ柇Key鏄惁涓�16浣�
+ if (sKey.length() != 16) {
+ System.out.print("Key闀垮害涓嶆槸16浣�");
+ return null;
+ }
+ byte[] raw = sKey.getBytes("utf-8");
+ SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+ Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
+ cipher.init(Cipher.DECRYPT_MODE, skeySpec);
+ byte[] encrypted1 = Base64Convert.base64ToByte(sSrc);//鍏堢敤base64瑙e瘑
+ try {
+ byte[] original = cipher.doFinal(encrypted1);
+ String originalString = new String(original, "utf-8");
+ return originalString;
+ } catch (Exception e) {
+ System.out.println(e.toString());
+ return null;
+ }
+ } catch (Exception ex) {
+ System.out.println(ex.toString());
+ return null;
}
+ }
/**
@@ -463,6 +459,7 @@
String newSign = md5(reportDataHeaderDto.getTranId() + reportDataHeaderDto.getReqTime() + reportDataDto.getReportDataBodyDto().toJSONString() + code).toLowerCase();
reportDataHeaderDto.setSign(newSign);
}
+
/**
* 鍔犺浇鍏挜
*
diff --git a/java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml
index 3c112fb..0d4d9b2 100755
--- a/java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml
@@ -12,6 +12,11 @@
#{nearbyLandmarks},#{mapX},#{mapY},#{month},#{state},#{operate},#{communityArea},#{tel})
</insert>
+ <!-- 淇濆瓨灏忓尯灞炴�т俊鎭� add by wuxw 2018-07-03 -->
+ <insert id="saveCommunityAttr" parameterType="Map">
+ insert into s_community_attr(b_id,attr_id,community_id,spec_cd,value,month,status_cd)
+ values(#{bId},#{attrId},#{communityId},#{specCd},#{value},#{month},#{statusCd})
+ </insert>
<!-- 淇濆瓨灏忓尯灞炴�т俊鎭� add by wuxw 2018-07-03 -->
diff --git a/java110-interface/src/main/java/com/java110/intf/community/ICommunityInnerServiceSMO.java b/java110-interface/src/main/java/com/java110/intf/community/ICommunityInnerServiceSMO.java
index c4baa42..1d989ba 100755
--- a/java110-interface/src/main/java/com/java110/intf/community/ICommunityInnerServiceSMO.java
+++ b/java110-interface/src/main/java/com/java110/intf/community/ICommunityInnerServiceSMO.java
@@ -4,6 +4,7 @@
import com.java110.dto.CommunityMemberDto;
import com.java110.dto.community.CommunityAttrDto;
import com.java110.dto.community.CommunityDto;
+import com.java110.po.community.CommunityAttrPo;
import com.java110.po.community.CommunityPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
@@ -88,4 +89,14 @@
*/
@RequestMapping(value = "/getCommunityAttrsCount", method = RequestMethod.POST)
int getCommunityAttrsCount(@RequestBody CommunityAttrDto communityAttrDto);
+
+
+ /**
+ * 鏌ヨ<p>灏忓尯妤�</p>鎬昏褰曟暟
+ *
+ * @param communityAttrPo 鏁版嵁瀵硅薄鍒嗕韩
+ * @return 灏忓尯涓嬬殑灏忓尯妤艰褰曟暟
+ */
+ @RequestMapping(value = "/saveCommunityAttr", method = RequestMethod.POST)
+ int saveCommunityAttr(@RequestBody CommunityAttrPo communityAttrPo);
}
diff --git a/service-community/src/main/java/com/java110/community/dao/ICommunityServiceDao.java b/service-community/src/main/java/com/java110/community/dao/ICommunityServiceDao.java
index 46330e8..79f8579 100755
--- a/service-community/src/main/java/com/java110/community/dao/ICommunityServiceDao.java
+++ b/service-community/src/main/java/com/java110/community/dao/ICommunityServiceDao.java
@@ -267,4 +267,11 @@
List<Map> getStoreCommunitys(Map beanCovertMap);
+ /**
+ * 娣诲姞灞炴��
+ *
+ * @param info
+ * @return
+ */
+ int saveCommunityAttr(Map info);
}
\ No newline at end of file
diff --git a/service-community/src/main/java/com/java110/community/dao/impl/CommunityServiceDaoImpl.java b/service-community/src/main/java/com/java110/community/dao/impl/CommunityServiceDaoImpl.java
index 001533f..f1626bb 100755
--- a/service-community/src/main/java/com/java110/community/dao/impl/CommunityServiceDaoImpl.java
+++ b/service-community/src/main/java/com/java110/community/dao/impl/CommunityServiceDaoImpl.java
@@ -489,5 +489,14 @@
return businessCommunityInfos;
}
+ @Override
+ public int saveCommunityAttr(Map info) {
+ logger.debug("灏忓尯鎴愬憳鍔犲叆Instance 鍏ュ弬 info : {}", info);
+
+ int saveFlag = sqlSessionTemplate.insert("communityServiceDaoImpl.saveCommunityAttr", info);
+
+ return saveFlag;
+ }
+
}
diff --git a/service-community/src/main/java/com/java110/community/smo/impl/CommunityInnerServiceSMOImpl.java b/service-community/src/main/java/com/java110/community/smo/impl/CommunityInnerServiceSMOImpl.java
index 46e0e59..15334b6 100755
--- a/service-community/src/main/java/com/java110/community/smo/impl/CommunityInnerServiceSMOImpl.java
+++ b/service-community/src/main/java/com/java110/community/smo/impl/CommunityInnerServiceSMOImpl.java
@@ -8,6 +8,7 @@
import com.java110.dto.community.CommunityAttrDto;
import com.java110.dto.community.CommunityDto;
import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.po.community.CommunityAttrPo;
import com.java110.po.community.CommunityPo;
import com.java110.utils.util.BeanConvertUtil;
import org.slf4j.Logger;
@@ -101,6 +102,16 @@
return communityServiceDaoImpl.getCommunityAttrsCount(BeanConvertUtil.beanCovertMap(communityAttrDto));
}
+ /**
+ * 淇濆瓨灏忓尯灞炴��
+ * @param communityAttrPo 鏁版嵁瀵硅薄鍒嗕韩
+ * @return
+ */
+ @Override
+ public int saveCommunityAttr(CommunityAttrPo communityAttrPo) {
+ return communityServiceDaoImpl.saveCommunityAttr(BeanConvertUtil.beanCovertMap(communityAttrPo));
+ }
+
@Override
public List<CommunityDto> queryCommunitys(@RequestBody CommunityDto communityDto) {
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/GetTianChuangToken.java b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/GetTianChuangToken.java
index 479a888..b327ac0 100755
--- a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/GetTianChuangToken.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/GetTianChuangToken.java
@@ -50,7 +50,7 @@
*
* @return
*/
- private HttpHeaders getHeaders(String serviceId,String data) {
+ public static HttpHeaders getHeaders(String serviceId,String data) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("appId", TianChuangConstant.getAppId());
httpHeaders.add("token", get(data));
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/PersonToTianchuangAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/PersonToTianchuangAdapt.java
index a9a104f..4b7b805 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/PersonToTianchuangAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/PersonToTianchuangAdapt.java
@@ -17,34 +17,50 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.java110.dto.UnitDto;
+import com.java110.core.client.RestTemplate;
+import com.java110.core.factory.AuthenticationFactory;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.RoomAttrDto;
+import com.java110.dto.RoomDto;
import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
import com.java110.dto.community.CommunityAttrDto;
import com.java110.dto.community.CommunityDto;
-import com.java110.dto.communityLocationAttr.CommunityLocationAttrDto;
import com.java110.dto.file.FileRelDto;
+import com.java110.dto.machine.MachineAttrDto;
import com.java110.dto.machine.MachineDto;
+import com.java110.dto.owner.OwnerAttrDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.entity.order.Business;
import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.common.IMachineAttrInnerServiceSMO;
import com.java110.intf.common.IMachineInnerServiceSMO;
import com.java110.intf.community.ICommunityInnerServiceSMO;
import com.java110.intf.community.ICommunityLocationAttrInnerServiceSMO;
-import com.java110.intf.community.IUnitInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.adapt.DatabusAdaptImpl;
-import com.java110.job.adapt.hcGov.HcGovConstant;
import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn;
-import com.java110.po.floor.FloorPo;
+import com.java110.po.community.CommunityAttrPo;
+import com.java110.po.machine.MachineAttrPo;
import com.java110.po.machine.MachineRecordPo;
+import com.java110.po.owner.OwnerAttrPo;
import com.java110.utils.cache.MappingCache;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import java.util.List;
/**
+ * databus 鐩戝惉涓氬姟绫诲瀷 990000060001
* 寮�闂ㄨ褰曚俊鎭� 鍚屾澶╃獥鎺ュ彛
* <p>
* 鎺ュ彛鍗忚鍦板潃锛� https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0
@@ -54,8 +70,10 @@
@Component(value = "personToTianchuangAdapt")
public class PersonToTianchuangAdapt extends DatabusAdaptImpl {
+ private static Logger logger = LoggerFactory.getLogger(PersonToTianchuangAdapt.class);
@Autowired
private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
@Autowired
private BaseHcGovSendAsyn baseHcGovSendAsynImpl;
@@ -64,10 +82,29 @@
private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
@Autowired
+ private IMachineAttrInnerServiceSMO machineAttrInnerServiceSMOImpl;
+
+ @Autowired
private ICommunityLocationAttrInnerServiceSMO communityLocationAttrInnerServiceSMOImpl;
@Autowired
private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerAttrInnerServiceSMO ownerAttrInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+ @Autowired
+ private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+ @Autowired
+ private RestTemplate outRestTemplate;
+
/**
* @param customBusinessDatabusDto 褰撳墠澶勭悊涓氬姟
*/
@@ -91,29 +128,78 @@
String machineRecordId = machineRecordPo.getMachineRecordId();
for (CommunityAttrDto communityAttrDto : tmpCommunityDto.getCommunityAttrDtos()) {
- if (HcGovConstant.EXT_COMMUNITY_ID.equals(communityAttrDto.getSpecCd())) {
+ if (TianChuangConstant.EXT_TC_COMMUNITY_ID.equals(communityAttrDto.getSpecCd())) {
extCommunityId = communityAttrDto.getValue();
}
}
+ if (StringUtil.isEmpty(extCommunityId)) {
+ //浼犻�佸皬鍖轰俊鎭�
+ extCommunityId = sendCommunity(communityDtos.get(0));
+ }
- //鏌ヨ璁惧瀵瑰簲鐨勪綅缃�
+ //鍒ゆ柇璁惧鏄惁 浼犲ぉ鍒�
MachineDto machineDto = new MachineDto();
machineDto.setCommunityId(communityId);
machineDto.setMachineId(machineRecordPo.getMachineId());
List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
-
Assert.listOnlyOne(machineDtos, "涓嶅寘鍚� 璁惧淇℃伅");
+ String extMachineId = "";
+ for (MachineAttrDto machineAttrDto : machineDtos.get(0).getMachineAttrs()) {
+ if (TianChuangConstant.EXT_TC_MACHINE_ID.equals(machineAttrDto.getSpecCd())) {
+ extMachineId = machineAttrDto.getValue();
+ }
+ }
- String locationId = machineDtos.get(0).getLocationTypeCd();
+ if (StringUtil.isEmpty(extMachineId)) {
+ //浼犻�侀棬绂佷俊鎭�
+ extMachineId = sendMachine(machineDtos.get(0), extCommunityId, tmpCommunityDto);
+ }
- CommunityLocationAttrDto communityLocationAttrDto = new CommunityLocationAttrDto();
- communityLocationAttrDto.setCommunityId(machineDtos.get(0).getCommunityId());
- communityLocationAttrDto.setLocationId(locationId);
- communityLocationAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
- List<CommunityLocationAttrDto> communityLocationAttrDtos
- = communityLocationAttrInnerServiceSMOImpl.queryCommunityLocationAttrs(communityLocationAttrDto);
+ //鍒ゆ柇浣忔埛鏄惁浼犲ぉ鍒�
+ String idCard = machineRecordPo.getIdCard();
- Assert.listOnlyOne(communityLocationAttrDtos, "鏈壘鍒� 浣嶇疆澶栭儴ID");
+ //韬唤璇佷负绌烘椂 锛岄棬绂佽褰曟病娉曚紶 鎵�浠ュ氨涓嶄紶浜�
+ if (StringUtil.isEmpty(idCard)) {
+ return;
+ }
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setIdCard(idCard);
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+
+ if (ownerDtos == null || ownerDtos.size() < 1) {
+ throw new IllegalArgumentException("涓氫富涓嶅瓨鍦�");
+ }
+
+ String extMemberId = "";
+ for (OwnerAttrDto ownerAttrDto : ownerDtos.get(0).getOwnerAttrDtos()) {
+ if (TianChuangConstant.EXT_TC_OWNER_ID.equals(ownerAttrDto.getSpecCd())) {
+ extMemberId = ownerAttrDto.getValue();
+ }
+ }
+
+ if (StringUtil.isEmpty(extMemberId)) {
+ //浼犻�侀棬绂佷俊鎭�
+ extMemberId = sendOwner(ownerDtos.get(0), extCommunityId, tmpCommunityDto);
+ }
+
+ // 閫佷汉鍛樿繘鍑鸿褰�
+ sendPersonInout(machineRecordPo, extCommunityId, machineDtos.get(0), ownerDtos.get(0));
+ }
+
+ private void sendPersonInout(MachineRecordPo machineRecordPo, String extCommunityId, MachineDto machineDto, OwnerDto ownerDto) {
+ JSONObject data = new JSONObject();
+ JSONArray datas = new JSONArray();
+ JSONObject dataObj = new JSONObject();
+ dataObj.put("lv_ssxqbm", extCommunityId);
+ dataObj.put("lv_gmsfhm", machineRecordPo.getIdCard());
+ dataObj.put("lv_crlb", "3306".equals(machineDto.getDirection()) ? "1" : "2");
+ dataObj.put("lv_zpsj", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_DEFAULT));
+ dataObj.put("lv_sbxt", "灏忓尯绠$悊绯荤粺");
+ dataObj.put("lv_mjxtwybm", machineDto.getMachineId());
+ dataObj.put("lv_ry_id", ownerDto.getMemberId());
+ dataObj.put("lv_ffms", "1");
+ dataObj.put("lv_kmfs", "1");
+ dataObj.put("lv_procmode", "PMINSERT");
FileRelDto fileRelDto = new FileRelDto();
fileRelDto.setRelTypeCd("60000");
@@ -126,25 +212,233 @@
url = imgUrl + fileRelDtos.get(0).getFileRealName();
}
- JSONObject body = new JSONObject();
- body.put("extLocationId", communityLocationAttrDtos.get(0).getValue());
- body.put("name", machineRecordPo.getName());
- body.put("openTypeCd", machineRecordPo.getOpenTypeCd());
- body.put("tel", machineRecordPo.getTel());
- body.put("idCard", machineRecordPo.getIdCard());
- body.put("recordTypeCd", machineRecordPo.getRecordTypeCd());
- body.put("faceUrl", url);
- String state = "F";
- if (StringUtil.isNumber(machineRecordPo.getSimilar())) {
- double similar = Double.parseDouble(machineRecordPo.getSimilar());
- if (similar > 0.5) {
- state = "C";
+ dataObj.put("lv_zpzpa", ImageUtils.getBase64ByImgUrl(url));
+
+ datas.add(dataObj);
+
+ data.put("datas", datas);
+
+ JSONArray pages = new JSONArray();
+ JSONObject page = new JSONObject();
+ page.put("psize", "100");
+ page.put("tcount", "1");
+ page.put("pno", "1");
+ page.put("tsize", "");
+ pages.add(page);
+
+ data.put("pages", pages);
+
+ String dataStr = AuthenticationFactory.AesDecrypt(data.toJSONString(), TianChuangConstant.getAppSecret());
+
+ HttpEntity httpEntity = new HttpEntity(dataStr, GetTianChuangToken.getHeaders(TianChuangConstant.SERVICE_ID_PERSON_INOUT, dataStr));
+ ResponseEntity<String> responseEntity = outRestTemplate.exchange(TianChuangConstant.getUrl(), HttpMethod.POST, httpEntity, String.class);
+ logger.debug("璋冪敤HC IOT淇℃伅锛�" + responseEntity);
+ JSONObject paramOut = JSONObject.parseObject(AuthenticationFactory.AesEncrypt(responseEntity.getBody(), TianChuangConstant.getAppSecret()));
+
+ String code = paramOut.getJSONObject("sta").getString("cod");
+ if (!"0000".equals(code)) {
+ throw new IllegalArgumentException("鍚屾灏忓尯澶辫触锛�" + paramOut.toJSONString());
+ }
+ }
+
+ /**
+ * 浣忔埛淇℃伅涓婃姤
+ *
+ * @param ownerDto
+ * @param tmpCommunityDto
+ * @return
+ */
+ private String sendOwner(OwnerDto ownerDto, String extCommunityId, CommunityDto tmpCommunityDto) {
+ //鏌ヨ涓氫富鎴垮眿
+ OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+ ownerRoomRelDto.setOwnerId(ownerDto.getOwnerId());
+ List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+ //
+ if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+ throw new IllegalArgumentException("涓氫富涓嶅瓨鍦ㄦ埧灞嬫棤娉曞悓姝ワ紝鍥犱负娌℃湁鍦板潃浜岀淮鐮佺紪鐮�");
+ }
+ RoomDto roomDto = new RoomDto();
+ roomDto.setCommunityId(ownerDto.getCommunityId());
+ roomDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId());
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+
+ Assert.listOnlyOne(roomDtos, "鎴垮眿涓嶅瓨鍦�");
+
+ JSONObject data = new JSONObject();
+ JSONArray datas = new JSONArray();
+ JSONObject dataObj = new JSONObject();
+ dataObj.put("lvgmsfhm", ownerDto.getIdCard());
+ dataObj.put("lvxm", ownerDto.getName());
+ dataObj.put("lvlxdh", ownerDto.getLink());
+ dataObj.put("lvdjsj", ownerDto.getCreateTime());
+ dataObj.put("lvrybm", ownerDto.getMemberId());
+ String qrCodeAddress = "";
+ for (RoomAttrDto roomAttrDto : roomDtos.get(0).getRoomAttrDto()) {
+ if (TianChuangConstant.EXT_TC_ROOM_QRCODE.equals(roomAttrDto.getSpecCd())) {
+ qrCodeAddress = roomAttrDto.getValue();
}
}
- body.put("state", state);
+ dataObj.put("lvdzbm", qrCodeAddress);
+ dataObj.put("lvzhlx", OwnerDto.OWNER_TYPE_CD_OWNER.equals(ownerDto.getOwnerTypeCd()) ? "10" : "11");
+ dataObj.put("lvssxqbm", extCommunityId);
+ dataObj.put("lv_procmode", "PMINSERT");
- JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_INOUT_RECORD_ACTION, HcGovConstant.COMMUNITY_SECURE);
- baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, machineRecordId, HcGovConstant.COMMUNITY_SECURE);
+ datas.add(dataObj);
+
+ data.put("datas", datas);
+
+ JSONArray pages = new JSONArray();
+ JSONObject page = new JSONObject();
+ page.put("psize", "100");
+ page.put("tcount", "1");
+ page.put("pno", "1");
+ page.put("tsize", "");
+ pages.add(page);
+
+ data.put("pages", pages);
+
+ String dataStr = AuthenticationFactory.AesDecrypt(data.toJSONString(), TianChuangConstant.getAppSecret());
+
+ HttpEntity httpEntity = new HttpEntity(dataStr, GetTianChuangToken.getHeaders(TianChuangConstant.SERVICE_ID_OWNER, dataStr));
+ ResponseEntity<String> responseEntity = outRestTemplate.exchange(TianChuangConstant.getUrl(), HttpMethod.POST, httpEntity, String.class);
+ logger.debug("璋冪敤HC IOT淇℃伅锛�" + responseEntity);
+ JSONObject paramOut = JSONObject.parseObject(AuthenticationFactory.AesEncrypt(responseEntity.getBody(), TianChuangConstant.getAppSecret()));
+
+ String code = paramOut.getJSONObject("sta").getString("cod");
+ if (!"0000".equals(code)) {
+ throw new IllegalArgumentException("鍚屾灏忓尯澶辫触锛�" + paramOut.toJSONString());
+ }
+ String extTcOwnerId = paramOut.getJSONArray("data").getJSONObject(0).getString("result");
+ OwnerAttrPo ownerAttrPo = new OwnerAttrPo();
+ ownerAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ ownerAttrPo.setCommunityId(ownerDto.getCommunityId());
+ ownerAttrPo.setMemberId(ownerDto.getMemberId());
+ ownerAttrPo.setSpecCd(TianChuangConstant.EXT_TC_OWNER_ID);
+ ownerAttrPo.setValue(extTcOwnerId);
+ ownerAttrInnerServiceSMOImpl.saveOwnerAttr(ownerAttrPo);
+
+ return extTcOwnerId;
+ }
+
+ /**
+ * 闂ㄧ淇℃伅涓婃姤
+ *
+ * @param machineDto
+ * @return
+ */
+ private String sendMachine(MachineDto machineDto, String extCommunityId, CommunityDto communityDto) {
+ JSONObject data = new JSONObject();
+ JSONArray datas = new JSONArray();
+ JSONObject dataObj = new JSONObject();
+ dataObj.put("lv_mjmc", machineDto.getMachineName());
+ dataObj.put("lv_wzms", machineDto.getLocationObjName());
+ dataObj.put("lv_sfysxt", "1");
+ dataObj.put("lv_ssxqbm", extCommunityId);
+ dataObj.put("lv_mjxtwybm", machineDto.getMachineId());
+ String qrCodeAddress = "";
+ for (CommunityAttrDto communityAttrDto : communityDto.getCommunityAttrDtos()) {
+ if (TianChuangConstant.EXT_TC_COMMUNITY_QRCODE.equals(communityAttrDto.getSpecCd())) {
+ qrCodeAddress = communityAttrDto.getValue();
+ }
+ }
+ dataObj.put("lv_dzewmbm", qrCodeAddress);
+ dataObj.put("lv_sbxt", "灏忓尯绠$悊绯荤粺");
+ dataObj.put("lv_procmode", "PMINSERT");
+
+ datas.add(dataObj);
+
+ data.put("datas", datas);
+
+ JSONArray pages = new JSONArray();
+ JSONObject page = new JSONObject();
+ page.put("psize", "100");
+ page.put("tcount", "1");
+ page.put("pno", "1");
+ page.put("tsize", "");
+ pages.add(page);
+
+ data.put("pages", pages);
+
+ String dataStr = AuthenticationFactory.AesDecrypt(data.toJSONString(), TianChuangConstant.getAppSecret());
+
+ HttpEntity httpEntity = new HttpEntity(dataStr, GetTianChuangToken.getHeaders(TianChuangConstant.SERVICE_ID_MACHINE, dataStr));
+ ResponseEntity<String> responseEntity = outRestTemplate.exchange(TianChuangConstant.getUrl(), HttpMethod.POST, httpEntity, String.class);
+ logger.debug("璋冪敤HC IOT淇℃伅锛�" + responseEntity);
+ JSONObject paramOut = JSONObject.parseObject(AuthenticationFactory.AesEncrypt(responseEntity.getBody(), TianChuangConstant.getAppSecret()));
+
+ String code = paramOut.getJSONObject("sta").getString("cod");
+ if (!"0000".equals(code)) {
+ throw new IllegalArgumentException("鍚屾灏忓尯澶辫触锛�" + paramOut.toJSONString());
+ }
+ String extTcMachineId = paramOut.getJSONArray("data").getJSONObject(0).getString("result");
+ MachineAttrPo machineAttrPo = new MachineAttrPo();
+ machineAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ machineAttrPo.setCommunityId(communityDto.getCommunityId());
+ machineAttrPo.setMachineId(machineDto.getMachineId());
+ machineAttrPo.setSpecCd(TianChuangConstant.EXT_TC_MACHINE_ID);
+ machineAttrPo.setValue(extTcMachineId);
+ machineAttrInnerServiceSMOImpl.saveMachineAttrs(machineAttrPo);
+
+ return extTcMachineId;
+ }
+
+ /**
+ * 鍙戦�佸皬鍖轰唬鐮�
+ *
+ * @param communityDto
+ */
+ private String sendCommunity(CommunityDto communityDto) {
+ JSONObject data = new JSONObject();
+ JSONArray datas = new JSONArray();
+ JSONObject dataObj = new JSONObject();
+ dataObj.put("lv_mjbh", TianChuangConstant.getCompany());
+ dataObj.put("lv_sbxqmc", communityDto.getName());
+ dataObj.put("lv_zt", "0");
+ dataObj.put("lv_dxtzhm", StringUtil.isEmpty(communityDto.getTel()) ? "18909711234" : communityDto.getTel());
+ String qrCodeAddress = "";
+ for (CommunityAttrDto communityAttrDto : communityDto.getCommunityAttrDtos()) {
+ if (TianChuangConstant.EXT_TC_COMMUNITY_QRCODE.equals(communityAttrDto.getSpecCd())) {
+ qrCodeAddress = communityAttrDto.getValue();
+ }
+ }
+
+ dataObj.put("lv_sbxqdzbm", qrCodeAddress);
+ dataObj.put("lv_procmode", "PMINSERT");
+
+ datas.add(dataObj);
+
+ data.put("datas", datas);
+
+ JSONArray pages = new JSONArray();
+ JSONObject page = new JSONObject();
+ page.put("psize", "100");
+ page.put("tcount", "1");
+ page.put("pno", "1");
+ page.put("tsize", "");
+ pages.add(page);
+
+ data.put("pages", pages);
+
+ String dataStr = AuthenticationFactory.AesDecrypt(data.toJSONString(), TianChuangConstant.getAppSecret());
+
+ HttpEntity httpEntity = new HttpEntity(dataStr, GetTianChuangToken.getHeaders(TianChuangConstant.SERVICE_ID_COMMUNITY, dataStr));
+ ResponseEntity<String> responseEntity = outRestTemplate.exchange(TianChuangConstant.getUrl(), HttpMethod.POST, httpEntity, String.class);
+ logger.debug("璋冪敤HC IOT淇℃伅锛�" + responseEntity);
+ JSONObject paramOut = JSONObject.parseObject(AuthenticationFactory.AesEncrypt(responseEntity.getBody(), TianChuangConstant.getAppSecret()));
+
+ String code = paramOut.getJSONObject("sta").getString("cod");
+ if (!"0000".equals(code)) {
+ throw new IllegalArgumentException("鍚屾灏忓尯澶辫触锛�" + paramOut.toJSONString());
+ }
+ String extTcCommunityId = paramOut.getJSONArray("data").getJSONObject(0).getString("result");
+ CommunityAttrPo communityAttrPo = new CommunityAttrPo();
+ communityAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ communityAttrPo.setCommunityId(communityDto.getCommunityId());
+ communityAttrPo.setSpecCd(TianChuangConstant.EXT_TC_COMMUNITY_ID);
+ communityAttrPo.setValue(extTcCommunityId);
+ communityInnerServiceSMOImpl.saveCommunityAttr(communityAttrPo);
+
+ return extTcCommunityId;
}
}
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/TianChuangConstant.java b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/TianChuangConstant.java
index c69e5ef..7e9a845 100755
--- a/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/TianChuangConstant.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcToTianchuang/TianChuangConstant.java
@@ -32,92 +32,35 @@
public static final String TC_APP_SECRET = "TC_APP_SECRET"; // 鐗╄仈缃戝煙
private static final String DEFAULT_TC_URL = "http://112.51.96.125:9080/ywxzservice/dbClient.do";
- //122350112432
+ //
private static final String DEFAULT_APP_ID = "26810B9FE0532D03";
private static final String DEFAULT_APP_SECRET = "CAD3218426800B9FE0532D03A8C0310E";
+ private static final String DEFAULT_COMPANY = "122350112432"; //鍗曚綅缂栧彿
- public static final String GET_TOKEN_URL = "/extApi/auth/getAccessToken?appId=APP_ID&appSecret=APP_SECRET";
+ private static final String TC_COMPANY = "COMPANY";//鍏徃
- //娣诲姞灏忓尯
- public static final String ADD_COMMUNITY_URL = "/extApi/community/addCommunity";
- //淇敼灏忓尯
- public static final String UPDATE_COMMUNITY_URL = "/extApi/community/updateCommunity";
- //鍒犻櫎灏忓尯
- public static final String DELETE_COMMUNITY_URL = "/extApi/community/deleteCommunity";
+ //鏀垮姟灏忓尯缂栫爜/妤兼爧澶栭儴渚块樋闂�/鎴垮眿澶栭儴缂栫爜/涓氫富澶栭儴缂栫爜 SPEC_CD
+ public static final String EXT_TC_COMMUNITY_ID = "1329000004";
+ //鏀垮姟灏忓尯缂栫爜/妤兼爧澶栭儴渚块樋闂�/鎴垮眿澶栭儴缂栫爜/涓氫富澶栭儴缂栫爜 SPEC_CD
+ public static final String EXT_TC_MACHINE_ID = "1329000004";
+ public static final String EXT_TC_OWNER_ID = "1329000004";
- //娣诲姞璁惧
- public static final String ADD_MACHINE_URL = "/extApi/machine/addMachine";
- //淇敼璁惧
- public static final String UPDATE_MACHINE_URL = "/extApi/machine/updateMachine";
- //鍒犻櫎璁惧
- public static final String DELETE_MACHINE_URL = "/extApi/machine/deleteMachine";
+ //鏀垮姟灏忓尯缂栫爜/妤兼爧澶栭儴渚块樋闂�/鎴垮眿澶栭儴缂栫爜/涓氫富澶栭儴缂栫爜 SPEC_CD
+ public static final String EXT_TC_COMMUNITY_QRCODE = "3329000004";
- //娣诲姞鍋滆溅鍦�
- public static final String ADD_PARKING_AREA_URL = "/extApi/parkingArea/addParkingArea";
- //淇敼鍋滆溅鍦�
- public static final String UPDATE_PARKING_AREA_URL = "/extApi/parkingArea/updateParkingArea";
- //鍒犻櫎鍋滆溅鍦�
- public static final String DELETE_PARKING_AREA_URL = "/extApi/parkingArea/deleteParkingArea";
+ public static final String EXT_TC_ROOM_QRCODE = "3329000004";
- //娣诲姞杞﹁締
- public static final String ADD_OWNER_CAR_URL = "/extApi/car/addCar";
- //淇敼杞﹁締
- public static final String UPDATE_OWNER_CAR_URL = "/extApi/car/updateCar";
- //鍒犻櫎杞﹁締
- public static final String DELETE_OWNER_CAR_URL = "/extApi/car/deleteCar";
+ public static final String SERVICE_ID_COMMUNITY = "ZHSQ_XQSBXX";
- //娣诲姞杞﹁締
- public static final String ADD_CAR_BLACK_WHITE_URL = "/extApi/car/addBlackWhite";
+ public static final String SERVICE_ID_MACHINE = "ZHSQ_MJSBXX";
- //鍒犻櫎杞﹁締
- public static final String DELETE_CAR_BLACK_WHITE_URL = "/extApi/car/deleteBlackWhite";
+ public static final String SERVICE_ID_OWNER = "ZHSQ_ZHXX";
- //寮�闂ㄦ帴鍙�
- public static final String OPEN_DOOR = "/extApi/machine/openDoor";
+ public static final String SERVICE_ID_PERSON_INOUT = "ZHSQ_RYJCJL";
- //鑾峰彇浜岀淮鐮�
- public static final String GET_QRCODE = "/extApi/machine/getQRcode";
- //閲嶅惎鎺ュ彛
- public static final String RESTART_MACHINE = "/extApi/machine/restartMachine";
-
- //鏌ヨ涓存椂鍋滆溅璐硅鍗�
- public static final String GET_TEMP_CAR_FEE_ORDER = "/extApi/fee/getTempCarFeeOrder";
-
- //鏌ヨ涓存椂鍋滆溅璐硅鍗�
- public static final String NOTIFY_TEMP_CAR_FEE_ORDER = "/extApi/fee/notifyTempCarFeeOrder";
-
- //娣诲姞杞﹁締
- public static final String ADD_TEAM_CAR_FEE_CONFIG = "/extApi/fee/addTempCarFee";
- //淇敼杞﹁締
- public static final String UPDATE_TEAM_CAR_FEE_CONFIG = "/extApi/fee/updateTempCarFee";
- //鍒犻櫎杞﹁締
- public static final String DELETE_TEAM_CAR_FEE_CONFIG = "/extApi/fee/deleteTempCarFee";
-
- //娣诲姞鑰冨嫟鐝
- public static final String ADD_ATTENDANCE_CLASSES_STAFFS = "/extApi/attendance/addAttendanceClassStaffs";
-
-
- //鍒犻櫎鑰冨嫟鐝
- public static final String DELETE_ATTENDANCE_CLASSES_STAFFS = "/extApi/attendance/deleteAttendanceClassStaff";
-
- //娣诲姞鑰冨嫟鐝
- public static final String ADD_ATTENDANCE_CLASSES = "/extApi/attendance/addAttendanceClass";
- //淇敼鑰冨嫟鐝
- public static final String UPDATE_ATTENDANCE_CLASSES = "/extApi/attendance/updateAttendanceClass";
- //鍒犻櫎鑰冨嫟鐝
- public static final String DELETE_ATTENDANCE_CLASSES = "/extApi/attendance/deleteAttendanceClass";
-
- public static final String HC_TOKEN = "HC_ACCESS_TOKEN";
-
- //鍗曚綅涓虹
- public static final int DEFAULT_LOG_TIME = 5 * 60;
-
- //娣诲姞涓氫富
- public static final String ADD_OWNER = "/extApi/user/addUser";
- public static final String EDIT_OWNER = "/extApi/user/updateUser";
- public static final String DELETE_OWNER = "/extApi/user/deleteUser";
-
-
+ public static String getUrl() {
+ return getUrl("");
+ }
public static String getUrl(String param) {
String url = MappingCache.getValue(TC_DOMAIN, TianChuangConstant.TC_URL);
@@ -147,4 +90,14 @@
return appSecret;
}
+
+ public static String getCompany() {
+ String appSecret = MappingCache.getValue(TC_DOMAIN, TianChuangConstant.TC_COMPANY);
+
+ if (StringUtil.isEmpty(appSecret)) {
+ return DEFAULT_COMPANY;
+ }
+
+ return appSecret;
+ }
}
--
Gitblit v1.8.0