Browse Source

fit: 知识库管理接口

fit: 意见反馈接口
master
wxc 8 months ago
parent
commit
00a54beec3
  1. 8
      sql/book.sql
  2. 8
      sql/feedback.sql
  3. 54
      src/main/java/com/biutag/supervision/controller/mobileSupervision/BookController.java
  4. 36
      src/main/java/com/biutag/supervision/controller/mobileSupervision/FeedbackController.java
  5. 5
      src/main/java/com/biutag/supervision/flow/FlowService.java
  6. 8
      src/main/java/com/biutag/supervision/mapper/BookMapper.java
  7. 8
      src/main/java/com/biutag/supervision/mapper/FeedbackMapper.java
  8. 37
      src/main/java/com/biutag/supervision/pojo/entity/Book.java
  9. 35
      src/main/java/com/biutag/supervision/pojo/entity/Feedback.java
  10. 16
      src/main/java/com/biutag/supervision/pojo/param/BookQueryParam.java
  11. 11
      src/main/java/com/biutag/supervision/service/BookService.java
  12. 11
      src/main/java/com/biutag/supervision/service/FeedbackService.java

8
sql/book.sql

@ -0,0 +1,8 @@
CREATE TABLE `book` (
`id` int NOT NULL AUTO_INCREMENT,
`file_name` varchar(1000) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件名',
`file_path` varchar(1000) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件路径',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`crt_user` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

8
sql/feedback.sql

@ -0,0 +1,8 @@
CREATE TABLE `feedback` (
`id` int NOT NULL AUTO_INCREMENT,
`content` text COLLATE utf8mb4_general_ci COMMENT '内容',
`create_time` datetime DEFAULT NULL,
`crt_user` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
`crt_depart_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人所在单位',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='意见反馈';

54
src/main/java/com/biutag/supervision/controller/mobileSupervision/BookController.java

@ -0,0 +1,54 @@
package com.biutag.supervision.controller.mobileSupervision;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.Book;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.BookQueryParam;
import com.biutag.supervision.service.BookService;
import com.biutag.supervision.service.FileService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.time.LocalDateTime;
/**
* @author wxc
* @date 2025/5/23
*/
@RequiredArgsConstructor
@RequestMapping("book")
@RestController
public class BookController {
private final BookService bookService;
private final FileService fileService;
@GetMapping
public Result<Page<Book>> list(BookQueryParam queryParam) {
LambdaQueryWrapper<Book> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(queryParam.getFileName()), Book::getFileName, queryParam.getFileName())
.orderByDesc(Book::getCreateTime);
return Result.success(bookService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper));
}
@PostMapping
public Result<Boolean> add(@RequestPart("file") MultipartFile file) throws IOException {
String filePath = fileService.upload(file);
Book book = new Book();
book.setFileName(file.getOriginalFilename());
book.setFilePath(filePath);
UserAuth user = UserContextHolder.getCurrentUser();
book.setCrtUser(user.getNickName());
book.setCreateTime(LocalDateTime.now());
return Result.success(bookService.save(book));
}
}

36
src/main/java/com/biutag/supervision/controller/mobileSupervision/FeedbackController.java

@ -0,0 +1,36 @@
package com.biutag.supervision.controller.mobileSupervision;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.Feedback;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.service.FeedbackService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
/**
* @author wxc
* @date 2025/5/26
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("feedback")
public class FeedbackController {
private final FeedbackService feedbackService;
@PostMapping
public Result<Boolean> add(@RequestBody Feedback feedback) {
UserAuth user = UserContextHolder.getCurrentUser();
feedback.setCreateTime(LocalDateTime.now());
feedback.setCrtUser(user.getNickName());
feedback.setCrtDepartName(user.getDepartName());
return Result.success(feedbackService.save(feedback));
}
}

5
src/main/java/com/biutag/supervision/flow/FlowService.java

@ -10,6 +10,7 @@ import com.biutag.supervision.pojo.entity.NegativeWork;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.service.NegativeHistoryService; import com.biutag.supervision.service.NegativeHistoryService;
import com.biutag.supervision.service.NegativeWorkService; import com.biutag.supervision.service.NegativeWorkService;
import com.biutag.supervision.service.SupDepartService;
import com.biutag.supervision.util.JSON; import com.biutag.supervision.util.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,6 +29,8 @@ public class FlowService {
private final NegativeWorkService workService; private final NegativeWorkService workService;
private final SupDepartService departService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean execute(ActionDto actionDto) { public Boolean execute(ActionDto actionDto) {
Action action = actions Action action = actions
@ -41,7 +44,7 @@ public class FlowService {
NegativeHistory history = new NegativeHistory().setHistoryId(IdUtil.fastSimpleUUID()) NegativeHistory history = new NegativeHistory().setHistoryId(IdUtil.fastSimpleUUID())
.setNegativeId(actionDto.getNegativeId()) .setNegativeId(actionDto.getNegativeId())
.setActionName(actionDto.getActionName()) .setActionName(actionDto.getActionName())
.setDepartName(work.getDepartName()) .setDepartName(departService.getById(work.getDepartId()).getShortName())
.setCrtUser(user.getUserId()) .setCrtUser(user.getUserId())
.setCrtUserName(user.getUserName()) .setCrtUserName(user.getUserName())
.setCrtName(user.getNickName()) .setCrtName(user.getNickName())

8
src/main/java/com/biutag/supervision/mapper/BookMapper.java

@ -0,0 +1,8 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.Book;
public interface BookMapper extends BaseMapper<Book> {
}

8
src/main/java/com/biutag/supervision/mapper/FeedbackMapper.java

@ -0,0 +1,8 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.Feedback;
public interface FeedbackMapper extends BaseMapper<Feedback> {
}

37
src/main/java/com/biutag/supervision/pojo/entity/Book.java

@ -0,0 +1,37 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Setter
@Getter
public class Book {
//
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
// 文件名
@TableField("file_name")
private String fileName;
// 文件路径
@TableField("file_path")
private String filePath;
// 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
@TableField("create_time")
private LocalDateTime createTime;
//
@TableField("crt_user")
private String crtUser;
}

35
src/main/java/com/biutag/supervision/pojo/entity/Feedback.java

@ -0,0 +1,35 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Setter
@Getter
public class Feedback {
//
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
// 内容
@TableField("content")
private String content;
//
@TableField("create_time")
private LocalDateTime createTime;
// 创建人
@TableField("crt_user")
private String crtUser;
// 创建人所在单位
@TableField("crt_depart_name")
private String crtDepartName;
}

16
src/main/java/com/biutag/supervision/pojo/param/BookQueryParam.java

@ -0,0 +1,16 @@
package com.biutag.supervision.pojo.param;
import lombok.Getter;
import lombok.Setter;
/**
* @author wxc
* @date 2025/5/23
*/
@Setter
@Getter
public class BookQueryParam extends BasePage {
private String fileName;
}

11
src/main/java/com/biutag/supervision/service/BookService.java

@ -0,0 +1,11 @@
package com.biutag.supervision.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.pojo.entity.Book;
import com.biutag.supervision.mapper.BookMapper;
import org.springframework.stereotype.Service;
@Service
public class BookService extends ServiceImpl<BookMapper, Book> {
}

11
src/main/java/com/biutag/supervision/service/FeedbackService.java

@ -0,0 +1,11 @@
package com.biutag.supervision.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.pojo.entity.Feedback;
import com.biutag.supervision.mapper.FeedbackMapper;
import org.springframework.stereotype.Service;
@Service
public class FeedbackService extends ServiceImpl<FeedbackMapper, Feedback> {
}
Loading…
Cancel
Save