Your Name
2023-08-26 7958f1dddb8a7f4e70d232b07a7703955ecedae0
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
@@ -3,22 +3,21 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.account.AccountDto;
import com.java110.dto.chargeMachine.ChargeMachineDto;
import com.java110.dto.chargeMachine.ChargeMachineFactoryDto;
import com.java110.dto.chargeMachine.ChargeMachineOrderDto;
import com.java110.dto.chargeMachine.NotifyChargeOrderDto;
import com.java110.dto.chargeMachine.ChargeMachineOrderCouponDto;
import com.java110.dto.chargeMachine.ChargeMachinePortDto;
import com.java110.dto.chargeMachine.ChargeRuleFeeDto;
import com.java110.dto.chargeMonthOrder.ChargeMonthOrderDto;
import com.java110.dto.user.UserDto;
import com.java110.dto.charge.ChargeMachineDto;
import com.java110.dto.charge.ChargeMachineFactoryDto;
import com.java110.dto.charge.ChargeMachineOrderDto;
import com.java110.dto.charge.NotifyChargeOrderDto;
import com.java110.dto.charge.ChargeMachineOrderCouponDto;
import com.java110.dto.charge.ChargeMachinePortDto;
import com.java110.dto.charge.ChargeRuleFeeDto;
import com.java110.dto.charge.ChargeMonthOrderDto;
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.common.*;
import com.java110.po.accountDetail.AccountDetailPo;
import com.java110.po.chargeMachineOrder.ChargeMachineOrderPo;
import com.java110.po.chargeMachineOrderAcct.ChargeMachineOrderAcctPo;
import com.java110.po.chargeMachineOrderCoupon.ChargeMachineOrderCouponPo;
import com.java110.po.chargeMachinePort.ChargeMachinePortPo;
import com.java110.po.account.AccountDetailPo;
import com.java110.po.charge.ChargeMachineOrderPo;
import com.java110.po.charge.ChargeMachineOrderAcctPo;
import com.java110.po.charge.ChargeMachineOrderCouponPo;
import com.java110.po.charge.ChargeMachinePortPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
@@ -130,7 +129,7 @@
        double usedHours = Math.ceil((calendar.getTime().getTime() - startTime.getTime()) / (60 * 60 * 1000.00));
        // 计算平均功率
        String power = energy;
        if (usedHours < 0) {
        if (usedHours <= 0) {
            usedHours = 0;
        } else {
            BigDecimal powerDec = new BigDecimal(Double.parseDouble(energy)).divide(new BigDecimal(usedHours), 2, BigDecimal.ROUND_HALF_UP);
@@ -233,7 +232,7 @@
        chargeMachineOrderAcctV1InnerServiceSMOImpl.saveChargeMachineOrderAcct(chargeMachineOrderAcctPo);
    }
    public boolean ifMonthCard(String personTel, String communityId) {
    public boolean ifMonthCard(String personTel, String communityId ) {
        ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
        chargeMonthOrderDto.setPersonTel(personTel);
@@ -248,7 +247,36 @@
        ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
        chargeMachineOrderDto.setPersonTel(personTel);
        chargeMachineOrderDto.setCommunityId(communityId);
        chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
        int count = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrdersCount(chargeMachineOrderDto);
        if(count >1){
            return false;
        }
        return true;
    }
    @Override
    public boolean ifStartMonthCard(String personTel, String communityId ) {
        ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
        chargeMonthOrderDto.setPersonTel(personTel);
        chargeMonthOrderDto.setCommunityId(communityId);
        chargeMonthOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        List<ChargeMonthOrderDto> chargeMonthOrderDtos = chargeMonthOrderV1InnerServiceSMOImpl.queryChargeMonthOrders(chargeMonthOrderDto);
        if (chargeMonthOrderDtos == null || chargeMonthOrderDtos.size() < 1) {
            return false;
        }
        //todo 今天是否又充过电
        ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
        chargeMachineOrderDto.setPersonTel(personTel);
        chargeMachineOrderDto.setCommunityId(communityId);
        chargeMachineOrderDto.setQueryStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
        chargeMachineOrderDto.setQueryEndTime(DateUtil.getAddDayStringB(DateUtil.getCurrentDate(),1));
        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
        List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
        if (chargeMachineOrderDtos == null || chargeMachineOrderDtos.size() < 1) {
@@ -268,6 +296,7 @@
        return false;
    }
    /**
     * 优惠券抵扣 小时
@@ -371,8 +400,8 @@
        chargeMachinePortV1InnerServiceSMOImpl.updateChargeMachinePort(chargeMachinePortPo);
        ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
        chargeMachineOrderDto.setMachineId(chargeMachineDto.getMachineId());
        chargeMachineOrderDto.setPortId(chargeMachinePortDto.getPortId());
        chargeMachineOrderDto.setMachineId(chargeMachineDtos.get(0).getMachineId());
        chargeMachineOrderDto.setPortId(chargeMachinePortDtos.get(0).getPortId());
        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_DOING);
        List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);