ソースを参照

调整 查询车辆时如果是 支付超时 再次支付时 开始时间算 二次支付开始时间

wuxw 6 年 前
コミット
390d9e245c

+ 28 - 0
Api/src/main/java/com/java110/api/listener/carInout/ListCarInoutsListener.java

@@ -5,8 +5,10 @@ import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
+import com.java110.core.smo.fee.IFeeInnerServiceSMO;
 import com.java110.core.smo.hardwareAdapation.ICarInoutInnerServiceSMO;
 import com.java110.dto.FeeConfigDto;
+import com.java110.dto.FeeDto;
 import com.java110.dto.hardwareAdapation.CarInoutDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.FeeTypeConstant;
@@ -42,6 +44,9 @@ public class ListCarInoutsListener extends AbstractServiceApiListener {
     @Autowired
     private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeCarInoutConstant.LIST_CARINOUTS;
@@ -116,6 +121,29 @@ public class ListCarInoutsListener extends AbstractServiceApiListener {
 
         Date nowTime = new Date();
         Date inTime = null;
+        List<String> inoutIds = new ArrayList<>();
+        for(ApiCarInoutDataVo apiCarInoutDataVo : carInouts){
+            if("100600".equals(apiCarInoutDataVo.getState())){
+                inoutIds.add(apiCarInoutDataVo.getInoutId());
+            }
+        }
+
+        if(inoutIds.size()>0){
+            FeeDto feeDto = new FeeDto();
+            feeDto.setCommunityId(communityId);
+            feeDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
+            feeDto.setPayerObjIds(inoutIds.toArray(new String[inoutIds.size()]));
+            feeDto.setState("2008001");
+            feeDto.setFeeFlag("2006012");
+            List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+            for(FeeDto tmpFeeDto : feeDtos){
+                for(ApiCarInoutDataVo apiCarInoutDataVo : carInouts){
+                    if(tmpFeeDto.getPayerObjId().equals(apiCarInoutDataVo.getInoutId())){
+                        apiCarInoutDataVo.setInTime(DateUtil.getFormatTimeString(tmpFeeDto.getStartTime(),DateUtil.DATE_FORMATE_STRING_A));
+                    }
+                }
+            }
+        }
 
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(communityId);

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/FeeDto.java

@@ -22,6 +22,7 @@ public class FeeDto extends PageDto implements Serializable {
     private String feeId;
     private String userId;
     private String payerObjId;
+    private String[] payerObjIds;
     private String[] feeTypeCds;
 
     private String squarePrice;
@@ -174,4 +175,12 @@ public class FeeDto extends PageDto implements Serializable {
     public void setFeeFlag(String feeFlag) {
         this.feeFlag = feeFlag;
     }
+
+    public String[] getPayerObjIds() {
+        return payerObjIds;
+    }
+
+    public void setPayerObjIds(String[] payerObjIds) {
+        this.payerObjIds = payerObjIds;
+    }
 }

+ 12 - 0
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml

@@ -169,6 +169,12 @@
         <if test="payerObjId !=null and payerObjId != ''">
             and t.payer_obj_id= #{payerObjId}
         </if>
+        <if test="payerObjIds != null ">
+            and t.payer_obj_id in
+            <foreach collection="payerObjIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
         </if>
@@ -279,6 +285,12 @@
         <if test="payerObjId !=null and payerObjId != ''">
             and t.payer_obj_id= #{payerObjId}
         </if>
+        <if test="payerObjIds != null ">
+            and t.payer_obj_id in
+            <foreach collection="payerObjIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
         </if>