This commit is contained in:
张良(004796)
2024-03-19 16:30:10 +08:00
parent 979d89eeac
commit 427ccf62e8
16 changed files with 538 additions and 1 deletions

View File

@@ -0,0 +1,95 @@
package com.ruoyi.xq.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.ReportCate;
import com.ruoyi.xq.service.ReportCateService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 举报类型管理
*
* @author 77
* @date 2024-03-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xq/reportCate")
public class ReportCateController extends BaseController {
private final ReportCateService reportCateService;
/**
* 查询举报类型管理列表
*/
@SaCheckPermission("xq:reportCate:list")
@GetMapping("/list")
public TableDataInfo<ReportCate> list(ReportCate bo, PageQuery pageQuery) {
Page<ReportCate> page = reportCateService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取举报类型管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("xq:reportCate:query")
@GetMapping("/{id}")
public R<ReportCate> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(reportCateService.getById(id));
}
/**
* 新增举报类型管理
*/
@SaCheckPermission("xq:reportCate:add")
@Log(title = "举报类型管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ReportCate bo) {
return toAjax(reportCateService.save(bo));
}
/**
* 修改举报类型管理
*/
@SaCheckPermission("xq:reportCate:edit")
@Log(title = "举报类型管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ReportCate bo) {
return toAjax(reportCateService.updateById(bo));
}
/**
* 删除举报类型管理
*
* @param ids 主键串
*/
@SaCheckPermission("xq:reportCate:remove")
@Log(title = "举报类型管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(reportCateService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -0,0 +1,84 @@
package com.ruoyi.xq.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.Report;
import com.ruoyi.xq.dto.admin.report.ReportAdminVo;
import com.ruoyi.xq.service.ReportService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 举报
*
* @author 77
* @date 2024-03-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xq/report")
public class ReportController extends BaseController {
private final ReportService reportService;
/**
* 查询举报列表
*/
@SaCheckPermission("xq:report:list")
@GetMapping("/list")
public TableDataInfo<ReportAdminVo> list(ReportAdminVo bo, PageQuery pageQuery) {
IPage<ReportAdminVo> page = reportService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}
/**
* 获取举报详细信息
*
* @param id 主键
*/
@SaCheckPermission("xq:report:query")
@GetMapping("/{id}")
public R<Report> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(reportService.getById(id));
}
/**
* 修改举报
*/
@SaCheckPermission("xq:report:edit")
@Log(title = "处理举报", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/close")
public R<Void> edit(@RequestBody Report bo) {
reportService.close(bo.getId());
return R.ok();
}
/**
* 删除举报
*
* @param ids 主键串
*/
@SaCheckPermission("xq:report:remove")
@Log(title = "举报", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(reportService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -0,0 +1,43 @@
package com.ruoyi.xq.controller.app;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.ReportCate;
import com.ruoyi.xq.dto.app.report.ReportPushReq;
import com.ruoyi.xq.dto.app.setting.AgreementDTO;
import com.ruoyi.xq.service.ReportCateService;
import com.ruoyi.xq.service.ReportService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/report")
@Tag(name = "举报相关接口")
public class ReportAppController {
@Autowired
private ReportCateService reportCateService;
@Autowired
private ReportService reportService;
@GetMapping("/cate/list")
@Operation(summary = "获取举报类型")
@Log(title = "获取举报类型", businessType = BusinessType.OTHER, isSaveDb = false)
public R<List<ReportCate>> cateList() {
List<ReportCate> list = reportCateService.list();
return R.ok(list);
}
@PostMapping("/push")
@Operation(summary = "举报")
@Log(title = "举报", businessType = BusinessType.OTHER, isSaveDb = false)
public R<AgreementDTO> push(@RequestBody ReportPushReq reportPushReq) {
reportService.push(reportPushReq);
return R.ok();
}
}