123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- 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());
- }
- }
- }
|