|
|
@@ -1,13 +1,17 @@
|
|
|
package com.java110.fee.bmo.payFeeAudit.impl;
|
|
|
|
|
|
import com.java110.core.smo.IComputeFeeSMO;
|
|
|
+import com.java110.dto.RoomDto;
|
|
|
import com.java110.dto.fee.FeeDto;
|
|
|
import com.java110.dto.order.BusinessDto;
|
|
|
import com.java110.dto.order.OrderDto;
|
|
|
+import com.java110.dto.owner.OwnerCarDto;
|
|
|
import com.java110.dto.payFeeAudit.PayFeeAuditDto;
|
|
|
import com.java110.fee.bmo.payFeeAudit.IGetPayFeeAuditBMO;
|
|
|
import com.java110.intf.IPayFeeAuditInnerServiceSMO;
|
|
|
+import com.java110.intf.community.IRoomInnerServiceSMO;
|
|
|
import com.java110.intf.order.IOrderInnerServiceSMO;
|
|
|
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
|
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
|
import com.java110.utils.util.StringUtil;
|
|
|
import com.java110.vo.ResultVo;
|
|
|
@@ -31,12 +35,28 @@ public class GetPayFeeAuditBMOImpl implements IGetPayFeeAuditBMO {
|
|
|
@Autowired
|
|
|
private IOrderInnerServiceSMO orderInnerServiceSMOImpl;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
|
|
|
+
|
|
|
/**
|
|
|
* @param payFeeAuditDto
|
|
|
* @return 订单服务能够接受的报文
|
|
|
*/
|
|
|
public ResponseEntity<String> get(PayFeeAuditDto payFeeAuditDto) {
|
|
|
|
|
|
+ if (!refreshRoomPayObjId(payFeeAuditDto)) {
|
|
|
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("[]", HttpStatus.OK);
|
|
|
+ return responseEntity;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!refreshCarPayObjId(payFeeAuditDto)) {
|
|
|
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("[]", HttpStatus.OK);
|
|
|
+ return responseEntity;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
int count = payFeeAuditInnerServiceSMOImpl.queryPayFeeAuditsCount(payFeeAuditDto);
|
|
|
|
|
|
@@ -56,6 +76,61 @@ public class GetPayFeeAuditBMOImpl implements IGetPayFeeAuditBMO {
|
|
|
return responseEntity;
|
|
|
}
|
|
|
|
|
|
+ private boolean refreshCarPayObjId(PayFeeAuditDto payFeeAuditDto) {
|
|
|
+ String payObjId = payFeeAuditDto.getPayerObjId();
|
|
|
+ if (StringUtil.isEmpty(payObjId)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(payFeeAuditDto.getPayerObjId())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ OwnerCarDto ownerCarDto = new OwnerCarDto();
|
|
|
+ ownerCarDto.setCarNum(payObjId);
|
|
|
+ ownerCarDto.setCommunityId(payFeeAuditDto.getCommunityId());
|
|
|
+ List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
|
|
|
+
|
|
|
+ if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ payFeeAuditDto.setPayerObjId(ownerCarDtos.get(0).getCarId());
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean refreshRoomPayObjId(PayFeeAuditDto payFeeAuditDto) {
|
|
|
+ String payObjId = payFeeAuditDto.getPayerObjId();
|
|
|
+ if (StringUtil.isEmpty(payObjId)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!payObjId.contains("-")) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ String[] payObjIds = payObjId.split("-");
|
|
|
+
|
|
|
+ if (payObjIds.length < 3) {
|
|
|
+ throw new IllegalArgumentException("房屋编号格式错误,应该为 楼栋-单元-房屋");
|
|
|
+ }
|
|
|
+ RoomDto roomDto = new RoomDto();
|
|
|
+ roomDto.setCommunityId(payFeeAuditDto.getCommunityId());
|
|
|
+ roomDto.setFloorNum(payObjIds[0]);
|
|
|
+ roomDto.setUnitNum(payObjIds[1]);
|
|
|
+ roomDto.setRoomNum(payObjIds[2]);
|
|
|
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
|
|
|
+
|
|
|
+ if (roomDtos == null || roomDtos.size() < 1) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ payFeeAuditDto.setPayerObjId(roomDtos.get(0).getRoomId());
|
|
|
+ return true;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
private void frashRoomAndStaff(List<PayFeeAuditDto> payFeeAuditDtos) {
|
|
|
|
|
|
if (payFeeAuditDtos == null || payFeeAuditDtos.size() < 1) {
|