wuxw лет назад: 3
Родитель
Сommit
0bb1856a3c

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

@@ -45,6 +45,7 @@ public class OwnerCarDto extends PageDto implements Serializable {
     private String communityId;
     private String psId;
     private String[] psIds;
+    private String[] paIds;
     private String remark;
     private String ownerId;
     private String userId;
@@ -445,4 +446,12 @@ public class OwnerCarDto extends PageDto implements Serializable {
     public void setLeaseTypeName(String leaseTypeName) {
         this.leaseTypeName = leaseTypeName;
     }
+
+    public String[] getPaIds() {
+        return paIds;
+    }
+
+    public void setPaIds(String[] paIds) {
+        this.paIds = paIds;
+    }
 }

+ 1 - 1
java110-core/src/main/java/com/java110/core/factory/TempCarFeeFactory.java

@@ -55,7 +55,7 @@ public class TempCarFeeFactory {
         double min = 0.0;
         try {
             //不是支付完成 状态
-            if (CarInoutDto.STATE_PAY.equals(carInoutDto.getState())) {
+            if (CarInoutDto.STATE_PAY.equals(carInoutDto.getState()) || CarInoutDto.STATE_REPAY.equals(carInoutDto.getState())) {
 
                 try {
                     payTime = DateUtil.getDateFromString(carInoutDto.getPayTime(), DateUtil.DATE_FORMATE_STRING_A);

+ 6 - 0
java110-db/src/main/resources/mapper/user/OwnerCarServiceDaoImplMapper.xml

@@ -163,6 +163,12 @@
                 #{item}
             </foreach>
         </if>
+        <if test="paIds !=null">
+            and pa.pa_id in
+            <foreach collection="paIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>

+ 32 - 0
service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java

@@ -21,13 +21,16 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.carInoutPayment.CarInoutPaymentDto;
 import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
+import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
 import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
@@ -63,6 +66,9 @@ public class ListCarInParkingAreaCmd extends Cmd {
     @Autowired
     private IComputeFeeSMO computeFeeSMOImpl;
 
+    @Autowired
+    private ICarInoutPaymentV1InnerServiceSMO carInoutPaymentV1InnerServiceSMOImpl;
+
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -81,6 +87,7 @@ public class ListCarInParkingAreaCmd extends Cmd {
 
         if (count > 0) {
             carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+            freshPayTime(carInoutDtos);
             carInoutDtos = computeCarInouts(carInoutDtos);
         } else {
             carInoutDtos = new ArrayList<>();
@@ -93,6 +100,31 @@ public class ListCarInParkingAreaCmd extends Cmd {
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 
+    /**
+     * 输入最新的支付时间
+     * @param carInoutDtos
+     */
+    private void freshPayTime(List<CarInoutDto> carInoutDtos) {
+        for(CarInoutDto carInoutDto : carInoutDtos){
+            if(CarInoutDto.STATE_PAY.equals(carInoutDto.getState()) || CarInoutDto.STATE_REPAY.equals(carInoutDto.getState())){
+
+                //查询 支付记录 刷新payTime
+                CarInoutPaymentDto carInoutPaymentDto = new CarInoutPaymentDto();
+                carInoutPaymentDto.setInoutId(carInoutDto.getInoutId());
+                carInoutPaymentDto.setPage(1);
+                carInoutPaymentDto.setRow(1);
+               List<CarInoutPaymentDto> carInoutPaymentDtos =  carInoutPaymentV1InnerServiceSMOImpl.queryCarInoutPayments(carInoutPaymentDto);
+
+               if(carInoutPaymentDtos == null || carInoutPaymentDtos.size() < 1){
+                   carInoutDto.setPayTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+                   continue;
+               }
+
+               carInoutDto.setPayTime(carInoutPaymentDtos.get(0).getPayTime());
+            }
+        }
+    }
+
     private String[] getPaIds(JSONObject reqJson) {
         if (reqJson.containsKey("boxId") && !StringUtil.isEmpty(reqJson.getString("boxId"))) {
             ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();

+ 11 - 0
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java

@@ -138,10 +138,21 @@ public class MachineUploadCarLogCmd extends Cmd {
 
         Assert.listOnlyOne(machineDtos, "设备不存在");
 
+        List<String> paIds = new ArrayList<>();
+        ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+        parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+        List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+        if (parkingBoxAreaDtos != null && parkingBoxAreaDtos.size() >0) {
+            for(ParkingBoxAreaDto parkingBoxAreaDto1 : parkingBoxAreaDtos){
+                paIds.add(parkingBoxAreaDto1.getPaId());
+            }
+        }
+
         //查询车辆
         OwnerCarDto ownerCarDto = new OwnerCarDto();
         ownerCarDto.setCarNum(reqJson.getString("carNum"));
         ownerCarDto.setCommunityId(reqJson.getString("communityId"));
+        ownerCarDto.setPaIds(paIds.toArray(new String[paIds.size()]));
         List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
 
         //说明是临时车