zhongrj
2024-03-23 c0fa64f0fa74ac4fef06e1b472031a32c3be42fa
文章浏览记录,积分基层接口新增,矛盾纠纷事件接口新增
23 files added
1493 ■■■■■ changed files
src/main/java/org/springblade/modules/article/controller/ArticleBrowseController.java 106 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/controller/ArticleIntegralController.java 107 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/entity/ArticleBrowseEntity.java 66 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/entity/ArticleIntegralEntity.java 71 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/mapper/ArticleBrowseMapper.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/mapper/ArticleBrowseMapper.xml 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/mapper/ArticleIntegralMapper.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/mapper/ArticleIntegralMapper.xml 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/service/IArticleBrowseService.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/service/IArticleIntegralService.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/service/impl/ArticleBrowseServiceImpl.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/service/impl/ArticleIntegralServiceImpl.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/vo/ArticleBrowseVO.java 35 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/vo/ArticleIntegralVO.java 35 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java 151 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/dto/DisputeRecordDTO.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/entity/DisputeRecordEntity.java 148 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/mapper/DisputeRecordMapper.java 54 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/mapper/DisputeRecordMapper.xml 225 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java 62 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/vo/DisputeRecordVO.java 79 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/disputeRecord/wrapper/DisputeRecordWrapper.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/controller/ArticleBrowseController.java
New file
@@ -0,0 +1,106 @@
package org.springblade.modules.article.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.article.entity.ArticleBrowseEntity;
import org.springblade.modules.article.vo.ArticleBrowseVO;
import org.springblade.modules.article.service.IArticleBrowseService;
/**
 * 文章浏览记录表 控制器
 *
 * @author BladeX
 * @since 2024-03-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("blade-articleBrowse/articleBrowse")
@Api(value = "文章浏览记录表", tags = "文章浏览记录表接口")
public class ArticleBrowseController{
    private final IArticleBrowseService articleBrowseService;
    /**
     * 文章浏览记录表 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入articleBrowse")
    public R detail(ArticleBrowseEntity articleBrowse) {
        ArticleBrowseEntity detail = articleBrowseService.getOne(Condition.getQueryWrapper(articleBrowse));
        return R.data(detail);
    }
    /**
     * 文章浏览记录表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入articleBrowse")
    public R list(ArticleBrowseEntity articleBrowse, Query query) {
        IPage<ArticleBrowseEntity> pages = articleBrowseService.page(Condition.getPage(query), Condition.getQueryWrapper(articleBrowse));
        return R.data(pages);
    }
    /**
     * 文章浏览记录表 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入articleBrowse")
    public R<IPage<ArticleBrowseVO>> page(ArticleBrowseVO articleBrowse, Query query) {
        IPage<ArticleBrowseVO> pages = articleBrowseService.selectArticleBrowsePage(Condition.getPage(query), articleBrowse);
        return R.data(pages);
    }
    /**
     * 文章浏览记录表 新增
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入articleBrowse")
    public R save(@Valid @RequestBody ArticleBrowseEntity articleBrowse) {
        return R.status(articleBrowseService.save(articleBrowse));
    }
    /**
     * 文章浏览记录表 修改
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入articleBrowse")
    public R update(@Valid @RequestBody ArticleBrowseEntity articleBrowse) {
        return R.status(articleBrowseService.updateById(articleBrowse));
    }
    /**
     * 文章浏览记录表 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入articleBrowse")
    public R submit(@Valid @RequestBody ArticleBrowseEntity articleBrowse) {
        return R.status(articleBrowseService.saveOrUpdate(articleBrowse));
    }
    /**
     * 文章浏览记录表 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(articleBrowseService.removeByIds(Func.toLongList(ids)));
    }
}
src/main/java/org/springblade/modules/article/controller/ArticleIntegralController.java
New file
@@ -0,0 +1,107 @@
package org.springblade.modules.article.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.article.entity.ArticleIntegralEntity;
import org.springblade.modules.article.vo.ArticleIntegralVO;
import org.springblade.modules.article.service.IArticleIntegralService;
/**
 * 文章浏览积分表 控制器
 *
 * @author BladeX
 * @since 2024-03-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("blade-articleIntegral/articleIntegral")
@Api(value = "文章浏览积分表", tags = "文章浏览积分表接口")
public class ArticleIntegralController{
    private final IArticleIntegralService articleIntegralService;
    /**
     * 文章浏览积分表 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入articleIntegral")
    public R detail(ArticleIntegralEntity articleIntegral) {
        ArticleIntegralEntity detail = articleIntegralService.getOne(Condition.getQueryWrapper(articleIntegral));
        return R.data(detail);
    }
    /**
     * 文章浏览积分表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入articleIntegral")
    public R list(ArticleIntegralEntity articleIntegral, Query query) {
        IPage<ArticleIntegralEntity> pages = articleIntegralService.page(Condition.getPage(query), Condition.getQueryWrapper(articleIntegral));
        return R.data(pages);
    }
    /**
     * 文章浏览积分表 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入articleIntegral")
    public R<IPage<ArticleIntegralVO>> page(ArticleIntegralVO articleIntegral, Query query) {
        IPage<ArticleIntegralVO> pages = articleIntegralService.selectArticleIntegralPage(Condition.getPage(query), articleIntegral);
        return R.data(pages);
    }
    /**
     * 文章浏览积分表 新增
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入articleIntegral")
    public R save(@Valid @RequestBody ArticleIntegralEntity articleIntegral) {
        return R.status(articleIntegralService.save(articleIntegral));
    }
    /**
     * 文章浏览积分表 修改
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入articleIntegral")
    public R update(@Valid @RequestBody ArticleIntegralEntity articleIntegral) {
        return R.status(articleIntegralService.updateById(articleIntegral));
    }
    /**
     * 文章浏览积分表 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入articleIntegral")
    public R submit(@Valid @RequestBody ArticleIntegralEntity articleIntegral) {
        return R.status(articleIntegralService.saveOrUpdate(articleIntegral));
    }
    /**
     * 文章浏览积分表 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(articleIntegralService.removeByIds(Func.toLongList(ids)));
    }
}
src/main/java/org/springblade/modules/article/entity/ArticleBrowseEntity.java
New file
@@ -0,0 +1,66 @@
package org.springblade.modules.article.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * 文章浏览记录表 实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@TableName("jczz_article_browse")
@ApiModel(value = "ArticleBrowse对象", description = "文章浏览记录表")
public class ArticleBrowseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 文章id
     */
    @ApiModelProperty(value = "文章id")
    private Long articleId;
    /**
     * 创建人(浏览人用户id)
     */
    @ApiModelProperty(value = "创建人(浏览人用户id)")
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 是否删除 0:否  1:是
     */
    @ApiModelProperty(value = "是否删除 0:否  1:是", example = "")
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;
}
src/main/java/org/springblade/modules/article/entity/ArticleIntegralEntity.java
New file
@@ -0,0 +1,71 @@
package org.springblade.modules.article.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * 文章浏览积分表 实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@TableName("jczz_article_integral")
@ApiModel(value = "ArticleIntegral对象", description = "文章浏览积分表")
public class ArticleIntegralEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 文章id
     */
    @ApiModelProperty(value = "文章id")
    private Long articleId;
    /**
     * 得分
     */
    @ApiModelProperty(value = "得分")
    private Integer score;
    /**
     * 创建人(浏览人用户id)
     */
    @ApiModelProperty(value = "创建人(浏览人用户id)")
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 是否删除 0:否  1:是
     */
    @ApiModelProperty(value = "是否删除 0:否  1:是", example = "")
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;
}
src/main/java/org/springblade/modules/article/mapper/ArticleBrowseMapper.java
New file
@@ -0,0 +1,43 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.article.mapper;
import org.springblade.modules.article.entity.ArticleBrowseEntity;
import org.springblade.modules.article.vo.ArticleBrowseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * 文章浏览记录表 Mapper 接口
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface ArticleBrowseMapper extends BaseMapper<ArticleBrowseEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param articleBrowse
     * @return
     */
    List<ArticleBrowseVO> selectArticleBrowsePage(IPage page, ArticleBrowseVO articleBrowse);
}
src/main/java/org/springblade/modules/article/mapper/ArticleBrowseMapper.xml
New file
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.article.mapper.ArticleBrowseMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="articleBrowseResultMap" type="org.springblade.modules.article.vo.ArticleBrowseVO">
        <result column="id" property="id"/>
        <result column="article_id" property="articleId"/>
        <result column="create_time" property="createTime"/>
        <result column="create_user" property="createUser"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
    <select id="selectArticleBrowsePage" resultMap="articleBrowseResultMap">
        select * from jczz_article_browse where is_deleted = 0
    </select>
</mapper>
src/main/java/org/springblade/modules/article/mapper/ArticleIntegralMapper.java
New file
@@ -0,0 +1,43 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.article.mapper;
import org.springblade.modules.article.entity.ArticleIntegralEntity;
import org.springblade.modules.article.vo.ArticleIntegralVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * 文章浏览积分表 Mapper 接口
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface ArticleIntegralMapper extends BaseMapper<ArticleIntegralEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param articleIntegral
     * @return
     */
    List<ArticleIntegralVO> selectArticleIntegralPage(IPage page, ArticleIntegralVO articleIntegral);
}
src/main/java/org/springblade/modules/article/mapper/ArticleIntegralMapper.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.article.mapper.ArticleIntegralMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="articleIntegralResultMap" type="org.springblade.modules.article.vo.ArticleIntegralVO">
        <result column="id" property="id"/>
        <result column="article_id" property="articleId"/>
        <result column="score" property="score"/>
        <result column="create_time" property="createTime"/>
        <result column="create_user" property="createUser"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
    <select id="selectArticleIntegralPage" resultMap="articleIntegralResultMap">
        select * from jczz_article_integral where is_deleted = 0
    </select>
</mapper>
src/main/java/org/springblade/modules/article/service/IArticleBrowseService.java
New file
@@ -0,0 +1,26 @@
package org.springblade.modules.article.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.article.entity.ArticleBrowseEntity;
import org.springblade.modules.article.vo.ArticleBrowseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 文章浏览记录表 服务类
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface IArticleBrowseService extends IService<ArticleBrowseEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param articleBrowse
     * @return
     */
    IPage<ArticleBrowseVO> selectArticleBrowsePage(IPage<ArticleBrowseVO> page, ArticleBrowseVO articleBrowse);
}
src/main/java/org/springblade/modules/article/service/IArticleIntegralService.java
New file
@@ -0,0 +1,26 @@
package org.springblade.modules.article.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.article.entity.ArticleIntegralEntity;
import org.springblade.modules.article.vo.ArticleIntegralVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 文章浏览积分表 服务类
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface IArticleIntegralService extends IService<ArticleIntegralEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param articleIntegral
     * @return
     */
    IPage<ArticleIntegralVO> selectArticleIntegralPage(IPage<ArticleIntegralVO> page, ArticleIntegralVO articleIntegral);
}
src/main/java/org/springblade/modules/article/service/impl/ArticleBrowseServiceImpl.java
New file
@@ -0,0 +1,26 @@
package org.springblade.modules.article.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.article.entity.ArticleBrowseEntity;
import org.springblade.modules.article.vo.ArticleBrowseVO;
import org.springblade.modules.article.mapper.ArticleBrowseMapper;
import org.springblade.modules.article.service.IArticleBrowseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 文章浏览记录表 服务实现类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Service
public class ArticleBrowseServiceImpl extends ServiceImpl<ArticleBrowseMapper, ArticleBrowseEntity> implements IArticleBrowseService {
    @Override
    public IPage<ArticleBrowseVO> selectArticleBrowsePage(IPage<ArticleBrowseVO> page, ArticleBrowseVO articleBrowse) {
        return page.setRecords(baseMapper.selectArticleBrowsePage(page, articleBrowse));
    }
}
src/main/java/org/springblade/modules/article/service/impl/ArticleIntegralServiceImpl.java
New file
@@ -0,0 +1,26 @@
package org.springblade.modules.article.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.article.entity.ArticleIntegralEntity;
import org.springblade.modules.article.vo.ArticleIntegralVO;
import org.springblade.modules.article.mapper.ArticleIntegralMapper;
import org.springblade.modules.article.service.IArticleIntegralService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 文章浏览积分表 服务实现类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Service
public class ArticleIntegralServiceImpl extends ServiceImpl<ArticleIntegralMapper, ArticleIntegralEntity> implements IArticleIntegralService {
    @Override
    public IPage<ArticleIntegralVO> selectArticleIntegralPage(IPage<ArticleIntegralVO> page, ArticleIntegralVO articleIntegral) {
        return page.setRecords(baseMapper.selectArticleIntegralPage(page, articleIntegral));
    }
}
src/main/java/org/springblade/modules/article/vo/ArticleBrowseVO.java
New file
@@ -0,0 +1,35 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.article.vo;
import org.springblade.modules.article.entity.ArticleBrowseEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 文章浏览记录表 视图实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ArticleBrowseVO extends ArticleBrowseEntity {
    private static final long serialVersionUID = 1L;
}
src/main/java/org/springblade/modules/article/vo/ArticleIntegralVO.java
New file
@@ -0,0 +1,35 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.article.vo;
import org.springblade.modules.article.entity.ArticleIntegralEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 文章浏览积分表 视图实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ArticleIntegralVO extends ArticleIntegralEntity {
    private static final long serialVersionUID = 1L;
}
src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java
New file
@@ -0,0 +1,151 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.disputeRecord.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import org.springblade.modules.disputeRecord.wrapper.DisputeRecordWrapper;
import org.springblade.modules.disputeRecord.service.IDisputeRecordService;
import org.springblade.core.boot.ctrl.BladeController;
/**
 * 矛盾纠纷记录表 控制器
 *
 * @author BladeX
 * @since 2024-03-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("blade-disputeRecord/disputeRecord")
@Api(value = "矛盾纠纷记录表", tags = "矛盾纠纷记录表接口")
public class DisputeRecordController {
    private final IDisputeRecordService disputeRecordService;
    /**
     * 矛盾纠纷记录表 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入disputeRecord")
    public R detail(DisputeRecordEntity disputeRecord) {
        DisputeRecordEntity detail = disputeRecordService.getOne(Condition.getQueryWrapper(disputeRecord));
        return R.data(detail);
    }
    /**
     * 矛盾纠纷记录表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入disputeRecord")
    public R<IPage<DisputeRecordVO>> list(DisputeRecordEntity disputeRecord, Query query) {
        IPage<DisputeRecordEntity> pages = disputeRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(disputeRecord));
        return R.data(DisputeRecordWrapper.build().pageVO(pages));
    }
    /**
     * 矛盾纠纷记录表 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入disputeRecord")
    public R<IPage<DisputeRecordVO>> page(DisputeRecordVO disputeRecord, Query query) {
        IPage<DisputeRecordVO> pages = disputeRecordService.selectDisputeRecordPage(Condition.getPage(query), disputeRecord);
        return R.data(pages);
    }
    /**
     * 矛盾纠纷记录表 新增
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入disputeRecord")
    public R save(@Valid @RequestBody DisputeRecordEntity disputeRecord) {
        return R.status(disputeRecordService.save(disputeRecord));
    }
    /**
     * 矛盾纠纷记录表 修改
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入disputeRecord")
    public R update(@Valid @RequestBody DisputeRecordEntity disputeRecord) {
        return R.status(disputeRecordService.updateById(disputeRecord));
    }
    /**
     * 矛盾纠纷记录表 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入disputeRecord")
    public R submit(@Valid @RequestBody DisputeRecordEntity disputeRecord) {
        return R.status(disputeRecordService.saveOrUpdate(disputeRecord));
    }
    /**
     * 矛盾纠纷记录表 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(disputeRecordService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 矛盾纠纷记录表 自定义新增或修改
     * @param disputeRecord
     * @return
     */
    @PostMapping("/saveOrUpdate")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "自定义新增或修改", notes = "传入disputeRecord")
    public R saveOrUpdate(@Valid @RequestBody DisputeRecordEntity disputeRecord) {
        return R.status(disputeRecordService.saveOrUpdateDisputeRecord(disputeRecord));
    }
    /**
     * 矛盾纠纷记录表 自定义详情
     * @param disputeRecord
     * @return
     */
    @GetMapping("/getDetail")
    @ApiOperationSupport(order = 9)
    @ApiOperation(value = "自定义详情", notes = "传入disputeRecord")
    public R getDetail(DisputeRecordVO disputeRecord) {
        return R.data(disputeRecordService.getDetail(disputeRecord));
    }
}
src/main/java/org/springblade/modules/disputeRecord/dto/DisputeRecordDTO.java
New file
@@ -0,0 +1,34 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.disputeRecord.dto;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 矛盾纠纷记录表 数据传输对象实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class DisputeRecordDTO extends DisputeRecordEntity {
    private static final long serialVersionUID = 1L;
}
src/main/java/org/springblade/modules/disputeRecord/entity/DisputeRecordEntity.java
New file
@@ -0,0 +1,148 @@
package org.springblade.modules.disputeRecord.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
/**
 * 矛盾纠纷记录表 实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@TableName("jczz_dispute_record")
@ApiModel(value = "DisputeRecord对象", description = "矛盾纠纷记录表")
public class DisputeRecordEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /** 主键id */
    @ApiModelProperty(value = "主键ID", example = "")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 事发地址
     */
    @ApiModelProperty(value = "事发地址")
    private String address;
    /**
     * 事发经度
     */
    @ApiModelProperty(value = "事发经度")
    private String lng;
    /**
     * 事发纬度
     */
    @ApiModelProperty(value = "事发纬度")
    private String lat;
    /**
     * 纠纷方1姓名
     */
    @ApiModelProperty(value = "纠纷方1姓名")
    private String nameOne;
    /**
     * 纠纷方1电话
     */
    @ApiModelProperty(value = "纠纷方1电话")
    private String phoneOne;
    /**
     * 纠纷方1身份证号码
     */
    @ApiModelProperty(value = "纠纷方1身份证号码")
    private String idCardOne;
    /**
     * 纠纷方2姓名
     */
    @ApiModelProperty(value = "纠纷方2姓名")
    private String nameTwo;
    /**
     * 纠纷方2电话
     */
    @ApiModelProperty(value = "纠纷方2电话")
    private String phoneTwo;
    /**
     * 纠纷方2身份证号码
     */
    @ApiModelProperty(value = "纠纷方2身份证号码")
    private String idCardTwo;
    /**
     * 纠纷类型  业务字典:disputeType
     */
    @ApiModelProperty(value = "纠纷类型  业务字典:disputeType")
    private Integer disputeType;
    /**
     * 纠纷内容
     */
    @ApiModelProperty(value = "纠纷内容")
    private String disputeContent;
    /**
     * 0:否 1:是   是否受伤
     */
    @ApiModelProperty(value = "0:否 1:是   是否受伤 ")
    private Integer injuryFlag;
    /**
     * 受伤情况描述
     */
    @ApiModelProperty(value = "受伤情况描述")
    private Integer injuryDesc;
    /**
     * 报警次数
     */
    @ApiModelProperty(value = "报警次数")
    private Integer alarmNum;
    /**
     * 信息来源:1:群众报警  2:e呼即办推送 3:走访发现 业务字典:disputeSource
     */
    @ApiModelProperty(value = "信息来源 业务字典:disputeSource")
    private Integer source;
    /**
     * 处理结果 1:已化解 2:未化解 3:移送e呼即办
     */
    @ApiModelProperty(value = "处理结果 1:已化解 2:未化解 3:移送e呼即办")
    private Integer handleResult;
    /**
     * 网格编码
     */
    @ApiModelProperty(value = "网格编码")
    private String gridCode;
    /**
     * 警务网格编码
     */
    @ApiModelProperty(value = "警务网格编码")
    private String jwGridCode;
    /** 创建人 */
    @ApiModelProperty(value = "创建人", example = "")
    @TableField("create_user")
    private Long createUser;
    /** 创建时间 */
    @ApiModelProperty(value = "创建时间", example = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date createTime;
    /** 更新人 */
    @ApiModelProperty(value = "更新人", example = "")
    @TableField("update_user")
    private Long updateUser;
    /** 更新时间 */
    @ApiModelProperty(value = "更新时间", example = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "update_time",fill = FieldFill.UPDATE)
    private Date updateTime;
    /** 是否删除 0:否  1:是 */
    @ApiModelProperty(value = "是否删除 0:否  1:是", example = "")
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;
}
src/main/java/org/springblade/modules/disputeRecord/mapper/DisputeRecordMapper.java
New file
@@ -0,0 +1,54 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.disputeRecord.mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * 矛盾纠纷记录表 Mapper 接口
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface DisputeRecordMapper extends BaseMapper<DisputeRecordEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param disputeRecord
     * @return
     */
    List<DisputeRecordVO> selectDisputeRecordPage(IPage page,
                                                  @Param("disputeRecord") DisputeRecordVO disputeRecord,
                                                  @Param("isAdministrator") Integer isAdministrator,
                                                  @Param("regionChildCodesList") List<String> regionChildCodesList,
                                                  @Param("gridCodeList") List<String> gridCodeList);
    /**
     * 矛盾纠纷记录表 自定义详情
     * @param disputeRecord
     * @return
     */
    DisputeRecordVO getDetail(@Param("disputeRecord") DisputeRecordVO disputeRecord);
}
src/main/java/org/springblade/modules/disputeRecord/mapper/DisputeRecordMapper.xml
New file
@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.disputeRecord.mapper.DisputeRecordMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="disputeRecordResultMap" type="org.springblade.modules.disputeRecord.vo.DisputeRecordVO">
        <result column="id" property="id"/>
        <result column="address" property="address"/>
        <result column="lng" property="lng"/>
        <result column="lat" property="lat"/>
        <result column="name_one" property="nameOne"/>
        <result column="phone_one" property="phoneOne"/>
        <result column="id_card_one" property="idCardOne"/>
        <result column="name_two" property="nameTwo"/>
        <result column="phone_two" property="phoneTwo"/>
        <result column="id_card_two" property="idCardTwo"/>
        <result column="dispute_type" property="disputeType"/>
        <result column="dispute_content" property="disputeContent"/>
        <result column="injury_flag" property="injuryFlag"/>
        <result column="injury_desc" property="injuryDesc"/>
        <result column="alarm_num" property="alarmNum"/>
        <result column="source" property="source"/>
        <result column="handle_result" property="handleResult"/>
        <result column="grid_code" property="gridCode"/>
        <result column="jw_grid_code" property="jwGridCode"/>
        <result column="create_user" property="createUser"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
    <!--自定列表分页查询-->
    <select id="selectDisputeRecordPage" resultMap="disputeRecordResultMap">
        select
        jdr.*,
        br.town_name as townName,
        br.name as communityName,
        jpag.pcs_name pcsName
        from jczz_dispute_record jdr
        LEFT JOIN jczz_grid jg on jg.grid_code = jdr.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jdr.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        LEFT JOIN blade_region br on br.code = jpag.community_code
        where jdr.is_deleted = 0
        <if test="disputeRecord.disputeType != null">
            and jdr.dispute_type = #{disputeRecord.disputeType}
        </if>
        <if test="disputeRecord.injuryFlag != null">
            and jdr.injury_flag = #{disputeRecord.injuryFlag}
        </if>
        <if test="disputeRecord.source != null">
            and jdr.source = #{disputeRecord.source}
        </if>
        <if test="disputeRecord.townName != null and disputeRecord.townName != ''">
            and br.town_name like concat('%',#{disputeRecord.townName},'%')
        </if>
        <if test="disputeRecord.communityName != null and disputeRecord.communityName != ''">
            and jbr.name like concat('%',#{disputeRecord.communityName},'%')
        </if>
        <if test="disputeRecord.pcsName != null and disputeRecord.pcsName != ''">
            and jpag.pcs_name like concat('%',#{disputeRecord.pcsName},'%')
        </if>
        <if test="disputeRecord.address != null and disputeRecord.address != ''">
            and jdr.address like concat('%',#{disputeRecord.address},'%')
        </if>
        <if test="disputeRecord.disputeContent != null and disputeRecord.disputeContent != ''">
            and jdr.dispute_content like concat('%',#{disputeRecord.disputeContent},'%')
        </if>
        <if test="disputeRecord.nameOne != null and disputeRecord.nameOne != ''">
            and jdr.name_one like concat('%',#{disputeRecord.nameOne},'%')
        </if>
        <if test="disputeRecord.phoneOne != null and disputeRecord.phoneOne != ''">
            and jdr.phone_one like concat('%',#{disputeRecord.phoneOne},'%')
        </if>
        <if test="disputeRecord.idCardOne != null and disputeRecord.idCardOne != ''">
            and jdr.id_card_one like concat('%',#{disputeRecord.idCardOne},'%')
        </if>
        <if test="disputeRecord.nameTwo != null and disputeRecord.nameTwo != ''">
            and jdr.name_two like concat('%',#{disputeRecord.nameTwo},'%')
        </if>
        <if test="disputeRecord.phoneTwo != null and disputeRecord.phoneTwo != ''">
            and jdr.phone_two like concat('%',#{disputeRecord.phoneOne},'%')
        </if>
        <if test="disputeRecord.idCardTwo != null and disputeRecord.idCardTwo != ''">
            and jdr.id_card_two like concat('%',#{disputeRecord.idCardTwo},'%')
        </if>
        <if test="disputeRecord.startTime != null and disputeRecord.startTime != ''">
            and date_format(jdr.create_time,'%Y-%m-%d') &gt;= #{disputeRecord.startTime}
        </if>
        <if test="disputeRecord.endTime != null and disputeRecord.endTime != ''">
            and date_format(jdr.create_time,'%Y-%m-%d') &lt;= #{disputeRecord.endTime}
        </if>
        <if test="disputeRecord.searchKey!=null and disputeRecord.searchKey!=''">
            and CONCAT(
            ifnull(jdr.name_one,''),
            ifnull(jdr.phone_one,''),
            ifnull(jdr.name_two,''),
            ifnull(jdr.phone_two,''),
            ifnull(jdr.address,''),
            ifnull(jdr.dispute_content,'')
            ) like CONCAT ('%', #{disputeRecord.searchKey},'%')
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="disputeRecord.roleName != null and disputeRecord.roleName != ''">
                    <if test="disputeRecord.roleName=='wgy'">
                        <choose>
                            <when test="gridCodeList !=null and gridCodeList.size()>0">
                                and jg.grid_code in
                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jg.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                    <if test="disputeRecord.roleName=='mj'">
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jpag.community_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                </when>
                <otherwise>
                    <choose>
                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                            and
                            (
                            jg.grid_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            or
                            jpag.community_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            )
                        </when>
                        <otherwise>
                            and
                            (
                            jg.grid_code in ('') or jpag.community_code in ('')
                            )
                        </otherwise>
                    </choose>
                </otherwise>
            </choose>
        </if>
        order by jdr.id desc,jdr.create_time desc
    </select>
    <!--自定列表分页查询-->
    <select id="getDetail" resultType="org.springblade.modules.disputeRecord.vo.DisputeRecordVO">
        select
        jdr.*,
        br.town_name as townName,
        br.name as communityName,
        jpag.pcs_name pcsName
        from jczz_dispute_record jdr
        LEFT JOIN jczz_grid jg on jg.grid_code = jdr.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jdr.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        LEFT JOIN blade_region br on br.code = jpag.community_code
        where jdr.is_deleted = 0
        <if test="disputeRecord.id != null">
            and jdr.id = #{disputeRecord.id}
        </if>
        <if test="disputeRecord.disputeType != null">
            and jdr.dispute_type = #{disputeRecord.disputeType}
        </if>
        <if test="disputeRecord.injuryFlag != null">
            and jdr.injury_flag = #{disputeRecord.injuryFlag}
        </if>
        <if test="disputeRecord.source != null">
            and jdr.source = #{disputeRecord.source}
        </if>
        <if test="disputeRecord.handleResult != null">
            and jdr.handle_result = #{disputeRecord.handleResult}
        </if>
        <if test="disputeRecord.townName != null and disputeRecord.townName != ''">
            and br.town_name like concat('%',#{disputeRecord.townName},'%')
        </if>
        <if test="disputeRecord.communityName != null and disputeRecord.communityName != ''">
            and jbr.name like concat('%',#{disputeRecord.communityName},'%')
        </if>
        <if test="disputeRecord.pcsName != null and disputeRecord.pcsName != ''">
            and jpag.pcs_name like concat('%',#{disputeRecord.pcsName},'%')
        </if>
        <if test="disputeRecord.address != null and disputeRecord.address != ''">
            and jdr.address like concat('%',#{disputeRecord.address},'%')
        </if>
        <if test="disputeRecord.disputeContent != null and disputeRecord.disputeContent != ''">
            and jdr.dispute_content like concat('%',#{disputeRecord.disputeContent},'%')
        </if>
        <if test="disputeRecord.nameOne != null and disputeRecord.nameOne != ''">
            and jdr.name_one like concat('%',#{disputeRecord.nameOne},'%')
        </if>
        <if test="disputeRecord.phoneOne != null and disputeRecord.phoneOne != ''">
            and jdr.phone_one like concat('%',#{disputeRecord.phoneOne},'%')
        </if>
        <if test="disputeRecord.idCardOne != null and disputeRecord.idCardOne != ''">
            and jdr.id_card_one like concat('%',#{disputeRecord.idCardOne},'%')
        </if>
        <if test="disputeRecord.nameTwo != null and disputeRecord.nameTwo != ''">
            and jdr.name_two like concat('%',#{disputeRecord.nameTwo},'%')
        </if>
        <if test="disputeRecord.phoneTwo != null and disputeRecord.phoneTwo != ''">
            and jdr.phone_two like concat('%',#{disputeRecord.phoneOne},'%')
        </if>
        <if test="disputeRecord.idCardTwo != null and disputeRecord.idCardTwo != ''">
            and jdr.id_card_two like concat('%',#{disputeRecord.idCardTwo},'%')
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java
New file
@@ -0,0 +1,39 @@
package org.springblade.modules.disputeRecord.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 矛盾纠纷记录表 服务类
 *
 * @author BladeX
 * @since 2024-03-23
 */
public interface IDisputeRecordService extends IService<DisputeRecordEntity> {
    /**
     * 自定义分页
     *
     * @param page
     * @param disputeRecord
     * @return
     */
    IPage<DisputeRecordVO> selectDisputeRecordPage(IPage<DisputeRecordVO> page, DisputeRecordVO disputeRecord);
    /**
     * 矛盾纠纷记录表 自定义新增或修改
     * @param disputeRecord
     * @return
     */
    boolean saveOrUpdateDisputeRecord(DisputeRecordEntity disputeRecord);
    /**
     * 矛盾纠纷记录表 自定义详情
     * @param disputeRecord
     * @return
     */
    DisputeRecordVO getDetail(DisputeRecordVO disputeRecord);
}
src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
New file
@@ -0,0 +1,62 @@
package org.springblade.modules.disputeRecord.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.param.GridSet;
import org.springblade.modules.backblast.entity.BackblastWarnHanRecEntity;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import org.springblade.modules.disputeRecord.mapper.DisputeRecordMapper;
import org.springblade.modules.disputeRecord.service.IDisputeRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * 矛盾纠纷记录表 服务实现类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Service
public class DisputeRecordServiceImpl extends ServiceImpl<DisputeRecordMapper, DisputeRecordEntity> implements IDisputeRecordService {
    @Override
    public IPage<DisputeRecordVO> selectDisputeRecordPage(IPage<DisputeRecordVO> page, DisputeRecordVO disputeRecord) {
        CommonParamSet commonParamSet = new CommonParamSet<>().invoke(DisputeRecordVO.class, disputeRecord);
        return page.setRecords(
            baseMapper.selectDisputeRecordPage(page,
            disputeRecord,
            commonParamSet.getIsAdministrator(),
            commonParamSet.getRegionChildCodesList(),
            commonParamSet.getGridCodeList())
        );
    }
    /**
     * 矛盾纠纷记录表 自定义新增或修改
     * @param disputeRecord
     * @return
     */
    @Override
    public boolean saveOrUpdateDisputeRecord(DisputeRecordEntity disputeRecord) {
        // 点落面计算警格,网格,警格
        GridSet invoke = new GridSet().invoke(DisputeRecordEntity.class, disputeRecord,
            "lng", "lat", "gridCode", "jwGridCode");
        if (null!=disputeRecord.getId()){
            // 更新
            return updateById(disputeRecord);
        }
        // 新增
        return save(disputeRecord);
    }
    /**
     * 矛盾纠纷记录表 自定义详情
     * @param disputeRecord
     * @return
     */
    @Override
    public DisputeRecordVO getDetail(DisputeRecordVO disputeRecord) {
        return baseMapper.getDetail(disputeRecord);
    }
}
src/main/java/org/springblade/modules/disputeRecord/vo/DisputeRecordVO.java
New file
@@ -0,0 +1,79 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.disputeRecord.vo;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 矛盾纠纷记录表 视图实体类
 *
 * @author BladeX
 * @since 2024-03-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class DisputeRecordVO extends DisputeRecordEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "社区编号", example = "")
    private String communityCode;
    @ApiModelProperty(value = "角色别名", example = "")
    private String roleName;
    /**
     * 搜索关键字
     */
    @ApiModelProperty(value = "搜索关键字", example = "")
    private String searchKey;
    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间", example = "")
    private String startTime;
    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间", example = "")
    private String endTime;
    /**
     * 乡镇名称
     */
    @ApiModelProperty(value = "乡镇名称", example = "")
    private String townName;
    /**
     * 社区名称
     */
    @ApiModelProperty(value = "社区名称", example = "")
    private String communityName;
    /**
     * 派出所名称
     */
    @ApiModelProperty(value = "派出所名称", example = "")
    private String pcsName;
}
src/main/java/org/springblade/modules/disputeRecord/wrapper/DisputeRecordWrapper.java
New file
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.disputeRecord.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import java.util.Objects;
/**
 * 矛盾纠纷记录表 包装类,返回视图层所需的字段
 *
 * @author BladeX
 * @since 2024-03-23
 */
public class DisputeRecordWrapper extends BaseEntityWrapper<DisputeRecordEntity, DisputeRecordVO>  {
    public static DisputeRecordWrapper build() {
        return new DisputeRecordWrapper();
     }
    @Override
    public DisputeRecordVO entityVO(DisputeRecordEntity disputeRecord) {
        DisputeRecordVO disputeRecordVO = Objects.requireNonNull(BeanUtil.copy(disputeRecord, DisputeRecordVO.class));
        //User createUser = UserCache.getUser(disputeRecord.getCreateUser());
        //User updateUser = UserCache.getUser(disputeRecord.getUpdateUser());
        //disputeRecordVO.setCreateUserName(createUser.getName());
        //disputeRecordVO.setUpdateUserName(updateUser.getName());
        return disputeRecordVO;
    }
}