This commit is contained in:
张良(004796)
2023-12-22 13:34:26 +08:00
parent 80ddfb94f0
commit b0407eb34c
19 changed files with 465 additions and 3 deletions

View File

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

View File

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.CaiUnion;
import com.ruoyi.cai.dto.admin.vo.CaiUnionAdminVo;
import com.ruoyi.cai.service.CaiUnionService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -41,8 +42,8 @@ public class CaiUnionController extends BaseController {
*/
@SaCheckPermission("cai:userUnion:list")
@GetMapping("/list")
public TableDataInfo<CaiUnion> list(CaiUnion bo, PageQuery pageQuery) {
Page<CaiUnion> page = caiUnionService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<CaiUnionAdminVo> list(CaiUnionAdminVo bo, PageQuery pageQuery) {
Page<CaiUnionAdminVo> page = caiUnionService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}

View File

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

View File

@@ -0,0 +1,46 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 高风险用户记录对象 cai_low_height_risk
*
* @author 77
* @date 2023-12-22
*/
@Data
@TableName("cai_low_height_risk")
public class CaiLowHeightRisk implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 违规用户的user_id
*/
private Long userId;
/**
* 截图次数
*/
private Long screenshotNum;
/**
* 录屏次数
*/
private Long screenRecordingNum;
/**
* 违规权重1=低风险 2=高风险
*/
private Integer state;
private LocalDateTime createTime;
}

View File

@@ -34,7 +34,7 @@ public class CaiUnion implements Serializable {
*/
private String name;
/**
* 0=用 1=
* 0=用 1=不可
*/
private Integer status;
/**

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 高风险操作日志对象 cai_user_risk_log
*
* @author 77
* @date 2023-12-22
*/
@Data
@TableName("cai_user_risk_log")
public class CaiUserRiskLog implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 违规用户的user_id
*/
private Long userId;
/**
* 违规类型1=截图 2=录频
*/
private Integer type;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.CaiUnion;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
@EqualsAndHashCode(callSuper = true)
@Data
public class CaiUnionAdminVo extends CaiUnion {
/**
* 用户号/ID号
*/
private String usercode;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 性别 0 未知 1 女 2 男
*/
private Integer gender;
private LocalDateTime unionTime;
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiLowHeightRisk;
/**
* 高风险用户记录Mapper接口
*
* @author 77
* @date 2023-12-22
*/
public interface CaiLowHeightRiskMapper extends BaseMapper<CaiLowHeightRisk> {
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.CaiUnion;
import com.ruoyi.cai.dto.admin.vo.CaiUnionAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 工会列表Mapper接口
@@ -11,4 +14,6 @@ import com.ruoyi.cai.domain.CaiUnion;
*/
public interface CaiUnionMapper extends BaseMapper<CaiUnion> {
Page<CaiUnionAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") CaiUnionAdminVo bo);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserRiskLog;
/**
* 高风险操作日志Mapper接口
*
* @author 77
* @date 2023-12-22
*/
public interface CaiUserRiskLogMapper extends BaseMapper<CaiUserRiskLog> {
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUnion;
import com.ruoyi.cai.dto.admin.vo.CaiUnionAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 工会列表Service接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.CaiUnion;
*/
public interface CaiUnionService extends IService<CaiUnion> {
Page<CaiUnionAdminVo> pageAdmin(PageQuery pageQuery, CaiUnionAdminVo bo);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiLowHeightRisk;
/**
* 高风险用户记录Service接口
*
* @author 77
* @date 2023-12-22
*/
public interface ICaiLowHeightRiskService extends IService<CaiLowHeightRisk> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserRiskLog;
/**
* 高风险操作日志Service接口
*
* @author 77
* @date 2023-12-22
*/
public interface ICaiUserRiskLogService extends IService<CaiUserRiskLog> {
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiLowHeightRisk;
import com.ruoyi.cai.mapper.CaiLowHeightRiskMapper;
import com.ruoyi.cai.service.ICaiLowHeightRiskService;
import org.springframework.stereotype.Service;
/**
* 高风险用户记录Service业务层处理
*
* @author 77
* @date 2023-12-22
*/
@Service
public class CaiLowHeightRiskServiceImpl extends ServiceImpl<CaiLowHeightRiskMapper,CaiLowHeightRisk> implements ICaiLowHeightRiskService {
}

View File

@@ -1,9 +1,12 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUnion;
import com.ruoyi.cai.dto.admin.vo.CaiUnionAdminVo;
import com.ruoyi.cai.mapper.CaiUnionMapper;
import com.ruoyi.cai.service.CaiUnionService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.stereotype.Service;
/**
@@ -15,4 +18,8 @@ import org.springframework.stereotype.Service;
@Service
public class CaiUnionServiceImpl extends ServiceImpl<CaiUnionMapper,CaiUnion> implements CaiUnionService {
@Override
public Page<CaiUnionAdminVo> pageAdmin(PageQuery pageQuery, CaiUnionAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserRiskLog;
import com.ruoyi.cai.mapper.CaiUserRiskLogMapper;
import com.ruoyi.cai.service.ICaiUserRiskLogService;
import org.springframework.stereotype.Service;
/**
* 高风险操作日志Service业务层处理
*
* @author 77
* @date 2023-12-22
*/
@Service
public class CaiUserRiskLogServiceImpl extends ServiceImpl<CaiUserRiskLogMapper,CaiUserRiskLog> implements ICaiUserRiskLogService {
}

View File

@@ -0,0 +1,17 @@
<?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="com.ruoyi.cai.mapper.CaiLowHeightRiskMapper">
<resultMap type="com.ruoyi.cai.domain.CaiLowHeightRisk" id="CaiLowHeightRiskResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="screenshotNum" column="screenshot_num"/>
<result property="screenRecordingNum" column="screen_recording_num"/>
<result property="state" column="state"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>

View File

@@ -16,6 +16,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="inDivideNum" column="in_divide_num"/>
<result property="notDivideNum" column="not_divide_num"/>
</resultMap>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.CaiUnionAdminVo">
select t1.*,t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.union_time
from cai_union t1
join cai_user t2 on t1.user_id = t2.id
where t1.status = 0
order by t1.create_time
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
<?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="com.ruoyi.cai.mapper.CaiUserRiskLogMapper">
<resultMap type="com.ruoyi.cai.domain.CaiUserRiskLog" id="CaiUserRiskLogResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="type" column="type"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>