Compare commits

...

2 Commits

Author SHA1 Message Date
fe4dfb77e6
patch: 符合开发规约
Some checks failed
代码检查 / 代码检查 (pull_request) Failing after 54s
代码检查 / 代码检查 (push) Failing after 1m11s
2024-04-10 01:22:55 +08:00
06bb45ba5d
patch: 符合开发规约 2024-04-10 01:22:31 +08:00
13 changed files with 638 additions and 336 deletions

View File

@ -1,63 +1,208 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module PUBLIC <!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN" "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<!-- 设置换行符 -->
<property name="lineSeparator" value="lf"/>
<!-- 检查文件头部 --> <!-- 检查文件是否以一个空行结束 -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
<!-- 检查文件的末尾是否有换行符 -->
<module name="NewlineAtEndOfFile"/> <module name="NewlineAtEndOfFile"/>
<!-- 检查缩进是否使用空格而不是 Tab --> <!-- 文件长度不超过1500行 -->
<module name="Checker"> <module name="FileLength">
<property name="fileExtensions" value="java"/> <property name="max" value="1500"/>
<module name="Indentation">
<property name="basicOffset" value="4"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="4"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
</module>
</module> </module>
<!-- 检查代码中的注释 --> <!-- 每个java文件一个语法树 -->
<module name="Checker"> <module name="TreeWalker">
<property name="fileExtensions" value="java"/> <!-- import检查-->
<module name="TreeWalker"> <!-- 避免使用* -->
<module name="JavadocMethod"/> <module name="AvoidStarImport">
<module name="JavadocVariable"/> <property name="excludes" value="java.io,java.net,java.lang.Math"/>
<module name="JavadocStyle"/> <!-- 实例import java.util.*;.-->
<property name="allowClassImports" value="false"/>
<!-- 实例 import static org.junit.Assert.*;-->
<property name="allowStaticMemberImports" value="true"/>
</module> </module>
</module> <!-- 检查是否从非法的包中导入了类 -->
<module name="IllegalImport"/>
<!-- 检查是否导入了多余的包 -->
<module name="RedundantImport"/>
<!-- 没用的import检查比如1.没有被用到2.重复的3.import java.lang的4.import 与该类在同一个package的 -->
<module name="UnusedImports" />
<!-- 检查空白行 -->
<module name="Checker"> <!-- 注释检查 -->
<property name="fileExtensions" value="java"/> <!-- 检查方法和构造函数的javadoc -->
<module name="TreeWalker"> <module name="JavadocType">
<module name="EmptyLineSeparator"> <property name="allowUnknownTags" value="true"/>
<property name="tokens" value="CLASS_DEF,INTERFACE_DEF,ENUM_DEF,METHOD_DEF,CTOR_DEF"/> <message key="javadoc.missing" value="类注释缺少Javadoc注释。"/>
</module>
</module> </module>
</module> <module name="JavadocMethod">
<property name="tokens" value="METHOD_DEF" />
<!-- 检查行长度 --> <!--允许get set 方法没有注释-->
<module name="Checker"> <property name="allowMissingPropertyJavadoc" value="true"/>
<property name="fileExtensions" value="java"/> <message key="javadoc.missing" value="方法注释缺少Javadoc注释。"/>
<module name="TreeWalker">
<module name="LineLength">
<property name="max" value="120"/>
<property name="ignorePattern" value="^import .*"/>
</module>
</module> </module>
<!-- 命名检查 -->
<!-- 局部的final变量包括catch中的参数的检查 -->
<module name="LocalFinalVariableName" />
<!-- 局部的非final型的变量包括catch中的参数的检查 -->
<module name="LocalVariableName" />
<!-- 包名的检查(只允许小写字母),默认^[a-z]+(\.[a-zA-Z_][a-zA-Z_0-9_]*)*$ -->
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
<message key="name.invalidPattern" value="包名 ''{0}'' 要符合 ''{1}''格式."/>
</module>
<!-- 仅仅是static型的变量不包括static final型的检查 -->
<module name="StaticVariableName" />
<!-- Class或Interface名检查默认^[A-Z][a-zA-Z0-9]*$-->
<module name="TypeName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="名称 ''{0}'' 要符合 ''{1}''格式."/>
</module>
<!-- 非static型变量的检查 -->
<module name="MemberName" />
<!-- 方法名的检查 -->
<module name="MethodName" />
<!-- 方法的参数名 -->
<module name="ParameterName " />
<!-- 常量名的检查(只允许大写),默认^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$ -->
<module name="ConstantName" />
<!-- 定义检查 -->
<!-- 检查数组类型定义的样式 -->
<module name="ArrayTypeStyle"/>
<!-- 检查long型定义是否有大写的“L” -->
<module name="UpperEll"/>
<!-- 长度检查 -->
<!-- 每行不超过120个字符 -->
<module name="LineLength">
<property name="max" value="120" />
</module>
<!-- 方法不超过50行 -->
<module name="MethodLength">
<property name="tokens" value="METHOD_DEF" />
<property name="max" value="50" />
</module>
<!-- 方法的参数个数不超过5个。 并且不对构造方法进行检查-->
<module name="ParameterNumber">
<property name="max" value="5" />
<property name="ignoreOverriddenMethods" value="true"/>
<property name="tokens" value="METHOD_DEF" />
</module>
<!-- 空格检查-->
<!-- 方法名后跟左圆括号"(" -->
<module name="MethodParamPad" />
<!-- 在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格 -->
<module name="TypecastParenPad" />
<!-- 检查在某个特定关键字之后应保留空格 -->
<module name="NoWhitespaceAfter"/>
<!-- 检查在某个特定关键字之前应保留空格 -->
<module name="NoWhitespaceBefore"/>
<!-- 操作符换行策略检查 -->
<module name="OperatorWrap"/>
<!-- 圆括号空白 -->
<module name="ParenPad"/>
<!-- 检查分隔符是否在空白之后 -->
<module name="WhitespaceAfter"/>
<!-- 检查分隔符周围是否有空白 -->
<module name="WhitespaceAround"/>
<!-- 修饰符检查 -->
<!-- 检查修饰符的顺序是否遵照java语言规范默认public、protected、private、abstract、static、final、transient、volatile、synchronized、native、strictfp -->
<module name="ModifierOrder"/>
<!-- 检查接口和annotation中是否有多余修饰符如接口方法不必使用public -->
<module name="RedundantModifier"/>
<!-- 代码块检查 -->
<!-- 检查是否有嵌套代码块 -->
<module name="AvoidNestedBlocks"/>
<!-- 检查是否有空代码块 -->
<module name="EmptyBlock"/>
<!-- 检查左大括号位置 -->
<module name="LeftCurly"/>
<!-- 检查代码块是否缺失{} -->
<module name="NeedBraces"/>
<!-- 检查右大括号位置 -->
<module name="RightCurly"/>
<!-- 代码检查 -->
<!-- 检查空的代码段 -->
<module name="EmptyStatement"/>
<!-- 检查在重写了equals方法后是否重写了hashCode方法 -->
<module name="EqualsHashCode"/>
<!-- 检查局部变量或参数是否隐藏了类中的变量 -->
<module name="HiddenField">
<property name="tokens" value="VARIABLE_DEF"/>
</module>
<!-- 检查是否使用工厂方法实例化 -->
<module name="IllegalInstantiation"/>
<!-- 检查子表达式中是否有赋值操作 -->
<module name="InnerAssignment"/>
<!-- 检查是否有"魔术"数字 -->
<module name="MagicNumber">
<property name="ignoreNumbers" value="0, 1"/>
<property name="ignoreAnnotation" value="true"/>
</module>
<!-- 检查switch语句是否有default -->
<module name="MissingSwitchDefault"/>
<!-- 检查是否有过度复杂的布尔表达式 -->
<module name="SimplifyBooleanExpression"/>
<!-- 检查是否有过于复杂的布尔返回代码段 -->
<module name="SimplifyBooleanReturn"/>
<!-- 类设计检查 -->
<!-- 检查类是否为扩展设计l -->
<!-- 检查只有private构造函数的类是否声明为final -->
<module name="FinalClass"/>
<!-- 检查工具类是否有putblic的构造器 -->
<module name="HideUtilityClassConstructor"/>
<!-- 检查接口是否仅定义类型 -->
<module name="InterfaceIsType"/>
<!-- 检查类成员的可见度 检查类成员的可见性。只有static final 成员是public的
除非在本检查的protectedAllowed和packagedAllowed属性中进行了设置-->
<module name="VisibilityModifier">
<property name="packageAllowed" value="true"/>
<property name="protectedAllowed" value="true"/>
</module>
<!-- 语法 -->
<!-- String的比较不能用!= 和 == -->
<module name="StringLiteralEquality"/>
<!-- 限制for循环最多嵌套2层 -->
<module name="NestedForDepth">
<property name="max" value="2"/>
</module>
<!-- if最多嵌套3层 -->
<module name="NestedIfDepth">
<property name="max" value="3"/>
</module>
<!-- 检查未被注释的main方法,排除以Appllication结尾命名的类 -->
<module name="UncommentedMain">
<property name="excludedClasses" value=".*Application$"/>
</module>
<!-- 禁止使用System.out.println -->
<module name="Regexp">
<property name="format" value="System\.out\.println"/>
<property name="illegalPattern" value="true"/>
</module>
<!-- return个数 3个-->
<module name="ReturnCount">
<property name="max" value="3"/>
</module>
<!--try catch 异常处理数量 3-->
<module name="NestedTryDepth ">
<property name="max" value="3"/>
</module>
<!-- clone方法必须调用了super.clone() -->
<module name="SuperClone" />
<!-- finalize 必须调用了super.finalize() -->
<module name="SuperFinalize" />
</module> </module>
<!-- 其他规则可以根据需要添加 -->
</module> </module>

View File

@ -24,6 +24,7 @@ import java.util.regex.Pattern;
* <hr/> * <hr/>
* 用户认证控制器包含用户注册用户登录用户登出接口 * 用户认证控制器包含用户注册用户登录用户登出接口
* *
* @author 筱锋xiao_lfeng|176yunxuan
* @version v1.1.0 * @version v1.1.0
* @see AuthService * @see AuthService
* @see UserRegisterVO * @see UserRegisterVO
@ -33,7 +34,6 @@ import java.util.regex.Pattern;
* @see Processing * @see Processing
* @see ResultUtil * @see ResultUtil
* @since v1.0.0 * @since v1.0.0
* @author 筱锋xiao_lfeng|176yunxuan
*/ */
@Slf4j @Slf4j
@RestController @RestController
@ -106,6 +106,17 @@ public class AuthController {
} }
} }
/**
* <h1>通过电子邮件和验证码处理用户登录</h1>
* <hr/>
* 此方法首先验证电子邮件格式并检查提供的验证码是否为有效整数
* 如果验证通过它尝试使用提供的电子邮件和验证码登录用户
*
* @param email 用户尝试登录的电子邮件地址
* @param code 发送到用户电子邮件的验证码用于身份验证
* @return {@link BaseResponse} 包含登录尝试的结果这可以是带有登录详细信息的成功消息
* 或者指示出了什么问题例如参数无效验证码错误的错误消息
*/
@GetMapping("/auth/login/email") @GetMapping("/auth/login/email")
public BaseResponse authLoginByEmail(@RequestParam String email, @RequestParam String code) { public BaseResponse authLoginByEmail(@RequestParam String email, @RequestParam String code) {
log.info("请求接口[GET]: /auth/login/email"); log.info("请求接口[GET]: /auth/login/email");
@ -140,6 +151,17 @@ public class AuthController {
return authService.authLogout(request); return authService.authLogout(request);
} }
/**
* <h2>修改密码</h2>
* <hr/>
* 修改密码
*
* @param userChangePasswordVO 用户修改密码信息
* @param request HTTP请求
* @param bindingResult 参数校验结果
* @return {@link BaseResponse}
* @since v1.1.0
*/
@PutMapping("/auth/password") @PutMapping("/auth/password")
public BaseResponse authChangePassword(@RequestBody @Validated UserChangePasswordVO userChangePasswordVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { public BaseResponse authChangePassword(@RequestBody @Validated UserChangePasswordVO userChangePasswordVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /auth/password"); log.info("请求接口[PUT]: /auth/password");
@ -150,6 +172,11 @@ public class AuthController {
return authService.authChangePassword(request, userChangePasswordVO); return authService.authChangePassword(request, userChangePasswordVO);
} }
/**
* <h2>忘记密码</h2>
* <hr/>
* 忘记密码
*/
@PutMapping("auth/password/forget") @PutMapping("auth/password/forget")
public BaseResponse authForgetPassword(@RequestBody @Validated UserForgetPasswordVO userForgetPasswordVO, @NotNull BindingResult bindingResult) { public BaseResponse authForgetPassword(@RequestBody @Validated UserForgetPasswordVO userForgetPasswordVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /auth/password/forget"); log.info("请求接口[PUT]: /auth/password/forget");

View File

@ -8,15 +8,30 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/** /**
* @author xiaofeng * CustomController类实现ErrorController接口处理错误和未授权请求
*
* @author xiao_lfeng
* @since v1.0.0-SNAPSHOT
* @version 1.0.0-SNAPSHOT
*/ */
@RestController @RestController
public class CustomController implements ErrorController { public class CustomController implements ErrorController {
/**
* 处理错误请求返回一个包含错误信息的ResponseEntity
*
* @return 一个包含错误信息的ResponseEntity
*/
@RequestMapping("/error") @RequestMapping("/error")
public ResponseEntity<BaseResponse> handleError() { public ResponseEntity<BaseResponse> handleError() {
return ResultUtil.error("PageNotFound", 404, "请求资源不存在"); return ResultUtil.error("PageNotFound", 404, "请求资源不存在");
} }
/**
* 处理未授权请求返回一个包含错误信息的ResponseEntity
*
* @return 一个包含错误信息的ResponseEntity
*/
@RequestMapping("/unauthorized") @RequestMapping("/unauthorized")
public ResponseEntity<BaseResponse> handleUnauthorized() { public ResponseEntity<BaseResponse> handleUnauthorized() {
return ResultUtil.error("Unauthorized", 401, "未授权"); return ResultUtil.error("Unauthorized", 401, "未授权");

View File

@ -9,15 +9,30 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap; import java.util.HashMap;
/** /**
* @author xiaofeng * IndexController类提供了JSL-OA系统的主入口处理根路径"/"的GET请求
*
* @author xiao_lfeng
* @version v1.0.0-SNAPSHOT
* @since v1.0.0-SNAPSHOT
*/ */
@Slf4j @Slf4j
@RestController @RestController
public class IndexController { public class IndexController {
/**
* 使用@Value注解Spring会自动注入Maven构建时间
*/
@Value("${maven.timestamp}") @Value("${maven.timestamp}")
private String timestamp; private String timestamp;
/**
* 处理根路径"/"的GET请求返回一个包含欢迎信息和服务器状态的成功响应
* 在处理请求时会记录一个info级别的日志信息
*
* @return 一个包含欢迎信息和服务器状态的成功响应
*/
@RequestMapping("/") @RequestMapping("/")
public BaseResponse index() { public BaseResponse index() {
log.info("请求接口[GET]: /"); log.info("请求接口[GET]: /");
@ -25,6 +40,4 @@ public class IndexController {
newMap.put("timestamp", "构建时间:" + timestamp); newMap.put("timestamp", "构建时间:" + timestamp);
return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态", newMap); return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态", newMap);
} }
} }

View File

@ -20,7 +20,7 @@ import javax.servlet.http.HttpServletRequest;
* <hr/> * <hr/>
* 信息控制器包含信息获取接口 * 信息控制器包含信息获取接口
* *
* @author 筱锋xiao_lfeng * @author xiao_lfeng
* @version v1.1.0 * @version v1.1.0
* @since v1.1.0 * @since v1.1.0
*/ */
@ -28,14 +28,31 @@ import javax.servlet.http.HttpServletRequest;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class InfoController { public class InfoController {
private final InfoService infoService;
/**
* 信息服务
*/
private final InfoService infoService;
/**
* 获取头部图片信息
*
* @param id 图片id
* @return 图片信息
*/
@GetMapping("/info/header-image/get") @GetMapping("/info/header-image/get")
public BaseResponse infoGetHeaderImage(@RequestParam(required = false) Integer id) { public BaseResponse infoGetHeaderImage(@RequestParam(required = false) Integer id) {
log.info("请求接口[GET]: /info/header-image/get"); log.info("请求接口[GET]: /info/header-image/get");
return infoService.getHeaderImage(id); return infoService.getHeaderImage(id);
} }
/**
* 编辑头部图片信息
*
* @param carouselVO 图片信息
* @param request 请求对象
* @param bindingResult 数据校验结果
* @return 编辑结果
*/
@PutMapping("/info/header-image/edit") @PutMapping("/info/header-image/edit")
public BaseResponse infoEditHeaderImage(@RequestBody @Validated CarouselVO carouselVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { public BaseResponse infoEditHeaderImage(@RequestBody @Validated CarouselVO carouselVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /info/header-image/edit"); log.info("请求接口[PUT]: /info/header-image/edit");
@ -51,12 +68,27 @@ public class InfoController {
return infoService.editHeaderImage(request, carouselVO); return infoService.editHeaderImage(request, carouselVO);
} }
/**
* 删除头部图片信息
*
* @param id 图片id
* @param request 请求对象
* @return 删除结果
*/
@DeleteMapping("/info/header-image/del") @DeleteMapping("/info/header-image/del")
public BaseResponse infoDelHeaderImage(@RequestParam Integer id, HttpServletRequest request) { public BaseResponse infoDelHeaderImage(@RequestParam Integer id, HttpServletRequest request) {
log.info("请求接口[DELETE]: /info/header-image/del"); log.info("请求接口[DELETE]: /info/header-image/del");
return infoService.delHeaderImage(request, id); return infoService.delHeaderImage(request, id);
} }
/**
* 添加头部图片信息
*
* @param carouselVO 图片信息
* @param request 请求对象
* @param bindingResult 数据校验结果
* @return 添加结果
*/
@PostMapping("/info/header-image/add") @PostMapping("/info/header-image/add")
public BaseResponse infoAddHeaderImage(@RequestBody @Validated CarouselVO carouselVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { public BaseResponse infoAddHeaderImage(@RequestBody @Validated CarouselVO carouselVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /info/header-image/add"); log.info("请求接口[POST]: /info/header-image/add");
@ -68,12 +100,27 @@ public class InfoController {
return infoService.addHeaderImage(request, carouselVO); return infoService.addHeaderImage(request, carouselVO);
} }
/**
* 编辑头部图片设置
*
* @param showType 是否显示
* @param request 请求对象
* @return 编辑结果
*/
@PutMapping("/info/header-image/edit-setting") @PutMapping("/info/header-image/edit-setting")
public BaseResponse infoEditSettingHeaderImage(@RequestParam Boolean showType, HttpServletRequest request) { public BaseResponse infoEditSettingHeaderImage(@RequestParam Boolean showType, HttpServletRequest request) {
log.info("请求接口[PUT]: /info/header-image/edit-setting"); log.info("请求接口[PUT]: /info/header-image/edit-setting");
return infoService.editSettingHeaderImage(request, showType); return infoService.editSettingHeaderImage(request, showType);
} }
/**
* 获取头部用户信息
*
* @param order 排序方式
* @param orderBy 排序字段
* @param request 请求对象
* @return 用户信息
*/
@GetMapping("info/header-user/get") @GetMapping("info/header-user/get")
public BaseResponse infoGetHeaderUser(@RequestParam String order,@RequestParam String orderBy,HttpServletRequest request){ public BaseResponse infoGetHeaderUser(@RequestParam String order,@RequestParam String orderBy,HttpServletRequest request){
log.info("请求接口[GET]: /info/header-user/get"); log.info("请求接口[GET]: /info/header-user/get");

View File

@ -21,7 +21,7 @@ import java.time.LocalDate;
* <hr/> * <hr/>
* 消息控制器包含信息获取接口 * 消息控制器包含信息获取接口
* *
* @author 张睿相 * @author xiangZr-hhh
* @version v1.1.0 * @version v1.1.0
* @since v1.1.0 * @since v1.1.0
*/ */
@ -32,6 +32,13 @@ public class MessageController {
private final MessageService messageService; private final MessageService messageService;
/**
* 删除消息
*
* @param id 消息id
* @param request 请求对象
* @return 删除结果
*/
@DeleteMapping("/message/delete") @DeleteMapping("/message/delete")
public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) { public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) {
if (id == null) { if (id == null) {
@ -39,6 +46,16 @@ public class MessageController {
} else return messageService.messageDelete(id, request); } else return messageService.messageDelete(id, request);
} }
/**
* 获取消息列表
*
* @param page 页码
* @param pageSize 每页条数
* @param request 请求对象
* @param begin 开始日期
* @param end 结束日期
* @return 消息列表
*/
@GetMapping("/message/get") @GetMapping("/message/get")
public BaseResponse messageGet(@RequestParam(defaultValue = "1") Long page, public BaseResponse messageGet(@RequestParam(defaultValue = "1") Long page,
@RequestParam(defaultValue = "10") Long pageSize, @RequestParam(defaultValue = "10") Long pageSize,
@ -53,6 +70,17 @@ public class MessageController {
} else return messageService.messageGet(begin, end, page, pageSize, uid); } else return messageService.messageGet(begin, end, page, pageSize, uid);
} }
/**
* 获取所有消息列表
*
* @param page 页码
* @param pageSize 每页条数
* @param request 请求对象
* @param begin 开始日期
* @param end 结束日期
* @param uid 用户id
* @return 消息列表
*/
@GetMapping("/message/get/all") @GetMapping("/message/get/all")
public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page, public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page,
@RequestParam(defaultValue = "10") Long pageSize, @RequestParam(defaultValue = "10") Long pageSize,
@ -62,12 +90,11 @@ public class MessageController {
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) { @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
log.info("请求接口[GET]:/message/get/all"); log.info("请求接口[GET]:/message/get/all");
String token = request.getHeader("Authorization").replace("Bearer ", ""); String token = request.getHeader("Authorization").replace("Bearer ", "");
Long LoginId = JwtUtil.getUserId(token); Long loginId = JwtUtil.getUserId(token);
if (LoginId == null) { if (loginId == null) {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST); 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);
} }
} }

View File

@ -1,53 +0,0 @@
package com.jsl.oa.controllers;
import com.jsl.oa.services.ModuleService;
import com.jsl.oa.utils.BaseResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@RestController
@RequiredArgsConstructor
public class ModuleContorller {
private final ModuleService moduleService;
/**
* 获取子系统
* @param projectId
* @param request
* @return
*/
@GetMapping("/module/get")
public BaseResponse moudleGetByProjectId(@RequestParam Integer projectId, HttpServletRequest request){
log.info("ProjectIdcontroller");
return moduleService.getByProjectId(projectId,request);
}
/**
* 获取子模块
* @param sysId
* @param request
* @return
*/
@GetMapping("/module/get/min")
public BaseResponse moudleGetBySysId(@RequestParam Integer sysId, HttpServletRequest request){
log.info("SysIdcontorller");
return moduleService.getBySysId(sysId,request);
}
@DeleteMapping("/module/delete/{id}")
public BaseResponse moudleDeleteById( @PathVariable("id") Long id, HttpServletRequest request){
log.info("请求接口[DELETE]: /module/delete/{id}");
return moduleService.deleteById(request,id);
}
}

View File

@ -0,0 +1,68 @@
package com.jsl.oa.controllers;
import com.jsl.oa.services.ModuleService;
import com.jsl.oa.utils.BaseResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* <h1>模块控制器</h1>
* <hr/>
* 模块控制器包含模块获取接口
*
* @since v1.1.0
* @version v1.1.0
* @author xiangZr-hhh | xiao_lfeng | 176yunxuan
*/
@Slf4j
@RestController
@RequiredArgsConstructor
public class ModuleController {
private final ModuleService moduleService;
/**
* 获取子系统
*
* @param projectId 项目ID
* @param request 请求对象
* @return 子系统列表
*/
@GetMapping("/module/get")
public BaseResponse moduleGetByProjectId(@RequestParam Integer projectId, HttpServletRequest request) {
log.info("[Controller] 执行 moduleGetByProjectId 接口");
return moduleService.getByProjectId(projectId, request);
}
/**
* 获取子模块
*
* @param sysId 系统ID
* @param request 请求对象
* @return 子模块列表
*/
@GetMapping("/module/get/min")
public BaseResponse moduleGetBySysId(@RequestParam Integer sysId, HttpServletRequest request) {
log.info("[Controller] 执行 moduleGetBySysId 接口");
return moduleService.getBySysId(sysId, request);
}
/**
* 删除模块
*
* @param id 模块ID
* @param request 请求对象
* @return 删除结果
*/
@DeleteMapping("/module/delete/{id}")
public BaseResponse moduleDeleteById(@PathVariable("id") Long id, HttpServletRequest request) {
log.info("[Controller] 执行 moduleDeleteById 接口");
return moduleService.deleteById(request, id);
}
}

View File

@ -20,13 +20,13 @@ import javax.servlet.http.HttpServletRequest;
/** /**
* <h1>新闻控制器</h1> * <h1>新闻控制器</h1>
* <hr/> * <hr/>
* 角色控制器包含角色获取接口 * 新闻控制器包含新闻添加接口
* *
* @version v1.1.0 * @version v1.1.0
* @see NewsService * @see NewsService
* @since v1.1.0 * @since v1.1.0
* @author xiangZr-hhh | xiao_lfeng | 176yunxuan
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@ -34,6 +34,18 @@ public class NewsController {
private final NewsService newsService; private final NewsService newsService;
/**
* <h2>新闻添加接口</h2>
* <hr/>
* 新闻添加接口接收新闻添加VO对象并调用NewsService的newsAdd方法进行新闻添加操作
*
* @param newsAddVO 新闻添加VO对象包含新闻信息
* @param bindingResult 数据校验结果用于检查请求参数是否有错误
* @param request 请求对象包含请求信息
* @return BaseResponse 返回结果包含操作结果和错误信息
* @see NewsService#newsAdd(NewsAddVO, HttpServletRequest)
* @since v1.1.0
*/
@PostMapping("/news/add") @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"); log.info("请求接口[POST]: /news/add");
@ -41,13 +53,8 @@ public class NewsController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return newsService.newsAdd(newsAddVO, request); return newsService.newsAdd(newsAddVO, request);
} }
} }

View File

@ -14,58 +14,104 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/**
* 权限控制器类处理权限相关的API请求
* 它使用 {@link PermissionService} 来执行权限相关的操作
*
* @author xiao_lfeng | xiangZr-hhh | 176yunxuan
*/
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class PermissionController { public class PermissionController {
/**
* 权限服务实例用于执行权限相关的操作
*/
private final PermissionService permissionService; private final PermissionService permissionService;
/**
* 添加新的权限
*
* @param request HTTP请求对象
* @param rid 角色ID
* @param pid 权限ID
* @return {@link BaseResponse} 对象包含操作结果
*/
@PostMapping("/permission/add") @PostMapping("/permission/add")
public BaseResponse permissionAdd(HttpServletRequest request, @RequestParam Long rid,@RequestParam Long pid) { public BaseResponse permissionAdd(HttpServletRequest request, @RequestParam Long rid, @RequestParam Long pid) {
log.info("请求接口[POST]: /permission/add"); log.info("请求接口[POST]: /permission/add");
// 判断是否有参数错误 // 判断是否有参数错误
if (rid == null || pid == null) { if (rid == null || pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} else { } else {
return permissionService.permissionAdd(request,rid,pid); return permissionService.permissionAdd(request, rid, pid);
} }
} }
/**
* 获取当前用户的权限信息
*
* @param request HTTP请求对象
* @param uid 用户ID
* @return {@link BaseResponse} 对象包含操作结果
*/
@GetMapping("/permission/current") @GetMapping("/permission/current")
public BaseResponse permissionUser(HttpServletRequest request, @RequestParam Long uid) { public BaseResponse permissionUser(HttpServletRequest request, @RequestParam Long uid) {
log.info("请求接口[GET]: /permission/current"); log.info("请求接口[GET]: /permission/current");
// 判断是否有参数错误 // 判断是否有参数错误
if (uid == null ) { if (uid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} else { } else {
return permissionService.permissionUser(request,uid); return permissionService.permissionUser(request, uid);
} }
} }
/**
* 获取所有权限信息
*
* @param request HTTP请求对象
* @return {@link BaseResponse} 对象包含操作结果
*/
@GetMapping("/permission/get") @GetMapping("/permission/get")
public BaseResponse permissionGet(HttpServletRequest request){ public BaseResponse permissionGet(HttpServletRequest request) {
log.info("请求接口[GET]: /permission/get"); log.info("请求接口[GET]: /permission/get");
return permissionService.permissionGet(request); return permissionService.permissionGet(request);
} }
/**
* 编辑权限信息
*
* @param permissionEditVo {@link PermissionEditVO} 对象包含更新后的权限信息
* @param bindingResult Binding结果对象包含任何验证错误
* @param request HTTP请求对象
* @return {@link BaseResponse} 对象包含操作结果
*/
@PutMapping("/permission/edit") @PutMapping("/permission/edit")
public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVO permissionEditVo, BindingResult bindingResult, HttpServletRequest request){ public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVO permissionEditVo, BindingResult bindingResult, HttpServletRequest request) {
log.info("请求接口[PUT]: /permission/edit"); log.info("请求接口[PUT]: /permission/edit");
// 判断是否有参数错误 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return permissionService.permissionEdit(permissionEditVo,request); return permissionService.permissionEdit(permissionEditVo, request);
} }
/**
* 删除权限
*
* @param pid 权限ID
* @param request HTTP请求对象
* @return {@link BaseResponse} 对象包含操作结果
*/
@DeleteMapping("/permission/delete") @DeleteMapping("/permission/delete")
public BaseResponse permissionDelete(@RequestParam Long pid,HttpServletRequest request){ public BaseResponse permissionDelete(@RequestParam Long pid, HttpServletRequest request) {
log.info("请求接口[Delete]: /permission/delete"); log.info("请求接口[Delete]: /permission/delete");
// 判断是否有参数错误 // 判断是否有参数错误
if (pid == null) { if (pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} else return permissionService.permissionDelete(request,pid); } else {
return permissionService.permissionDelete(request, pid);
}
} }
} }

View File

@ -1,6 +1,9 @@
package com.jsl.oa.controllers; package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.*; import com.jsl.oa.model.voData.ProjectCuttingAddVO;
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
import com.jsl.oa.model.voData.ProjectEditVO;
import com.jsl.oa.model.voData.ProjectWorkVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.services.ProjectService; import com.jsl.oa.services.ProjectService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -17,101 +20,109 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
/**
* 项目控制器
*
* @author xiao_lfeng | xiangZr-hhh | 176yunxuan
* @version 1.1.0
* @since 1.1.0
*/
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class ProjectController { public class ProjectController {
/**
* 项目服务
*/
private final ProjectService projectService; private final ProjectService projectService;
/** /**
* 项目展示获取 * 项目展示获取
* 项目轮播图 * 项目轮播图
* *
* @param id * @param id 获取项目 id
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/header/get") @GetMapping("/project/header/get")
public BaseResponse projectGetHeader(@RequestParam(required = false) Integer id) { public BaseResponse projectGetHeader(@RequestParam(required = false) final Integer id) {
log.info("请求接口[GET]: /project/header/get"); log.info("请求接口[GET]: /project/header/get");
return projectService.getHeader(id); return projectService.getHeader(id);
} }
/** /**
* * @param id 获取项目 id
* @param id * @return {@link BaseResponse}
* @return
*/ */
@GetMapping("/project/get/id") @GetMapping("/project/get/id")
public BaseResponse projectGetById(@RequestParam Integer id){ public BaseResponse projectGetById(@RequestParam Integer id) {
return projectService.getById(id); return projectService.getById(id);
} }
/** /**
* * @param id 获取项目 id
* @param id * @return {@link BaseResponse}
* @return
*/ */
@GetMapping("/project/getwork/id") @GetMapping("/project/getwork/id")
public BaseResponse projectWorkGetById(@RequestParam Integer id){ public BaseResponse projectWorkGetById(@RequestParam Integer id) {
return projectService.getWorkById(id); return projectService.getWorkById(id);
} }
/** /**
* 游客获取项目 * 游客获取项目
* *
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/get/custom") @GetMapping("/project/get/custom")
public BaseResponse projectGetCustom(@RequestParam(required = false) Integer id, public BaseResponse projectGetCustom(@RequestParam(required = false) Integer id,
@RequestParam(required = false) List<String> tags, @RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish, @RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false,defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false,defaultValue = "10") Integer pageSize) { @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
log.info("请求接口[GET]: /project/all/get"); log.info("请求接口[GET]: /project/all/get");
return projectService.tget(id, tags, isFinish,page,pageSize); return projectService.tget(id, tags, isFinish, page, pageSize);
} }
/** /**
* 我负责的界面的获取项目 * 我负责的界面的获取项目
* *
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/get") @GetMapping("/project/get")
public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,
@RequestParam(required = false) List<String> tags, @RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish, @RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false,defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false,defaultValue = "10") Integer pageSize, @RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) { HttpServletRequest request) {
log.info("请求接口[GET]: /project/get"); log.info("请求接口[GET]: /project/get");
return projectService.get(listAll, request, tags, isFinish,page,pageSize); return projectService.get(listAll, request, tags, isFinish, page, pageSize);
} }
/** /**
* 我管理的查询 * 我管理的查询
* *
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/work/get") @GetMapping("/project/work/get")
public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll, public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll,
@RequestParam(required = false) List<String> tags, @RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish, @RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false) Integer is, @RequestParam(required = false) Integer is,
@RequestParam(required = false,defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false,defaultValue = "10") Integer pageSize, @RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) { HttpServletRequest request) {
log.info("请求接口[GET]: /project/work/get"); log.info("请求接口[GET]: /project/work/get");
return projectService.workget(listAll, request, tags, isFinish, is,page,pageSize); return projectService.workget(listAll, request, tags, isFinish, is, page, pageSize);
} }
/** /**
* 单个项目的详细 * 单个项目的详细
* 项目轮播图 * 项目轮播图
* *
* @param name * @param name 获取项目名称
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/header") @GetMapping("/project/header")
public BaseResponse projectGetByName(@RequestParam String name) { public BaseResponse projectGetByName(@RequestParam String name) {
@ -123,17 +134,16 @@ public class ProjectController {
* 增加项目展示 * 增加项目展示
* 项目轮播图 * 项目轮播图
* *
* @param projectShowVO * @param projectShowVO 项目展示信息
* @param request * @param request 请求
* @param bindingResult * @param bindingResult 参数校验
* @return * @return {@link BaseResponse}
*/ */
@PostMapping("/project/header/add") @PostMapping("/project/header/add")
public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) { public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/header/add"); log.info("请求接口[POST]: /project/header/add");
// 参数校验 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult));
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return projectService.addHeader(request, projectShowVO); return projectService.addHeader(request, projectShowVO);
@ -143,109 +153,54 @@ public class ProjectController {
* 编辑展示的项目 * 编辑展示的项目
* 项目轮播图 * 项目轮播图
* *
* @param projectShowVO * @param projectId 项目 id
* @param id * @param request 请求
* @param request * @param projectEdit 项目信息
* @param bindingResult * @param bindingResult 参数校验
* @return * @return {@link BaseResponse}
*/ */
@PutMapping("/project/header/edit") @PutMapping("/project/header/edit/{projectId}")
public BaseResponse projectEditHeader(@RequestBody @Validated ProjectShowVO projectShowVO, @RequestParam Integer id, HttpServletRequest request, @NotNull BindingResult bindingResult) { public BaseResponse projectEditById(@RequestParam Long projectId, HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /project/header/edit"); log.info("请求接口[PUT]: /project/header/edit/{projectId}");
// 参数校验 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult));
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
if (id == null) {
log.warn("参数校验失败: {}", "id不能为空");
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, "id不能为空");
}
return projectService.editHeader(request, projectShowVO, id);
}
/**
* 删除项目展示
* 项目轮播图
*
* @param id
* @param request
* @return
*/
@DeleteMapping("/project/header/del")
public BaseResponse projectDelHeader(@RequestParam Integer id, HttpServletRequest request) {
log.info("请求接口[Delete]: /project/header/del");
return projectService.delHeader(id, request);
}
/**
* 项目表进行项目增加
*
* @return
*/
@PostMapping("/project/add")
public BaseResponse projectAdd(HttpServletRequest request, @RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectAdd(request, projectAdd);
}
/**
* @Description: 项目的修改
* @Date: 2024/3/10
* @Param request:
* @Param projectEdit:
* @Param bindingResult:
* @Param projectId:
**/
@PutMapping("/project/edit/{projectId}")
public BaseResponse projectEditById(HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit,
@NotNull BindingResult bindingResult, @PathVariable("projectId") Long projectId) {
log.info("请求接口[PUT]: /project/edit/{projectId}");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectEdit(request, projectEdit, projectId); return projectService.projectEdit(request, projectEdit, projectId);
} }
/** /**
* 子系统子模块的增加 * 子系统子模块的增加
* *
* @param request * @param request 请求
* @param bindingResult * @param bindingResult 参数校验
* @return * @return {@link BaseResponse}
*/ */
@PostMapping("/project/work/add") @PostMapping("/project/work/add")
public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) { public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/work/add"); log.info("请求接口[POST]: /project/work/add");
// 判断是否有参数错误 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return projectService.projecWorktAdd(request, projectWorkVO); return projectService.projecWorktAdd(request, projectWorkVO);
} }
/** /**
* 获取负责人id * 获取负责人id
* @return *
* @return {@link BaseResponse}
*/ */
@GetMapping("/project/pri") @GetMapping("/project/pri")
public BaseResponse projectPrincipalGet(){ public BaseResponse projectPrincipalGet() {
return projectService.projectPrincipalGet(); return projectService.projectPrincipalGet();
} }
/** /**
* 用户获取所分到的项目模块 * 用户获取所分到的项目模块
* *
* @param uid * @param uid 用户 id
* @return * @return {@link BaseResponse}
*/ */
@GetMapping("/project/cut/user") @GetMapping("/project/cut/user")
public BaseResponse projectGetUserInCutting(@RequestParam Long uid) { public BaseResponse projectGetUserInCutting(@RequestParam Long uid) {
@ -260,13 +215,13 @@ public class ProjectController {
/** /**
* 给某用户分配项目模块 * 给某用户分配项目模块
* *
* @param uid * @param uid 用户 id
* @param pid * @param pid 项目 id
* @return * @return {@link BaseResponse}
*/ */
@PostMapping("/project/cut/user/add") @PostMapping("/project/cut/user/add")
public BaseResponse projectAddUserForCutting(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long pid) { public BaseResponse projectAddUserForCutting(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long pid) {
log.info("请求接口[POST]: /project/cut/user/add"); log.info("请求接口[Post]: /project/cut/user/add");
// 判断是否有参数错误 // 判断是否有参数错误
if (uid == null || pid == null) { if (uid == null || pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
@ -277,8 +232,8 @@ public class ProjectController {
/** /**
* 删除某项目记录 * 删除某项目记录
* *
* @param id * @param id 用户 id
* @return * @return {@link BaseResponse}
*/ */
@DeleteMapping("/project/delete") @DeleteMapping("/project/delete")
public BaseResponse projectDelete(HttpServletRequest request, @RequestParam List<Long> id) { public BaseResponse projectDelete(HttpServletRequest request, @RequestParam List<Long> id) {
@ -290,12 +245,13 @@ public class ProjectController {
} }
/** /**
* @Description: 添加项目模块 * 项目轮播图
* @Date: 2024/1/21 *
* @Param request * @param request 请求
* @Param projectCuttingAddVO * @param projectCuttingAddVO 项目轮播图信息
* @Param bindingResult * @param bindingResult 参数校验
**/ * @return {@link BaseResponse}
*/
@PostMapping("/project/cut/add") @PostMapping("/project/cut/add")
public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) { public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[Post]: /project/cut/add"); log.info("请求接口[Post]: /project/cut/add");

View File

@ -7,7 +7,10 @@ import com.jsl.oa.model.doData.ProjectWorkDO;
import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkSimpleVO; import com.jsl.oa.model.voData.ProjectWorkSimpleVO;
import com.jsl.oa.model.voData.ProjectWorkVO; import com.jsl.oa.model.voData.ProjectWorkVO;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -36,7 +39,7 @@ public interface ProjectMapper {
ProjectDO tgetProjectById(Integer id); ProjectDO tgetProjectById(Integer id);
@Select("select * from organize_oa.oa_project_work where principal_id=#{uid}") @Select("select * from organize_oa.oa_project_work where principal_id=#{uid}")
//"(select id from organize_oa.oa_project_work where id in)") //"(select id from organize_oa.oa_project_work where id in)")
List<ProjectCuttingDO> projectGetUserInCutting(Long uid); List<ProjectCuttingDO> projectGetUserInCutting(Long uid);
@Insert("update organize_oa.oa_project_work set principal_id =#{uid} where id=#{pid}") @Insert("update organize_oa.oa_project_work set principal_id =#{uid} where id=#{pid}")
@ -52,12 +55,12 @@ public interface ProjectMapper {
boolean setProjectShow(String setProjectShow); boolean setProjectShow(String setProjectShow);
//@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" + //@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" +
//"like concat('%',#{tags},'%')") //"like concat('%',#{tags},'%')")
//@Select("select * from organize_oa.oa_project where is_finish=#{isFinish} and is_delete=false and principal_id=#{userId}") //@Select("select * from organize_oa.oa_project where is_finish=#{isFinish} and is_delete=false and principal_id=#{userId}")
List<ProjectDO>getByIsfinish(Long userId,List<Integer> isFinish); List<ProjectDO> getByIsfinish(Long userId, List<Integer> isFinish);
List<ProjectDO>getByTags(Long userId,List<String> tags,List<Integer> isFinish); List<ProjectDO> getByTags(Long userId, List<String> tags, List<Integer> isFinish);
@Select("select * from organize_oa.oa_project where is_delete=false and status=1 and principal_id=#{userId}") @Select("select * from organize_oa.oa_project where is_delete=false and status=1 and principal_id=#{userId}")
List<ProjectDO> get(Long userId); List<ProjectDO> get(Long userId);
@ -93,10 +96,10 @@ public interface ProjectMapper {
//@Select("select * from organize_oa.oa_project_work where is_finish=#{isFinish} and is_delete=false and principal_id =#{userId}") //@Select("select * from organize_oa.oa_project_work where is_finish=#{isFinish} and is_delete=false and principal_id =#{userId}")
List<ProjectDO> workgetByIsfinish(Long userId, List<Integer> isFinish, Integer is); List<ProjectDO> workgetByIsfinish(Long userId, List<Integer> isFinish, Integer is);
List<ProjectDO> workgetByTags(Long userId, List<String> tags, Integer is,List<Integer> isFinish); List<ProjectDO> workgetByTags(Long userId, List<String> tags, Integer is, List<Integer> isFinish);
//@Select("select * from organize_oa.oa_project where id in(select project_id from " + //@Select("select * from organize_oa.oa_project where id in(select project_id from " +
//"organize_oa.oa_project_work where is_delete=false and status =1 and principal_id=#{userId} and type=0)") //"organize_oa.oa_project_work where is_delete=false and status =1 and principal_id=#{userId} and type=0)")
List<ProjectDO> workget(Long userId, Integer is); List<ProjectDO> workget(Long userId, Integer is);
//@Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}") //@Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}")
@ -107,12 +110,12 @@ public interface ProjectMapper {
List<ProjectDO> tgetByIsfinish(List<Integer> isFinish); List<ProjectDO> tgetByIsfinish(List<Integer> isFinish);
List<ProjectDO> tgetBytags(List<String> tags,List<Integer> isFinish); List<ProjectDO> tgetBytags(List<String> tags, List<Integer> isFinish);
@Select("select * from organize_oa.oa_project_work where id=#{id}") @Select("select * from organize_oa.oa_project_work where id=#{id}")
ProjectWorkSimpleVO getWorkById(Integer id); ProjectWorkSimpleVO getWorkById(Integer id);
@Select("select principal_id from organize_oa.oa_project_work where id=#{pid}") @Select("select principal_id from organize_oa.oa_project_work where id=#{pid}")
Long getPirIdbyWorkid(Long pid); Long getPirIdbyWorkid(Long pid);
@Select("select principal_id from organize_oa.oa_project_work where id=#{id}") @Select("select principal_id from organize_oa.oa_project_work where id=#{id}")

View File

@ -56,20 +56,21 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) { public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) {
log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法"); log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法");
if(projectAdd.getDescription().isEmpty()){ if (projectAdd.getDescription().isEmpty()) {
projectAdd.setDescription("{}"); projectAdd.setDescription("{}");
}else { } else {
projectAdd.setDescription("{\"description\":\" "+ projectAdd.getDescription() + "\"}"); projectAdd.setDescription("{\"description\":\" " + projectAdd.getDescription() + "\"}");
} }
String tags = projectAdd.getTags(); String tags = projectAdd.getTags();
String[] split = tags.split(","); String[] split = tags.split(",");
String open = "{\"tags\":[\""; String open = "{\"tags\":[\"";
String close = "]}"; String close = "]}";
String tag = ""; StringBuilder tag = new StringBuilder();
for (String tag1:split){ for (String tag1 : split) {
tag += tag1 + "\",\""; tag.append(tag1).append("\",\"");
}if (!tag.isEmpty()) { }
tag = tag.substring(0, tag.length() - 2); if (tag.length() > 0) {
tag = new StringBuilder(tag.substring(0, tag.length() - 2));
} }
projectAdd.setTags(open + tag + close); projectAdd.setTags(open + tag + close);
projectAdd.setFile("{\"URI\":\"" + projectAdd.getFile() + "\"}"); projectAdd.setFile("{\"URI\":\"" + projectAdd.getFile() + "\"}");
@ -85,84 +86,84 @@ public class ProjectServiceImpl implements ProjectService {
//获取用户id //获取用户id
Long userId = Processing.getAuthHeaderToUserId(request); Long userId = Processing.getAuthHeaderToUserId(request);
//是否是增加子系统 //是否是增加子系统
if(projectWorkVO.getType() == 0 ){ if (projectWorkVO.getType() == 0) {
//是否是老师 //是否是老师
if (Processing.checkUserIsTeacher(request, roleMapper)){ if (Processing.checkUserIsTeacher(request, roleMapper)) {
projectDAO.projectWorkAdd(projectWorkVO); projectDAO.projectWorkAdd(projectWorkVO);
}else { } else {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
}//增加子模块 }//增加子模块
else { else {
//是否是子系统的负责人 //是否是子系统的负责人
if(Objects.equals(userId, projectMapper.getPirIdbyWorkid(projectWorkVO.getPid()))){ if (Objects.equals(userId, projectMapper.getPirIdbyWorkid(projectWorkVO.getPid()))) {
projectDAO.projectWorkAdd(projectWorkVO); projectDAO.projectWorkAdd(projectWorkVO);
}else return ResultUtil.error(ErrorCode.NOT_PERMISSION); } else return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
return ResultUtil.success("添加成功"); return ResultUtil.success("添加成功");
} }
@Override @Override
public BaseResponse tget(Integer id, List<String> tags, List<Integer> isFinish,Integer page,Integer pageSize){ public BaseResponse tget(Integer id, List<String> tags, List<Integer> isFinish, Integer page, Integer pageSize) {
log.info("\t> 执行 Service 层 ProjectService.tget 方法"); log.info("\t> 执行 Service 层 ProjectService.tget 方法");
//根据id查询 //根据id查询
if (id != null){ if (id != null) {
ProjectDO projectDO = projectMapper.tgetProjectById(id); ProjectDO projectDO = projectMapper.tgetProjectById(id);
ProjectSimpleVO projectSimpleVO = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO, projectDO, userDAO, objectMapper);
return ResultUtil.success(projectSimpleVO); return ResultUtil.success(projectSimpleVO);
} }
//根据标签查询 //根据标签查询
if (tags != null && !tags.isEmpty()) { if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.tget(id,isFinish,tags); List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
//根据状态查询 //根据状态查询
if (isFinish != null && !isFinish.isEmpty()) { if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.tget(id,isFinish,tags); List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
List<ProjectDO> projectDOList = projectDAO.tget(id,isFinish,tags); List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
@ -171,13 +172,13 @@ public class ProjectServiceImpl implements ProjectService {
// 判断项目是否存在 // 判断项目是否存在
if(!projectDAO.isExistProjectById(projectId)){ if (!projectDAO.isExistProjectById(projectId)) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
} }
ProjectDO projectDO = projectDAO.getProjectById(projectId); ProjectDO projectDO = projectDAO.getProjectById(projectId);
if(projectDO.getFile() == null || projectDO.getFile().equals("{}")){ if (projectDO.getFile() == null || projectDO.getFile().equals("{}")) {
return ResultUtil.success(null); return ResultUtil.success(null);
} }
@ -203,14 +204,14 @@ public class ProjectServiceImpl implements ProjectService {
projectWorkSimpleVO.setPrincipalUser(userDAO.getUserById(projectMapper.getPid(id)).getUsername()); projectWorkSimpleVO.setPrincipalUser(userDAO.getUserById(projectMapper.getPid(id)).getUsername());
// 解析JSON字符串 // 解析JSON字符串
JsonNode rootNode = null; JsonNode rootNode;
try { try {
rootNode = objectMapper.readTree(projectWorkSimpleVO.getDescription()); rootNode = objectMapper.readTree(projectWorkSimpleVO.getDescription());
// 访问特定的key // 访问特定的key
JsonNode targetNode = rootNode.get("description"); JsonNode targetNode = rootNode.get("description");
if(targetNode != null && !rootNode.isNull()){ if (targetNode != null && !rootNode.isNull()) {
projectWorkSimpleVO.setDescription(targetNode.asText()); projectWorkSimpleVO.setDescription(targetNode.asText());
}else{ } else {
projectWorkSimpleVO.setDescription("null"); projectWorkSimpleVO.setDescription("null");
} }
} catch (JsonProcessingException ignored) { } catch (JsonProcessingException ignored) {
@ -370,16 +371,16 @@ public class ProjectServiceImpl implements ProjectService {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
@ -387,16 +388,16 @@ public class ProjectServiceImpl implements ProjectService {
if (isFinish != null && !isFinish.isEmpty()) { if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
@ -405,31 +406,31 @@ public class ProjectServiceImpl implements ProjectService {
if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) { if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} else { } else {
listAll = 0; listAll = 0;
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
@ -444,68 +445,68 @@ public class ProjectServiceImpl implements ProjectService {
//根据标签查询 //根据标签查询
if (tags != null && !tags.isEmpty()) { if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
//根据状态查询 //根据状态查询
if (isFinish != null && !isFinish.isEmpty()) { if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
//判断是否是老师(项目负责人) //判断是否是老师(项目负责人)
if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) { if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} else { } else {
listAll = 0; listAll = 0;
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>(); List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO:projectDOList){ for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO(); ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1,projectDO,userDAO,objectMapper); Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1); projectSimpleVOList.add(projectSimpleVO1);
} }
//分页返回 //分页返回
int start = (page-1) * pageSize; int start = (page - 1) * pageSize;
int end = start + pageSize; int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start, List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end,projectSimpleVOList.size())); Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData); return ResultUtil.success(pageData);
} }
} }
@ -526,19 +527,19 @@ public class ProjectServiceImpl implements ProjectService {
log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法"); log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法");
//判断用户是否为老师 或者 项目负责人 //判断用户是否为老师 或者 项目负责人
if (!Processing.checkUserIsTeacher(request, roleMapper)){ if (!Processing.checkUserIsTeacher(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
for(Long id1:id){ for (Long id1 : id) {
if(!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) { if (!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
if (!projectDAO.projectDelete(id1)) { if (!projectDAO.projectDelete(id1)) {
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
} }
} return ResultUtil.success(); }
return ResultUtil.success();
} }
@Override @Override