| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- package com.yingpaipay.business.controller;
- import java.util.List;
- import com.yingpaipay.business.domain.bo.*;
- import com.yingpaipay.business.domain.vo.*;
- import com.yingpaipay.business.service.IFolderService;
- import lombok.RequiredArgsConstructor;
- import jakarta.servlet.http.HttpServletResponse;
- import jakarta.validation.constraints.*;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import org.dromara.common.core.service.UserService;
- import org.dromara.system.service.ISysUserService;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.validation.annotation.Validated;
- import org.dromara.common.idempotent.annotation.RepeatSubmit;
- import org.dromara.common.log.annotation.Log;
- import org.dromara.common.web.core.BaseController;
- import org.dromara.common.mybatis.core.page.PageQuery;
- import org.dromara.common.core.domain.R;
- import org.dromara.common.core.validate.AddGroup;
- import org.dromara.common.core.validate.EditGroup;
- import org.dromara.common.log.enums.BusinessType;
- import org.dromara.common.excel.utils.ExcelUtil;
- import com.yingpaipay.business.service.IProjectService;
- import org.dromara.common.mybatis.core.page.TableDataInfo;
- /**
- * 项目管理
- *
- * @author Huanyi
- * @date 2025-12-05
- */
- @Validated
- @RequiredArgsConstructor
- @RestController
- @RequestMapping("/project/management")
- public class ProjectController extends BaseController {
- private final IProjectService projectService;
- private final IFolderService folderService;
- /**
- * 查询项目管理列表
- */
- @SaCheckPermission("project:management:list")
- @GetMapping("/list")
- public TableDataInfo<ProjectVo> list(ProjectBo bo, PageQuery pageQuery) {
- return projectService.queryPageList(bo, pageQuery);
- }
- @SaCheckPermission("dashboard:workbench:index")
- @GetMapping("/listOnDashboardWorkbench")
- public TableDataInfo<ProjectInDashboardWorkbenchVo> listOnDashboardWorkbench(ProjectListOnDashboardWorkbenchBo bo, PageQuery pageQuery) {
- return projectService.queryPageListOnDashboardWorkbench(bo, pageQuery);
- }
- /**
- * 导出项目管理列表
- */
- @SaCheckPermission("project:management:export")
- @Log(title = "项目管理", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(ProjectBo bo, HttpServletResponse response) {
- List<ProjectVo> list = projectService.queryList(bo);
- ExcelUtil.exportExcel(list, "项目管理", ProjectVo.class, response);
- }
- /**
- * 获取项目管理详细信息
- *
- * @param id 主键
- */
- @SaCheckPermission("project:management:query")
- @GetMapping("/{id}")
- public R<ProjectVo> getInfo(@NotNull(message = "主键不能为空")
- @PathVariable Long id) {
- return R.ok(projectService.queryById(id));
- }
- /**
- * 新增项目管理
- */
- @SaCheckPermission("project:management:add")
- @Log(title = "项目管理", businessType = BusinessType.INSERT)
- @RepeatSubmit()
- @PostMapping()
- public R<Void> add(@Validated(AddGroup.class) @RequestBody ProjectBo bo) {
- return toAjax(projectService.insertByBo(bo));
- }
- /**
- * 修改项目管理
- */
- @SaCheckPermission("project:management:edit")
- @Log(title = "项目管理", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping()
- public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProjectBo bo) {
- return toAjax(projectService.updateByBo(bo));
- }
- /**
- * 删除项目管理
- *
- * @param ids 主键串
- */
- @SaCheckPermission("project:management:remove")
- @Log(title = "项目管理", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public R<Void> remove(@NotEmpty(message = "主键不能为空")
- @PathVariable Long[] ids) {
- return toAjax(projectService.deleteWithValidByIds(List.of(ids), true));
- }
- @GetMapping("/getByName")
- public R<List<ProjectListByNameVo>> getListByName(String name) {
- return R.ok(projectService.getListByName(name));
- }
- @GetMapping("/listOnUser")
- public R<List<ProjectListByNameVo>> getList() {
- return R.ok(projectService.getList());
- }
- @SaCheckPermission("project:management:updateStatus")
- @Log(title = "项目管理", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping("/updateStatus")
- public R<Void> updateStatus(@RequestBody ProjectUpdateStatusBo bo) {
- return toAjax(projectService.updateStatus(bo));
- }
- @SaCheckPermission("project:management:queryProjectMember")
- @Log(title = "项目管理", businessType = BusinessType.UPDATE)
- @GetMapping("/queryProjectMember")
- public TableDataInfo<ProjectMemberListVo> queryProjectMember(Long id, PageQuery pageQuery) {
- return projectService.selectMemberListById(id, pageQuery);
- }
- @GetMapping("/queryMemberNotInCenter")
- public TableDataInfo<ProjectMemberNotInCenterVo> queryMemberNotInCenter(@RequestParam("projectId") Long projectId, @RequestParam("folderId") Long folderId, @RequestParam("name") String name, PageQuery pageQuery) {
- return projectService.queryMemberNotInCenter(projectId, folderId, name, pageQuery);
- }
- @SaCheckPermission("project:management:queryCenterInfo")
- @GetMapping("/queryCenterInfo")
- public TableDataInfo<ProjectCenterListVo> queryCenterInfo(ProjectCenterListBo bo, PageQuery pageQuery) {
- return folderService.queryCenterInfo(bo, pageQuery);
- }
- // @SaCheckPermission("project:management:queryCenterInfoInviteMember")
- // @Log(title = "项目管理", businessType = BusinessType.INSERT)
- // @RepeatSubmit()
- // @PostMapping("/queryCenterInfoInviteMember")
- // public R<Void> inviteCenterMember(@RequestBody ProjectInviteCenterMemberBo bo) {
- // return toAjax(projectService.inviteCenterMember(bo));
- // }
- @SaCheckPermission("project:management:queryProjectMemberAddMember")
- @Log(title = "项目管理", businessType = BusinessType.INSERT)
- @PostMapping("/queryProjectMemberAddMember")
- public R<Void> queryProjectMemberAddMember(@RequestBody ProjectAddMemberBo bo) {
- return toAjax(projectService.insertUser(bo));
- }
- @GetMapping("/getFolders")
- public R<ProjectFolderVo> getFolders(@RequestParam("userId") Long userId, @RequestParam("projectId") Long projectId) {
- return R.ok(projectService.getFoldersByUserId(userId, projectId));
- }
- @SaCheckPermission("project:management:queryProjectMemberAssignFolders")
- @Log(title = "项目管理", businessType = BusinessType.UPDATE)
- @PutMapping("/queryProjectMemberAssignFolders")
- public R<Void> queryProjectMemberAssignFolders(@RequestBody ProjectMemberUpdateFoldersBo bo) {
- return toAjax(projectService.updateFolders(bo));
- }
- @SaCheckPermission("project:management:queryCenterMember")
- @GetMapping("/queryCenterMember")
- public TableDataInfo<ProjectCenterMemberListVo> queryCenterMember(ProjectCenterMemberListBo bo, PageQuery pageQuery) {
- return folderService.queryCenterMember(bo, pageQuery);
- }
- }
|