tj
2025-06-05 2d549a04870d1315868a7cf19952b64e8071e711
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
package com.cloudroam.controller.v1;
 
 
import com.cloudroam.common.LocalUser;
import com.cloudroam.dto.projectDailyMain.QueryProjectDailyMainCalenDarDTO;
import com.cloudroam.dto.projectDailyMain.QueryProjectDailyMainDTO;
import com.cloudroam.model.UserDO;
import com.cloudroam.service.ProjectDailyMainService;
import com.cloudroam.service.ProjectDailyService;
import io.github.talelin.core.annotation.LoginRequired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.cloudroam.model.ProjectDailyMainDO;
import com.cloudroam.vo.CreatedVO;
import com.cloudroam.vo.DeletedVO;
import com.cloudroam.vo.PageResponseVO;
import com.cloudroam.vo.UpdatedVO;
 
import javax.validation.constraints.Min;
import javax.validation.constraints.Max;
import javax.validation.constraints.Positive;
import java.util.List;
 
/**
* @author generator@TaoJie
* @since 2023-08-17
*/
@RestController
@RequestMapping("/v1/project-daily-main")
public class ProjectDailyMainController {
 
    @Autowired
    private ProjectDailyMainService projectDailyMainService;
 
    @PostMapping("")
    public CreatedVO create() {
        return new CreatedVO();
    }
 
    @PutMapping("/{id}")
    public UpdatedVO update(@PathVariable @Positive(message = "{id.positive}") Integer id) {
        return new UpdatedVO();
    }
 
    @DeleteMapping("/{id}")
    public DeletedVO delete(@PathVariable @Positive(message = "{id.positive}") Integer id) {
        return new DeletedVO();
    }
 
    @GetMapping("/{id}")
    public ProjectDailyMainDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) {
        return null;
    }
 
    @GetMapping("/dailyMain")
    @LoginRequired
    public ProjectDailyMainDO getDailyMain(@Validated QueryProjectDailyMainDTO dto) {
        UserDO userDO = LocalUser.getLocalUser();
        dto.setUseId(String.valueOf(userDO.getId()));
        List<ProjectDailyMainDO> dailyMainList = projectDailyMainService.getDailyMainList(dto);
        if(null!=dailyMainList && dailyMainList.size()>0){
            return dailyMainList.get(0);
        }else{
            return null;
//            //这里需要新建一个并返回
//            projectDailyMainService.createDailyMainDefault(dto);
//            dailyMainList = projectDailyMainService.getDailyMainList(dto);
//            return dailyMainList.get(0);
        }
 
    }
 
    @GetMapping("/month/personal")
    @LoginRequired
    public List<ProjectDailyMainDO> getDailyMainMonth(QueryProjectDailyMainCalenDarDTO dto) {
        UserDO userDO = LocalUser.getLocalUser();
        dto.setUserId(String.valueOf(userDO.getId()));
        List<ProjectDailyMainDO> dailyMainList = projectDailyMainService.getDailyMainListPersonal(dto);
        return dailyMainList;
 
    }
 
    @GetMapping("/uncommit/count/personal")
    @LoginRequired
    public Integer getDailyMainUncommit(QueryProjectDailyMainCalenDarDTO dto) {
 
        int count= projectDailyMainService.getDailyMainUncommitCount();
        return count;
 
    }
 
 
    @GetMapping("/page")
    public PageResponseVO<ProjectDailyMainDO> page(
            @RequestParam(name = "page", required = false, defaultValue = "0")
            @Min(value = 0, message = "{page.number.min}") Integer page,
            @RequestParam(name = "count", required = false, defaultValue = "10")
            @Min(value = 1, message = "{page.count.min}")
            @Max(value = 30, message = "{page.count.max}") Integer count
    ) {
        return null;
    }
 
 
 
}