|
|
@@ -0,0 +1,180 @@
|
|
|
+package com.txz.cif.web.mng;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.txz.cif.core.Result;
|
|
|
+import com.txz.cif.model.Qa;
|
|
|
+import com.txz.cif.model.QaGroup;
|
|
|
+import com.txz.cif.service.QaGroupService;
|
|
|
+import com.txz.cif.service.QaService;
|
|
|
+import com.txz.cif.util.UserUtil;
|
|
|
+import com.txz.cif.web.para.QaGroupParam;
|
|
|
+import com.txz.cif.web.para.QaParam;
|
|
|
+import com.txz.cif.web.ro.qa.QaGroupRO;
|
|
|
+import com.txz.cif.web.ro.qa.QaRO;
|
|
|
+import com.txz.cif.web.vo.QaListVO;
|
|
|
+import dto.AdminUserDTO;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * [后台]qa管理
|
|
|
+ *
|
|
|
+ * @author: MTD®️
|
|
|
+ * @date: 2026/1/19
|
|
|
+ */
|
|
|
+@Log4j2
|
|
|
+@RestController
|
|
|
+@AllArgsConstructor
|
|
|
+@RequestMapping("qa")
|
|
|
+public class QaController {
|
|
|
+
|
|
|
+ private final QaService qaService;
|
|
|
+
|
|
|
+ private final QaGroupService qaGroupService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分类列表
|
|
|
+ */
|
|
|
+ @GetMapping("groupList")
|
|
|
+ public Result<Page<QaGroup>> groupList(QaGroupParam qaParam) {
|
|
|
+ PageHelper.startPage(qaParam.getPage(), qaParam.getSize());
|
|
|
+
|
|
|
+ List<QaGroup> list = qaGroupService.list(Wrappers.<QaGroup>lambdaQuery()
|
|
|
+ .orderByDesc(QaGroup::getSort)
|
|
|
+ .orderByDesc(QaGroup::getUpdateTime)
|
|
|
+ );
|
|
|
+ return Result.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增
|
|
|
+ */
|
|
|
+ @PostMapping("add")
|
|
|
+ public Result add(@Validated @RequestBody QaGroupRO ro, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ QaGroup qaGroup = BeanUtil.copyProperties(ro, QaGroup.class);
|
|
|
+ qaGroup.setCreateUser(adminUser.getName());
|
|
|
+ qaGroup.setCreateTime(new Date());
|
|
|
+ qaGroup.setUpdateTime(new Date());
|
|
|
+ qaGroup.setDelFlag(Boolean.FALSE);
|
|
|
+ qaGroupService.save(qaGroup);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改
|
|
|
+ */
|
|
|
+ @PostMapping("update/{id:^\\d+$}")
|
|
|
+ public Result update(@PathVariable Long id, @Validated @RequestBody QaGroupRO ro, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ QaGroup qaGroup = BeanUtil.copyProperties(ro, QaGroup.class);
|
|
|
+ qaGroup.setId(id);
|
|
|
+ qaGroup.setUpdateUser(adminUser.getName());
|
|
|
+ qaGroup.setUpdateTime(new Date());
|
|
|
+ qaGroupService.updateById(qaGroup);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改状态
|
|
|
+ */
|
|
|
+ @PostMapping("changeStatus/{id:^\\d+$}")
|
|
|
+ public Result changeStatus(@PathVariable Long id, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ QaGroup qaGroup = qaGroupService.getById(id);
|
|
|
+ qaGroup.setDelFlag(!qaGroup.getDelFlag());
|
|
|
+ qaGroup.setUpdateUser(adminUser.getName());
|
|
|
+ qaGroup.setUpdateTime(new Date());
|
|
|
+ qaGroupService.updateById(qaGroup);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分组详情
|
|
|
+ */
|
|
|
+ @GetMapping("groupInfo/{id:^\\d+$}")
|
|
|
+ public Result<QaGroup> groupInfo(@PathVariable Long id) {
|
|
|
+ QaGroup qaGroup = qaGroupService.getById(id);
|
|
|
+ return Result.success(qaGroup);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 可用分组列表
|
|
|
+ */
|
|
|
+ @GetMapping("availableGroupList")
|
|
|
+ public Result<List<QaGroup>> availableGroupList() {
|
|
|
+ List<QaGroup> list = qaGroupService.list(Wrappers.<QaGroup>lambdaQuery()
|
|
|
+ .eq(QaGroup::getDelFlag, Boolean.FALSE)
|
|
|
+ );
|
|
|
+ return Result.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * qa列表
|
|
|
+ */
|
|
|
+ @GetMapping("qaList")
|
|
|
+ public Result<Page<QaListVO>> qaList(QaParam qaParam) {
|
|
|
+ PageHelper.startPage(qaParam.getPage(), qaParam.getSize());
|
|
|
+ return Result.success(qaService.adminList(qaParam));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增qa
|
|
|
+ */
|
|
|
+ @PostMapping("addQa")
|
|
|
+ public Result addQa(@Validated @RequestBody QaRO ro, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ Qa qa = BeanUtil.copyProperties(ro, Qa.class);
|
|
|
+ qa.setCreateUser(adminUser.getName());
|
|
|
+ qa.setCreateTime(new Date());
|
|
|
+ qa.setUpdateTime(new Date());
|
|
|
+ qaService.save(qa);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改qa
|
|
|
+ */
|
|
|
+ @PostMapping("updateQa/{id:^\\d+$}")
|
|
|
+ public Result updateQa(@PathVariable Long id, @Validated @RequestBody QaRO ro, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ Qa qa = BeanUtil.copyProperties(ro, Qa.class);
|
|
|
+ qa.setId(id);
|
|
|
+ qa.setUpdateUser(adminUser.getName());
|
|
|
+ qa.setUpdateTime(new Date());
|
|
|
+ qaService.updateById(qa);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改qa状态
|
|
|
+ */
|
|
|
+ @PostMapping("changeQaStatus/{id:^\\d+$}")
|
|
|
+ public Result changeQaStatus(@PathVariable Long id, HttpServletRequest request) {
|
|
|
+ AdminUserDTO adminUser = UserUtil.getAdminUser(request);
|
|
|
+ Qa qa = qaService.getById(id);
|
|
|
+ qa.setDelFlag(!qa.getDelFlag());
|
|
|
+ qa.setUpdateUser(adminUser.getName());
|
|
|
+ qa.setUpdateTime(new Date());
|
|
|
+ qaService.updateById(qa);
|
|
|
+ return Result.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("qaInfo/{id:^\\d+$}")
|
|
|
+ public Result<Qa> qaInfo(@PathVariable Long id) {
|
|
|
+ Qa qa = qaService.getById(id);
|
|
|
+ return Result.success(qa);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|