2021与蓝度共同重构项目,服务端
liuhaonan
2022-06-29 2750173a6e25c8908d258d729da5fcd355756fdd
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -6,6 +6,7 @@
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.C3mRedisConfig;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
@@ -26,13 +27,15 @@
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mChargingCharge;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.C3mOrder;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -59,17 +62,11 @@
     * @return 是否成功
     */
    public boolean updateReportState(String deviceName, String c3Mac, String statusBit, String deviceTemperature) {
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, deviceName));
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
        if (one != null) {
//            one.setStatusBit(Integer.valueOf(statusBit));
            one.setDeviceTemperature(deviceTemperature);
            one.setPoleDevicesCode(deviceName);
            one.setC3Mac(c3Mac);
//            List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, one.getC3Id()));
//            if (list.size() == 0) {//费率表中没有此充电桩数据时  添加默认费率
//                c3mChargingChargeService.initCharge((one.getC3Id()).intValue());
//            }
            return updateById(one);
        } else {
            return false;
@@ -330,6 +327,7 @@
     * @param c3Mac
     */
    public String finishCharging(String c3Mac) {
        C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
                new C3FinishChargingReqInnerFrame(c3Mac);
@@ -346,6 +344,18 @@
        A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload());
        //结束充电 更改订单状态
        C3mOrder lastOrderByC3Mac = SpringContextHolder.getBean(C3mOrderService.class).getLastOrderByC3Mac(c3Mac);
        if (lastOrderByC3Mac != null) {
            lastOrderByC3Mac.setOrderStatus(OrderStatus.COMPLETE.getStatus());
            BigDecimal actualChargingCapacity = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacity());
            BigDecimal actualChargingCapacityHide = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacityHide());
            lastOrderByC3Mac.setActualChargingCapacity(actualChargingCapacity.add(actualChargingCapacityHide).doubleValue());
            //设置订单结束时间
            lastOrderByC3Mac.setStopChargingTimestamp(System.currentTimeMillis());
            lastOrderByC3Mac.setActualChargingCapacity(0.00);
            SpringContextHolder.getBean(C3mOrderService.class).updateById(lastOrderByC3Mac);
        }
        if (operationReportInnerFrame.isValidate()) {
            return operationReportInnerFrame.getState();
        } else {