diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/config/MybatisPlusConfig.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/config/MybatisPlusConfig.java index 7ff3d63..cf60c2e 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/config/MybatisPlusConfig.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/config/MybatisPlusConfig.java @@ -21,7 +21,7 @@ public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.GAUSS)); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); return interceptor; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java new file mode 100644 index 0000000..62b59ba --- /dev/null +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java @@ -0,0 +1,14 @@ +package cn.edu.hfut.rmdjzz.projectmanagement.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author 佘语殊 + * @since 2022/6/30 11:24 + */ +@RestController +@RequestMapping("/project") +public class ProjectController { + +} diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/StaffController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/StaffController.java index 2c33999..ca19945 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/StaffController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/StaffController.java @@ -8,7 +8,6 @@ import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; /** @@ -38,7 +37,7 @@ public class StaffController { } @GetMapping("/timetest") - public LocalDateTime timeTest(){ + public LocalDateTime timeTest() { return LocalDateTime.now(); } } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java index 1a39fed..ce363d8 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java @@ -3,6 +3,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.time.LocalDate; @@ -35,4 +36,5 @@ public class Project { private Boolean completed; @TableLogic private Boolean deleted; + private Integer projectCreator; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ProjectType.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ProjectType.java index cd91b82..c34a278 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ProjectType.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ProjectType.java @@ -10,7 +10,6 @@ import lombok.Data; * @since 2022/6/29 20:54 */ @Data -@TableName("project_type") public class ProjectType { @TableId(type = IdType.AUTO) Integer projectClassId; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java index 1e0f7a1..d2a8809 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java @@ -1,5 +1,6 @@ package cn.edu.hfut.rmdjzz.projectmanagement.entity; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -12,7 +13,6 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode public class ResultProject { Integer projectId; String projectName; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java index 47029a6..a8a10ad 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java @@ -2,8 +2,10 @@ package cn.edu.hfut.rmdjzz.projectmanagement.mapper; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.*; import org.springframework.web.bind.annotation.RequestMapping; @@ -15,11 +17,17 @@ import java.util.List; * @since 2022/6/29 17:07 */ public interface ProjectMapper extends BaseMapper { - @Select("SELECT COUNT(*) FROM project WHERE project_id IN " + - "(SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id})") + @Select(""" + SELECT COUNT(*) FROM project WHERE project_id IN + (SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id}); + """) Long getProjectTotalNum(@Param("id") Integer staffId); - @Select("SELECT * FROM project WHERE project_id IN " + - "(SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id})") + + @Select(""" + SELECT * FROM project WHERE project_id IN + (SELECT DISTINCT project_id FROM project_group) + ${ew.customSqlSegment}; + """) @Results({ @Result(column = "project_id", property = "projectId", id = true), @Result(column = "project_name", property = "projectName"), @@ -30,5 +38,5 @@ public interface ProjectMapper extends BaseMapper { @Result(column = "{id = project_subclass_id}", property = "projectSubClassName", javaType = String.class, one = @One(select = "cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectTypeMapper.findClassNameById")) }) - Page findMyProject(Page pg, @Param("id") Integer staffId); + IPage findMyProject(IPage pg, @Param("id") Integer staffId,@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java index 7e256ba..a809bab 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java @@ -3,17 +3,22 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; -import cn.edu.hfut.rmdjzz.projectmanagement.utils.response.ResponseMap; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Map; + /** * @author 阳勇权 * @since 2022/6/29 17:08 */ public interface IProjectService extends IService { - Page getOnePageProject(String toke) throws TokenException; + IPage getOnePageProject(String token, Integer pageCurrent, Integer pageSize, Map params) throws TokenException; + Long getProjectTotalNum(String token) throws TokenException; + Boolean setProjectCompleted(String token, Project project) throws TokenException; + Boolean makeANewProject(Project project) throws TokenException; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java index 284e8f4..a31a34c 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java @@ -6,43 +6,53 @@ import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectMapper; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils; +import cn.edu.hfut.rmdjzz.projectmanagement.utils.WrapperUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import java.sql.Wrapper; +import java.util.Map; /** * @author 阳勇权 * @since 2022/6/29 19:36 */ public class ProjectServiceImpl extends ServiceImpl implements IProjectService { - @Autowired - TokenUtils tokenUtils; @Override - public Page getOnePageProject(String token) throws TokenException { - Integer staffId = tokenUtils.getStaffId(token); - return null; + public IPage getOnePageProject( + String token, + Integer pageCurrent, + Integer pageSize, + Map params + ) throws TokenException { + Integer staffId = TokenUtils.getStaffId(token); + + return baseMapper.findMyProject(new Page<>(pageCurrent, pageSize), staffId, + Wrappers.query() + .allEq(WrapperUtils.getWrappedMapWithoutTime(params)) + //.lambda() + //.between(params.get("projectStartTimeStart")!=null,Project::getProjectStartTime,) + ); } @Override - public Long getProjectTotalNum(String token) throws TokenException{ - Integer staffId = tokenUtils.getStaffId(token); + public Long getProjectTotalNum(String token) throws TokenException { + Integer staffId = TokenUtils.getStaffId(token); return baseMapper.getProjectTotalNum(staffId); } @Override - public Boolean setProjectCompleted(String token, Project project) throws TokenException{ - Integer staffId = tokenUtils.getStaffId(token); + public Boolean setProjectCompleted(String token, Project project) throws TokenException { + Integer staffId = TokenUtils.getStaffId(token); Project targetProject = baseMapper.selectOne(Wrappers.lambdaQuery().eq(Project::getProjectId, project.getProjectId())); return null; } @Override - public Boolean makeANewProject(Project project) throws TokenException{ + public Boolean makeANewProject(Project project) throws TokenException { return null; }