init
This commit is contained in:
13
ruoyi-xq/src/main/java/com/ruoyi/xq/config/XqConfig.java
Normal file
13
ruoyi-xq/src/main/java/com/ruoyi/xq/config/XqConfig.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package com.ruoyi.xq.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Data
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "xq.system")
|
||||
public class XqConfig {
|
||||
|
||||
private Integer cosHttp;
|
||||
}
|
||||
@@ -13,6 +13,9 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.dto.admin.common.AuditFailReq;
|
||||
import com.ruoyi.xq.dto.admin.useraudit.UserInfoAuditAdminVo;
|
||||
import com.ruoyi.xq.dto.app.common.IdsReq;
|
||||
import com.ruoyi.xq.service.UserInfoAuditService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -41,8 +44,8 @@ public class UserInfoAuditController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("xq:userInfoAudit:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<UserInfoAudit> list(UserInfoAudit bo, PageQuery pageQuery) {
|
||||
Page<UserInfoAudit> page = userInfoAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
public TableDataInfo<UserInfoAuditAdminVo> list(UserInfoAuditAdminVo bo, PageQuery pageQuery) {
|
||||
Page<UserInfoAuditAdminVo> page = userInfoAuditService.pageAdmin(pageQuery, bo);
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
@@ -58,26 +61,22 @@ public class UserInfoAuditController extends BaseController {
|
||||
return R.ok(userInfoAuditService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增用户信息审核
|
||||
*/
|
||||
@SaCheckPermission("xq:userInfoAudit:add")
|
||||
@Log(title = "用户信息审核", businessType = BusinessType.INSERT)
|
||||
@SaCheckPermission("xq:userInfoAudit:edit")
|
||||
@Log(title = "用户信息审核成功", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserInfoAudit bo) {
|
||||
return toAjax(userInfoAuditService.save(bo));
|
||||
@PostMapping("/audit/success")
|
||||
public R<Void> auditSuccess(@RequestBody IdsReq bo) {
|
||||
userInfoAuditService.auditSuccess(bo.getIds());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户信息审核
|
||||
*/
|
||||
@SaCheckPermission("xq:userInfoAudit:edit")
|
||||
@Log(title = "用户信息审核", businessType = BusinessType.UPDATE)
|
||||
@Log(title = "用户信息审核失败", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserInfoAudit bo) {
|
||||
return toAjax(userInfoAuditService.updateById(bo));
|
||||
@PostMapping("/audit/fail")
|
||||
public R<Void> auditFail(@RequestBody AuditFailReq bo) {
|
||||
userInfoAuditService.auditFail(bo.getId(), bo.getAuditRemark());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -98,8 +98,8 @@ public class UserAppController {
|
||||
}
|
||||
|
||||
@PostMapping("/user/remove/picture")
|
||||
@Operation(summary = "删除用户照片")
|
||||
@Log(title = "删除用户照片", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||
@Operation(summary = "批量删除用户照片")
|
||||
@Log(title = "批量删除用户照片", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||
public R<Void> removeUserPicture(@RequestBody IdsReq req){
|
||||
List<Long> ids = Arrays.stream(req.getIds().split(","))
|
||||
.map(Long::valueOf)
|
||||
|
||||
@@ -105,7 +105,7 @@ public class User implements Serializable {
|
||||
/**
|
||||
* 职业
|
||||
*/
|
||||
private Integer profession;
|
||||
private String profession;
|
||||
/**
|
||||
* 年收入
|
||||
*/
|
||||
|
||||
@@ -42,6 +42,14 @@ public class UserInfoAudit implements Serializable {
|
||||
*/
|
||||
private Integer infoType;
|
||||
|
||||
/**
|
||||
* 审核前的数据
|
||||
*/
|
||||
private String auditBeforeContent;
|
||||
|
||||
/**
|
||||
* 审核中的数据
|
||||
*/
|
||||
private String auditContent;
|
||||
/**
|
||||
* 1-待审核 2-审核成功 3-审核失败
|
||||
|
||||
@@ -78,7 +78,7 @@ public class UserInfoAdminVo extends UserInfo {
|
||||
/**
|
||||
* 职业
|
||||
*/
|
||||
private Integer profession;
|
||||
private String profession;
|
||||
/**
|
||||
* 年收入
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.xq.dto.admin.useraudit;
|
||||
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserInfoAuditAdminVo extends UserInfoAudit {
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
private String mobile;
|
||||
|
||||
private String avatar;
|
||||
}
|
||||
@@ -4,12 +4,13 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
@Schema(description = "登陆入参模型")
|
||||
public class LoginUser {
|
||||
@Schema(description = "登陆类型 1-手机验证码登陆 2-密码登陆")
|
||||
@NotEmpty(message = "1-手机验证码登陆 2-密码登陆")
|
||||
@NotNull(message = "1-手机验证码登陆 2-密码登陆")
|
||||
private Integer loginType = 1;
|
||||
@Schema(description = "登陆账号(手机号码)")
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
|
||||
@@ -47,7 +47,7 @@ public class UpdateBaseInfoReq {
|
||||
* 职业
|
||||
*/
|
||||
@Schema(description = "职业")
|
||||
private Integer profession;
|
||||
private String profession;
|
||||
/**
|
||||
* 年收入
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,7 @@ public class CurrentUserFullInfoVo {
|
||||
@Schema(description = "用户ID")
|
||||
private Long userId;
|
||||
@Schema(description = "用户编号")
|
||||
private Long usercode;
|
||||
private String usercode;
|
||||
@Schema(description = "用户头像")
|
||||
private AvatarMinAuditDTO avatarAudit;
|
||||
@Schema(description = "相册")
|
||||
|
||||
@@ -6,10 +6,8 @@ import lombok.Data;
|
||||
@Data
|
||||
public class RemarkMinAuditDTO {
|
||||
|
||||
@Schema(description = "备注")
|
||||
@Schema(description = "备注信息")
|
||||
private String remark;
|
||||
@Schema(description = "正在审核中的备注")
|
||||
private String auditRemark;
|
||||
@Schema(description = "1-待审核 2-审核成功 3-审核失败")
|
||||
private Integer auditStatus;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class CurrentUserManager {
|
||||
CurrentUserFullInfoVo result = new CurrentUserFullInfoVo();
|
||||
BeanConvertUtil.copyProperties(userInfo,result);
|
||||
BeanConvertUtil.copyProperties(user,result);
|
||||
UserInfoAudit avatarAudit = userInfoAuditService.getByUserIdAndType(userId, UserInfoAuditTypeEnum.AVATAR);
|
||||
UserInfoAudit avatarAudit = userInfoAuditService.getAuditingDataByUserIdAndType(userId, UserInfoAuditTypeEnum.AVATAR);
|
||||
AvatarMinAuditDTO avatarAuditInfo = new AvatarMinAuditDTO();
|
||||
avatarAuditInfo.setAvatar(user.getAvatar());
|
||||
avatarAuditInfo.setAuditStatus(AuditEnum.NO.getCode());
|
||||
@@ -61,12 +61,12 @@ public class CurrentUserManager {
|
||||
}
|
||||
result.setAvatarAudit(avatarAuditInfo);
|
||||
|
||||
UserInfoAudit remarkAudit = userInfoAuditService.getByUserIdAndType(userId, UserInfoAuditTypeEnum.REMARK);
|
||||
UserInfoAudit remarkAudit = userInfoAuditService.getAuditingDataByUserIdAndType(userId, UserInfoAuditTypeEnum.REMARK);
|
||||
RemarkMinAuditDTO remarkAuditInfo = new RemarkMinAuditDTO();
|
||||
remarkAuditInfo.setRemark(user.getAvatar());
|
||||
remarkAuditInfo.setRemark(user.getRemark());
|
||||
remarkAuditInfo.setAuditStatus(AuditEnum.NO.getCode());
|
||||
if(remarkAudit != null){
|
||||
remarkAuditInfo.setAuditRemark(remarkAudit.getAuditContent());
|
||||
remarkAuditInfo.setRemark(remarkAudit.getAuditContent());
|
||||
remarkAuditInfo.setAuditStatus(remarkAudit.getAuditStatus());
|
||||
}
|
||||
result.setRemarkAudit(remarkAuditInfo);
|
||||
@@ -97,6 +97,10 @@ public class CurrentUserManager {
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新基础信息
|
||||
* @param req
|
||||
*/
|
||||
public void updateBaseInfo(UpdateBaseInfoReq req) {
|
||||
Long userId = LoginHelper.getUserId();
|
||||
User updateUser = BeanConvertUtil.convertTo(req, User::new);
|
||||
@@ -131,6 +135,9 @@ public class CurrentUserManager {
|
||||
@Autowired
|
||||
private RedissonClient redissonClient;
|
||||
|
||||
/**
|
||||
* 更新备注信息
|
||||
*/
|
||||
public void updateRemark(String remark){
|
||||
Long userId = LoginHelper.getUserId();
|
||||
User user = userService.getById(userId);
|
||||
@@ -141,18 +148,20 @@ public class CurrentUserManager {
|
||||
return;
|
||||
}
|
||||
lock.lock(5,TimeUnit.SECONDS);
|
||||
UserInfoAudit audit = userInfoAuditService.getByUserIdAndType(userId, UserInfoAuditTypeEnum.REMARK);
|
||||
UserInfoAudit audit = userInfoAuditService.getAuditingDataByUserIdAndType(userId, UserInfoAuditTypeEnum.REMARK);
|
||||
if(audit == null){
|
||||
audit = new UserInfoAudit();
|
||||
audit.setUserId(userId);
|
||||
audit.setUsercode(user.getUsercode());
|
||||
audit.setInfoType(UserInfoAuditTypeEnum.REMARK.getCode());
|
||||
audit.setAuditBeforeContent(user.getRemark());
|
||||
audit.setAuditContent(remark);
|
||||
audit.setAuditStatus(AuditEnum.AUDITING.getCode());
|
||||
userInfoAuditService.save(audit);
|
||||
}else{
|
||||
userInfoAuditService.update(Wrappers.lambdaUpdate(UserInfoAudit.class)
|
||||
.set(UserInfoAudit::getAuditContent, remark)
|
||||
.set(UserInfoAudit::getAuditBeforeContent, user.getRemark())
|
||||
.eq(UserInfoAudit::getId, audit.getId()));
|
||||
}
|
||||
} finally {
|
||||
@@ -170,18 +179,20 @@ public class CurrentUserManager {
|
||||
return;
|
||||
}
|
||||
lock.lock(5,TimeUnit.SECONDS);
|
||||
UserInfoAudit audit = userInfoAuditService.getByUserIdAndType(userId, UserInfoAuditTypeEnum.AVATAR);
|
||||
UserInfoAudit audit = userInfoAuditService.getAuditingDataByUserIdAndType(userId, UserInfoAuditTypeEnum.AVATAR);
|
||||
if(audit == null){
|
||||
audit = new UserInfoAudit();
|
||||
audit.setUserId(userId);
|
||||
audit.setUsercode(user.getUsercode());
|
||||
audit.setInfoType(UserInfoAuditTypeEnum.AVATAR.getCode());
|
||||
audit.setAuditBeforeContent(user.getAvatar());
|
||||
audit.setAuditContent(avatar);
|
||||
audit.setAuditStatus(AuditEnum.AUDITING.getCode());
|
||||
userInfoAuditService.save(audit);
|
||||
}else{
|
||||
userInfoAuditService.update(Wrappers.lambdaUpdate(UserInfoAudit.class)
|
||||
.set(UserInfoAudit::getAuditContent, avatar)
|
||||
.set(UserInfoAudit::getAuditBeforeContent, user.getAvatar())
|
||||
.eq(UserInfoAudit::getId, audit.getId()));
|
||||
}
|
||||
} finally {
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.ruoyi.xq.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.dto.admin.useraudit.UserInfoAuditAdminVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 用户信息审核Mapper接口
|
||||
@@ -11,4 +14,5 @@ import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
*/
|
||||
public interface UserInfoAuditMapper extends BaseMapper<UserInfoAudit> {
|
||||
|
||||
Page<UserInfoAuditAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserInfoAuditAdminVo bo);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.ruoyi.xq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.dto.admin.useraudit.UserInfoAuditAdminVo;
|
||||
import com.ruoyi.xq.dto.app.common.IdsReq;
|
||||
import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
|
||||
|
||||
/**
|
||||
@@ -11,5 +15,17 @@ import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
|
||||
* @date 2024-03-04
|
||||
*/
|
||||
public interface UserInfoAuditService extends IService<UserInfoAudit> {
|
||||
UserInfoAudit getByUserIdAndType(Long userId, UserInfoAuditTypeEnum auditTypeEnum);
|
||||
/**
|
||||
* 查询审核中的数据
|
||||
* @param userId
|
||||
* @param auditTypeEnum
|
||||
* @return
|
||||
*/
|
||||
UserInfoAudit getAuditingDataByUserIdAndType(Long userId, UserInfoAuditTypeEnum auditTypeEnum);
|
||||
|
||||
Page<UserInfoAuditAdminVo> pageAdmin(PageQuery pageQuery, UserInfoAuditAdminVo bo);
|
||||
|
||||
void auditSuccess(String ids);
|
||||
|
||||
void auditFail(Long id, String auditRemark);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
package com.ruoyi.xq.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.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.xq.domain.User;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.domain.UserPictures;
|
||||
import com.ruoyi.xq.dto.admin.useraudit.UserInfoAuditAdminVo;
|
||||
import com.ruoyi.xq.dto.app.common.IdsReq;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
|
||||
import com.ruoyi.xq.enums.userinfo.UserHousingStatusEnum;
|
||||
import com.ruoyi.xq.mapper.UserInfoAuditMapper;
|
||||
import com.ruoyi.xq.service.UserInfoAuditService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
|
||||
import org.springframework.boot.autoconfigure.security.SecurityProperties;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户信息审核Service业务层处理
|
||||
*
|
||||
@@ -20,8 +35,11 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class UserInfoAuditServiceImpl extends ServiceImpl<UserInfoAuditMapper,UserInfoAudit> implements UserInfoAuditService {
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
public UserInfoAudit getByUserIdAndType(Long userId, UserInfoAuditTypeEnum auditTypeEnum){
|
||||
public UserInfoAudit getAuditingDataByUserIdAndType(Long userId, UserInfoAuditTypeEnum auditTypeEnum){
|
||||
return this.getOne(Wrappers.lambdaQuery(UserInfoAudit.class)
|
||||
.eq(UserInfoAudit::getInfoType, auditTypeEnum.getCode())
|
||||
.eq(UserInfoAudit::getUserId, userId)
|
||||
@@ -29,4 +47,51 @@ public class UserInfoAuditServiceImpl extends ServiceImpl<UserInfoAuditMapper,Us
|
||||
.last("limit 1"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserInfoAuditAdminVo> pageAdmin(PageQuery pageQuery, UserInfoAuditAdminVo bo) {
|
||||
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void auditSuccess(String ids) {
|
||||
String[] idArray = ids.split(",");
|
||||
for (String id : idArray) {
|
||||
boolean flag = this.update(Wrappers.lambdaUpdate(UserInfoAudit.class)
|
||||
.eq(UserInfoAudit::getId, id)
|
||||
.eq(UserInfoAudit::getAuditStatus, AuditEnum.AUDITING.getCode())
|
||||
.set(UserInfoAudit::getAuditStatus, AuditEnum.SUCCESS.getCode())
|
||||
.set(UserInfoAudit::getAuditIp, ServletUtils.getClientIP())
|
||||
.set(UserInfoAudit::getAuditOpId, LoginHelper.getUserId())
|
||||
.set(UserInfoAudit::getAuditOpName, LoginHelper.getUsername())
|
||||
.set(UserInfoAudit::getAuditTime, LocalDateTime.now())
|
||||
.set(UserInfoAudit::getAuditRemark, "审核成功"));
|
||||
if(flag){
|
||||
UserInfoAudit userInfoAudit = this.getById(id);
|
||||
if(userInfoAudit.getInfoType().equals(UserInfoAuditTypeEnum.AVATAR.getCode())){
|
||||
userService.update(Wrappers.lambdaUpdate(User.class)
|
||||
.eq(User::getId, userInfoAudit.getUserId())
|
||||
.set(User::getAvatar, userInfoAudit.getAuditContent()));
|
||||
}else if(userInfoAudit.getInfoType().equals(UserInfoAuditTypeEnum.REMARK.getCode())){
|
||||
userService.update(Wrappers.lambdaUpdate(User.class)
|
||||
.eq(User::getId, userInfoAudit.getUserId())
|
||||
.set(User::getRemark, userInfoAudit.getAuditContent()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void auditFail(Long id, String auditRemark) {
|
||||
this.update(Wrappers.lambdaUpdate(UserInfoAudit.class)
|
||||
.eq(UserInfoAudit::getId, id)
|
||||
.eq(UserInfoAudit::getAuditStatus, AuditEnum.AUDITING.getCode())
|
||||
.set(UserInfoAudit::getAuditStatus, AuditEnum.FAIL.getCode())
|
||||
.set(UserInfoAudit::getAuditIp, ServletUtils.getClientIP())
|
||||
.set(UserInfoAudit::getAuditOpId, LoginHelper.getUserId())
|
||||
.set(UserInfoAudit::getAuditOpName, LoginHelper.getUsername())
|
||||
.set(UserInfoAudit::getAuditTime, LocalDateTime.now())
|
||||
.set(UserInfoAudit::getAuditRemark, auditRemark));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,8 @@ public class UserPicturesServiceImpl extends ServiceImpl<UserPicturesMapper,User
|
||||
@Override
|
||||
public List<UserPictures> listByUserId(Long userId) {
|
||||
return this.list(Wrappers.lambdaQuery(UserPictures.class)
|
||||
.eq(UserPictures::getUserId, userId));
|
||||
.eq(UserPictures::getUserId, userId)
|
||||
.in(UserPictures::getAuditStatus, AuditEnum.AUDITING.getCode(), AuditEnum.SUCCESS.getCode()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user