This commit is contained in:
张良(004796)
2024-02-01 17:05:39 +08:00
parent d4908f9db8
commit a9d0a51bc1
8 changed files with 219 additions and 7 deletions

View File

@@ -0,0 +1,83 @@
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.UserPictureAudit;
import com.ruoyi.cai.service.UserPictureAuditService;
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.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 2024-02-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/userPictureAudit")
public class UserPictureAuditController extends BaseController {
private final UserPictureAuditService userPictureAuditService;
/**
* 查询头像审核列表
*/
@SaCheckPermission("cai:userPictureAudit:list")
@GetMapping("/list")
public TableDataInfo<UserPictureAudit> list(UserPictureAudit bo, PageQuery pageQuery) {
Page<UserPictureAudit> page = userPictureAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取头像审核详细信息
*
* @param id 主键
*/
@SaCheckPermission("cai:userPictureAudit:query")
@GetMapping("/{id}")
public R<UserPictureAudit> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(userPictureAuditService.getById(id));
}
/**
* 修改头像审核
*/
@SaCheckPermission("cai:userPictureAudit:edit")
@Log(title = "头像审核", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserPictureAudit bo) {
return toAjax(userPictureAuditService.updateById(bo));
}
/**
* 删除头像审核
*
* @param ids 主键串
*/
@SaCheckPermission("cai:userPictureAudit:remove")
@Log(title = "头像审核", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(userPictureAuditService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -34,6 +34,7 @@ public class UserAlbum implements Serializable {
*/
private String url;
private Integer auditStatus;
private Integer ignoreAudit;
/**
* 审核时间
*/

View File

@@ -0,0 +1,61 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 头像审核对象 cai_user_picture_audit
*
* @author 77
* @date 2024-02-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cai_user_picture_audit")
public class UserPictureAudit extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 图片审核类型 1-头像
*/
private Integer type;
/**
* 用户ID
*/
private Long userId;
/**
*
*/
private String url;
/**
* 状态 0-未审核 1-审核通过 2-审核未通过
*/
private Integer auditStatus;
/**
* 是否免审核
*/
private Integer igoreAudit;
/**
* 审核时间
*/
private Date auditTime;
/**
* 审核备注
*/
private String auditRemark;
}

View File

@@ -49,6 +49,7 @@ public class UserForbidManager {
public void batchForbid(UserForbidReq userForbidReq){
List<Integer> type = userForbidReq.getType();
User user = userService.getById(userForbidReq.getUserId());
UserInfo userInfo = userInfoService.getByUserId(userForbidReq.getUserId());
ForbidTimeEnum forbidTimeEnum = ForbidTimeEnum.getByCode(userForbidReq.getForbidTime());
if(forbidTimeEnum == null){
throw new ServiceException("封禁天数错误");
@@ -56,12 +57,12 @@ public class UserForbidManager {
if(forbidTimeEnum == ForbidTimeEnum.UNFORBID){
UserForbidManager userForbidManager = SpringUtil.getBean(UserForbidManager.class);
for (Integer integer : type) {
if(ForbidTypeEnum.USER.getCode().equals(integer)){
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer)){
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
}else if(ForbidTypeEnum.IP.getCode().equals(integer)){
if(ForbidTypeEnum.USER.getCode().equals(integer) && user != null){
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer) && userInfo != null && StringUtils.isNotBlank(userInfo.getImei())){
userForbidManager.unForbidByTypeAndMember(integer,userInfo.getImei(),userForbidReq.getReason());
}else if(ForbidTypeEnum.IP.getCode().equals(integer) && userInfo != null && StringUtils.isNotBlank(userInfo.getLastLoginIp())){
userForbidManager.unForbidByTypeAndMember(integer,userInfo.getLastLoginIp(),userForbidReq.getReason());
}
}
return;
@@ -75,7 +76,6 @@ public class UserForbidManager {
dto.setRemark(userForbidReq.getReason());
this.forbid(dto);
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer)){
UserInfo userInfo = userInfoService.getByUserId(user.getId());
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getImei())){
UserForbidDTO dto = new UserForbidDTO();
dto.setForbidTime(userForbidReq.getForbidTime());
@@ -85,7 +85,6 @@ public class UserForbidManager {
this.forbid(dto);
}
}else if(ForbidTypeEnum.IP.getCode().equals(integer)){
UserInfo userInfo = userInfoService.getByUserId(user.getId());
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getLastLoginIp())){
UserForbidDTO dto = new UserForbidDTO();
dto.setForbidTime(userForbidReq.getForbidTime());
@@ -183,6 +182,9 @@ public class UserForbidManager {
.eq(UserForbid::getType,type)
.eq(UserForbid::getMember,member)
.last("limit 1"));
if(userForbid == null){
return;
}
if(ForbidStatusEnum.NORMAL.getCode().equals(userForbid.getForbidStatus())
|| userForbid.getEndTime().isBefore(LocalDateTime.now())){ // 无封号
log.info("无封号,无需操作! type={},member={}", type,member);

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.UserPictureAudit;
/**
* 头像审核Mapper接口
*
* @author 77
* @date 2024-02-01
*/
public interface UserPictureAuditMapper extends BaseMapper<UserPictureAudit> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UserPictureAudit;
/**
* 头像审核Service接口
*
* @author 77
* @date 2024-02-01
*/
public interface UserPictureAuditService extends IService<UserPictureAudit> {
}

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.UserPictureAudit;
import com.ruoyi.cai.mapper.UserPictureAuditMapper;
import com.ruoyi.cai.service.UserPictureAuditService;
import org.springframework.stereotype.Service;
/**
* 头像审核Service业务层处理
*
* @author 77
* @date 2024-02-01
*/
@Service
public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMapper,UserPictureAudit> implements UserPictureAuditService {
}

View 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="com.ruoyi.cai.mapper.UserPictureAuditMapper">
<resultMap type="com.ruoyi.cai.domain.UserPictureAudit" id="UserPictureAuditResult">
<result property="id" column="id"/>
<result property="type" column="type"/>
<result property="userId" column="user_id"/>
<result property="url" column="url"/>
<result property="auditStatus" column="audit_status"/>
<result property="igoreAudit" column="igore_audit"/>
<result property="auditTime" column="audit_time"/>
<result property="auditRemark" column="audit_remark"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>