From 3bf3eb6ca9c4dbe5ba716abfb653c0b95c130f21 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 24 五月 2020 10:43:43 +0800
Subject: [PATCH] 优化小程序注册功能

---
 Api/src/main/java/com/java110/api/bmo/applicationKey/impl/ApplicationKeyBMOImpl.java |  145 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 138 insertions(+), 7 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/bmo/applicationKey/impl/ApplicationKeyBMOImpl.java b/Api/src/main/java/com/java110/api/bmo/applicationKey/impl/ApplicationKeyBMOImpl.java
index 39bd80f..73cdbf7 100644
--- a/Api/src/main/java/com/java110/api/bmo/applicationKey/impl/ApplicationKeyBMOImpl.java
+++ b/Api/src/main/java/com/java110/api/bmo/applicationKey/impl/ApplicationKeyBMOImpl.java
@@ -9,9 +9,13 @@
 import com.java110.core.smo.file.IFileRelInnerServiceSMO;
 import com.java110.core.smo.hardwareAdapation.IApplicationKeyInnerServiceSMO;
 import com.java110.core.smo.hardwareAdapation.IMachineInnerServiceSMO;
+import com.java110.core.smo.owner.IOwnerRoomRelInnerServiceSMO;
+import com.java110.dto.community.CommunityDto;
 import com.java110.dto.file.FileRelDto;
 import com.java110.dto.hardwareAdapation.ApplicationKeyDto;
 import com.java110.dto.hardwareAdapation.MachineDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.util.Assert;
@@ -22,6 +26,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import java.util.Random;
 
@@ -47,6 +52,8 @@
 
     @Autowired
     private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
+    @Autowired
+    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
     /**
      * 娣诲姞灏忓尯淇℃伅
      *
@@ -219,12 +226,14 @@
         String applicationKeyId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applicationKeyId);
         paramInJson.put("applicationKeyId",applicationKeyId);
         //鏍规嵁浣嶇疆id 鍜� 浣嶇疆瀵硅薄鏌ヨ鐩稿簲 璁惧ID
-        MachineDto machineDto = new MachineDto();
-        machineDto.setLocationObjId(paramInJson.getString("locationObjId"));
-        machineDto.setLocationTypeCd(paramInJson.getString("locationTypeCd"));
-        List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
-
-        Assert.listOnlyOne(machineDtos, "璇ヤ綅缃繕娌℃湁鐩稿簲鐨勯棬绂佽澶�");
+        if(!paramInJson.containsKey("machineId")) {
+            MachineDto machineDto = new MachineDto();
+            machineDto.setLocationObjId(paramInJson.getString("locationObjId"));
+            machineDto.setLocationTypeCd(paramInJson.getString("locationTypeCd"));
+            List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
+            Assert.listOnlyOne(machineDtos, "璇ヤ綅缃繕娌℃湁鐩稿簲鐨勯棬绂佽澶�");
+            paramInJson.put("machineId",machineDtos.get(0).getMachineId());
+        }
 
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
         business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_APPLICATION_KEY);
@@ -232,7 +241,7 @@
         business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessApplicationKey = new JSONObject();
         businessApplicationKey.putAll(paramInJson);
-        businessApplicationKey.put("machineId", machineDtos.get(0).getMachineId());
+        //businessApplicationKey.put("machineId", machineId);
         businessApplicationKey.put("applicationKeyId", applicationKeyId);
         businessApplicationKey.put("state", "10002");
         businessApplicationKey.put("pwd",this.getRandom());
@@ -241,6 +250,35 @@
             calendar.add(Calendar.HOUR, 24);
             businessApplicationKey.put("endTime", DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_A));
         }
+        //璁$畻 搴旀敹閲戦
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessApplicationKey", businessApplicationKey);
+        return business;
+    }
+
+
+    /**
+     * 娣诲姞灏忓尯淇℃伅
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public JSONObject addApplicationVisitKey(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        //鏌ヨ 鏄惁浣忔埛瀵嗙爜宸茬粡瀹℃牳瀹屾垚
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_APPLICATION_KEY);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessApplicationKey = new JSONObject();
+        businessApplicationKey.putAll(paramInJson);
+        businessApplicationKey.put("applicationKeyId", paramInJson.getString("applicationKeyId"));
+        businessApplicationKey.put("state", "10001");
+        businessApplicationKey.put("typeFlag", "1100103");
+        businessApplicationKey.put("startTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+
         //璁$畻 搴旀敹閲戦
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessApplicationKey", businessApplicationKey);
         return business;
@@ -286,4 +324,97 @@
         return business;
     }
 
+
+    /**
+     * 娣诲姞灏忓尯淇℃伅
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public JSONObject addMachineRecord(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        //paramInJson.put("fileTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+        paramInJson.put("name", "鍖垮悕");
+        paramInJson.put("tel", "");
+        paramInJson.put("idCard", "");
+        paramInJson.put("openTypeCd", "2000");
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_MACHINE_RECORD);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessMachineRecord = new JSONObject();
+        businessMachineRecord.putAll(paramInJson);
+        businessMachineRecord.put("machineRecordId", "-1");
+        //璁$畻 搴旀敹閲戦
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMachineRecord", businessMachineRecord);
+        return business;
+    }
+    /**
+     * 娣诲姞灏忓尯妤间俊鎭�
+     * <p>
+     * * name:'',
+     * *                 age:'',
+     * *                 link:'',
+     * *                 sex:'',
+     * *                 remark:''
+     *
+     * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public JSONObject addMember(JSONObject paramInJson) {
+
+        //鏍规嵁鎴垮眿ID鏌ヨ涓氫富ID锛岃嚜鍔ㄧ敓鎴愭垚鍛業D
+        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+        ownerRoomRelDto.setRoomId(paramInJson.getString("roomId"));
+        List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+
+        Assert.listOnlyOne(ownerRoomRelDtoList, "鏍规嵁鎴垮眿鏌ヨ涓嶅埌涓氫富淇℃伅鎴栨煡璇㈠埌澶氭潯");
+        paramInJson.put("ownerId", ownerRoomRelDtoList.get(0).getOwnerId());
+
+
+        String memberId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId);
+        paramInJson.put("memberId", memberId);
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessOwner = new JSONObject();
+        businessOwner.putAll(paramInJson);
+        businessOwner.put("ownerTypeCd", "1004");//涓存椂浜哄憳
+        businessOwner.put("state", "1000");//寰呭鏍�
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOwner", businessOwner);
+
+        return business;
+    }
+
+
+    /**
+     * 娣诲姞鐗╀笟璐圭敤
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public JSONObject addOwnerKeyPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.put("fileRelId", "-1");
+        businessUnit.put("relTypeCd", "10000");
+        businessUnit.put("saveWay", "table");
+        businessUnit.put("objId", paramInJson.getString("memberId"));
+        businessUnit.put("fileRealName", paramInJson.getString("ownerPhotoId"));
+        businessUnit.put("fileSaveName", paramInJson.getString("fileSaveName"));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFileRel", businessUnit);
+
+        return business;
+    }
+
 }

--
Gitblit v1.8.0