package com.gqy.web.controller.document; import com.gqy.common.core.domain.AjaxResult; import com.gqy.common.core.domain.AjaxResultCQY; import com.gqy.common.core.domain.entity.SysUser; import com.gqy.common.core.domain.model.LoginUser; import com.gqy.common.core.text.Convert; import com.gqy.common.enums.BusinessType; import com.gqy.document.domain.vo.PageResult; import com.gqy.document.domain.Document; import com.gqy.document.service.IDocumentService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.gqy.common.annotation.Log; import com.gqy.common.core.controller.BaseController; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; /** * 【请填写功能名称】Controller * * @author raycos * @date 2024-10-30 */ @RestController @RequestMapping("/document") public class DcDocumentController extends BaseController { private static final Logger log = LoggerFactory.getLogger(DcDocumentController.class); @Autowired private IDocumentService documentService; /** * 创建文档 */ @PostMapping("/create") @PreAuthorize("@ss.hasPermi('system:document:add')") @Log(title = "文档管理", businessType = BusinessType.INSERT) public AjaxResult create(HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file) { return documentService.create(request, file); } /** * 分页查询文档列表 * * @param request HTTP请求对象,包含以下参数: * page: 页码(默认1) * pageSize: 每页数量(默认10) * title: 文档标题(可选) * category_id: 分类ID(可选) * user_id: 用户ID(可选) * @return AjaxResult 返回结果: * status: 状态码(200成功,500失败) * message: 提示信息 * data: 分页数据对象 */ @PostMapping("/pageDocument") public AjaxResultCQY pageDocument(HttpServletRequest request) { try { // 4. 设置用户权限(非管理员只能查看自己的文档和管理员的模板) LoginUser loginUser = getLoginUser(); Integer page = Convert.toInt(request.getParameter("page"), 1); Integer pageSize = Convert.toInt(request.getParameter("pageSize"), 10); // 2. 获取查询条件 String title = request.getParameter("title"); Long categoryId = Convert.toLong(request.getParameter("category_id")); Long userId = loginUser.getUserId(); // 3. 构建查询对象 Document document = new Document(); document.setTitle(title); document.setCategory_id(categoryId); document.setUser_id(userId); document.setStatus(5); // 默认查询使用中状态 if (!SysUser.isAdmin(loginUser.getUser().getUserId())) { document.setCurrent_user_id(loginUser.getUser().getUserId()); } // 5. 调用分页查询 PageResult pageResult = documentService.pageDocument(page, pageSize, document); // 6. 返回成功结果 return AjaxResultCQY.success("查询成功", pageResult); } catch (Exception e) { log.error("查询文档列表失败", e); return AjaxResultCQY.success("查询成功", new PageResult()); } } }