From b9cfd99360f38aae810c884b661bfadee7e6b692 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Sat, 19 Jul 2025 18:13:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../affairs/controller/AffairsController.java | 14 +++ .../AffairsViewRecordController.java | 67 +++++++++++++ .../affairs/dao/AffairsViewRecordDao.java | 37 ++++++++ .../affairs/domain/entity/AffairsEntity.java | 2 +- .../entity/AffairsViewRecordEntity.java | 73 ++++++++++++++ .../domain/form/AffairsViewRecordAddForm.java | 38 ++++++++ .../form/AffairsViewRecordQueryForm.java | 26 +++++ .../form/AffairsViewRecordUpdateForm.java | 44 +++++++++ .../domain/vo/AffairsViewRecordVO.java | 49 ++++++++++ .../manager/AffairsViewRecordManager.java | 20 ++++ .../affairs/service/AffairsService.java | 35 +++++++ .../service/AffairsViewRecordService.java | 94 +++++++++++++++++++ .../domain/form/PetitionersTypeQueryForm.java | 2 + .../village/domain/vo/VillagerVO.java | 21 +++++ .../service/PetitionersTypeService.java | 2 +- .../admin/mybatis/DataScopeInterceptor.java | 2 +- .../affairs/AffairsViewRecordMapper.xml | 50 ++++++++++ .../village/PetitionersTypeMapper.xml | 4 +- 18 files changed, 575 insertions(+), 5 deletions(-) create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsViewRecordController.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsViewRecordDao.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsViewRecordEntity.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordAddForm.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordQueryForm.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordUpdateForm.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsViewRecordVO.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsViewRecordManager.java create mode 100644 sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsViewRecordService.java create mode 100644 sa-admin/src/main/resources/mapper/business/affairs/AffairsViewRecordMapper.xml diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java index 946e94f..411e199 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java @@ -1,11 +1,14 @@ package net.lab1024.sa.admin.module.business.affairs.controller; +import cn.hutool.extra.servlet.ServletUtil; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsAddForm; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsQueryForm; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsUpdateForm; import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsVO; import net.lab1024.sa.admin.module.business.affairs.service.AffairsService; +import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.NoticeDetailVO; import net.lab1024.sa.base.common.domain.ValidateList; +import net.lab1024.sa.base.common.util.SmartRequestUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import cn.dev33.satoken.annotation.SaCheckPermission; @@ -18,6 +21,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; /** @@ -69,4 +73,14 @@ public class AffairsController { public ResponseDTO batchDelete(@PathVariable Long affairsId) { return affairsService.delete(affairsId); } + + @Operation(summary = "三务公开-查看") + @GetMapping("/affairs/view/{affairsId}") + public ResponseDTO view(@PathVariable Long affairsId, HttpServletRequest request) { + return affairsService.view( + affairsId, + ServletUtil.getClientIP(request), + request.getHeader("User-Agent") + ); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsViewRecordController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsViewRecordController.java new file mode 100644 index 0000000..2e0905f --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsViewRecordController.java @@ -0,0 +1,67 @@ +package net.lab1024.sa.admin.module.business.affairs.controller; + +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsViewRecordVO; +import net.lab1024.sa.admin.module.business.affairs.service.AffairsViewRecordService; +import net.lab1024.sa.base.common.domain.ValidateList; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import cn.dev33.satoken.annotation.SaCheckPermission; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 三务公开-查看记录 Controller + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@RestController +@Tag(name = "三务公开-查看记录") +public class AffairsViewRecordController { + + @Resource + private AffairsViewRecordService affairsViewRecordService; + + @Operation(summary = "分页查询 @author pengjie") + @PostMapping("/affairsViewRecord/queryPage") + public ResponseDTO> queryPage(@RequestBody @Valid AffairsViewRecordQueryForm queryForm) { + return ResponseDTO.ok(affairsViewRecordService.queryPage(queryForm)); + } + + @Operation(summary = "添加 @author pengjie") + @PostMapping("/affairsViewRecord/add") + public ResponseDTO add(@RequestBody @Valid AffairsViewRecordAddForm addForm) { + return affairsViewRecordService.add(addForm); + } + + @Operation(summary = "更新 @author pengjie") + @PostMapping("/affairsViewRecord/update") + public ResponseDTO update(@RequestBody @Valid AffairsViewRecordUpdateForm updateForm) { + return affairsViewRecordService.update(updateForm); + } + + @Operation(summary = "批量删除 @author pengjie") + @PostMapping("/affairsViewRecord/batchDelete") + public ResponseDTO batchDelete(@RequestBody ValidateList idList) { + return affairsViewRecordService.batchDelete(idList); + } + + @Operation(summary = "单个删除 @author pengjie") + @GetMapping("/affairsViewRecord/delete/{affairsId}") + public ResponseDTO batchDelete(@PathVariable Long affairsId) { + return affairsViewRecordService.delete(affairsId); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsViewRecordDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsViewRecordDao.java new file mode 100644 index 0000000..b2c74d3 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsViewRecordDao.java @@ -0,0 +1,37 @@ +package net.lab1024.sa.admin.module.business.affairs.dao; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsViewRecordEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsViewRecordVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * 三务公开-查看记录 Dao + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Mapper +@Component +public interface AffairsViewRecordDao extends BaseMapper { + + /** + * 分页 查询 + * + * @param page + * @param queryForm + * @return + */ + List queryPage(Page page, @Param("queryForm") AffairsViewRecordQueryForm queryForm); + + void insertViewRecord(@Param("affairsId") Long affairsId, @Param("employeeId") Long employeeId, @Param("ip") String ip, @Param("userAgent") String userAgent,@Param("pageViewCount") Integer pageViewCount); + + void updateViewRecord(@Param("affairsId")Long affairsId, @Param("employeeId")Long employeeId,@Param("ip") String ip, @Param("userAgent")String userAgent); +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java index 7f435a0..b752fad 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java @@ -34,7 +34,7 @@ public class AffairsEntity { private Integer type; /** - * 可见范围类型(1:人员;2:组织) + * 可见范围类型(1:人员;2:部门) */ private Integer rangeType; diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsViewRecordEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsViewRecordEntity.java new file mode 100644 index 0000000..23f0055 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsViewRecordEntity.java @@ -0,0 +1,73 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 三务公开-查看记录 实体类 + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Data +@TableName("affairs_view_record") +public class AffairsViewRecordEntity { + + /** + * 三务公开id + */ + @TableId(type = IdType.INPUT) + private Long affairsId; + + /** + * 用户id + */ + private Long userId; + + /** + * 用户名称 + */ + private String userName; + + /** + * 查看次数 + */ + private Integer pageViewCount; + + /** + * 首次ip + */ + private String firstIp; + + /** + * 首次用户设备等标识 + */ + private String firstUserAgent; + + /** + * 最后一次ip + */ + private String lastIp; + + /** + * 最后一次用户设备等标识 + */ + private String lastUserAgent; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordAddForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordAddForm.java new file mode 100644 index 0000000..2810bde --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordAddForm.java @@ -0,0 +1,38 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 三务公开-查看记录 新建表单 + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Data +public class AffairsViewRecordAddForm { + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "用户名称") + private String userName; + + @Schema(description = "查看次数") + private Integer pageViewCount; + + @Schema(description = "首次ip") + private String firstIp; + + @Schema(description = "首次用户设备等标识") + private String firstUserAgent; + + @Schema(description = "最后一次ip") + private String lastIp; + + @Schema(description = "最后一次用户设备等标识") + private String lastUserAgent; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordQueryForm.java new file mode 100644 index 0000000..65ead91 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordQueryForm.java @@ -0,0 +1,26 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import net.lab1024.sa.base.common.domain.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 三务公开-查看记录 分页查询表单 + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class AffairsViewRecordQueryForm extends PageParam { + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "三务公开id") + private Long affairsId; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordUpdateForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordUpdateForm.java new file mode 100644 index 0000000..9736e88 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsViewRecordUpdateForm.java @@ -0,0 +1,44 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 三务公开-查看记录 更新表单 + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Data +public class AffairsViewRecordUpdateForm { + + @Schema(description = "三务公开id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "三务公开id 不能为空") + private Long affairsId; + + @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "用户id 不能为空") + private Long userId; + + @Schema(description = "用户名称") + private String userName; + + @Schema(description = "查看次数") + private Integer pageViewCount; + + @Schema(description = "首次ip") + private String firstIp; + + @Schema(description = "首次用户设备等标识") + private String firstUserAgent; + + @Schema(description = "最后一次ip") + private String lastIp; + + @Schema(description = "最后一次用户设备等标识") + private String lastUserAgent; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsViewRecordVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsViewRecordVO.java new file mode 100644 index 0000000..7def2a9 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsViewRecordVO.java @@ -0,0 +1,49 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 三务公开-查看记录 列表VO + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Data +public class AffairsViewRecordVO { + + + @Schema(description = "三务公开id") + private Long affairsId; + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "用户名称") + private String userName; + + @Schema(description = "查看次数") + private Integer pageViewCount; + + @Schema(description = "首次ip") + private String firstIp; + + @Schema(description = "首次用户设备等标识") + private String firstUserAgent; + + @Schema(description = "最后一次ip") + private String lastIp; + + @Schema(description = "最后一次用户设备等标识") + private String lastUserAgent; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "修改时间") + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsViewRecordManager.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsViewRecordManager.java new file mode 100644 index 0000000..c6c758d --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsViewRecordManager.java @@ -0,0 +1,20 @@ +package net.lab1024.sa.admin.module.business.affairs.manager; + +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsViewRecordEntity; +import net.lab1024.sa.admin.module.business.affairs.dao.AffairsViewRecordDao; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 三务公开-查看记录 Manager + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ +@Service +public class AffairsViewRecordManager extends ServiceImpl { + + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java index 3a101cf..e561750 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java @@ -3,12 +3,18 @@ package net.lab1024.sa.admin.module.business.affairs.service; import java.util.List; import java.util.stream.Collectors; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import net.lab1024.sa.admin.module.business.affairs.dao.AffairsDao; +import net.lab1024.sa.admin.module.business.affairs.dao.AffairsViewRecordDao; import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsViewRecordEntity; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsAddForm; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsQueryForm; import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsUpdateForm; import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsVO; +import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.NoticeDetailVO; +import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.NoticeUpdateFormVO; +import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.sa.base.common.domain.RequestUser; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; @@ -35,6 +41,9 @@ public class AffairsService { @Resource private AffairsDao affairsDao; + @Resource + private AffairsViewRecordDao affairsViewRecordDao; + /** * 分页查询 * @@ -99,4 +108,30 @@ public class AffairsService { affairsDao.deleteById(affairsId); return ResponseDTO.ok(); } + + /** + * 查看三务公开 + */ + public ResponseDTO view(Long affairsId, String ip, String userAgent) { + AffairsEntity affairsEntity = affairsDao.selectById(affairsId); + if (affairsEntity == null) { + return ResponseDTO.userErrorParam("三务公开不存在"); + } + + RequestUser requestUser = SmartRequestUtil.getRequestUser(); + if ((affairsEntity.getRangeType() == 1 && !affairsEntity.getRange().contains(requestUser.getUserId().toString())) && + (affairsEntity.getRangeType() == 2 && !affairsEntity.getRange().contains(requestUser.getVillageId().toString()))) { + return ResponseDTO.userErrorParam("对不起,您没有权限查看内容"); + } + + AffairsViewRecordEntity affairsViewRecordEntity = affairsViewRecordDao.selectOne(Wrappers.lambdaQuery() + .eq(AffairsViewRecordEntity::getAffairsId, affairsId) + .eq(AffairsViewRecordEntity::getUserId, requestUser.getUserId())); + if (affairsViewRecordEntity == null) { + affairsViewRecordDao.insertViewRecord(affairsId, requestUser.getUserId(), ip, userAgent, 1); + } else { + affairsViewRecordDao.updateViewRecord(affairsId, requestUser.getUserId(), ip, userAgent); + } + return ResponseDTO.ok(); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsViewRecordService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsViewRecordService.java new file mode 100644 index 0000000..2d3648d --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsViewRecordService.java @@ -0,0 +1,94 @@ +package net.lab1024.sa.admin.module.business.affairs.service; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.dao.AffairsViewRecordDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsViewRecordEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsViewRecordUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsViewRecordVO; +import net.lab1024.sa.base.common.util.SmartBeanUtil; +import net.lab1024.sa.base.common.util.SmartPageUtil; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 三务公开-查看记录 Service + * + * @Author pengjie + * @Date 2025-07-18 11:57:59 + * @Copyright jxj + */ + +@Service +public class AffairsViewRecordService { + + @Resource + private AffairsViewRecordDao affairsViewRecordDao; + + /** + * 分页查询 + * + * @param queryForm + * @return + */ + public PageResult queryPage(AffairsViewRecordQueryForm queryForm) { + Page page = SmartPageUtil.convert2PageQuery(queryForm); + List list = affairsViewRecordDao.queryPage(page, queryForm); + PageResult pageResult = SmartPageUtil.convert2PageResult(page, list); + return pageResult; + } + + /** + * 添加 + */ + public ResponseDTO add(AffairsViewRecordAddForm addForm) { + AffairsViewRecordEntity affairsViewRecordEntity = SmartBeanUtil.copy(addForm, AffairsViewRecordEntity.class); + affairsViewRecordDao.insert(affairsViewRecordEntity); + return ResponseDTO.ok(); + } + + /** + * 更新 + * + * @param updateForm + * @return + */ + public ResponseDTO update(AffairsViewRecordUpdateForm updateForm) { + AffairsViewRecordEntity affairsViewRecordEntity = SmartBeanUtil.copy(updateForm, AffairsViewRecordEntity.class); + affairsViewRecordDao.updateById(affairsViewRecordEntity); + return ResponseDTO.ok(); + } + + /** + * 批量删除 + * + * @param idList + * @return + */ + public ResponseDTO batchDelete(List idList) { + if (CollectionUtils.isEmpty(idList)){ + return ResponseDTO.ok(); + } + + affairsViewRecordDao.deleteBatchIds(idList); + return ResponseDTO.ok(); + } + + /** + * 单个删除 + */ + public ResponseDTO delete(Long affairsId) { + if (null == affairsId){ + return ResponseDTO.ok(); + } + + affairsViewRecordDao.deleteById(affairsId); + return ResponseDTO.ok(); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/PetitionersTypeQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/PetitionersTypeQueryForm.java index 972107a..da71e20 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/PetitionersTypeQueryForm.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/PetitionersTypeQueryForm.java @@ -20,4 +20,6 @@ public class PetitionersTypeQueryForm extends PageParam { @Schema(description = "父ID") private Long parentId; + @Schema(description = "类型名称") + private String name; } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/VillagerVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/VillagerVO.java index 731fbdc..95d2d72 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/VillagerVO.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/VillagerVO.java @@ -181,4 +181,25 @@ public class VillagerVO { @Schema(description = "乡村名称") private String villageName; + + @Schema(description = "刑满释放人员ID") + private Long releaseId; + + @Schema(description = "社区矫正人员ID") + private Long correctId; + + @Schema(description = "精神病人员ID") + private Long mentalDiseaseId; + + @Schema(description = "吸毒人员ID") + private Long drugsId; + + @Schema(description = "艾滋病人员ID") + private Long aidsId; + + @Schema(description = "重点青少年ID") + private Long adolescentId; + + @Schema(description = "信访人员ID") + private Long petitionersId; } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/PetitionersTypeService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/PetitionersTypeService.java index 081dd1c..6a6fd34 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/PetitionersTypeService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/PetitionersTypeService.java @@ -66,7 +66,7 @@ public class PetitionersTypeService { public List queryTree(PetitionersTypeQueryForm queryForm) { queryForm.setParentId(0L); List parentList = petitionersTypeDao.queryPage(queryForm); - List allList = petitionersTypeDao.queryPage(null); + List allList = petitionersTypeDao.queryPage(new PetitionersTypeQueryForm()); getChildren(parentList, allList); return parentList; } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/mybatis/DataScopeInterceptor.java b/sa-admin/src/main/java/net/lab1024/sa/admin/mybatis/DataScopeInterceptor.java index ff820c3..5997e57 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/mybatis/DataScopeInterceptor.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/mybatis/DataScopeInterceptor.java @@ -38,7 +38,7 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte if (sct == SqlCommandType.INSERT) { Class clazz = Class.forName(ms.getId().substring(0, ms.getId().lastIndexOf(StringPool.DOT))); DataScope annotation = clazz.getAnnotation(DataScope.class); - if (annotation == null || annotation.type() == 2) { + if (annotation == null) { return; } PluginUtils.MPBoundSql mpBs = mpSh.mPBoundSql(); diff --git a/sa-admin/src/main/resources/mapper/business/affairs/AffairsViewRecordMapper.xml b/sa-admin/src/main/resources/mapper/business/affairs/AffairsViewRecordMapper.xml new file mode 100644 index 0000000..9887c2c --- /dev/null +++ b/sa-admin/src/main/resources/mapper/business/affairs/AffairsViewRecordMapper.xml @@ -0,0 +1,50 @@ + + + + + + + affairs_view_record.affairs_id, + affairs_view_record.user_id, + affairs_view_record.user_name, + affairs_view_record.page_view_count, + affairs_view_record.first_ip, + affairs_view_record.first_user_agent, + affairs_view_record.last_ip, + affairs_view_record.last_user_agent, + affairs_view_record.create_time, + affairs_view_record.update_time + + + + + + + + insert into affairs_view_record (affairs_id, user_id, first_ip, first_user_agent, page_view_count) + values (#{affairsId}, #{employeeId}, #{ip}, #{userAgent}, #{pageViewCount}) + + + + update affairs_view_record + set page_view_count = page_view_count + 1, + last_ip = #{ip}, + last_user_agent = #{userAgent} + where affairs_id = #{affairs_id} + and user_id = #{employeeId} + + diff --git a/sa-admin/src/main/resources/mapper/business/village/PetitionersTypeMapper.xml b/sa-admin/src/main/resources/mapper/business/village/PetitionersTypeMapper.xml index d9d1060..f12c2d9 100644 --- a/sa-admin/src/main/resources/mapper/business/village/PetitionersTypeMapper.xml +++ b/sa-admin/src/main/resources/mapper/business/village/PetitionersTypeMapper.xml @@ -22,10 +22,10 @@ - AND INSTR(petitioners_type.name,#{queryForm.name}) + AND INSTR(petitioners_type.name,#{queryForm.name}) - + AND petitioners_type.parent_id = #{queryForm.parentId}