2021与蓝度共同重构项目,服务端
liuhaonan
2022-03-16 e50188e29656c43a6b69b08694dd9ee6e3b6a2f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.sandu.ximon.admin.service;
 
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
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.request.C3FinishChargingReqInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.request.C3RestartChargingReqInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.request.C3StartChargingReqInnerFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @author ZZQ
 * C3充电桩
 * @date 2022/3/4 9:58
 */
@Service
@AllArgsConstructor
public class C3ChargingService extends BaseServiceImpl<C3mChargingMapper, C3mCharging> {
 
    /**
     * 保存上报C3充电设备心跳数据
     *
     * @return 是否成功
     */
    public boolean saveReportData(String deviceName, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage) {
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, deviceName));
 
        if (one == null) {
            //将设备信息添加到充电桩设备表
            C3mCharging c3mCharging = new C3mCharging();
            c3mCharging.setMcuUdid(deviceName);
            c3mCharging.setC3Mac(heartBeatDataPackage.getC3Mac());
            c3mCharging.setStatusBit(Integer.valueOf(heartBeatDataPackage.getStatusBit()));
            c3mCharging.setDeviceTemperature(heartBeatDataPackage.getDeviceTemperature());
            return save(c3mCharging);
        } else {
            one.setStatusBit(Integer.valueOf(heartBeatDataPackage.getStatusBit()));
            one.setDeviceTemperature(heartBeatDataPackage.getDeviceTemperature());
            return updateById(one);
        }
    }
 
    /**
     * 查询C3充电桩设备列表
     *
     * @return
     */
    public List<C3mCharging> getC3ChargingList(BaseConditionVO baseConditionVO) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        return list();
    }
 
    /**
     * 开始充电
     *
     * @param c3Mac
     * @param chargingCapacity
     * @param chargeAmount
     */
    public void startCharging(String c3Mac, Integer chargingCapacity, Double chargeAmount) {
        C3StartChargingReqInnerFrame c3StartChargingReqInnerFrame =
                new C3StartChargingReqInnerFrame(c3Mac, chargingCapacity, chargeAmount);
 
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3StartChargingReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
 
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC("32313243305008ff0a04ffff", a5Frame);
        System.out.println(commonFrame + "            -----commonFrame");
    }
 
    /**
     * 结束充电
     *
     * @param c3Mac
     */
    public void finishCharging(String c3Mac) {
        C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
                new C3FinishChargingReqInnerFrame(c3Mac);
 
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3FinishChargingReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
 
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC("32313243305008ff0a04ffff", a5Frame);
        System.out.println(commonFrame + "            -----commonFrame");
    }
 
    /**
     * 软重启
     *
     * @param c3Mac
     */
    public void restartCharging(String c3Mac) {
        C3RestartChargingReqInnerFrame c3RestartChargingReqInnerFrame =
                new C3RestartChargingReqInnerFrame(c3Mac);
 
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3RestartChargingReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
 
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC("32313243305008ff0a04ffff", a5Frame);
        System.out.println(commonFrame + "            -----commonFrame");
    }
}