2021与蓝度共同重构项目,服务端
C3
zhanzhiqin
2022-03-30 a688902be88d187bf6b8773be23780fca81d737d
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -5,6 +5,7 @@
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame;
@@ -15,10 +16,7 @@
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.param.C3ChargingAddParam;
import com.sandu.ximon.admin.param.C3ChargingParam;
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.PoleBinding;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -35,7 +33,7 @@
@Slf4j
@AllArgsConstructor
public class C3ChargingService extends BaseServiceImpl<C3mChargingMapper, C3mCharging> {
    private C3mChargingMapper c3mChargingMapper;
    private final C3mChargingChargeService c3mChargingChargeService;
    private final PoleBindingService bindingService;
    private final PoleService poleService;
@@ -106,9 +104,20 @@
     *
     * @return
     */
    public List<C3mCharging> getC3ChargingList(BaseConditionVO baseConditionVO) {
    public List<C3ChargingBo> getC3ChargingListByKeyword(BaseConditionVO baseConditionVO, C3ChargingParam c3ChargingParam) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        return list();
        if(c3ChargingParam == null){
            c3ChargingParam = new C3ChargingParam();
        }
        //关键字去除空格
        if (c3ChargingParam.getKeyword() != null) {
            c3ChargingParam.setKeyword(c3ChargingParam.getKeyword().trim());
        }
        List<C3ChargingBo> c3ChargingBoList
                = c3mChargingMapper.listC3mChargingDto(c3ChargingParam.getKeyword());
        return c3ChargingBoList;
    }
    /**
@@ -454,22 +463,34 @@
            throw new BusinessException("地址信息错误!");
        }
        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
        if (c3mCharging == null) {
            throw new BusinessException("C3MAC地址不存在");
        }
        if (getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, address)) != null) {
            throw new BusinessException("新的地址信息已存在!");
        }
        C3SetAddressReqInnerFrame setAddressReqInnerFrame =
                new C3SetAddressReqInnerFrame(c3Mac, address);
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setAddressReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
        if (c3mCharging == null) {
            throw new BusinessException("C3充电桩硬件mcu_udid不存在");
        }
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
        System.out.println(commonFrame + "            -----commonFrame");
        A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload());
        if (operationReportInnerFrame.isValidate()) {
            if ("操作成功".equals(operationReportInnerFrame.getState())) {
                //修改成功需要更改数据库数据
                C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
                one.setC3Mac(address);
                updateById(one);
            }
            return operationReportInnerFrame.getState();
        } else {
            throw new BusinessException("数据校验错误,请重新请求");