puzhibing
2026-04-20 f5560820431163db68ccea4c850fb90a0eebf467
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
package com.xiaopeng.maintenance.controller;
 
 
import com.xiaopeng.api.model.maintenance.XpCruiseCheckInRecord;
import com.xiaopeng.api.vo.account.LoginOperationUser;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.maintenance.model.vo.AppXpCruiseCheckInLocationVo;
import com.xiaopeng.maintenance.model.vo.AppXpCruiseCheckInRuleVo;
import com.xiaopeng.maintenance.model.vo.CheckInMessageVo;
import com.xiaopeng.maintenance.model.vo.RealTimePositionVo;
import com.xiaopeng.maintenance.service.IXpCruiseCheckInRecordService;
import com.xiaopeng.maintenance.service.IXpCruiseCheckInRuleService;
import com.xiaopeng.maintenance.vo.XpCruiseCheckInRecordQuery;
import com.xiaopeng.maintenance.vo.XpCruiseCheckInRecordVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * 巡游打卡规则
 */
@RestController
@RequestMapping("")
public class XpCruiseCheckInRuleController {
 
    @Resource
    public IXpCruiseCheckInRuleService xpCruiseCheckInRuleService;
 
    @Resource
    private TokenService tokenService;
 
    @Resource
    private IXpCruiseCheckInRecordService xpCruiseCheckInRecordService;
 
    @ApiOperation(value = "获取个人中心巡游打卡任务", tags = {"运维APP-个人中心"})
    @GetMapping("/maintenance-app/api/v1/cruiseCheckInRule/getMyXpCruiseCheckInRule")
    public R<AppXpCruiseCheckInRuleVo> getMyXpCruiseCheckInRule() {
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        AppXpCruiseCheckInRuleVo myXpCruiseCheckInRule = xpCruiseCheckInRuleService.getMyXpCruiseCheckInRule(loginOperationUser.getId());
        return R.ok(myXpCruiseCheckInRule);
    }
 
 
    @ApiOperation(value = "获取巡游打卡定位列表", tags = {"运维APP-个人中心"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "任务id", name = "id", required = true, dataType = "Integer")
    })
    @GetMapping("/maintenance-app/api/v1/cruiseCheckInRule/getAppXpCruiseCheckInLocation/{id}")
    public R<List<AppXpCruiseCheckInLocationVo>> getAppXpCruiseCheckInLocation(@PathVariable("id") Integer id){
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        List<AppXpCruiseCheckInLocationVo> appXpCruiseCheckInLocation = xpCruiseCheckInRuleService.getAppXpCruiseCheckInLocation(id, loginOperationUser.getId());
        return R.ok(appXpCruiseCheckInLocation);
    }
 
 
 
    @ApiOperation(value = "巡游打卡操作", tags = {"运维APP-个人中心"})
    @PostMapping("/maintenance-app/api/v1/cruiseCheckInRule/saveCruiseCheckInRecord")
    public R<?> saveCruiseCheckInRecord(@RequestBody XpCruiseCheckInRecord dto){
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        dto.setOperationsUserId(loginOperationUser.getId());
        xpCruiseCheckInRuleService.saveCruiseCheckInRecord(dto);
        return R.ok();
    }
 
 
 
    @ApiOperation(value = "巡游打卡5秒钟轮询上传实时位置", tags = {"运维APP-个人中心"})
    @PostMapping("/maintenance-app/api/v1/cruiseCheckInRule/uploadRealTimePosition")
    public R<CheckInMessageVo> uploadRealTimePosition(@RequestBody RealTimePositionVo dto){
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        CheckInMessageVo checkInMessageVo = xpCruiseCheckInRuleService.uploadRealTimePosition(dto, loginOperationUser.getId());
        return R.ok(checkInMessageVo);
    }
 
 
 
    @ApiOperation(value = "获取打卡结果详情", tags = {"运维APP-个人中心"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "任务id", name = "id", required = true, dataType = "Integer"),
            @ApiImplicitParam(value = "打卡点位id", name = "locationId", required = true, dataType = "Long")
    })
 
    @GetMapping("/maintenance-app/api/v1/cruiseCheckInRule/getCruiseCheckInRecordInfo/{id}/{locationId}")
    public R<XpCruiseCheckInRecord> getCruiseCheckInRecordInfo(@PathVariable("id") Integer id, @PathVariable("locationId") Long locationId) {
        LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser();
        XpCruiseCheckInRecord cruiseCheckInRecordInfo = xpCruiseCheckInRuleService.getCruiseCheckInRecordInfo(id, locationId, loginOperationUser.getId());
        return R.ok(cruiseCheckInRecordInfo);
    }
 
    @ApiOperation(value = "查询巡游打卡记录列表", tags = {"管理后台-巡游打卡管理"})
    @PostMapping("/maintenance-admin/api/v1/cruiseCheckInRecord/pageList")
    public R<PageInfo<XpCruiseCheckInRecordVO>> pageList(@RequestBody XpCruiseCheckInRecordQuery query) {
        PageInfo<XpCruiseCheckInRecordVO> pageInfo = xpCruiseCheckInRecordService.pageList(query);
        return R.ok(pageInfo);
    }
 
    @ApiOperation(value = "查询巡游打卡记录详情", tags = {"管理后台-巡游打卡管理"})
    @GetMapping("/maintenance-admin/api/v1/cruiseCheckInRecord/{id}")
    public R<XpCruiseCheckInRecordVO> pageList(@PathVariable("id")Long id) {
        XpCruiseCheckInRecordVO xpCruiseCheckInRecordVO = xpCruiseCheckInRecordService.detail(id);
        return R.ok(xpCruiseCheckInRecordVO);
    }
 
}