MrShi
11 小时以前 9eeb62c02a7b3c7b95c20678b6a9c74e7f12f943
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
package com.doumee.service.business.impl;
 
import com.doumee.core.constants.Constants;
import com.doumee.core.utils.ID;
import com.doumee.dao.business.MemberRidesTrackMapper;
import com.doumee.dao.business.model.MemberRidesTrack;
import com.doumee.service.business.MemberRidesTrackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.math.BigDecimal;
import java.util.Date;
 
/**
 * 电车骑行轨迹 Service 实现
 *
 * @author rk
 * @date 2026/06/25
 */
@Service
public class MemberRidesTrackServiceImpl implements MemberRidesTrackService {
 
    @Autowired
    private MemberRidesTrackMapper memberRidesTrackMapper;
 
    /**
     * 组装并落库一条轨迹点。
     * <p>主键用 {@link ID#nextGUID()};逻辑删除标记初始化为未删除。
     */
    @Override
    public void record(String bikeId, String bikeCode, String ridesId, String orderId,
                       BigDecimal longitude, BigDecimal latitude, Date reportTime) {
        MemberRidesTrack track = new MemberRidesTrack();
        track.setId(ID.nextGUID());
        // 骑行订单主键(必有,缓存命中即代表有活跃骑行记录)
        track.setRidesId(ridesId);
        // 支付订单主键(开锁时若未绑定 goodsorder 则为 null,轨迹允许空)
        track.setOrderId(orderId);
        track.setBikeId(bikeId);
        track.setBikeCode(bikeCode);
        track.setLongitude(longitude);
        track.setLatitude(latitude);
        track.setReportTime(reportTime);
        track.setCreateDate(new Date());
        track.setIsdeleted(Constants.ZERO);
        memberRidesTrackMapper.insert(track);
    }
}