Your Name
2023-08-26 7958f1dddb8a7f4e70d232b07a7703955ecedae0
service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeConfigInnerServiceSMOImpl.java
@@ -2,14 +2,15 @@
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.core.log.LoggerFactory;
import com.java110.dto.PageDto;
import com.java110.dto.fee.TempCarFeeResult;
import com.java110.dto.machine.CarInoutDetailDto;
import com.java110.dto.machine.CarInoutDto;
import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigAttrDto;
import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
import com.java110.dto.tempCarFeeConfig.TempCarFeeRuleDto;
import com.java110.dto.tempCarFeeConfig.TempCarFeeRuleSpecDto;
import com.java110.dto.fee.TempCarFeeConfigAttrDto;
import com.java110.dto.fee.TempCarFeeConfigDto;
import com.java110.dto.fee.TempCarFeeRuleDto;
import com.java110.dto.fee.TempCarFeeRuleSpecDto;
import com.java110.fee.dao.ITempCarFeeConfigServiceDao;
import com.java110.intf.fee.IComputeTempCarFee;
import com.java110.intf.fee.ITempCarFeeConfigAttrInnerServiceSMO;
@@ -18,7 +19,6 @@
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import org.slf4j.Logger;
import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@@ -134,9 +134,9 @@
                TempCarFeeResult result = computeTempCarFee.computeTempCarFee(carInoutDto, tempCarFeeConfigDtos.get(0), tempCarFeeConfigAttrDtos);
                carInoutDto.setMin(result.getMin());
                carInoutDto.setHours(result.getHours());
                if(CarInoutDto.CAR_TYPE_MONTH.equals(carInoutDto.getCarType())){
                    carInoutDto.setPayCharge( "0.00");
                }else {
                if (CarInoutDto.CAR_TYPE_MONTH.equals(carInoutDto.getCarType())) {
                    carInoutDto.setPayCharge("0.00");
                } else {
                    carInoutDto.setPayCharge(result.getPayCharge() + "");
                }
            } catch (Exception e) {
@@ -165,7 +165,16 @@
        IComputeTempCarFee computeTempCarFee = ApplicationContextFactory.getBean(tempCarFeeConfigDtos.get(0).getRuleId(), IComputeTempCarFee.class);
        for (CarInoutDetailDto carInoutDto : carInoutDtos) {
            try {
                if (CarInoutDetailDto.CAR_INOUT_IN.equals(carInoutDto.getCarInout())) {
                if (CarInoutDetailDto.CAR_INOUT_IN.equals(carInoutDto.getCarInout())
                        && !CarInoutDetailDto.STATE_OUT.equals(carInoutDto.getInState())
                ) {
                    //进场失败
                    if (CarInoutDetailDto.STATE_IN_FAIL.equals(carInoutDto.getInState())) {
                        carInoutDto.setMin(0);
                        carInoutDto.setHours(0);
                        carInoutDto.setPayCharge(0 + "");
                        continue;
                    }
                    TempCarFeeResult result = computeTempCarFee.computeTempCarFee(carInoutDto, tempCarFeeConfigDtos.get(0), tempCarFeeConfigAttrDtos);
                    carInoutDto.setMin(result.getMin());
                    carInoutDto.setHours(result.getHours());
@@ -173,7 +182,13 @@
                } else {
                    //获取停车时间
                    Date stateDate = DateUtil.getDateFromString(carInoutDto.getInTime(), DateUtil.DATE_FORMATE_STRING_A);
                    Date endDate = DateUtil.getDateFromString(carInoutDto.getOutTime(), DateUtil.DATE_FORMATE_STRING_A);
                    Date endDate = null;
                    if(carInoutDto.getOutTime() == null){
                        endDate = DateUtil.getCurrentDate();
                    }else{
                        endDate = DateUtil.getDateFromString(carInoutDto.getOutTime(), DateUtil.DATE_FORMATE_STRING_A);
                    }
                    long min = (endDate.getTime() - stateDate.getTime()) / (60 * 1000);
                    long hours = min / 60; //因为两者都是整数,你得到一个int
                    long minutes = min % 60;