Skip to content

Commit db4c714

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 9d659ae + ec4c746 commit db4c714

File tree

5 files changed

+100
-34
lines changed

5 files changed

+100
-34
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.tml.otowbackend.pojo.DTO;
2+
3+
import com.tml.otowbackend.constants.CodeLanguage;
4+
import com.tml.otowbackend.pojo.DO.Project;
5+
import com.tml.otowbackend.pojo.VO.QueryProjectResponseVO;
6+
import lombok.AllArgsConstructor;
7+
import lombok.Builder;
8+
import lombok.Data;
9+
import lombok.NoArgsConstructor;
10+
11+
import java.util.List;
12+
13+
/**
14+
* @Description
15+
* @Author welsir
16+
* @Date 2024/12/2 19:30
17+
*/
18+
@Data
19+
@AllArgsConstructor
20+
@NoArgsConstructor
21+
@Builder
22+
public class QueryProjectPageResponseDTO {
23+
24+
List<QueryProjectResponseVO> respList;
25+
26+
Integer total;
27+
}

src/main/java/com/tml/otowbackend/pojo/DTO/QueryProjectResponseDTO.java renamed to src/main/java/com/tml/otowbackend/pojo/VO/QueryProjectResponseVO.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.tml.otowbackend.pojo.DTO;
1+
package com.tml.otowbackend.pojo.VO;
22

33
import com.tml.otowbackend.constants.CodeLanguage;
44
import com.tml.otowbackend.pojo.DO.Project;
@@ -10,13 +10,13 @@
1010
/**
1111
* @Description
1212
* @Author welsir
13-
* @Date 2024/12/2 19:30
13+
* @Date 2024/12/18 14:58
1414
*/
1515
@Data
1616
@AllArgsConstructor
1717
@NoArgsConstructor
1818
@Builder
19-
public class QueryProjectResponseDTO {
19+
public class QueryProjectResponseVO {
2020

2121
private String id;
2222
private String name;
@@ -29,8 +29,8 @@ public class QueryProjectResponseDTO {
2929
private Integer viewNums;
3030
private Integer price;
3131

32-
public static QueryProjectResponseDTO convert(Project project){
33-
return QueryProjectResponseDTO.builder()
32+
public static QueryProjectResponseVO convert(Project project){
33+
return QueryProjectResponseVO.builder()
3434
.id(String.valueOf(project.getId()))
3535
.name(project.getName())
3636
.codeLanguage(CodeLanguage.queryLanguageByCode(project.getCodeLanguage()))
@@ -44,8 +44,8 @@ public static QueryProjectResponseDTO convert(Project project){
4444
.build();
4545
}
4646

47-
public static QueryProjectResponseDTO convertWithoutDetail(Project project){
48-
return QueryProjectResponseDTO.builder()
47+
public static QueryProjectResponseVO convertWithoutDetail(Project project){
48+
return QueryProjectResponseVO.builder()
4949
.id(String.valueOf(project.getId()))
5050
.name(project.getName())
5151
.codeLanguage(CodeLanguage.queryLanguageByCode(project.getCodeLanguage()))

src/main/java/com/tml/otowbackend/service/Impl/IProjectServiceImpl.java

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22

33
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
44
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5+
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
6+
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
57
import com.tml.otowbackend.constants.CodeLanguage;
68
import com.tml.otowbackend.core.exception.ResultCode;
79
import com.tml.otowbackend.core.exception.ServerException;
810
import com.tml.otowbackend.mapper.ProjectMapper;
911
import com.tml.otowbackend.pojo.DO.Project;
1012
import com.tml.otowbackend.pojo.DTO.CreateProjectRequestDTO;
13+
import com.tml.otowbackend.pojo.DTO.QueryProjectPageResponseDTO;
1114
import com.tml.otowbackend.pojo.DTO.QueryProjectRequestDTO;
12-
import com.tml.otowbackend.pojo.DTO.QueryProjectResponseDTO;
1315
import com.tml.otowbackend.pojo.DTO.UpdateProjectRequestDTO;
16+
import com.tml.otowbackend.pojo.VO.QueryProjectResponseVO;
1417
import com.tml.otowbackend.service.ProjectService;
1518
import com.tml.otowbackend.util.OSSUtil;
1619
import com.tml.otowbackend.util.UserThread;
@@ -19,6 +22,7 @@
1922

2023
import javax.annotation.Resource;
2124
import java.util.List;
25+
import java.util.Objects;
2226
import java.util.Optional;
2327
import java.util.stream.Collectors;
2428

@@ -48,18 +52,24 @@ public void update(UpdateProjectRequestDTO requestDTO) {
4852
String uid = UserThread.getUid();
4953
Integer language = CodeLanguage.queryCodeByLanguage(requestDTO.getCodeLanguage());
5054
wrapper.eq(Project::getId,requestDTO.getId()).eq(Project::getShareUid,uid);
51-
Optional.ofNullable(requestDTO.getCover())
52-
.ifPresent(cover -> wrapper.set(Project::getCover, cover));
53-
Optional.ofNullable(requestDTO.getDescription())
54-
.ifPresent(description -> wrapper.set(Project::getDescription, description));
55-
Optional.ofNullable(requestDTO.getIntroduce())
56-
.ifPresent(introduce -> wrapper.set(Project::getIntroduce, introduce));
57-
Optional.ofNullable(requestDTO.getPrice())
58-
.ifPresent(price -> wrapper.set(Project::getPrice, price));
59-
Optional.ofNullable(language)
60-
.ifPresent(lang -> wrapper.set(Project::getCodeLanguage, lang));
61-
Optional.ofNullable(requestDTO.getName())
62-
.ifPresent(name -> wrapper.set(Project::getName, name));
55+
if(!StringUtils.isBlank(requestDTO.getCover())){
56+
wrapper.set(Project::getCover, requestDTO.getCover());
57+
}
58+
if(!StringUtils.isBlank(requestDTO.getDescription())){
59+
wrapper.set(Project::getCover, requestDTO.getDescription());
60+
}
61+
if(!StringUtils.isBlank(requestDTO.getIntroduce())){
62+
wrapper.set(Project::getIntroduce, requestDTO.getIntroduce());
63+
}
64+
if(!StringUtils.isBlank(requestDTO.getName())){
65+
wrapper.set(Project::getName,requestDTO.getName());
66+
}
67+
if(Objects.nonNull(requestDTO.getCodeLanguage())){
68+
wrapper.set(Project::getCodeLanguage, language);
69+
}
70+
if(Objects.nonNull(requestDTO.getPrice())){
71+
wrapper.set(Project::getPrice, requestDTO.getPrice());
72+
}
6373
projectMapper.update(null,wrapper);
6474
}
6575

@@ -69,25 +79,37 @@ public void removeById(String projectId) {
6979
}
7080

7181
@Override
72-
public List<QueryProjectResponseDTO> queryProject(QueryProjectRequestDTO requestDTO) {
73-
int limit = requestDTO.getLimit();
74-
int page = requestDTO.getPage();
75-
List<QueryProjectResponseDTO> resLists;
76-
requestDTO.setLimit(Math.min(limit,DEFAULT_MAX_LIMIT));
77-
requestDTO.setPage(page-1>=0?page:0);
82+
public QueryProjectPageResponseDTO queryProject(QueryProjectRequestDTO requestDTO) {
83+
int limit = Math.min((requestDTO.getLimit()),DEFAULT_MAX_LIMIT);
84+
int page = Math.max(requestDTO.getPage() - 1, 0);
85+
List<QueryProjectResponseVO> resLists;
86+
LambdaUpdateWrapper<Project> wrapper = new LambdaUpdateWrapper<>();
87+
if(!StringUtils.isBlank(requestDTO.getName())){
88+
wrapper.like(Project::getName, requestDTO.getName());
89+
}
90+
if(!StringUtils.isBlank(requestDTO.getCodeLanguage())){
91+
wrapper.eq(Project::getCodeLanguage,requestDTO.getCodeLanguage());
92+
}
93+
if(Objects.nonNull(requestDTO.getAmountMax())){
94+
wrapper.le(Project::getPrice, requestDTO.getAmountMax());
95+
}
96+
if (Objects.nonNull(requestDTO.getAmountMin())) {
97+
wrapper.ge(Project::getPrice, requestDTO.getAmountMin());
98+
}
7899
try {
79-
List<Project> projectPage = projectMapper.queryProjectPage(requestDTO);
80-
resLists = projectPage.stream().map((QueryProjectResponseDTO::convertWithoutDetail)).collect(Collectors.toList());
81-
return resLists;
100+
Page<Project> projectPage = projectMapper.selectPage(new Page<>(page, limit), wrapper);
101+
List<Project> records = projectPage.getRecords();
102+
resLists = records.stream().map((QueryProjectResponseVO::convertWithoutDetail)).collect(Collectors.toList());
103+
return QueryProjectPageResponseDTO.builder().total((int) projectPage.getTotal()).respList(resLists).build();
82104
}catch (RuntimeException e){
83105
throw new ServerException(ResultCode.QUERY_PROJECT_FAIL);
84106
}
85107
}
86108

87109
@Override
88-
public QueryProjectResponseDTO queryOne(String id) {
110+
public QueryProjectResponseVO queryOne(String id) {
89111
Project one = projectMapper.selectOne(new QueryWrapper<Project>().eq("id", id));
90-
return QueryProjectResponseDTO.convert(one);
112+
return QueryProjectResponseVO.convert(one);
91113
}
92114

93115
@Override

src/main/java/com/tml/otowbackend/service/ProjectService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.tml.otowbackend.service;
22

33
import com.tml.otowbackend.pojo.DTO.CreateProjectRequestDTO;
4+
import com.tml.otowbackend.pojo.DTO.QueryProjectPageResponseDTO;
45
import com.tml.otowbackend.pojo.DTO.QueryProjectRequestDTO;
5-
import com.tml.otowbackend.pojo.DTO.QueryProjectResponseDTO;
66
import com.tml.otowbackend.pojo.DTO.UpdateProjectRequestDTO;
7+
import com.tml.otowbackend.pojo.VO.QueryProjectResponseVO;
78

89
import java.util.List;
910

@@ -16,7 +17,7 @@ public interface ProjectService {
1617
void create(CreateProjectRequestDTO requestDTO);
1718
void update(UpdateProjectRequestDTO requestDTO);
1819
void removeById(String projectId);
19-
List<QueryProjectResponseDTO> queryProject(QueryProjectRequestDTO requestDTO);
20-
QueryProjectResponseDTO queryOne(String id);
20+
QueryProjectPageResponseDTO queryProject(QueryProjectRequestDTO requestDTO);
21+
QueryProjectResponseVO queryOne(String id);
2122
String download(String id);
2223
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.tml.otowbackend.util;
2+
3+
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4+
5+
/**
6+
* @Description
7+
* @Author welsir
8+
* @Date 2024/12/18 14:41
9+
*/
10+
public class WrapperUtil {
11+
12+
public static LambdaUpdateWrapper addConditionNonNull(Object obj){
13+
return null;
14+
}
15+
16+
}

0 commit comments

Comments
 (0)