123
This commit is contained in:
@@ -1,14 +1,17 @@
|
|||||||
package com.ruoyi.web.controller.cai.app;
|
package com.ruoyi.web.controller.cai.app;
|
||||||
|
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumAddReq;
|
import com.ruoyi.cai.domain.UserAlbum;
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumResetReq;
|
import com.ruoyi.cai.dto.app.query.album.AlbumAddReq;
|
||||||
import com.ruoyi.cai.dto.app.query.IdRes;
|
import com.ruoyi.cai.dto.app.query.IdRes;
|
||||||
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
|
import com.ruoyi.cai.dto.app.query.user.UserUpdateAvatarReq;
|
||||||
|
import com.ruoyi.cai.dto.app.query.user.UserUpdateReq;
|
||||||
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
|
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
|
||||||
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
|
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
|
||||||
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
|
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.user.UserAlbumAuditVo;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.user.UserAvatarMinVo;
|
||||||
import com.ruoyi.cai.manager.CurrentUserManager;
|
import com.ruoyi.cai.manager.CurrentUserManager;
|
||||||
import com.ruoyi.cai.service.UserAlbumService;
|
import com.ruoyi.cai.service.UserAlbumService;
|
||||||
import com.ruoyi.cai.service.UserMemberService;
|
import com.ruoyi.cai.service.UserMemberService;
|
||||||
@@ -25,8 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/user")
|
@RequestMapping("/api/user")
|
||||||
@Tag(name = "用户相关接口")
|
@Tag(name = "用户相关接口")
|
||||||
@@ -105,6 +106,15 @@ public class UserAppController {
|
|||||||
return R.ok(currentUserManager.finishUser(res));
|
return R.ok(currentUserManager.finishUser(res));
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
@PostMapping("/updateAvatar")
|
||||||
|
@Operation(summary = "修改当前用户头像")
|
||||||
|
@Log(title = "修改当前用户头像", businessType = BusinessType.OTHER, isSaveDb = true)
|
||||||
|
public R<UserAvatarMinVo> updateAvatar(@Validated @RequestBody UserUpdateAvatarReq res){
|
||||||
|
res.setUserId(LoginHelper.getUserId());
|
||||||
|
UserAvatarMinVo vo = currentUserManager.updateAvatar(res);
|
||||||
|
return R.ok(vo);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
@Operation(summary = "修改当前用户信息")
|
@Operation(summary = "修改当前用户信息")
|
||||||
@Log(title = "修改当前用户信息", businessType = BusinessType.OTHER, isSaveDb = true)
|
@Log(title = "修改当前用户信息", businessType = BusinessType.OTHER, isSaveDb = true)
|
||||||
@@ -123,9 +133,15 @@ public class UserAppController {
|
|||||||
@PostMapping("/album/add")
|
@PostMapping("/album/add")
|
||||||
@Operation(summary = "新增相册")
|
@Operation(summary = "新增相册")
|
||||||
@Log(title = "新增相册", businessType = BusinessType.OTHER, isSaveDb = true)
|
@Log(title = "新增相册", businessType = BusinessType.OTHER, isSaveDb = true)
|
||||||
public R<Boolean> userAlbumAdd(@RequestBody AlbumAddReq res){
|
public R<UserAlbumAuditVo> userAlbumAdd(@RequestBody AlbumAddReq res){
|
||||||
res.setUserId(LoginHelper.getUserId());
|
res.setUserId(LoginHelper.getUserId());
|
||||||
return R.ok(userAlbumService.addAlbum(res));
|
UserAlbum userAlbum = userAlbumService.addAlbum(res);
|
||||||
|
UserAlbumAuditVo vo = new UserAlbumAuditVo();
|
||||||
|
vo.setId(userAlbum.getId());
|
||||||
|
vo.setUserId(userAlbum.getUserId());
|
||||||
|
vo.setUrl(userAlbum.getUrl());
|
||||||
|
vo.setAuditStatus(userAlbum.getAuditStatus());
|
||||||
|
return R.ok(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*@PostMapping("/album/reset")
|
/*@PostMapping("/album/reset")
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class UserAlbum implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String url;
|
private String url;
|
||||||
private Integer auditStatus;
|
private Integer auditStatus;
|
||||||
private Integer ignoreAudit;
|
private Boolean ignoreAudit;
|
||||||
/**
|
/**
|
||||||
* 审核时间
|
* 审核时间
|
||||||
*/
|
*/
|
||||||
@@ -46,6 +46,7 @@ public class UserAlbum implements Serializable {
|
|||||||
|
|
||||||
private Integer orderBy;
|
private Integer orderBy;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
private Boolean showHome;
|
private Boolean showHome;
|
||||||
|
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@@ -18,14 +19,13 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||||||
* @date 2024-02-01
|
* @date 2024-02-01
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@TableName("cai_user_picture_audit")
|
@TableName("cai_user_picture_audit")
|
||||||
public class UserPictureAudit extends BaseEntity {
|
public class UserPictureAudit implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID=1L;
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
@@ -37,8 +37,10 @@ public class UserPictureAudit extends BaseEntity {
|
|||||||
* 用户ID
|
* 用户ID
|
||||||
*/
|
*/
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
|
private String beforeUrl;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private String url;
|
private String url;
|
||||||
/**
|
/**
|
||||||
@@ -48,7 +50,7 @@ public class UserPictureAudit extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 是否免审核
|
* 是否免审核
|
||||||
*/
|
*/
|
||||||
private Integer igoreAudit;
|
private Boolean ignoreAudit;
|
||||||
/**
|
/**
|
||||||
* 审核时间
|
* 审核时间
|
||||||
*/
|
*/
|
||||||
@@ -58,4 +60,6 @@ public class UserPictureAudit extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String auditRemark;
|
private String auditRemark;
|
||||||
|
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.ruoyi.cai.dto.app.query.album;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AlbumAddReq {
|
||||||
|
@Schema(description = "用户ID",hidden = true)
|
||||||
|
private Long userId;
|
||||||
|
@Schema(description = "url")
|
||||||
|
private String url;
|
||||||
|
private Integer orderBy = 0;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.ruoyi.cai.dto.app.query;
|
package com.ruoyi.cai.dto.app.query.album;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package com.ruoyi.cai.dto.app.query;
|
package com.ruoyi.cai.dto.app.query.album;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AlbumAddReq {
|
public class AlbumUpdateReq {
|
||||||
@Schema(description = "用户ID",hidden = true)
|
@Schema(description = "用户ID",hidden = true)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
@Schema(description = "id")
|
@Schema(description = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
@Schema(description = "url")
|
@Schema(description = "url")
|
||||||
private String url;
|
private String url;
|
||||||
private Integer orderBy;
|
private Integer orderBy = 0;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.cai.dto.app.query.user;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserUpdateAvatarReq {
|
||||||
|
@Schema(description = "用户ID",hidden = true)
|
||||||
|
private Long userId;
|
||||||
|
@Schema(description = "头像")
|
||||||
|
private String avatar;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.ruoyi.cai.dto.app.query;
|
package com.ruoyi.cai.dto.app.query.user;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -20,6 +20,6 @@ public class UserUpdateReq {
|
|||||||
private LocalDate birthday;
|
private LocalDate birthday;
|
||||||
@Schema(description = "性别")
|
@Schema(description = "性别")
|
||||||
private Integer gender;
|
private Integer gender;
|
||||||
@Schema(description = "头像")
|
@Schema(description = "头像",hidden = true)
|
||||||
private String avatar;
|
private String avatar;
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,7 @@ public class CurrentUserUpdateInfoVo implements Serializable {
|
|||||||
* 相册
|
* 相册
|
||||||
*/
|
*/
|
||||||
@Schema(description = "相册")
|
@Schema(description = "相册")
|
||||||
private List<UserAlbumDTO> userAlbumList;
|
private List<UserAlbumAuditVo> userAlbumList;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "头像修改模型")
|
@Schema(description = "头像修改模型")
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.cai.dto.app.vo.user;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserAlbumAuditVo {
|
||||||
|
@Schema(description = "相册ID")
|
||||||
|
private Long id;
|
||||||
|
@Schema(description = "用户名称")
|
||||||
|
private Long userId;
|
||||||
|
@Schema(description = "相册URL")
|
||||||
|
private String url;
|
||||||
|
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
|
||||||
|
private Integer auditStatus;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.cai.dto.app.vo.user;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserAvatarMinVo {
|
||||||
|
@Schema(description = "头像")
|
||||||
|
private String avatar;
|
||||||
|
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
|
||||||
|
private Integer auditStatus;
|
||||||
|
}
|
||||||
@@ -21,6 +21,10 @@ public enum SystemConfigEnum {
|
|||||||
// INVITE_GIFT_RATE("100", "礼物分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
// INVITE_GIFT_RATE("100", "礼物分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
||||||
// INVITE_GUARD_RATE("100", "守护分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
// INVITE_GUARD_RATE("100", "守护分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
||||||
// INVITE_VIDEO_RATE("100", "视频分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
// INVITE_VIDEO_RATE("100", "视频分销成功率",SystemConfigGroupEnum.BUSINESS, new RateIntegerSystemConfigCheck()),
|
||||||
|
ANCHOR_AVATAR_IGNORE_AUDIT("0", "开启主播头像免审核",SystemConfigGroupEnum.BUSINESS, new BooleanSystemConfigCheck()),
|
||||||
|
ANCHOR_ALBUM_AVATAR_IGNORE_AUDIT("0", "开启主播相册免审核",SystemConfigGroupEnum.BUSINESS, new BooleanSystemConfigCheck()),
|
||||||
|
NO_ANCHOR_AVATAR_IGNORE_AUDIT("0", "开启非主播头像免审核",SystemConfigGroupEnum.BUSINESS, new BooleanSystemConfigCheck()),
|
||||||
|
NO_ANCHOR_ALBUM_AVATAR_IGNORE_AUDIT("0", "开启非主播头像免审核",SystemConfigGroupEnum.BUSINESS, new BooleanSystemConfigCheck()),
|
||||||
REGISTER_AWARD("88", "注册奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
REGISTER_AWARD("88", "注册奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.cai.enums.user;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public enum UserPictureAuditType {
|
||||||
|
AVATAR(1,"头像"),
|
||||||
|
;
|
||||||
|
private final Integer code;
|
||||||
|
private final String text;
|
||||||
|
|
||||||
|
UserPictureAuditType(Integer code, String text) {
|
||||||
|
this.code = code;
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,16 +7,15 @@ import com.ruoyi.cai.auth.CaiLoginManager;
|
|||||||
import com.ruoyi.cai.domain.*;
|
import com.ruoyi.cai.domain.*;
|
||||||
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
|
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
|
||||||
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
|
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
|
||||||
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
|
import com.ruoyi.cai.dto.app.query.user.UserUpdateAvatarReq;
|
||||||
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
|
import com.ruoyi.cai.dto.app.query.user.UserUpdateReq;
|
||||||
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
|
|
||||||
import com.ruoyi.cai.dto.app.vo.AnchorVo;
|
import com.ruoyi.cai.dto.app.vo.AnchorVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
|
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.*;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.UserAccountVo;
|
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.UserAlbumDTO;
|
|
||||||
import com.ruoyi.cai.dto.app.vo.user.UserCountVo;
|
|
||||||
import com.ruoyi.cai.enums.GenderEnum;
|
import com.ruoyi.cai.enums.GenderEnum;
|
||||||
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
|
import com.ruoyi.cai.enums.user.UserPictureAuditType;
|
||||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
import com.ruoyi.cai.util.UserUtil;
|
import com.ruoyi.cai.util.UserUtil;
|
||||||
@@ -27,12 +26,14 @@ 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;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@@ -76,14 +77,30 @@ 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);
|
||||||
|
UserPictureAudit audit = userPictureAuditService.getOneUserAuditRunningPic(UserPictureAuditType.AVATAR.getCode(), res.getUserId());
|
||||||
CurrentUserUpdateInfoVo.Avatar avatar = new CurrentUserUpdateInfoVo.Avatar();
|
CurrentUserUpdateInfoVo.Avatar avatar = new CurrentUserUpdateInfoVo.Avatar();
|
||||||
avatar.setAvatar(user.getAvatar());
|
if(audit == null){
|
||||||
|
avatar.setAvatar(user.getAvatar());
|
||||||
|
avatar.setAuditStatus(AuditStatusEnum.SUCCESS.getCode());
|
||||||
|
} else {
|
||||||
|
avatar.setAvatar(audit.getUrl());
|
||||||
|
avatar.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
|
||||||
|
}
|
||||||
res.setAuditAvatar(avatar);
|
res.setAuditAvatar(avatar);
|
||||||
res.setUserId(userId);
|
res.setUserId(userId);
|
||||||
Anchor anchor = anchorService.getByUserId(userId);
|
Anchor anchor = anchorService.getByUserId(userId);
|
||||||
res.setOpenVideoStatus(anchor == null ? 1 : anchor.getOpenVideoStatus());
|
res.setOpenVideoStatus(anchor == null ? 1 : anchor.getOpenVideoStatus());
|
||||||
List<UserAlbum> userAlbums = userAlbumService.listByUserId(userId);
|
List<UserAlbum> userAlbums = userAlbumService.listByUserId(userId);
|
||||||
res.setUserAlbumList(BeanConvertUtil.convertListTo(userAlbums, UserAlbumDTO::new));
|
List<UserAlbumAuditVo> userAlbumAuditList = new ArrayList<>();
|
||||||
|
for (UserAlbum userAlbum : userAlbums) {
|
||||||
|
UserAlbumAuditVo userAlbumAudit = new UserAlbumAuditVo();
|
||||||
|
userAlbumAudit.setId(userAlbum.getId());
|
||||||
|
userAlbumAudit.setUserId(userAlbum.getUserId());
|
||||||
|
userAlbumAudit.setUrl(userAlbum.getUrl());
|
||||||
|
userAlbumAudit.setAuditStatus(userAlbum.getAuditStatus());
|
||||||
|
userAlbumAuditList.add(userAlbumAudit);
|
||||||
|
}
|
||||||
|
res.setUserAlbumList(userAlbumAuditList);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,5 +232,36 @@ public class CurrentUserManager {
|
|||||||
accountBankcardService.saveOrUpdate(bankcard);
|
accountBankcardService.saveOrUpdate(bankcard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserPictureAuditService userPictureAuditService;
|
||||||
|
@Autowired
|
||||||
|
private SystemConfigManager systemConfigManager;
|
||||||
|
|
||||||
|
public UserAvatarMinVo updateAvatar(UserUpdateAvatarReq res) {
|
||||||
|
UserPictureAudit audit = userPictureAuditService.getOneUserAuditRunningPic(UserPictureAuditType.AVATAR.getCode(), res.getUserId());
|
||||||
|
if(audit != null){
|
||||||
|
throw new ServiceException("头像正在审核中,请审核后修改");
|
||||||
|
}
|
||||||
|
User user = userService.getById(res.getUserId());
|
||||||
|
boolean ignoreAudit;
|
||||||
|
if(user.getIsAnchor() == 1){
|
||||||
|
ignoreAudit = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.ANCHOR_AVATAR_IGNORE_AUDIT);
|
||||||
|
}else{
|
||||||
|
ignoreAudit = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.NO_ANCHOR_AVATAR_IGNORE_AUDIT);
|
||||||
|
}
|
||||||
|
UserAvatarMinVo vo = new UserAvatarMinVo();
|
||||||
|
vo.setAvatar(res.getAvatar());
|
||||||
|
if(!ignoreAudit){
|
||||||
|
UserPictureAudit save = new UserPictureAudit();
|
||||||
|
save.setType(UserPictureAuditType.AVATAR.getCode());
|
||||||
|
save.setUserId(res.getUserId());
|
||||||
|
save.setBeforeUrl(user.getAvatar());
|
||||||
|
save.setUrl(res.getAvatar());
|
||||||
|
save.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
|
||||||
|
userPictureAuditService.save(save);
|
||||||
|
vo.setAuditStatus(AuditStatusEnum.AUDITING.getCode());
|
||||||
|
}
|
||||||
|
vo.setAuditStatus(AuditStatusEnum.SUCCESS.getCode());
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ 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.UserAlbum;
|
import com.ruoyi.cai.domain.UserAlbum;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UserAlbumAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UserAlbumAdminVo;
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumAddReq;
|
import com.ruoyi.cai.dto.app.query.album.AlbumAddReq;
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumResetReq;
|
import com.ruoyi.cai.dto.app.query.album.AlbumResetReq;
|
||||||
|
import com.ruoyi.cai.dto.app.query.album.AlbumUpdateReq;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -19,13 +20,13 @@ import java.util.List;
|
|||||||
public interface UserAlbumService extends IService<UserAlbum> {
|
public interface UserAlbumService extends IService<UserAlbum> {
|
||||||
|
|
||||||
|
|
||||||
List<String> getUserAlbum(Long userId, Integer anchor);
|
List<String> getUserAlbumSuccess(Long userId, Integer anchor);
|
||||||
|
|
||||||
List<UserAlbum> listByUserId(Long userId);
|
List<UserAlbum> listByUserId(Long userId);
|
||||||
|
|
||||||
boolean addAlbum(AlbumAddReq res);
|
UserAlbum addAlbum(AlbumAddReq res);
|
||||||
|
|
||||||
boolean updateAlbum(AlbumAddReq res);
|
boolean updateAlbum(AlbumUpdateReq res);
|
||||||
|
|
||||||
boolean removeAlbum(Long id);
|
boolean removeAlbum(Long id);
|
||||||
|
|
||||||
|
|||||||
@@ -10,4 +10,5 @@ import com.ruoyi.cai.domain.UserPictureAudit;
|
|||||||
* @date 2024-02-01
|
* @date 2024-02-01
|
||||||
*/
|
*/
|
||||||
public interface UserPictureAuditService extends IService<UserPictureAudit> {
|
public interface UserPictureAuditService extends IService<UserPictureAudit> {
|
||||||
|
UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
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;
|
||||||
|
import com.ruoyi.cai.domain.User;
|
||||||
import com.ruoyi.cai.domain.UserAlbum;
|
import com.ruoyi.cai.domain.UserAlbum;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UserAlbumAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UserAlbumAdminVo;
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumAddReq;
|
import com.ruoyi.cai.dto.app.query.album.AlbumAddReq;
|
||||||
import com.ruoyi.cai.dto.app.query.AlbumResetReq;
|
import com.ruoyi.cai.dto.app.query.album.AlbumResetReq;
|
||||||
|
import com.ruoyi.cai.dto.app.query.album.AlbumUpdateReq;
|
||||||
|
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||||
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
|
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||||
import com.ruoyi.cai.mapper.UserAlbumMapper;
|
import com.ruoyi.cai.mapper.UserAlbumMapper;
|
||||||
import com.ruoyi.cai.service.UserAlbumService;
|
import com.ruoyi.cai.service.UserAlbumService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
@@ -31,11 +36,13 @@ import java.util.stream.Collectors;
|
|||||||
public class UserAlbumServiceImpl extends ServiceImpl<UserAlbumMapper, UserAlbum> implements UserAlbumService {
|
public class UserAlbumServiceImpl extends ServiceImpl<UserAlbumMapper, UserAlbum> implements UserAlbumService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
|
@Autowired
|
||||||
|
private SystemConfigManager systemConfigManager;
|
||||||
@Override
|
@Override
|
||||||
public List<String> getUserAlbum(Long userId,Integer anchor){
|
public List<String> getUserAlbumSuccess(Long userId, Integer anchor){
|
||||||
LambdaQueryWrapper<UserAlbum> eq = Wrappers.lambdaQuery(UserAlbum.class)
|
LambdaQueryWrapper<UserAlbum> eq = Wrappers.lambdaQuery(UserAlbum.class)
|
||||||
.select(UserAlbum::getUrl)
|
.select(UserAlbum::getUrl)
|
||||||
.eq(UserAlbum::getShowHome,true)
|
.eq(UserAlbum::getAuditStatus,AuditStatusEnum.SUCCESS.getCode())
|
||||||
.eq(UserAlbum::getUserId, userId);
|
.eq(UserAlbum::getUserId, userId);
|
||||||
List<UserAlbum> list = this.list(eq);
|
List<UserAlbum> list = this.list(eq);
|
||||||
return list.stream().map(UserAlbum::getUrl).collect(Collectors.toList());
|
return list.stream().map(UserAlbum::getUrl).collect(Collectors.toList());
|
||||||
@@ -47,23 +54,31 @@ public class UserAlbumServiceImpl extends ServiceImpl<UserAlbumMapper, UserAlbum
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addAlbum(AlbumAddReq res) {
|
public UserAlbum addAlbum(AlbumAddReq res) {
|
||||||
|
User user = userService.getById(res.getUserId());
|
||||||
|
boolean ignoreAudit;
|
||||||
|
if(user.getIsAnchor() == 1){
|
||||||
|
ignoreAudit = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.ANCHOR_ALBUM_AVATAR_IGNORE_AUDIT);
|
||||||
|
}else{
|
||||||
|
ignoreAudit = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.NO_ANCHOR_ALBUM_AVATAR_IGNORE_AUDIT);
|
||||||
|
}
|
||||||
UserAlbum album = new UserAlbum();
|
UserAlbum album = new UserAlbum();
|
||||||
album.setUserId(res.getUserId());
|
album.setUserId(res.getUserId());
|
||||||
album.setUrl(res.getUrl());
|
album.setUrl(res.getUrl());
|
||||||
album.setOrderBy(res.getOrderBy());
|
album.setOrderBy(res.getOrderBy());
|
||||||
album.setShowHome(true);
|
album.setAuditStatus(ignoreAudit ? AuditStatusEnum.SUCCESS.getCode():AuditStatusEnum.AUDITING.getCode());
|
||||||
|
album.setIgnoreAudit(ignoreAudit);
|
||||||
this.save(album);
|
this.save(album);
|
||||||
return true;
|
return album;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateAlbum(AlbumAddReq res) {
|
@Deprecated
|
||||||
|
public boolean updateAlbum(AlbumUpdateReq res) {
|
||||||
UserAlbum album = new UserAlbum();
|
UserAlbum album = new UserAlbum();
|
||||||
album.setId(res.getId());
|
album.setId(res.getId());
|
||||||
album.setUrl(res.getUrl());
|
album.setUrl(res.getUrl());
|
||||||
album.setOrderBy(res.getOrderBy());
|
album.setOrderBy(res.getOrderBy());
|
||||||
album.setShowHome(true);
|
|
||||||
this.updateById(album);
|
this.updateById(album);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.cai.domain.UserPictureAudit;
|
import com.ruoyi.cai.domain.UserPictureAudit;
|
||||||
|
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 org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -15,4 +17,12 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMapper,UserPictureAudit> implements UserPictureAuditService {
|
public class UserPictureAuditServiceImpl extends ServiceImpl<UserPictureAuditMapper,UserPictureAudit> implements UserPictureAuditService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserPictureAudit getOneUserAuditRunningPic(Integer type, Long userId) {
|
||||||
|
return this.getOne(Wrappers.lambdaQuery(UserPictureAudit.class)
|
||||||
|
.eq(UserPictureAudit::getAuditStatus, AuditStatusEnum.AUDITING)
|
||||||
|
.eq(UserPictureAudit::getType,type)
|
||||||
|
.eq(UserPictureAudit::getUserId,userId)
|
||||||
|
.last("limit 1"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
|
|||||||
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
|
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
|
||||||
import com.ruoyi.cai.enums.GenderEnum;
|
import com.ruoyi.cai.enums.GenderEnum;
|
||||||
import com.ruoyi.cai.manager.CurrentUserManager;
|
|
||||||
import com.ruoyi.cai.mapper.UserMapper;
|
import com.ruoyi.cai.mapper.UserMapper;
|
||||||
import com.ruoyi.cai.notice.YunxinHttpService;
|
import com.ruoyi.cai.notice.YunxinHttpService;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
@@ -164,7 +163,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
vo.setCityId(user.getCityId());
|
vo.setCityId(user.getCityId());
|
||||||
vo.setFansNum(userFollowService.getFansNumByUserId(userId));
|
vo.setFansNum(userFollowService.getFansNumByUserId(userId));
|
||||||
vo.setStar(userFollowService.checkStar(currentUserId, userId));
|
vo.setStar(userFollowService.checkStar(currentUserId, userId));
|
||||||
vo.setAlbumList(userAlbumService.getUserAlbum(userId, user.getIsAnchor()));
|
vo.setAlbumList(userAlbumService.getUserAlbumSuccess(userId, user.getIsAnchor()));
|
||||||
// 在线状态
|
// 在线状态
|
||||||
OnlineStatusVo onlineStatusVo;
|
OnlineStatusVo onlineStatusVo;
|
||||||
if(user.getIsAnchor() == 1 && anchor != null){
|
if(user.getIsAnchor() == 1 && anchor != null){
|
||||||
|
|||||||
Reference in New Issue
Block a user