From 5ec9d821b673d46e12b4d899158020904fce71a8 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期六, 23 五月 2020 12:38:57 +0800
Subject: [PATCH] 优化申请钥匙
---
Api/src/main/java/com/java110/api/bmo/machineTranslate/impl/MachineTranslateBMOImpl.java | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 323 insertions(+), 0 deletions(-)
diff --git a/Api/src/main/java/com/java110/api/bmo/machineTranslate/impl/MachineTranslateBMOImpl.java b/Api/src/main/java/com/java110/api/bmo/machineTranslate/impl/MachineTranslateBMOImpl.java
index ad1389f..34a2cdb 100644
--- a/Api/src/main/java/com/java110/api/bmo/machineTranslate/impl/MachineTranslateBMOImpl.java
+++ b/Api/src/main/java/com/java110/api/bmo/machineTranslate/impl/MachineTranslateBMOImpl.java
@@ -1,8 +1,32 @@
package com.java110.api.bmo.machineTranslate.impl;
+import com.alibaba.fastjson.JSONObject;
import com.java110.api.bmo.ApiBaseBMO;
import com.java110.api.bmo.machineTranslate.IMachineTranslateBMO;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
+import com.java110.core.smo.file.IFileInnerServiceSMO;
+import com.java110.core.smo.hardwareAdapation.IApplicationKeyInnerServiceSMO;
+import com.java110.core.smo.owner.IOwnerInnerServiceSMO;
+import com.java110.dto.CommunityMemberDto;
+import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.hardwareAdapation.ApplicationKeyDto;
+import com.java110.dto.hardwareAdapation.CarInoutDto;
+import com.java110.dto.hardwareAdapation.MachineDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.utils.constant.*;
+import com.java110.utils.exception.ListenerExecuteException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
/**
* @ClassName MachineTranslateBMOImpl
@@ -14,4 +38,303 @@
**/
@Service("machineTranslateBMOImpl")
public class MachineTranslateBMOImpl extends ApiBaseBMO implements IMachineTranslateBMO {
+ @Autowired
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+ @Autowired
+ private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+ @Autowired
+ private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+ /**
+ * 娣诲姞灏忓尯淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject deleteMachineTranslate(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_MACHINE_TRANSLATE);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessMachineTranslate = new JSONObject();
+ businessMachineTranslate.putAll(paramInJson);
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMachineTranslate", businessMachineTranslate);
+ return business;
+ }
+ /**
+ * 娣诲姞灏忓尯淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addCarInoutDetail(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId, MachineDto machineDto) {
+
+
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_CAR_INOUT);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessCarInoutDetail = new JSONObject();
+ businessCarInoutDetail.put("carNum", paramInJson.getString("carNum"));
+ businessCarInoutDetail.put("inoutId", paramInJson.getString("inoutId"));
+ businessCarInoutDetail.put("communityId", communityId);
+ businessCarInoutDetail.put("machineId", machineDto.getMachineId());
+ businessCarInoutDetail.put("machineCode", machineDto.getMachineCode());
+ businessCarInoutDetail.put("carInout", machineDto.getDirection());
+ businessCarInoutDetail.put("detailId", "-1");
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCarInoutDetail", businessCarInoutDetail);
+ return business;
+ }
+
+
+ /**
+ * 娣诲姞灏忓尯淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addCarInout(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId) {
+
+ paramInJson.put("inoutId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_inoutId));
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_CAR_INOUT);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessCarInout = new JSONObject();
+ businessCarInout.put("carNum", paramInJson.getString("carNum"));
+ businessCarInout.put("inoutId", paramInJson.getString("inoutId"));
+ businessCarInout.put("communityId", communityId);
+ businessCarInout.put("state", "100300");
+ businessCarInout.put("inTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCarInout", businessCarInout);
+ return business;
+ }
+
+ /**
+ * 娣诲姞鐗╀笟璐圭敤
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addCarInoutFee(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId) {
+ return addCarInoutFee(paramInJson, dataFlowContext, communityId, DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ }
+
+
+ /**
+ * 娣诲姞鐗╀笟璐圭敤
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addCarInoutFee(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId, String startTime) {
+ CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+ communityMemberDto.setCommunityId(communityId);
+ communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.PROPERTY);
+ List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+ String storeId = "-1";
+ if (communityMemberDtos != null && communityMemberDtos.size() > 0) {
+ storeId = communityMemberDtos.get(0).getMemberId();
+ }
+
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
+ feeConfigDto.setIsDefault("T");
+ feeConfigDto.setCommunityId(communityId);
+ List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+ if (feeConfigDtos == null || feeConfigDtos.size() != 1) {
+ throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡鍒拌垂鐢ㄩ厤缃俊鎭紝鏌ヨ澶氭潯鏁版嵁");
+ }
+
+ feeConfigDto = feeConfigDtos.get(0);
+
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessUnit = new JSONObject();
+ businessUnit.put("feeId", "-1");
+ businessUnit.put("configId", feeConfigDto.getConfigId());
+ businessUnit.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
+ businessUnit.put("incomeObjId", storeId);
+ businessUnit.put("amount", "-1.00");
+ businessUnit.put("startTime", startTime);
+ businessUnit.put("endTime", DateUtil.getLastTime()); // 涓存椂杞﹀皢缁撴潫鏃堕棿鍒锋垚2038骞�
+ businessUnit.put("communityId", communityId);
+ businessUnit.put("payerObjId", paramInJson.getString("inoutId"));
+ businessUnit.put("payerObjType", "9999");
+ businessUnit.put("feeFlag", "2006012"); // 涓�娆℃�ц垂鐢�
+ businessUnit.put("state", "2008001"); // 鏀惰垂涓�
+ businessUnit.put("userId", "-1");
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFee", businessUnit);
+
+ return business;
+ }
+
+ public JSONObject modifyCarInout(JSONObject reqJson, DataFlowContext context, CarInoutDto carInoutDto) {
+ return modifyCarInout(reqJson, context, carInoutDto, "100500", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+ }
+
+ public JSONObject modifyCarInout(JSONObject reqJson, DataFlowContext context, CarInoutDto carInoutDto, String state, String endTime) {
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_CAR_INOUT);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessCarInout = new JSONObject();
+ businessCarInout.putAll(BeanConvertUtil.beanCovertMap(carInoutDto));
+ businessCarInout.put("state", state);
+ businessCarInout.put("outTime", endTime);
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCarInout", businessCarInout);
+ return business;
+ }
+
+ /**
+ * 淇濆瓨鐓х墖
+ *
+ * @param reqJson
+ * @param context
+ */
+ public JSONObject savePhoto(JSONObject reqJson, DataFlowContext context) {
+
+
+ FileDto fileDto = new FileDto();
+ fileDto.setCommunityId(reqJson.getString("communityId"));
+ fileDto.setFileId(reqJson.getString("fileId"));
+ fileDto.setFileName(reqJson.getString("fileId"));
+ fileDto.setContext(reqJson.getString("photo"));
+ fileDto.setSuffix("jpeg");
+ String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+ 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", reqJson.getString("relTypeCd"));
+ businessUnit.put("saveWay", "table");
+ businessUnit.put("objId", reqJson.getString("userId"));
+ businessUnit.put("fileRealName", reqJson.getString("fileId"));
+ businessUnit.put("fileSaveName", fileName);
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFileRel", businessUnit);
+
+ return business;
+ }
+
+
+ /**
+ * 娣诲姞灏忓尯淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addMachineRecord(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+ if (!paramInJson.containsKey("openTypeCd")) {
+ paramInJson.put("openTypeCd", "1000");
+ }
+
+ if (!paramInJson.containsKey("recordTypeCd")) {
+ paramInJson.put("openTypeCd", "8888");
+ }
+ paramInJson.put("fileTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+
+ String objId = paramInJson.getString("userId");
+ //杩欓噷objId 鍙兘鏄� 涓氫富ID 涔熷彲鑳芥槸閽ュ寵ID
+ //鍏堟牴鎹笟涓籌D鍘绘煡璇�
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setCommunityId(paramInJson.getString("communityId"));
+ ownerDto.setMemberId(objId);
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+
+ if (ownerDtos != null && ownerDtos.size() > 0) {
+ Assert.listOnlyOne(ownerDtos, "鏍规嵁涓氫富ID鏌ヨ鍒板鏉¤褰�");
+ paramInJson.put("name", ownerDtos.get(0).getName());
+ paramInJson.put("tel", ownerDtos.get(0).getLink());
+ paramInJson.put("idCard", ownerDtos.get(0).getIdCard());
+ paramInJson.put("relTypeCd", "10000");
+ } else { //閽ュ寵鐢宠ID
+ ApplicationKeyDto applicationKeyDto = new ApplicationKeyDto();
+ applicationKeyDto.setCommunityId(paramInJson.getString("communityId"));
+ applicationKeyDto.setApplicationKeyId(objId);
+ List<ApplicationKeyDto> applicationKeyDtos = applicationKeyInnerServiceSMOImpl.queryApplicationKeys(applicationKeyDto);
+
+ Assert.listOnlyOne(applicationKeyDtos, "鏍规嵁閽ュ寵ID鏈煡璇㈠埌璁板綍鎴栨煡璇㈠埌澶氭潯璁板綍");
+
+ paramInJson.put("name", applicationKeyDtos.get(0).getName());
+ paramInJson.put("tel", applicationKeyDtos.get(0).getTel());
+ paramInJson.put("idCard", applicationKeyDtos.get(0).getIdCard());
+ paramInJson.put("relTypeCd", "30000");
+
+ }
+
+
+ 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;
+ }
+ /**
+ * 娣诲姞灏忓尯淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject addMachineTranslate(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_MACHINE_TRANSLATE);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessMachineTranslate = new JSONObject();
+ businessMachineTranslate.putAll(paramInJson);
+ businessMachineTranslate.put("machineTranslateId", "-1");
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMachineTranslate", businessMachineTranslate);
+ return business;
+ }
+ /**
+ * 娣诲姞璁惧鍚屾淇℃伅
+ *
+ * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+ * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+ * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+ */
+ public JSONObject updateMachineTranslate(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+ JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+ business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_MACHINE_TRANSLATE);
+ business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+ business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+ JSONObject businessMachineTranslate = new JSONObject();
+ businessMachineTranslate.putAll(paramInJson);
+ //璁$畻 搴旀敹閲戦
+ business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMachineTranslate", businessMachineTranslate);
+ return business;
+ }
}
--
Gitblit v1.8.0