From dd6687b118561100e1677e88a9c2f5842a54c531 Mon Sep 17 00:00:00 2001
From: jialh <1972868360@qq.com>
Date: 星期四, 16 四月 2026 18:14:14 +0800
Subject: [PATCH] 水电话费
---
service-store/src/main/java/com/java110/store/api/ContractApi.java | 192 +++++++++++++++++++++++------------------------
1 files changed, 94 insertions(+), 98 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/api/ContractApi.java b/service-store/src/main/java/com/java110/store/api/ContractApi.java
index cb87f6a..e62bbdd 100755
--- a/service-store/src/main/java/com/java110/store/api/ContractApi.java
+++ b/service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -5,28 +5,28 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.contract.ContractDto;
-import com.java110.dto.contractAttr.ContractAttrDto;
-import com.java110.dto.contractChangePlan.ContractChangePlanDto;
-import com.java110.dto.contractChangePlanDetail.ContractChangePlanDetailDto;
-import com.java110.dto.contractChangePlanDetailAttr.ContractChangePlanDetailAttrDto;
-import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
-import com.java110.dto.contractRoom.ContractRoomDto;
-import com.java110.dto.contractType.ContractTypeDto;
-import com.java110.dto.contractTypeSpec.ContractTypeSpecDto;
-import com.java110.dto.contractTypeTemplate.ContractTypeTemplateDto;
-import com.java110.entity.audit.AuditUser;
+import com.java110.dto.contract.ContractAttrDto;
+import com.java110.dto.contract.ContractChangePlanDto;
+import com.java110.dto.contract.ContractChangePlanDetailDto;
+import com.java110.dto.contract.ContractChangePlanDetailAttrDto;
+import com.java110.dto.contract.ContractCollectionPlanDto;
+import com.java110.dto.contract.ContractRoomDto;
+import com.java110.dto.contract.ContractTypeDto;
+import com.java110.dto.contract.ContractTypeSpecDto;
+import com.java110.dto.contract.ContractTypeTemplateDto;
+import com.java110.dto.audit.AuditUser;
import com.java110.po.contract.ContractPo;
-import com.java110.po.contractAttr.ContractAttrPo;
-import com.java110.po.contractChangePlan.ContractChangePlanPo;
-import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
-import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
-import com.java110.po.contractChangePlanRoom.ContractChangePlanRoomPo;
-import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
-import com.java110.po.contractFile.ContractFilePo;
-import com.java110.po.contractRoom.ContractRoomPo;
-import com.java110.po.contractType.ContractTypePo;
-import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
-import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
+import com.java110.po.contract.ContractAttrPo;
+import com.java110.po.contract.ContractChangePlanPo;
+import com.java110.po.contract.ContractChangePlanDetailPo;
+import com.java110.po.contract.ContractChangePlanDetailAttrPo;
+import com.java110.po.contract.ContractChangePlanRoomPo;
+import com.java110.po.contract.ContractCollectionPlanPo;
+import com.java110.po.contract.ContractFilePo;
+import com.java110.po.contract.ContractRoomPo;
+import com.java110.po.contract.ContractTypePo;
+import com.java110.po.contract.ContractTypeSpecPo;
+import com.java110.po.contract.ContractTypeTemplatePo;
import com.java110.store.bmo.contract.IDeleteContractBMO;
import com.java110.store.bmo.contract.IGetContractBMO;
import com.java110.store.bmo.contract.ISaveContractBMO;
@@ -66,7 +66,6 @@
import com.java110.store.bmo.contractTypeTemplate.*;
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.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -203,10 +202,10 @@
Assert.hasKeyAndValue(reqJson, "contractType", "璇锋眰鎶ユ枃涓湭鍖呭惈contractType");
Assert.hasKeyAndValue(reqJson, "partyA", "璇锋眰鎶ユ枃涓湭鍖呭惈partyA");
Assert.hasKeyAndValue(reqJson, "partyB", "璇锋眰鎶ユ枃涓湭鍖呭惈partyB");
- Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
- Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
- Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
- Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
+// Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
+// Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
+// Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
+// Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
Assert.hasKeyAndValue(reqJson, "operator", "璇锋眰鎶ユ枃涓湭鍖呭惈operator");
Assert.hasKeyAndValue(reqJson, "operatorLink", "璇锋眰鎶ユ枃涓湭鍖呭惈operatorLink");
Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
@@ -216,6 +215,7 @@
ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
contractPo.setStoreId(storeId);
contractPo.setStartUserId(userId);
+ contractPo.setCommunityId(reqJson.getString("communityId"));
if (!reqJson.containsKey("contractParentId") || "-1".equals(reqJson.getString("contractParentId"))) {
contractPo.setContractParentId("-1");
}
@@ -249,34 +249,36 @@
@RequestMapping(value = "/updateContract", method = RequestMethod.POST)
public ResponseEntity<String> updateContract(@RequestBody JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "contractCode", "璇锋眰鎶ユ枃涓湭鍖呭惈contractCode");
- Assert.hasKeyAndValue(reqJson, "contractName", "璇锋眰鎶ユ枃涓湭鍖呭惈contractName");
- Assert.hasKeyAndValue(reqJson, "contractType", "璇锋眰鎶ユ枃涓湭鍖呭惈contractType");
- Assert.hasKeyAndValue(reqJson, "partyA", "璇锋眰鎶ユ枃涓湭鍖呭惈partyA");
- Assert.hasKeyAndValue(reqJson, "partyB", "璇锋眰鎶ユ枃涓湭鍖呭惈partyB");
- Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
- Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
- Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
- Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
- Assert.hasKeyAndValue(reqJson, "operator", "璇锋眰鎶ユ枃涓湭鍖呭惈operator");
- Assert.hasKeyAndValue(reqJson, "operatorLink", "璇锋眰鎶ユ枃涓湭鍖呭惈operatorLink");
- Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
- Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
- Assert.hasKeyAndValue(reqJson, "signingTime", "璇锋眰鎶ユ枃涓湭鍖呭惈signingTime");
- Assert.hasKeyAndValue(reqJson, "contractId", "contractId涓嶈兘涓虹┖");
+// Assert.hasKeyAndValue(reqJson, "contractCode", "璇锋眰鎶ユ枃涓湭鍖呭惈contractCode");
+// Assert.hasKeyAndValue(reqJson, "contractName", "璇锋眰鎶ユ枃涓湭鍖呭惈contractName");
+// Assert.hasKeyAndValue(reqJson, "contractType", "璇锋眰鎶ユ枃涓湭鍖呭惈contractType");
+// Assert.hasKeyAndValue(reqJson, "partyA", "璇锋眰鎶ユ枃涓湭鍖呭惈partyA");
+// Assert.hasKeyAndValue(reqJson, "partyB", "璇锋眰鎶ユ枃涓湭鍖呭惈partyB");
+// Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
+// Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
+// Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
+// Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
+// Assert.hasKeyAndValue(reqJson, "operator", "璇锋眰鎶ユ枃涓湭鍖呭惈operator");
+// Assert.hasKeyAndValue(reqJson, "operatorLink", "璇锋眰鎶ユ枃涓湭鍖呭惈operatorLink");
+// Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
+// Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
+// Assert.hasKeyAndValue(reqJson, "signingTime", "璇锋眰鎶ユ枃涓湭鍖呭惈signingTime");
+// Assert.hasKeyAndValue(reqJson, "contractId", "contractId涓嶈兘涓虹┖");
- ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
+ ContractDto contractPo = BeanConvertUtil.covertBean(reqJson, ContractDto.class);
JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
List<ContractFilePo> contractFilePos = new ArrayList<>();
- for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
- JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
- ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
- contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
- contractFilePos.add(contractFilePo);
+ if (contractFiles != null) {
+ for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
+ JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
+ ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
+ contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
+ contractFilePos.add(contractFilePo);
+ }
}
- contractPo.setContractFilePo(contractFilePos);
+// contractPo.setContractFilePo(contractFilePos);
return updateContractBMOImpl.update(contractPo, reqJson);
}
@@ -354,7 +356,7 @@
*/
@RequestMapping(value = "/deleteContract", method = RequestMethod.POST)
public ResponseEntity<String> deleteContract(@RequestBody JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+// Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
Assert.hasKeyAndValue(reqJson, "contractId", "contractId涓嶈兘涓虹┖");
@@ -363,40 +365,6 @@
return deleteContractBMOImpl.delete(contractPo);
}
-
- /**
- * 寰俊鍒犻櫎娑堟伅妯℃澘
- *
- * @param storeId 鍟嗘埛ID
- * @param expiration 鍒版湡鍚堝悓鏍囪 1 鍒版湡鍚堝悓
- * @return
- * @serviceCode /contract/queryContract
- * @path /app/contract/queryContract
- */
- @RequestMapping(value = "/queryContract", method = RequestMethod.GET)
- public ResponseEntity<String> queryContract(@RequestHeader(value = "store-id") String storeId,
- @RequestParam(value = "state", required = false) String state,
- @RequestParam(value = "expiration", required = false) String expiration,
- @RequestParam(value = "objId", required = false) String objId,
- @RequestParam(value = "contractId", required = false) String contractId,
- @RequestParam(value = "contractCode", required = false) String contractCode,
- @RequestParam(value = "page") int page,
- @RequestParam(value = "row") int row) {
- ContractDto contractDto = new ContractDto();
- contractDto.setPage(page);
- contractDto.setRow(row);
- contractDto.setStoreId(storeId);
- contractDto.setState(state);
- contractDto.setObjId(objId);
- contractDto.setContractId(contractId);
- contractDto.setContractCode(contractCode);
- //濡傛灉鏄埌鏈熷悎鍚�
- if ("1".equals(expiration)) {
- contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
- contractDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- }
- return getContractBMOImpl.get(contractDto);
- }
/**
* 鍚堝悓璧疯崏寰呭姙
@@ -502,10 +470,12 @@
Assert.hasKeyAndValue(reqJson, "typeName", "璇锋眰鎶ユ枃涓湭鍖呭惈typeName");
Assert.hasKeyAndValue(reqJson, "audit", "璇锋眰鎶ユ枃涓湭鍖呭惈audit");
+ Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯缂栧彿");
ContractTypePo contractTypePo = BeanConvertUtil.covertBean(reqJson, ContractTypePo.class);
contractTypePo.setStoreId(storeId);
+ contractTypePo.setCommunityId(reqJson.getString("communityId"));
return saveContractTypeBMOImpl.save(contractTypePo);
}
@@ -558,12 +528,20 @@
*/
@RequestMapping(value = "/queryContractType", method = RequestMethod.GET)
public ResponseEntity<String> queryContractType(@RequestHeader(value = "store-id") String storeId,
+ @RequestParam(value = "audit", required = false) String audit,
+ @RequestParam(value = "typeName", required = false) String typeName,
+ @RequestParam(value = "contractTypeId", required = false) String contractTypeId,
+ @RequestParam(value = "communityId", required = false) String communityId,
@RequestParam(value = "page") int page,
@RequestParam(value = "row") int row) {
ContractTypeDto contractTypeDto = new ContractTypeDto();
contractTypeDto.setPage(page);
contractTypeDto.setRow(row);
- contractTypeDto.setStoreId(storeId);
+ contractTypeDto.setAudit(audit);
+ contractTypeDto.setTypeName(typeName);
+ contractTypeDto.setContractTypeId(contractTypeId);
+ contractTypeDto.setStoreId(null);
+ contractTypeDto.setCommunityId(communityId);
return getContractTypeBMOImpl.get(contractTypeDto);
}
@@ -649,7 +627,10 @@
* @path /app/contract/queryContractTypeSpec
*/
@RequestMapping(value = "/queryContractTypeSpec", method = RequestMethod.GET)
- public ResponseEntity<String> queryContractTypeSpec(@RequestHeader(value = "store-id") String storeId,
+ public ResponseEntity<String> queryContractTypeSpec(@RequestParam(value = "specName", required = false) String specName,
+ @RequestParam(value = "specShow", required = false) String specShow,
+ @RequestParam(value = "specCd", required = false) String specCd,
+ @RequestHeader(value = "store-id") String storeId,
@RequestParam(value = "page") int page,
@RequestParam(value = "row") int row,
@RequestParam(value = "contractTypeId") String contractTypeId) {
@@ -658,6 +639,9 @@
contractTypeSpecDto.setRow(row);
contractTypeSpecDto.setStoreId(storeId);
contractTypeSpecDto.setContractTypeId(contractTypeId);
+ contractTypeSpecDto.setSpecName(specName);
+ contractTypeSpecDto.setSpecShow(specShow);
+ contractTypeSpecDto.setSpecCd(specCd);
return getContractTypeSpecBMOImpl.get(contractTypeSpecDto);
}
@@ -860,8 +844,8 @@
roomInfo = rooms.getJSONObject(roomIndex);
contractChangePlanRoomPo = BeanConvertUtil.covertBean(roomInfo, ContractChangePlanRoomPo.class);
contractChangePlanRoomPo.setRoomName(roomInfo.getString("floorNum")
- +"-"+roomInfo.getString("unitNum")
- +"-"+roomInfo.getString("roomNum"));
+ + "-" + roomInfo.getString("unitNum")
+ + "-" + roomInfo.getString("roomNum"));
contractChangePlanRoomPos.add(contractChangePlanRoomPo);
}
}
@@ -869,7 +853,7 @@
ContractChangePlanDetailPo contractChangePlanDetailPo = BeanConvertUtil.covertBean(reqJson, ContractChangePlanDetailPo.class);
contractChangePlanDetailPo.setStoreId(storeId);
- return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo,contractChangePlanRoomPos);
+ return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo, contractChangePlanRoomPos, reqJson);
}
/**
@@ -927,8 +911,13 @@
@RequestParam(value = "row") int row,
@RequestParam(value = "contractId", required = false) String contractId,
@RequestParam(value = "contractName", required = false) String contractName,
- @RequestParam(value = "planId", required = false) String planId
- ) {
+ @RequestParam(value = "contractCode", required = false) String contractCode,
+ @RequestParam(value = "contractType", required = false) String contractType,
+ @RequestParam(value = "logStartTime", required = false) String logStartTime,
+ @RequestParam(value = "logEndTime", required = false) String logEndTime,
+ @RequestParam(value = "staffNameLike", required = false) String staffNameLike,
+ @RequestParam(value = "communityId", required = false) String communityId,
+ @RequestParam(value = "planId", required = false) String planId) {
ContractChangePlanDto contractChangePlanDto = new ContractChangePlanDto();
contractChangePlanDto.setPage(page);
contractChangePlanDto.setRow(row);
@@ -936,6 +925,12 @@
contractChangePlanDto.setContractId(contractId);
contractChangePlanDto.setContractName(contractName);
contractChangePlanDto.setPlanId(planId);
+ contractChangePlanDto.setContractCode(contractCode);
+ contractChangePlanDto.setContractType(contractType);
+ contractChangePlanDto.setStartTime(logStartTime);
+ contractChangePlanDto.setEndTime(logEndTime);
+ contractChangePlanDto.setStaffNameLike(staffNameLike);
+ contractChangePlanDto.setCommunityId(communityId);
return getContractChangePlanBMOImpl.get(contractChangePlanDto);
}
@@ -956,6 +951,7 @@
ContractChangePlanDto contractChangePlanDto = new ContractChangePlanDto();
contractChangePlanDto.setTaskId(reqJson.getString("taskId"));
contractChangePlanDto.setPlanId(reqJson.getString("planId"));
+ contractChangePlanDto.setContractId(reqJson.getString("contractId"));
contractChangePlanDto.setStoreId(storeId);
contractChangePlanDto.setAuditCode(reqJson.getString("state"));
contractChangePlanDto.setAuditMessage(reqJson.getString("remark"));
@@ -981,10 +977,10 @@
Assert.hasKeyAndValue(reqJson, "contractType", "璇锋眰鎶ユ枃涓湭鍖呭惈contractType");
Assert.hasKeyAndValue(reqJson, "partyA", "璇锋眰鎶ユ枃涓湭鍖呭惈partyA");
Assert.hasKeyAndValue(reqJson, "partyB", "璇锋眰鎶ユ枃涓湭鍖呭惈partyB");
- Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
- Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
- Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
- Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
+// Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
+// Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
+// Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
+// Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
Assert.hasKeyAndValue(reqJson, "operator", "璇锋眰鎶ユ枃涓湭鍖呭惈operator");
Assert.hasKeyAndValue(reqJson, "operatorLink", "璇锋眰鎶ユ枃涓湭鍖呭惈operatorLink");
Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
@@ -1013,10 +1009,10 @@
Assert.hasKeyAndValue(reqJson, "contractType", "璇锋眰鎶ユ枃涓湭鍖呭惈contractType");
Assert.hasKeyAndValue(reqJson, "partyA", "璇锋眰鎶ユ枃涓湭鍖呭惈partyA");
Assert.hasKeyAndValue(reqJson, "partyB", "璇锋眰鎶ユ枃涓湭鍖呭惈partyB");
- Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
- Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
- Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
- Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
+// Assert.hasKeyAndValue(reqJson, "aContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈aContacts");
+// Assert.hasKeyAndValue(reqJson, "aLink", "璇锋眰鎶ユ枃涓湭鍖呭惈aLink");
+// Assert.hasKeyAndValue(reqJson, "bContacts", "璇锋眰鎶ユ枃涓湭鍖呭惈bContacts");
+// Assert.hasKeyAndValue(reqJson, "bLink", "璇锋眰鎶ユ枃涓湭鍖呭惈bLink");
Assert.hasKeyAndValue(reqJson, "operator", "璇锋眰鎶ユ枃涓湭鍖呭惈operator");
Assert.hasKeyAndValue(reqJson, "operatorLink", "璇锋眰鎶ユ枃涓湭鍖呭惈operatorLink");
Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
--
Gitblit v1.8.0