diff --git a/Jenkinsfile b/Jenkinsfile index c3959a7..5f60b1d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,24 +1,24 @@ pipeline { environment { - QODANA_TOKEN = credentials('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb24iOiJwNTZYRyIsInByb2plY3QiOiIzd1JQNyIsInRva2VuIjoiQWFxVkoifQ.R3TH0E2LgVpBorJ1wyIx3zjIM1p4j-taEEShZKhH2l8') - } - agent { - docker { - args ''' - -v "${WORKSPACE}":/data/project - --entrypoint="" - ''' - image 'jetbrains/qodana-jvm' - } - } - stages { - stage('Qodana') { - when { - branch 'feature' - } - steps { - sh '''qodana''' - } - } + QODANA_TOKEN=credentials('qodana-token') } + agent { + docker { + args ''' + -v "${WORKSPACE}":/data/project + --entrypoint="" + ''' + image 'jetbrains/qodana-jvm' + } + } + stages { + stage('Qodana') { + when { + branch 'feature' + } + steps { + sh '''qodana''' + } + } + } } \ No newline at end of file diff --git a/qodana.yaml b/qodana.yaml index e43be70..f77f38d 100644 --- a/qodana.yaml +++ b/qodana.yaml @@ -29,3 +29,14 @@ include: - name: JavaLangImport - name: UNUSED_IMPORT - name: SamePackageImport + - name: CheckDependencyLicenses + - name: ArgNamesErrorsInspection + - name: ArgNamesWarningsInspection + - name: AssertMessageNotString + - name: EqualsCalledOnEnumConstant + - name: ListIndexOfReplaceableByContains + - name: ObjectsEqualsCanBeSimplified + - name: SizeReplaceableByIsEmpty + - name: ArrayCreationWithoutNewKeyword +exclude: + - name: VulnerableLibrariesLocal diff --git a/src/main/java/com/jsl/oa/config/redis/RedisConfiguration.java b/src/main/java/com/jsl/oa/config/redis/RedisConfiguration.java index 4504c8d..c697e1f 100755 --- a/src/main/java/com/jsl/oa/config/redis/RedisConfiguration.java +++ b/src/main/java/com/jsl/oa/config/redis/RedisConfiguration.java @@ -3,7 +3,6 @@ package com.jsl.oa.config.redis; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisStandaloneConfiguration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; diff --git a/src/main/java/com/jsl/oa/controllers/InfoController.java b/src/main/java/com/jsl/oa/controllers/InfoController.java index d393964..bca43da 100755 --- a/src/main/java/com/jsl/oa/controllers/InfoController.java +++ b/src/main/java/com/jsl/oa/controllers/InfoController.java @@ -37,18 +37,18 @@ public class InfoController { } @PutMapping("/info/header-image/edit") - public BaseResponse infoEditHeaderImage(@RequestBody @Validated CarouselVO carouselVO, @RequestParam Integer id, HttpServletRequest request, @NotNull BindingResult bindingResult) { + public BaseResponse infoEditHeaderImage(@RequestBody @Validated CarouselVO carouselVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { log.info("请求接口[PUT]: /info/header-image/edit"); // 参数校验 if (bindingResult.hasErrors()) { log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult)); } - if (id == null) { + if (carouselVO.getId() == null) { log.warn("参数校验失败: {}", "id不能为空"); return ResultUtil.error(ErrorCode.PARAMETER_ERROR, "id不能为空"); } - return infoService.editHeaderImage(request, carouselVO, id); + return infoService.editHeaderImage(request, carouselVO); } @DeleteMapping("/info/header-image/del") diff --git a/src/main/java/com/jsl/oa/controllers/MessageController.java b/src/main/java/com/jsl/oa/controllers/MessageController.java index d23437a..b625408 100644 --- a/src/main/java/com/jsl/oa/controllers/MessageController.java +++ b/src/main/java/com/jsl/oa/controllers/MessageController.java @@ -1,13 +1,10 @@ package com.jsl.oa.controllers; -import com.jsl.oa.common.constant.BusinessConstants; import com.jsl.oa.services.MessageService; -import com.jsl.oa.services.impl.MessageServiceImpl; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.JwtUtil; import com.jsl.oa.utils.ResultUtil; -import com.jsl.oa.utils.redis.TokenRedisUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.format.annotation.DateTimeFormat; @@ -36,10 +33,10 @@ public class MessageController { private final MessageService messageService; @DeleteMapping("/message/delete") - public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request){ - if(id == null){ + public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) { + if (id == null) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); - } else return messageService.messageDelete(id,request); + } else return messageService.messageDelete(id, request); } @GetMapping("/message/get") @@ -47,28 +44,28 @@ public class MessageController { @RequestParam(defaultValue = "10") Long pageSize, HttpServletRequest request, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, - @DateTimeFormat (pattern = "yyyy-MM-dd") LocalDate end) { + @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) { log.info("请求接口[GET]:/message/get"); String token = request.getHeader("Authorization").replace("Bearer ", ""); Long uid = JwtUtil.getUserId(token); - if(uid == null){ - return ResultUtil.error(ErrorCode.USER_NOT_EXIST); - } else return messageService.messageGet(begin,end,page,pageSize,uid); + if (uid == null) { + return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } else return messageService.messageGet(begin, end, page, pageSize, uid); } @GetMapping("/message/get/all") public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page, - @RequestParam(defaultValue = "10") Long pageSize, - HttpServletRequest request, + @RequestParam(defaultValue = "10") Long pageSize, + HttpServletRequest request, @RequestParam Long uid, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, - @DateTimeFormat (pattern = "yyyy-MM-dd") LocalDate end) { + @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) { log.info("请求接口[GET]:/message/get/all"); String token = request.getHeader("Authorization").replace("Bearer ", ""); Long LoginId = JwtUtil.getUserId(token); - if(LoginId == null){ + if (LoginId == null) { return ResultUtil.error(ErrorCode.USER_NOT_EXIST); - } else return messageService.messageGetAll(request,begin,end,page,pageSize,LoginId,uid); + } else return messageService.messageGetAll(request, begin, end, page, pageSize, LoginId, uid); } } diff --git a/src/main/java/com/jsl/oa/controllers/NewsController.java b/src/main/java/com/jsl/oa/controllers/NewsController.java index 5a6e08d..bb1a038 100644 --- a/src/main/java/com/jsl/oa/controllers/NewsController.java +++ b/src/main/java/com/jsl/oa/controllers/NewsController.java @@ -2,9 +2,7 @@ package com.jsl.oa.controllers; import com.jsl.oa.model.voData.NewsAddVO; -import com.jsl.oa.model.voData.PermissionEditVO; import com.jsl.oa.services.NewsService; -import com.jsl.oa.services.RoleService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.Processing; @@ -37,14 +35,14 @@ public class NewsController { private final NewsService newsService; @PostMapping("/news/add") - public BaseResponse newsAdd(@RequestBody @Validated NewsAddVO newsAddVO, BindingResult bindingResult, HttpServletRequest request){ + public BaseResponse newsAdd(@RequestBody @Validated NewsAddVO newsAddVO, BindingResult bindingResult, HttpServletRequest request) { log.info("请求接口[POST]: /news/add"); // 判断是否有参数错误 if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); } - return newsService.newsAdd(newsAddVO,request); + return newsService.newsAdd(newsAddVO, request); } } diff --git a/src/main/java/com/jsl/oa/dao/NewsDAO.java b/src/main/java/com/jsl/oa/dao/NewsDAO.java index 2b4a384..c85e11f 100644 --- a/src/main/java/com/jsl/oa/dao/NewsDAO.java +++ b/src/main/java/com/jsl/oa/dao/NewsDAO.java @@ -2,7 +2,6 @@ package com.jsl.oa.dao; import com.jsl.oa.mapper.NewsMapper; import com.jsl.oa.model.doData.NewsDO; -import com.jsl.oa.model.voData.NewsAddVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -15,13 +14,13 @@ public class NewsDAO { private final NewsMapper newsMapper; - public void addNews(NewsDO newsVO,Long uid){ + public void addNews(NewsDO newsVO, Long uid) { log.info("\t> 执行 DAO 层 NewsDAO.addNews 方法"); log.info("\t\t> 从 MySQL 获取数据"); // 添加新闻数据 newsMapper.addNews(newsVO); // 添加作者 - newsMapper.addNewsUser(uid,newsVO.getId()); + newsMapper.addNewsUser(uid, newsVO.getId()); } diff --git a/src/main/java/com/jsl/oa/mapper/MessageMapper.java b/src/main/java/com/jsl/oa/mapper/MessageMapper.java index 61f4f32..6a635b4 100644 --- a/src/main/java/com/jsl/oa/mapper/MessageMapper.java +++ b/src/main/java/com/jsl/oa/mapper/MessageMapper.java @@ -1,7 +1,6 @@ package com.jsl.oa.mapper; import com.jsl.oa.model.doData.MessageDO; -import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; @@ -24,6 +23,7 @@ public interface MessageMapper { @Select("select count(*) from organize_oa.oa_message where uid = #{uid}") Long count(Long uid); - @Select("select * from organize_oa.oa_message where uid = #{uid}") //and created_at between #{begin} and #{end} limit #{start},#{pageSize}") - List page(LocalDate begin,LocalDate end,Long uid, Long start, Long pageSize); + @Select("select * from organize_oa.oa_message where uid = #{uid}") + //and created_at between #{begin} and #{end} limit #{start},#{pageSize}") + List page(LocalDate begin, LocalDate end, Long uid, Long start, Long pageSize); } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 25d51b7..cb423f8 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -4,7 +4,6 @@ import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectUserDO; import com.jsl.oa.model.voData.ProjectInfoVO; -import com.jsl.oa.utils.BaseResponse; import org.apache.ibatis.annotations.*; import java.util.List; @@ -61,8 +60,8 @@ public interface ProjectMapper { ProjectCuttingDO getProjectCuttingById(Long id); @Select("SELECT * FROM organize_oa.oa_project_user WHERE pid = #{pid} AND uid = #{uid}") - ProjectUserDO getProjectUserByPidAndUid(Long pid,Long uid); + ProjectUserDO getProjectUserByPidAndUid(Long pid, Long uid); @Update("UPDATE organize_oa.oa_project_user SET uid = #{uid} , updated_at = CURRENT_TIMESTAMP WHERE id = #{id}") - boolean updateUserForProjectUser(Long uid,Long id); + boolean updateUserForProjectUser(Long uid, Long id); } diff --git a/src/main/java/com/jsl/oa/model/voData/PermissionContentVo.java b/src/main/java/com/jsl/oa/model/voData/PermissionContentVo.java index 35f529f..ee73de2 100644 --- a/src/main/java/com/jsl/oa/model/voData/PermissionContentVo.java +++ b/src/main/java/com/jsl/oa/model/voData/PermissionContentVo.java @@ -1,7 +1,7 @@ package com.jsl.oa.model.voData; -import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; + import java.util.List; @Data diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java index ee00bc0..76ea491 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingAddVO.java @@ -1,11 +1,9 @@ package com.jsl.oa.model.voData; import lombok.Data; -import lombok.Value; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; -import java.sql.Timestamp; @Data diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectCuttingEditVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingEditVO.java index 9d3b067..a90cba2 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectCuttingEditVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectCuttingEditVO.java @@ -5,7 +5,6 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; -import java.sql.Timestamp; @Data public class ProjectCuttingEditVO { diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java index 15e26fb..1bc32e9 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java @@ -1,9 +1,6 @@ package com.jsl.oa.model.voData; -import lombok.AllArgsConstructor; import lombok.Data; -import lombok.Getter; -import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; diff --git a/src/main/java/com/jsl/oa/model/voData/UserEditProfileVO.java b/src/main/java/com/jsl/oa/model/voData/UserEditProfileVO.java index fe7936c..ba16771 100644 --- a/src/main/java/com/jsl/oa/model/voData/UserEditProfileVO.java +++ b/src/main/java/com/jsl/oa/model/voData/UserEditProfileVO.java @@ -3,9 +3,7 @@ package com.jsl.oa.model.voData; import lombok.Getter; import lombok.Setter; -import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; -import java.sql.Timestamp; @Setter @Getter diff --git a/src/main/java/com/jsl/oa/model/voData/business/info/CarouselVO.java b/src/main/java/com/jsl/oa/model/voData/business/info/CarouselVO.java index ad0f9dd..abdfa1a 100644 --- a/src/main/java/com/jsl/oa/model/voData/business/info/CarouselVO.java +++ b/src/main/java/com/jsl/oa/model/voData/business/info/CarouselVO.java @@ -1,5 +1,6 @@ package com.jsl.oa.model.voData.business.info; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; /** @@ -12,7 +13,9 @@ import lombok.Data; * @author 筱锋xiao_lfeng */ @Data +@JsonInclude(JsonInclude.Include.NON_NULL) public class CarouselVO { + private Integer id; private Integer displayOrder; private String image; private String title; diff --git a/src/main/java/com/jsl/oa/services/InfoService.java b/src/main/java/com/jsl/oa/services/InfoService.java index 83b7003..f6f6b3c 100644 --- a/src/main/java/com/jsl/oa/services/InfoService.java +++ b/src/main/java/com/jsl/oa/services/InfoService.java @@ -36,7 +36,7 @@ public interface InfoService { * @param id 轮播图ID * @return {@link BaseResponse} */ - BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO, Integer id); + BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO); /** *

获取轮播图

diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 7e80fa6..17e5f69 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -1,6 +1,5 @@ package com.jsl.oa.services; -import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.ProjectCuttingEditVO; import com.jsl.oa.model.voData.ProjectInfoVO; @@ -10,13 +9,13 @@ import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; public interface ProjectService { - BaseResponse projectAdd(HttpServletRequest request,ProjectInfoVO projectAdd); + BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd); - BaseResponse projectEdit(HttpServletRequest request,ProjectInfoVO projectEdit); + BaseResponse projectEdit(HttpServletRequest request, ProjectInfoVO projectEdit); BaseResponse projectGetUserInCutting(Long uid); - BaseResponse projectAddUserForCutting(HttpServletRequest request,Long uid, Long pid); + BaseResponse projectAddUserForCutting(HttpServletRequest request, Long uid, Long pid); BaseResponse getHeader(Integer id); @@ -30,7 +29,7 @@ public interface ProjectService { BaseResponse getByName(String name); - BaseResponse projectDelete(HttpServletRequest request,Long id); + BaseResponse projectDelete(HttpServletRequest request, Long id); BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO); diff --git a/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java index 18d7522..7d48670 100644 --- a/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java @@ -69,7 +69,7 @@ public class InfoServiceImpl implements InfoService { @Override @CheckUserHasPermission("info.image.edit") - public BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO, Integer id) { + public BaseResponse editHeaderImage(HttpServletRequest request, @NotNull CarouselVO carouselVO) { log.info("\t> 执行 Service 层 InfoService.editHeaderImage 方法"); // 获取用户 Long userId = Processing.getAuthHeaderToUserId(request); @@ -77,10 +77,10 @@ public class InfoServiceImpl implements InfoService { // 获取轮播图信息 CarouselDO carouselDO = infoDAO.getCarousel(); // 获取指定轮播图 - if (id > carouselDO.getData().size()) { + if (carouselVO.getId() > carouselDO.getData().size()) { return ResultUtil.error(ErrorCode.ID_NOT_EXIST); } - CarouselDO.DataDO carousel = carouselDO.getData().get(id - 1); + CarouselDO.DataDO carousel = carouselDO.getData().get(carouselVO.getId() - 1); carousel.setDisplayOrder(carouselVO.getDisplayOrder()) .setImage(carouselVO.getImage()) .setDescription(carouselVO.getDescription())