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

@@ -62,15 +62,21 @@ public class UserAlbumController extends BaseController {
} }
@SaCheckPermission("cai:userAlbum:edit") @SaCheckPermission("cai:userAlbum:edit")
@Log(title = "主播集锦", businessType = BusinessType.UPDATE) @Log(title = "主播相册通过", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/audit") @PutMapping("/audit/success")
public R<Void> audit(@RequestBody UserAlbum bo) { public R<Void> auditSuccess(@RequestBody UserAlbum bo) {
LambdaUpdateWrapper<UserAlbum> update = Wrappers.lambdaUpdate(UserAlbum.class) userAlbumService.auditSuccess(bo.getId());
.eq(UserAlbum::getId, bo.getId()) return R.ok();
.set(UserAlbum::getAuditStatus, bo.getAuditStatus()) }
.set(UserAlbum::getAuditTime, LocalDateTime.now());
userAlbumService.update(update); @SaCheckPermission("cai:userAlbum:edit")
@Log(title = "主播相册不通过", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/audit/fail")
public R<Void> auditFail(@RequestBody UserAlbum bo) {
// userAlbumService.auditFail(bo.getId());
userAlbumService.removeAlbum(bo.getId());
return R.ok(); return R.ok();
} }

View File

@@ -3,7 +3,9 @@ package com.ruoyi.cai.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.UserAlbum;
import com.ruoyi.cai.domain.UserPictureAudit; import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.cai.service.UserPictureAuditService; import com.ruoyi.cai.service.UserPictureAuditService;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.annotation.RepeatSubmit;
@@ -40,8 +42,8 @@ public class UserPictureAuditController extends BaseController {
*/ */
@SaCheckPermission("cai:userPictureAudit:list") @SaCheckPermission("cai:userPictureAudit:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<UserPictureAudit> list(UserPictureAudit bo, PageQuery pageQuery) { public TableDataInfo<UserPictureAuditAdminVo> list(UserPictureAuditAdminVo bo, PageQuery pageQuery) {
Page<UserPictureAudit> page = userPictureAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); Page<UserPictureAuditAdminVo> page = userPictureAuditService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
@@ -57,17 +59,25 @@ public class UserPictureAuditController extends BaseController {
return R.ok(userPictureAuditService.getById(id)); return R.ok(userPictureAuditService.getById(id));
} }
/**
* 修改头像审核
*/
@SaCheckPermission("cai:userPictureAudit:edit") @SaCheckPermission("cai:userPictureAudit:edit")
@Log(title = "头像审核", businessType = BusinessType.UPDATE) @Log(title = "头像审核通过", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping("/audit/success")
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserPictureAudit bo) { public R<Void> auditSuccess(@RequestBody UserPictureAudit bo) {
return toAjax(userPictureAuditService.updateById(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 审核未通过 * 状态 0 未审核 1 审核通过 2 审核未通过
*/ */
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过") @Schema(description = "状态 1-审核中 2-审核通过 3-审核失败")
private Integer auditStatus; private Integer auditStatus;
/** /**
* 审核时间 * 审核时间

View File

@@ -7,6 +7,6 @@ import lombok.Data;
public class UserAvatarMinVo { public class UserAvatarMinVo {
@Schema(description = "头像") @Schema(description = "头像")
private String avatar; private String avatar;
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过") @Schema(description = "状态 1-审核中 2-审核通过 3-审核失败")
private Integer auditStatus; 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.req.UpdateUinfoReq;
import com.ruoyi.yunxin.resp.YxCommonR; import com.ruoyi.yunxin.resp.YxCommonR;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -77,6 +76,7 @@ public class CurrentUserManager {
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
User user = userService.getById(userId); User user = userService.getById(userId);
CurrentUserUpdateInfoVo res = BeanConvertUtil.convertTo(user, CurrentUserUpdateInfoVo::new); CurrentUserUpdateInfoVo res = BeanConvertUtil.convertTo(user, CurrentUserUpdateInfoVo::new);
res.setUserId(user.getId());
UserPictureAudit audit = userPictureAuditService.getOneUserAuditRunningPic(UserPictureAuditType.AVATAR.getCode(), res.getUserId()); UserPictureAudit audit = userPictureAuditService.getOneUserAuditRunningPic(UserPictureAuditType.AVATAR.getCode(), res.getUserId());
CurrentUserUpdateInfoVo.Avatar avatar = new CurrentUserUpdateInfoVo.Avatar(); CurrentUserUpdateInfoVo.Avatar avatar = new CurrentUserUpdateInfoVo.Avatar();
if(audit == null){ if(audit == null){
@@ -260,6 +260,11 @@ public class CurrentUserManager {
save.setAuditStatus(AuditStatusEnum.AUDITING.getCode()); save.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
userPictureAuditService.save(save); userPictureAuditService.save(save);
vo.setAuditStatus(AuditStatusEnum.AUDITING.getCode()); 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()); vo.setAuditStatus(AuditStatusEnum.SUCCESS.getCode());
return vo; return vo;

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.mapper; package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 头像审核Mapper接口 * 头像审核Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.UserPictureAudit;
*/ */
public interface UserPictureAuditMapper extends BaseMapper<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); boolean resetAlbum(List<AlbumResetReq> res, Long userId);
Page<UserAlbumAdminVo> pageAdmin(PageQuery pageQuery, UserAlbumAdminVo bo); 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; package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UserPictureAudit; import com.ruoyi.cai.domain.UserPictureAudit;
import com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/** /**
* 头像审核Service接口 * 头像审核Service接口
@@ -11,4 +14,10 @@ import com.ruoyi.cai.domain.UserPictureAudit;
*/ */
public interface UserPictureAuditService extends IService<UserPictureAudit> { public interface UserPictureAuditService extends IService<UserPictureAudit> {
UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId); 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; package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -107,4 +109,22 @@ public class UserAlbumServiceImpl extends ServiceImpl<UserAlbumMapper, UserAlbum
return baseMapper.pageAdmin(pageQuery.build(),bo); 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; package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserPictureAudit; 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.enums.AuditStatusEnum;
import com.ruoyi.cai.mapper.UserPictureAuditMapper; import com.ruoyi.cai.mapper.UserPictureAuditMapper;
import com.ruoyi.cai.service.UserPictureAuditService; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
/** /**
* 头像审核Service业务层处理 * 头像审核Service业务层处理
@@ -20,9 +29,43 @@ public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMap
@Override @Override
public UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId) { public UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId) {
return this.getOne(Wrappers.lambdaQuery(UserPictureAudit.class) return this.getOne(Wrappers.lambdaQuery(UserPictureAudit.class)
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING) .eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.eq(UserPictureAudit::getType,type) .eq(UserPictureAudit::getType,type)
.eq(UserPictureAudit::getUserId,userId) .eq(UserPictureAudit::getUserId,userId)
.last("limit 1")); .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()));
}
} }

View File

@@ -4,17 +4,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cai.mapper.UserPictureAuditMapper"> <mapper namespace="com.ruoyi.cai.mapper.UserPictureAuditMapper">
<resultMap type="com.ruoyi.cai.domain.UserPictureAudit" id="UserPictureAuditResult"> <select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.user.UserPictureAuditAdminVo">
<result property="id" column="id"/> select t1.*,t2.usercode,t2.nickname,t2.mobile,t2.avatar,t2.gender,t2.is_anchor,t2.age
<result property="type" column="type"/> from cai_user_picture_audit t1
<result property="userId" column="user_id"/> left join cai_user t2 on t1.user_id = t2.id
<result property="url" column="url"/> <where>
<result property="auditStatus" column="audit_status"/> <if test="bo.mobile != null and bo.mobile != ''">
<result property="igoreAudit" column="igore_audit"/> and t2.mobile = #{bo.mobile}
<result property="auditTime" column="audit_time"/> </if>
<result property="auditRemark" column="audit_remark"/> <if test="bo.usercode != null and bo.usercode != ''">
<result property="createTime" column="create_time"/> and t2.usercode = #{bo.usercode}
</resultMap> </if>
<if test="bo.auditStatus != null">
and t1.audit_status = #{bo.auditStatus}
</if>
</where>
order by t1.create_time desc
</select>
</mapper> </mapper>