init
This commit is contained in:
@@ -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)));
|
||||
}
|
||||
}
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
55
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/Report.java
Normal file
55
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/Report.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package com.ruoyi.xq.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 举报对象 xq_report
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
@Data
|
||||
@TableName("xq_report")
|
||||
public class Report implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 举报分类名称
|
||||
*/
|
||||
private String cateName;
|
||||
/**
|
||||
* 举报内容
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 举报对象
|
||||
*/
|
||||
private Long reportUid;
|
||||
/**
|
||||
* 举报内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 举报照片
|
||||
*/
|
||||
private String contentImage;
|
||||
/**
|
||||
* 状态 0 未处理 1 已经处理
|
||||
*/
|
||||
private Integer reportStatus;
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
36
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/ReportCate.java
Normal file
36
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/ReportCate.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package com.ruoyi.xq.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 举报类型管理对象 xq_report_cate
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
@Data
|
||||
@TableName("xq_report_cate")
|
||||
public class ReportCate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String name;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.xq.dto.admin.report;
|
||||
|
||||
import com.ruoyi.xq.domain.Report;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ReportAdminVo extends Report {
|
||||
private String usercode;
|
||||
private String mobile;
|
||||
private String avatar;
|
||||
private String nickname;
|
||||
|
||||
private String reportUsercode;
|
||||
private String reportMobile;
|
||||
private String reportAvatar;
|
||||
private String reportNickname;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.xq.dto.app.report;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ReportPushReq {
|
||||
@Schema(description = "举报对象名称")
|
||||
private String cateName;
|
||||
@Schema(description = "举报人用户ID")
|
||||
private Long reportUid;
|
||||
/**
|
||||
* 举报内容
|
||||
*/
|
||||
@Schema(description = "举报内容")
|
||||
private String content;
|
||||
/**
|
||||
* 举报照片
|
||||
*/
|
||||
@Schema(description = "举报图片,逗号分割")
|
||||
private String contentImage;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.xq.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.xq.domain.ReportCate;
|
||||
|
||||
/**
|
||||
* 举报类型管理Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
public interface ReportCateMapper extends BaseMapper<ReportCate> {
|
||||
|
||||
}
|
||||
19
ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/ReportMapper.java
Normal file
19
ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/ReportMapper.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.ruoyi.xq.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.xq.domain.Report;
|
||||
import com.ruoyi.xq.dto.admin.report.ReportAdminVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 举报Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
public interface ReportMapper extends BaseMapper<Report> {
|
||||
|
||||
IPage<ReportAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") ReportAdminVo bo);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.xq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.xq.domain.ReportCate;
|
||||
|
||||
/**
|
||||
* 举报类型管理Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
public interface ReportCateService extends IService<ReportCate> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.xq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.xq.domain.Report;
|
||||
import com.ruoyi.xq.dto.admin.report.ReportAdminVo;
|
||||
import com.ruoyi.xq.dto.app.report.ReportPushReq;
|
||||
|
||||
/**
|
||||
* 举报Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
public interface ReportService extends IService<Report> {
|
||||
|
||||
void close(Long id);
|
||||
|
||||
IPage<ReportAdminVo> pageAdmin(PageQuery pageQuery, ReportAdminVo bo);
|
||||
|
||||
void push(ReportPushReq reportPushReq);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.xq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.xq.domain.ReportCate;
|
||||
import com.ruoyi.xq.mapper.ReportCateMapper;
|
||||
import com.ruoyi.xq.service.ReportCateService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 举报类型管理Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
@Service
|
||||
public class ReportCateServiceImpl extends ServiceImpl<ReportCateMapper,ReportCate> implements ReportCateService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.ruoyi.xq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.xq.domain.Report;
|
||||
import com.ruoyi.xq.dto.admin.report.ReportAdminVo;
|
||||
import com.ruoyi.xq.dto.app.report.ReportPushReq;
|
||||
import com.ruoyi.xq.mapper.ReportMapper;
|
||||
import com.ruoyi.xq.service.ReportService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 举报Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-19
|
||||
*/
|
||||
@Service
|
||||
public class ReportServiceImpl extends ServiceImpl<ReportMapper,Report> implements ReportService {
|
||||
|
||||
@Override
|
||||
public void close(Long id) {
|
||||
Report updateReport = new Report();
|
||||
updateReport.setId(id);
|
||||
updateReport.setReportStatus(1);
|
||||
this.updateById(updateReport);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ReportAdminVo> pageAdmin(PageQuery pageQuery, ReportAdminVo bo) {
|
||||
return baseMapper.pageAdmin(pageQuery.build(), bo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void push(ReportPushReq reportPushReq) {
|
||||
Report report = new Report();
|
||||
report.setCateName(reportPushReq.getCateName());
|
||||
report.setUserId(LoginHelper.getUserId());
|
||||
report.setReportUid(reportPushReq.getReportUid());
|
||||
report.setContent(reportPushReq.getContent());
|
||||
report.setContentImage(reportPushReq.getContentImage());
|
||||
this.save(report);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user