通告、意见反馈、举报
This commit is contained in:
parent
1d5b73a9b6
commit
5277db0d5c
@ -6,6 +6,9 @@ import java.util.List;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.busi.domain.BusiReport;
|
||||||
|
import com.ruoyi.busi.query.BusiFeedbackQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiFeedbackVo;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -28,7 +31,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 意见反馈Controller
|
* 意见反馈Controller
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@ -44,12 +47,12 @@ public class BusiFeedbackController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('busi:feedback:list')")
|
@PreAuthorize("@ss.hasPermi('busi:feedback:list')")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult list(BusiFeedback busiFeedback,
|
public AjaxResult list(BusiFeedbackQuery busiFeedback,
|
||||||
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
|
||||||
{
|
{
|
||||||
Page<BusiFeedback> page = new Page<>(pageNum, pageSize);
|
Page<BusiFeedbackVo> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<BusiFeedback> list = busiFeedbackService.queryListPage(busiFeedback,page);
|
IPage<BusiFeedbackVo> list = busiFeedbackService.queryListPage(busiFeedback,page);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,4 +112,15 @@ public class BusiFeedbackController extends BaseController
|
|||||||
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
||||||
return toAjax(busiFeedbackService.removeByIds(list));
|
return toAjax(busiFeedbackService.removeByIds(list));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理反馈记录
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('busi:feedback:edit')")
|
||||||
|
@PostMapping("/dealFeedback")
|
||||||
|
public AjaxResult dealFeedback(@RequestBody BusiFeedback busiFeedback)
|
||||||
|
{
|
||||||
|
busiFeedbackService.dealFeedback(busiFeedback);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -144,8 +144,8 @@ public class BusiNoticeController extends BaseController
|
|||||||
* @author vinjor-M
|
* @author vinjor-M
|
||||||
* @date 15:39 2025/3/25
|
* @date 15:39 2025/3/25
|
||||||
* @param query 查询条件
|
* @param query 查询条件
|
||||||
* @param pageNum TODO
|
* @param pageNum TODO
|
||||||
* @param pageSize TODO
|
* @param pageSize TODO
|
||||||
* @return com.ruoyi.common.core.domain.AjaxResult
|
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||||
**/
|
**/
|
||||||
@GetMapping("/appList")
|
@GetMapping("/appList")
|
||||||
|
@ -6,6 +6,8 @@ import java.util.List;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.busi.query.BusiReportQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiReportVo;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -28,7 +30,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 举报记录Controller
|
* 举报记录Controller
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@ -44,12 +46,12 @@ public class BusiReportController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('busi:report:list')")
|
@PreAuthorize("@ss.hasPermi('busi:report:list')")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult list(BusiReport busiReport,
|
public AjaxResult list(BusiReportQuery busiReport,
|
||||||
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize)
|
||||||
{
|
{
|
||||||
Page<BusiReport> page = new Page<>(pageNum, pageSize);
|
Page<BusiReportVo> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<BusiReport> list = busiReportService.queryListPage(busiReport,page);
|
IPage<BusiReportVo> list = busiReportService.queryListPage(busiReport,page);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,6 +89,17 @@ public class BusiReportController extends BaseController
|
|||||||
return toAjax(busiReportService.save(busiReport));
|
return toAjax(busiReportService.save(busiReport));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理举报记录
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('busi:report:edit')")
|
||||||
|
@PostMapping("/dealReport")
|
||||||
|
public AjaxResult dealReport(@RequestBody BusiReport busiReport)
|
||||||
|
{
|
||||||
|
busiReportService.dealReport(busiReport);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改举报记录
|
* 修改举报记录
|
||||||
*/
|
*/
|
||||||
|
@ -147,7 +147,7 @@ public class BusiNotice extends DlBaseEntity
|
|||||||
private Long approvalUserId;
|
private Long approvalUserId;
|
||||||
|
|
||||||
/** 审核时间 */
|
/** 审核时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
@Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
private Date approvalTime;
|
private Date approvalTime;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.DlBaseEntity;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 举报记录对象 dl_busi_report
|
* 举报记录对象 dl_busi_report
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@ -51,10 +51,6 @@ public class BusiReport extends DlBaseEntity
|
|||||||
/** 举报类型code(树形字典:dl_report_type) */
|
/** 举报类型code(树形字典:dl_report_type) */
|
||||||
private String reportType;
|
private String reportType;
|
||||||
|
|
||||||
/** 举报类型文本 */
|
|
||||||
@Excel(name = "举报类型文本")
|
|
||||||
private String reportTitle;
|
|
||||||
|
|
||||||
/** 举报描述 */
|
/** 举报描述 */
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
@ -4,18 +4,20 @@ import java.util.List;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.busi.domain.BusiFeedback;
|
import com.ruoyi.busi.domain.BusiFeedback;
|
||||||
|
import com.ruoyi.busi.query.BusiFeedbackQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiFeedbackVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 意见反馈Mapper接口
|
* 意见反馈Mapper接口
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface BusiFeedbackMapper extends BaseMapper<BusiFeedback>
|
public interface BusiFeedbackMapper extends BaseMapper<BusiFeedback>
|
||||||
{
|
{
|
||||||
IPage<BusiFeedback> queryListPage(@Param("entity") BusiFeedback entity, Page<BusiFeedback> page);
|
IPage<BusiFeedbackVo> queryListPage(@Param("entity") BusiFeedbackQuery entity, Page<BusiFeedbackVo> page);
|
||||||
}
|
}
|
||||||
|
@ -4,18 +4,20 @@ import java.util.List;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.busi.domain.BusiReport;
|
import com.ruoyi.busi.domain.BusiReport;
|
||||||
|
import com.ruoyi.busi.query.BusiReportQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiReportVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 举报记录Mapper接口
|
* 举报记录Mapper接口
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface BusiReportMapper extends BaseMapper<BusiReport>
|
public interface BusiReportMapper extends BaseMapper<BusiReport>
|
||||||
{
|
{
|
||||||
IPage<BusiReport> queryListPage(@Param("entity") BusiReport entity, Page<BusiReport> page);
|
IPage<BusiReportVo> queryListPage(@Param("entity") BusiReportQuery entity, Page<BusiReportVo> page);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.busi.query;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusiFeedbackQuery {
|
||||||
|
//用户姓名
|
||||||
|
private String userNickName;
|
||||||
|
//反馈人姓名
|
||||||
|
private String backUserNickName;
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.busi.query;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusiReportQuery {
|
||||||
|
//举报人姓名
|
||||||
|
private String userNickName;
|
||||||
|
//被举报人姓名
|
||||||
|
private String reportUserNickName;
|
||||||
|
//被举报通告标题
|
||||||
|
private String reportNoticeTitle;
|
||||||
|
//举报类型文本
|
||||||
|
private String reportTitle;
|
||||||
|
//处理人姓名
|
||||||
|
private String dealUserName;
|
||||||
|
}
|
@ -5,14 +5,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.busi.domain.BusiFeedback;
|
import com.ruoyi.busi.domain.BusiFeedback;
|
||||||
|
import com.ruoyi.busi.query.BusiFeedbackQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiFeedbackVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 意见反馈Service接口
|
* 意见反馈Service接口
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
public interface IBusiFeedbackService extends IService<BusiFeedback>
|
public interface IBusiFeedbackService extends IService<BusiFeedback>
|
||||||
{
|
{
|
||||||
IPage<BusiFeedback> queryListPage(BusiFeedback pageReqVO, Page<BusiFeedback> page);
|
IPage<BusiFeedbackVo> queryListPage(BusiFeedbackQuery pageReqVO, Page<BusiFeedbackVo> page);
|
||||||
|
|
||||||
|
void dealFeedback(BusiFeedback busiFeedback);
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.busi.domain.BusiReport;
|
import com.ruoyi.busi.domain.BusiReport;
|
||||||
|
import com.ruoyi.busi.query.BusiReportQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiReportVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 举报记录Service接口
|
* 举报记录Service接口
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
public interface IBusiReportService extends IService<BusiReport>
|
public interface IBusiReportService extends IService<BusiReport>
|
||||||
{
|
{
|
||||||
IPage<BusiReport> queryListPage(BusiReport pageReqVO, Page<BusiReport> page);
|
IPage<BusiReportVo> queryListPage(BusiReportQuery pageReqVO, Page<BusiReportVo> page);
|
||||||
|
void dealReport(BusiReport busiReport);
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package com.ruoyi.busi.service.impl;
|
package com.ruoyi.busi.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.busi.query.BusiFeedbackQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiFeedbackVo;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -13,7 +17,7 @@ import com.ruoyi.busi.service.IBusiFeedbackService;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 意见反馈Service业务层处理
|
* 意见反馈Service业务层处理
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@ -24,7 +28,18 @@ public class BusiFeedbackServiceImpl extends ServiceImpl<BusiFeedbackMapper,Busi
|
|||||||
private BusiFeedbackMapper busiFeedbackMapper;
|
private BusiFeedbackMapper busiFeedbackMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<BusiFeedback> queryListPage(BusiFeedback pageReqVO, Page<BusiFeedback> page) {
|
public IPage<BusiFeedbackVo> queryListPage(BusiFeedbackQuery pageReqVO, Page<BusiFeedbackVo> page) {
|
||||||
return busiFeedbackMapper.queryListPage(pageReqVO, page);
|
return busiFeedbackMapper.queryListPage(pageReqVO, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理反馈
|
||||||
|
* @param busiFeedback
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void dealFeedback(BusiFeedback busiFeedback) {
|
||||||
|
busiFeedback.setBackTime(DateUtils.getNowDate());
|
||||||
|
busiFeedback.setBackUserId(SecurityUtils.getUserId());
|
||||||
|
busiFeedbackMapper.updateById(busiFeedback);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,6 +70,8 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
|||||||
List<BusiNotice> list = this.list(queryWrapper);
|
List<BusiNotice> list = this.list(queryWrapper);
|
||||||
//无问题数据直接审核通过
|
//无问题数据直接审核通过
|
||||||
data.setApprovalStatus("1");
|
data.setApprovalStatus("1");
|
||||||
|
data.setApprovalUserId(null);
|
||||||
|
data.setApprovalTime(new Date());
|
||||||
//遍历 list的每条数据与data对比,如果两条数据相似度大于70% 提出预警
|
//遍历 list的每条数据与data对比,如果两条数据相似度大于70% 提出预警
|
||||||
for (BusiNotice busiNotice : list) {
|
for (BusiNotice busiNotice : list) {
|
||||||
double v1 = NoticeUtils.computeJaccardSimilarity(data.getTitle(), busiNotice.getTitle());
|
double v1 = NoticeUtils.computeJaccardSimilarity(data.getTitle(), busiNotice.getTitle());
|
||||||
@ -151,15 +153,30 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
|||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
//如果是下架 回归草稿状态
|
//如果是关闭 关闭状态
|
||||||
data.setApprovalStatus("8");
|
data.setApprovalStatus("2");
|
||||||
}
|
}
|
||||||
this.updateById(data);
|
this.updateById(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核接口
|
||||||
|
* @param query 审核参数
|
||||||
|
*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void auditInfo(BusiNoticeQuery query) {
|
public void auditInfo(BusiNoticeQuery query) {
|
||||||
|
BusiNotice busiNotice = this.getById(query.getId());
|
||||||
|
//1代表审核通过
|
||||||
|
if (query.getApprovalStatus().equals("1")){
|
||||||
|
busiNotice.setApprovalStatus("1");
|
||||||
|
}else {
|
||||||
|
busiNotice.setApprovalStatus("9");
|
||||||
|
}
|
||||||
|
busiNotice.setApprovalUserId(SecurityUtils.getUserId());
|
||||||
|
busiNotice.setApprovalTime(new Date());
|
||||||
|
busiNotice.setApprovalRemark(query.getApprovalRemark());
|
||||||
|
this.updateById(busiNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package com.ruoyi.busi.service.impl;
|
package com.ruoyi.busi.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.busi.query.BusiReportQuery;
|
||||||
|
import com.ruoyi.busi.vo.BusiReportVo;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -13,7 +17,7 @@ import com.ruoyi.busi.service.IBusiReportService;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 举报记录Service业务层处理
|
* 举报记录Service业务层处理
|
||||||
*
|
*
|
||||||
* @author 朱春云
|
* @author 朱春云
|
||||||
* @date 2025-03-17
|
* @date 2025-03-17
|
||||||
*/
|
*/
|
||||||
@ -24,7 +28,18 @@ public class BusiReportServiceImpl extends ServiceImpl<BusiReportMapper,BusiRepo
|
|||||||
private BusiReportMapper busiReportMapper;
|
private BusiReportMapper busiReportMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<BusiReport> queryListPage(BusiReport pageReqVO, Page<BusiReport> page) {
|
public IPage<BusiReportVo> queryListPage(BusiReportQuery pageReqVO, Page<BusiReportVo> page) {
|
||||||
return busiReportMapper.queryListPage(pageReqVO, page);
|
return busiReportMapper.queryListPage(pageReqVO, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理举报
|
||||||
|
* @param busiReport 请求参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void dealReport(BusiReport busiReport) {
|
||||||
|
busiReport.setDealTime(DateUtils.getNowDate());
|
||||||
|
busiReport.setDealUserId(SecurityUtils.getUserId());
|
||||||
|
busiReportMapper.updateById(busiReport);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,12 @@ import java.util.stream.Collectors;
|
|||||||
@Component
|
@Component
|
||||||
public class NoticeUtils {
|
public class NoticeUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 比较两个文本字符串的相似度
|
||||||
|
* @param str1 文本1
|
||||||
|
* @param str2 文本2
|
||||||
|
* @return 相似度值,范围在0到1之间,值越大相似度越高
|
||||||
|
*/
|
||||||
public static double computeJaccardSimilarity(String str1, String str2) {
|
public static double computeJaccardSimilarity(String str1, String str2) {
|
||||||
Set<String> set1 = Arrays.stream(str1.split("\\s+")) // 分词,这里按空格分割,可以根据需要调整正则表达式
|
Set<String> set1 = Arrays.stream(str1.split("\\s+")) // 分词,这里按空格分割,可以根据需要调整正则表达式
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.busi.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.busi.domain.BusiFeedback;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusiFeedbackVo extends BusiFeedback {
|
||||||
|
//用户姓名
|
||||||
|
private String userNickName;
|
||||||
|
//反馈人姓名
|
||||||
|
private String backUserNickName;
|
||||||
|
}
|
@ -25,4 +25,8 @@ public class BusiNoticeVo extends BusiNotice {
|
|||||||
private Integer reportNum;
|
private Integer reportNum;
|
||||||
/**博主类型-text*/
|
/**博主类型-text*/
|
||||||
private String bloggerTypesText;
|
private String bloggerTypesText;
|
||||||
|
/**
|
||||||
|
* 审核人姓名
|
||||||
|
*/
|
||||||
|
private String approvalUserName;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.ruoyi.busi.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.busi.domain.BusiReport;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报记录视图对象
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BusiReportVo extends BusiReport {
|
||||||
|
//举报人姓名
|
||||||
|
private String userNickName;
|
||||||
|
//被举报人姓名
|
||||||
|
private String reportUserNickName;
|
||||||
|
//被举报通告标题
|
||||||
|
private String reportNoticeTitle;
|
||||||
|
//举报类型文本
|
||||||
|
private String reportTitle;
|
||||||
|
//处理人姓名
|
||||||
|
private String dealUserName;
|
||||||
|
|
||||||
|
}
|
@ -3,35 +3,25 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.busi.mapper.BusiFeedbackMapper">
|
<mapper namespace="com.ruoyi.busi.mapper.BusiFeedbackMapper">
|
||||||
|
|
||||||
<resultMap type="BusiFeedback" id="BusiFeedbackResult">
|
|
||||||
<result property="id" column="id" />
|
|
||||||
<result property="userId" column="user_id" />
|
|
||||||
<result property="userType" column="user_type" />
|
|
||||||
<result property="content" column="content" />
|
|
||||||
<result property="images" column="images" />
|
|
||||||
<result property="backContent" column="back_content" />
|
|
||||||
<result property="backImages" column="back_images" />
|
|
||||||
<result property="backTime" column="back_time" />
|
|
||||||
<result property="backUserId" column="back_user_id" />
|
|
||||||
<result property="creator" column="creator" />
|
|
||||||
<result property="createTime" column="create_time" />
|
|
||||||
<result property="updater" column="updater" />
|
|
||||||
<result property="updateTime" column="update_time" />
|
|
||||||
<result property="delFlag" column="del_flag" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<sql id="selectBusiFeedbackVo">
|
|
||||||
select id, user_id, user_type, content, images, back_content, back_images, back_time, back_user_id, creator, create_time, updater, update_time, del_flag from dl_busi_feedback
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<select id="queryListPage" parameterType="BusiFeedback" resultMap="BusiFeedbackResult">
|
<select id="queryListPage" resultType="com.ruoyi.busi.vo.BusiFeedbackVo">
|
||||||
<include refid="selectBusiFeedbackVo"/>
|
select main.id, main.user_id, main.user_type, main.content, main.images, main.back_content,
|
||||||
|
main.back_images, main.back_time, main.back_user_id, main.creator, main.create_time, main.updater, main.update_time, main.del_flag
|
||||||
|
, su1.nick_name as userNickName, su2.nick_name as backUserNickName
|
||||||
|
from dl_busi_feedback main
|
||||||
|
inner join sys_user su1 on main.user_id = su1.user_id and su1.del_flag = '0'
|
||||||
|
left join sys_user su2 on main.back_user_id = su2.user_id
|
||||||
<where>
|
<where>
|
||||||
<if test="entity.userId != null "> and user_id like concat('%', #{entity.userId}, '%')</if>
|
main.del_flag = '0'
|
||||||
<if test="entity.userType != null and entity.userType != ''"> and user_type = #{entity.userType}</if>
|
<if test="entity.userNickName != null and entity.userNickName != '' ">
|
||||||
<if test="entity.backUserId != null "> and back_user_id = #{entity.backUserId}</if>
|
and su1.nick_name like concat('%', #{entity.userNickName}, '%')
|
||||||
<if test="entity.createTime != null "> and create_time = #{entity.createTime}</if>
|
</if>
|
||||||
|
<if test="entity.backUserNickName != null and entity.backUserNickName != ''">
|
||||||
|
and su2.nick_name like concat('%', #{entity.backUserNickName}, '%')
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by main.create_time asc
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
|
||||||
|
</mapper>
|
||||||
|
@ -5,18 +5,20 @@
|
|||||||
<mapper namespace="com.ruoyi.busi.mapper.BusiNoticeMapper">
|
<mapper namespace="com.ruoyi.busi.mapper.BusiNoticeMapper">
|
||||||
|
|
||||||
|
|
||||||
<select id="queryListPage" parameterType="BusiNotice" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
<select id="queryListPage" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
||||||
select main.id, main.user_id, main.title, main.platform_code, main.province, main.city, main.fee_down, main.fee_up, main.is_self_price, main.gift_detail,
|
select main.id, main.user_id, main.title, main.platform_code, main.province, main.city, main.fee_down, main.fee_up, main.is_self_price, main.gift_detail,
|
||||||
main.gift_price, main.end_date, main.brand, main.is_show_brand, main.need_num, main.fans_down, main.fans_up, main.is_eligible, main.pic, main.collect, main.detail, main.images,
|
main.gift_price, main.end_date, main.brand, main.is_show_brand, main.need_num, main.fans_down, main.fans_up, main.is_eligible, main.pic, main.collect, main.detail, main.images,
|
||||||
main.blogger_types, main.is_show_tel, main.wechat, main.tel, main.group_image, main.is_use_coupon, main.approval_status, main.approval_user_id, main.approval_time,
|
main.blogger_types, main.is_show_tel, main.wechat, main.tel, main.group_image, main.is_use_coupon, main.approval_status, main.approval_user_id, main.approval_time,
|
||||||
main.approval_remark, main.creator, main.create_time, main.updater, main.update_time, main.del_flag,
|
main.approval_remark, main.creator, main.create_time, main.updater, main.update_time, main.del_flag,
|
||||||
uTable.nick_name as userNickName,
|
uTable.nick_name as userNickName,auditTable.nick_name as approvalUserName,ifnull(noticeView.view_num,0) as viewNum,
|
||||||
bTable.title as platformName
|
bTable.title as platformName
|
||||||
from dl_busi_notice main
|
from dl_busi_notice main
|
||||||
left join sys_user uTable on main.user_id = uTable.user_id
|
left join sys_user uTable on main.user_id = uTable.user_id
|
||||||
|
left join sys_user auditTable on main.approval_user_id = auditTable.user_id
|
||||||
left join dl_base_category bTable on main.platform_code = bTable.code
|
left join dl_base_category bTable on main.platform_code = bTable.code
|
||||||
|
left join dl_busi_notice_view noticeView on noticeView.id = main.id
|
||||||
<where>
|
<where>
|
||||||
main.del_flag = '0'
|
main.del_flag = '0' and main.approval_status != 8
|
||||||
<if test="entity.userNickName != null "> and uTable.nick_name like concat('%', #{entity.userNickName}, '%')</if>
|
<if test="entity.userNickName != null "> and uTable.nick_name like concat('%', #{entity.userNickName}, '%')</if>
|
||||||
<if test="entity.province != null "> and main.province = #{entity.province}</if>
|
<if test="entity.province != null "> and main.province = #{entity.province}</if>
|
||||||
<if test="entity.city != null "> and main.city = #{entity.city}</if>
|
<if test="entity.city != null "> and main.city = #{entity.city}</if>
|
||||||
@ -44,6 +46,7 @@
|
|||||||
<if test="entity.approvalStatus != null and entity.approvalStatus != ''"> and main.approval_status = #{entity.approvalStatus}</if>
|
<if test="entity.approvalStatus != null and entity.approvalStatus != ''"> and main.approval_status = #{entity.approvalStatus}</if>
|
||||||
<if test="entity.params.beginCreateTime != null and entity.params.beginCreateTime != '' and entity.params.endCreateTime != null and entity.params.endCreateTime != ''"> and main.create_time between #{entity.params.beginCreateTime} and #{entity.params.endCreateTime}</if>
|
<if test="entity.params.beginCreateTime != null and entity.params.beginCreateTime != '' and entity.params.endCreateTime != null and entity.params.endCreateTime != ''"> and main.create_time between #{entity.params.beginCreateTime} and #{entity.params.endCreateTime}</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by FIELD(main.approval_status,0,1,9,2) asc, main.create_time desc
|
||||||
</select>
|
</select>
|
||||||
<select id="queryListByUserId" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
<select id="queryListByUserId" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -3,40 +3,33 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.busi.mapper.BusiReportMapper">
|
<mapper namespace="com.ruoyi.busi.mapper.BusiReportMapper">
|
||||||
|
|
||||||
<resultMap type="BusiReport" id="BusiReportResult">
|
|
||||||
<result property="id" column="id" />
|
|
||||||
<result property="userId" column="user_id" />
|
|
||||||
<result property="userType" column="user_type" />
|
|
||||||
<result property="reportUserId" column="report_user_id" />
|
|
||||||
<result property="reportUserType" column="report_user_type" />
|
|
||||||
<result property="reportNoticeId" column="report_notice_id" />
|
|
||||||
<result property="reportType" column="report_type" />
|
|
||||||
<result property="reportTitle" column="report_title" />
|
|
||||||
<result property="content" column="content" />
|
|
||||||
<result property="images" column="images" />
|
|
||||||
<result property="dealUserId" column="deal_user_id" />
|
|
||||||
<result property="dealResult" column="deal_result" />
|
|
||||||
<result property="dealTime" column="deal_time" />
|
|
||||||
<result property="creator" column="creator" />
|
|
||||||
<result property="createTime" column="create_time" />
|
|
||||||
<result property="updater" column="updater" />
|
|
||||||
<result property="updateTime" column="update_time" />
|
|
||||||
<result property="delFlag" column="del_flag" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<sql id="selectBusiReportVo">
|
|
||||||
select id, user_id, user_type, report_user_id, report_user_type, report_notice_id, report_type, report_title, content, images, deal_user_id, deal_result, deal_time, creator, create_time, updater, update_time, del_flag from dl_busi_report
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<select id="queryListPage" parameterType="BusiReport" resultMap="BusiReportResult">
|
|
||||||
<include refid="selectBusiReportVo"/>
|
<select id="queryListPage" resultType="com.ruoyi.busi.vo.BusiReportVo">
|
||||||
|
select main.id, main.user_id, main.user_type, main.report_user_id, main.report_user_type,
|
||||||
|
main.report_notice_id, main.report_type, main.content, main.images,
|
||||||
|
main.deal_user_id, main.deal_result, main.deal_time, main.creator, main.create_time,
|
||||||
|
su1.nick_name as userNickName,su2.nick_name as reportUserNickName,su3.nick_name as dealUserName,
|
||||||
|
notice.title as reportNoticeTitle, bTable.title as reportTitle
|
||||||
|
from dl_busi_report main
|
||||||
|
inner join sys_user su1 on main.user_id = su1.user_id and su1.del_flag = '0'
|
||||||
|
inner join sys_user su2 on main.report_user_id = su2.user_id and su2.del_flag = '0'
|
||||||
|
left join sys_user su3 on main.deal_user_id = su3.user_id
|
||||||
|
left join dl_busi_notice notice on main.report_notice_id = notice.id
|
||||||
|
left join dl_base_category bTable on main.report_type = bTable.code
|
||||||
<where>
|
<where>
|
||||||
<if test="entity.userId != null "> and user_id like concat('%', #{entity.userId}, '%')</if>
|
main.del_flag = '0'
|
||||||
<if test="entity.reportUserId != null "> and report_user_id like concat('%', #{entity.reportUserId}, '%')</if>
|
<if test="entity.reportUserNickName != null and entity.reportUserNickName != '' ">
|
||||||
<if test="entity.reportNoticeId != null and entity.reportNoticeId != ''"> and report_notice_id like concat('%', #{entity.reportNoticeId}, '%')</if>
|
and su2.nick_name like concat('%', #{entity.reportUserNickName}, '%')
|
||||||
<if test="entity.reportTitle != null and entity.reportTitle != ''"> and report_title = #{entity.reportTitle}</if>
|
</if>
|
||||||
<if test="entity.dealUserId != null "> and deal_user_id = #{entity.dealUserId}</if>
|
<if test="entity.reportNoticeTitle != null and entity.reportNoticeTitle != '' ">
|
||||||
|
and notice.title like concat('%', #{entity.reportNoticeTitle}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="entity.dealUserName != null and entity.dealUserName != ''">
|
||||||
|
and su3.nick_name like concat('%', #{entity.dealUserName}, '%')
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by main.create_time asc
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Loading…
Reference in New Issue
Block a user