whyczh
2021-05-14 403dcf9b7cb87baa357a6ff662a75d4af424f365
新增项目管理实体类和接口
1个文件已修改
4个文件已添加
190 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/ProjectController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ProjectMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Project.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProjectService.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleMenuMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProjectController.java
New file
@@ -0,0 +1,62 @@
package com.whyc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whyc.dto.Response;
import com.whyc.pojo.Project;
import com.whyc.service.ProjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @author 张辉
 * @since 2021/5/14
 */
@RestController
@RequestMapping("project")
@Api(tags = "项目管理")
@Slf4j
public class ProjectController {
    @Resource
    private ProjectService service;
    @PostMapping()
    @ApiOperation(value = "添加项目")
    public Response addProject(@RequestBody Project project){
        return service.addProject(project);
    }
    @GetMapping("getAll")
    @ApiOperation(value = "获取所有项目")
    public Response getAll(){
        return service.getAll();
    }
    @GetMapping("getProjectById")
    @ApiOperation(value = "查看项目ById")
    public Response getProjectById(@RequestParam int id){
        return service.getProjectById(id);
    }
    @PostMapping("search")
    @ApiOperation(value = "查询项目分页-根据筛选条件")
    public Response<IPage<Project>> getPageByCondition(@RequestParam int pageNum, @RequestParam int pageSize, @RequestBody Project project){
        return service.getPageByCondition(pageNum,pageSize,project);
    }
    @PutMapping
    @ApiOperation(value = "更新项目")
    public Response updateProject(@RequestBody Project project){
        return service.updateProject(project);
    }
    @DeleteMapping
    @ApiOperation(value = "删除项目")
    public Response deleteProject(@RequestParam int id){
        return service.deleteProject(id);
    }
}
src/main/java/com/whyc/mapper/ProjectMapper.java
New file
@@ -0,0 +1,10 @@
package com.whyc.mapper;
import com.whyc.pojo.Project;
/**
 * @author 张辉
 * @since 2021/5/14
 */
public interface ProjectMapper extends CustomMapper<Project> {
}
src/main/java/com/whyc/pojo/Project.java
New file
@@ -0,0 +1,44 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import java.util.Date;
/**
 * 项目管理
 */
@Data
@Alias("Project")
@ApiModel
@TableName(schema = "`db_3.5mw_web`" , value = "`tb_project`")
public class Project {
    @TableId
    private Integer id;
    @ApiModelProperty("项目名称")
    private String name;
    @ApiModelProperty("项目描述")
    private String description;
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("项目开始时间")
    private Date startTime;
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划完成时间")
    private Date endTime;
    @ApiModelProperty("项目负责人")
    private String manager;
    @ApiModelProperty("项目成员")
    private String parter;
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("项目状态:0-已取消,1-进行中,2-完成,3-延期")
    private Integer status;
}
src/main/java/com/whyc/service/ProjectService.java
New file
@@ -0,0 +1,72 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.whyc.dto.Response;
import com.whyc.mapper.ProjectMapper;
import com.whyc.pojo.Project;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
 * @author 张辉
 * @since 2021/5/14
 */
@Service
public class ProjectService {
    @Resource
    private ProjectMapper mapper;
    public Response addProject(Project project){
        project.setCreateTime(new Date());
        project.setStatus(0);
        if (mapper.insert(project)>0){
            return new Response().setMsg(1,"添加成功");
        }else {
            return new Response().setMsg(0,"添加失败");
        }
    }
    public Response getAll(){
        List<Project> list =  mapper.selectList(null);
        return new Response().set(1,list);
    }
    public Response getProjectById(int id){
        Project project = mapper.selectById(id);
        return new Response().set(1,project);
    }
    public Response<IPage<Project>> getPageByCondition(int pageNum,int pageSize,Project project){
        QueryWrapper<Project> queryWrapper = new QueryWrapper<>(project);
        IPage<Project> page = mapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper);
        return new Response<IPage<Project>>().set(1, page);
    }
    public Response updateProject(Project project){
        if (mapper.updateById(project)>0){
            return new Response().setMsg(1,"更新成功");
        }else {
            return new Response().setMsg(0,"更新失败");
        }
    }
    public Response deleteProject(int id){
        if (mapper.deleteById(id)>0){
            return new Response().setMsg(1,"删除成功");
        }else {
            return new Response().setMsg(0,"删除失败");
        }
    }
}
src/main/resources/mapper/RoleMenuMapper.xml
@@ -28,7 +28,7 @@
         inner join tb_role_menu rm on role.id=rm.role_id
         inner join tb_menu m on m.id=rm.menu_id
         inner join tb_menu pm on m.menu_id = pm.id
        where u.id=#{id} ORDER BY pm.id,m.ord;
        where u.id=#{id} and role.state=0 ORDER BY pm.id,m.ord;
    </select>
</mapper>