This commit is contained in:
张良(004796)
2024-02-01 19:06:22 +08:00
parent ae6409aa21
commit 0baa0cfb7a
12 changed files with 174 additions and 32 deletions

View File

@@ -3,7 +3,9 @@ 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.UserAlbum;
import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.cai.service.UserPictureAuditService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -40,8 +42,8 @@ public class UserPictureAuditController extends BaseController {
*/
@SaCheckPermission("cai:userPictureAudit:list")
@GetMapping("/list")
public TableDataInfo<UserPictureAudit> list(UserPictureAudit bo, PageQuery pageQuery) {
Page<UserPictureAudit> page = userPictureAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<UserPictureAuditAdminVo> list(UserPictureAuditAdminVo bo, PageQuery pageQuery) {
Page<UserPictureAuditAdminVo> page = userPictureAuditService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}
@@ -57,17 +59,25 @@ public class UserPictureAuditController extends BaseController {
return R.ok(userPictureAuditService.getById(id));
}
/**
* 修改头像审核
*/
@SaCheckPermission("cai:userPictureAudit:edit")
@Log(title = "头像审核", businessType = BusinessType.UPDATE)
@Log(title = "头像审核通过", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserPictureAudit bo) {
return toAjax(userPictureAuditService.updateById(bo));
@PutMapping("/audit/success")
public R<Void> auditSuccess(@RequestBody UserPictureAudit bo) {
userPictureAuditService.auditSuccess(bo.getId());
return R.ok();
}
@SaCheckPermission("cai:userPictureAudit:edit")
@Log(title = "头像审核不通过", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/audit/fail")
public R<Void> auditFail(@RequestBody UserPictureAudit bo) {
userPictureAuditService.auditFail(bo.getId());
return R.ok();
}
/**
* 删除头像审核
*

View File

@@ -0,0 +1,35 @@
package com.ruoyi.cai.dto.admin.vo.user;
import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
public class UserPictureAuditAdminVo extends UserPictureAudit {
/**
* 用户号/ID号
*/
private String usercode;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 性别
*/
private Integer gender;
private Integer age;
private Integer isAnchor;
}

View File

@@ -26,7 +26,7 @@ public class UserAlbumDTO {
/**
* 状态 0 未审核 1 审核通过 2 审核未通过
*/
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
@Schema(description = "状态 1-审核中 2-审核通过 3-审核失败")
private Integer auditStatus;
/**
* 审核时间

View File

@@ -7,6 +7,6 @@ import lombok.Data;
public class UserAvatarMinVo {
@Schema(description = "头像")
private String avatar;
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
@Schema(description = "状态 1-审核中 2-审核通过 3-审核失败")
private Integer auditStatus;
}

View File

@@ -26,7 +26,6 @@ import com.ruoyi.yunxin.client.ImUserRefClient;
import com.ruoyi.yunxin.req.UpdateUinfoReq;
import com.ruoyi.yunxin.resp.YxCommonR;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -77,6 +76,7 @@ public class CurrentUserManager {
Long userId = LoginHelper.getUserId();
User user = userService.getById(userId);
CurrentUserUpdateInfoVo res = BeanConvertUtil.convertTo(user, CurrentUserUpdateInfoVo::new);
res.setUserId(user.getId());
UserPictureAudit audit = userPictureAuditService.getOneUserAuditRunningPic(UserPictureAuditType.AVATAR.getCode(), res.getUserId());
CurrentUserUpdateInfoVo.Avatar avatar = new CurrentUserUpdateInfoVo.Avatar();
if(audit == null){
@@ -260,6 +260,11 @@ public class CurrentUserManager {
save.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
userPictureAuditService.save(save);
vo.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
} else {
userService.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId, res.getUserId())
.set(User::getAvatar, res.getAvatar())
.set(User::getAvatarState, 1));
}
vo.setAuditStatus(AuditStatusEnum.SUCCESS.getCode());
return vo;

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.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 头像审核Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.UserPictureAudit;
*/
public interface UserPictureAuditMapper extends BaseMapper<UserPictureAudit> {
Page<UserPictureAuditAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserPictureAuditAdminVo bo);
}

View File

@@ -33,4 +33,8 @@ public interface UserAlbumService extends IService<UserAlbum> {
boolean resetAlbum(List<AlbumResetReq> res, Long userId);
Page<UserAlbumAdminVo> pageAdmin(PageQuery pageQuery, UserAlbumAdminVo bo);
void auditSuccess(Long id);
void auditFail(Long id);
}

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.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 头像审核Service接口
@@ -11,4 +14,10 @@ import com.ruoyi.cai.domain.UserPictureAudit;
*/
public interface UserPictureAuditService extends IService<UserPictureAudit> {
UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId);
Page<UserPictureAuditAdminVo> pageAdmin(PageQuery pageQuery, UserPictureAuditAdminVo bo);
void auditSuccess(Long id);
void auditFail(Long id);
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,6 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -107,4 +109,22 @@ public class UserAlbumServiceImpl extends ServiceImpl<UserAlbumMapper, UserAlbum
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
@Override
public void auditSuccess(Long id) {
this.update(Wrappers.lambdaUpdate(UserAlbum.class)
.eq(UserAlbum::getId, id)
.eq(UserAlbum::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.set(UserAlbum::getAuditStatus, AuditStatusEnum.SUCCESS.getCode())
.set(UserAlbum::getAuditTime, LocalDateTime.now()));
}
@Override
public void auditFail(Long id) {
this.update(Wrappers.lambdaUpdate(UserAlbum.class)
.eq(UserAlbum::getId, id)
.eq(UserAlbum::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.set(UserAlbum::getAuditStatus, AuditStatusEnum.FAIL.getCode())
.set(UserAlbum::getAuditTime, LocalDateTime.now()));
}
}

View File

@@ -1,12 +1,21 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.cai.enums.AuditStatusEnum;
import com.ruoyi.cai.mapper.UserPictureAuditMapper;
import com.ruoyi.cai.service.UserPictureAuditService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
/**
* 头像审核Service业务层处理
@@ -20,9 +29,43 @@ public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMap
@Override
public UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId) {
return this.getOne(Wrappers.lambdaQuery(UserPictureAudit.class)
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING)
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.eq(UserPictureAudit::getType,type)
.eq(UserPictureAudit::getUserId,userId)
.last("limit 1"));
}
@Override
public Page<UserPictureAuditAdminVo> pageAdmin(PageQuery pageQuery, UserPictureAuditAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
@Autowired
private UserService userService;
@Override
@Transactional(rollbackFor = Exception.class)
public void auditSuccess(Long id) {
UserPictureAudit userPictureAudit = this.getById(id);
boolean update = this.update(Wrappers.lambdaUpdate(UserPictureAudit.class)
.eq(UserPictureAudit::getId, id)
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.set(UserPictureAudit::getAuditStatus, AuditStatusEnum.SUCCESS.getCode())
.set(UserPictureAudit::getAuditTime, LocalDateTime.now()));
if(update){
userService.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId, userPictureAudit.getUserId())
.set(User::getAvatar, userPictureAudit.getUrl())
.set(User::getAvatarState, 1));
}
}
@Override
public void auditFail(Long id) {
this.update(Wrappers.lambdaUpdate(UserPictureAudit.class)
.eq(UserPictureAudit::getId, id)
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.set(UserPictureAudit::getAuditStatus, AuditStatusEnum.FAIL.getCode())
.set(UserPictureAudit::getAuditTime, LocalDateTime.now()));
}
}