This commit is contained in:
张良(004796)
2024-01-04 10:26:26 +08:00
parent 584f9dabe6
commit 01a2787d43
27 changed files with 118 additions and 16 deletions

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserCodeGen;
import com.ruoyi.cai.dto.admin.query.ResetPasswordReq;
import com.ruoyi.cai.dto.admin.query.UpdateMobileAdminReq;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
import com.ruoyi.cai.dto.admin.vo.UserFullAdminVo;
@@ -113,6 +114,14 @@ public class UserController extends BaseController {
return toAjax(userAdminManager.updateUser(bo));
}
@SaCheckPermission("cai:user:edit")
@Log(title = "修改用户手机", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/updateMobile")
public R<Void> updateMobile(@RequestBody UpdateMobileAdminReq bo) {
return toAjax(userAdminManager.updateMobileUser(bo));
}
@PostMapping("/resetPwd")
public R<Void> resetPwd(@RequestBody ResetPasswordReq req) {
User user = userService.getById(req.getUserId());

View File

@@ -3,6 +3,8 @@ package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import java.io.Serializable;
@@ -49,6 +51,7 @@ public class User implements Serializable {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**
* 头像

View File

@@ -0,0 +1,9 @@
package com.ruoyi.cai.dto.admin.query;
import lombok.Data;
@Data
public class UpdateMobileAdminReq {
private Long id;
private String mobile;
}

View File

@@ -14,10 +14,6 @@ public class UserUpdateAdminReq {
* 性别 0 未知 1 女 2 男
*/
private Integer gender;
/**
* 手机号
*/
private String mobile;
/**
* 是否可发动态
*/

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Account;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -18,6 +20,7 @@ public class AccountAdminVo extends Account {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.AccountCash;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class AccountCashAdminVo extends AccountCash {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Anchor;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -16,6 +18,7 @@ public class AnchorAdminVo extends Anchor {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**
* 头像

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.AnchorApply;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import java.io.Serializable;
@@ -19,6 +21,7 @@ public class AnchorApplyAdminVo extends AnchorApply implements Serializable {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -2,6 +2,8 @@ package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Dynamic;
import com.ruoyi.cai.domain.DynamicImages;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import java.util.List;
@@ -20,6 +22,7 @@ public class DynamicAdminVo extends Dynamic {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.LowHeightRisk;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -16,6 +18,7 @@ public class LowHeightRiskAdminVo extends LowHeightRisk {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**
* 头像

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.RechargeOrder;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -18,6 +20,7 @@ public class RechargeOrderAdminVo extends RechargeOrder {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Report;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class ReportAdminVo extends Report {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Union;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bouncycastle.util.Integers;
@@ -23,6 +25,7 @@ public class UnionAdminVo extends Union {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UnionUser;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class UnionUserAdminVo extends UnionUser {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserAlbum;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class UserAlbumAdminVo extends UserAlbum {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserCameraAudit;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class UserCameraAuditAdminVo extends UserCameraAudit {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class UserCountAdminVo extends UserCount {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserGreet;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class UserGreetAdminVo extends UserGreet {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -1,13 +1,17 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserInvite;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
public class UserInviteAdminVo extends UserInvite {
private String usercode;
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
private String inviteUsercode;
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String inviteMobile;
private Integer inviteIsUnion;
private String unionName;

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UserMember;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -18,6 +20,7 @@ public class UserMemberAdminVo extends UserMember {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**
* 头像

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.VipOrder;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
@Data
@@ -17,6 +19,7 @@ public class VipOrderAdminVo extends VipOrder {
/**
* 手机号
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
private String mobile;
/**

View File

@@ -24,6 +24,7 @@ public enum SystemConfigEnum {
DEFAULT_UNION_ONE_INCOME_RATE("0.07", "默认工会一级提成"),
TODAY_GREET_MAX("100", "每日主播群打招呼次数"),
GREET_INTERVAL_MIN("30", "群打招呼的间隔时间(分钟)"),
SENSITIVE_ENABLE("1", "是否开启手机号脱敏"),
;

View File

@@ -2,12 +2,14 @@ package com.ruoyi.cai.manager;
import com.ruoyi.cai.constant.RedisConstant;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.common.core.service.SensitiveService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -19,12 +21,19 @@ import java.util.stream.Stream;
* <p>created on 2022/8/18 17:21</p>
* @author ZL
*/
@Service
@Component
public class SystemConfigManager {
@Autowired
private StringRedisTemplate redisTemplate;
@Autowired
private SensitiveService sensitiveService;
@PostConstruct
public void initSensitive(){
boolean config = getSystemConfigOfBool(SystemConfigEnum.SENSITIVE_ENABLE);
sensitiveService.setSensitive(config);
}
/**
* 获取配置信息返回boolean

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.cai.domain.UserOnline;
import com.ruoyi.cai.dto.admin.query.UpdateMobileAdminReq;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.dto.admin.vo.UserFullAdminVo;
import com.ruoyi.cai.service.*;
@@ -17,14 +18,11 @@ public class UserAdminManager {
@Autowired
private UserService userService;
public boolean updateUser(UserUpdateAdminReq userUpdateAdmin){
User user = userService.getById(userUpdateAdmin.getId());
if(!user.getGender().equals(userUpdateAdmin.getGender()) && user.getIsAnchor() == 1){
throw new BaseException("主播不能修改性别");
}
if(StringUtils.isNotEmpty(userUpdateAdmin.getMobile())){
public boolean updateMobileUser(UpdateMobileAdminReq req){
User user = userService.getById(req.getId());
if(StringUtils.isNotEmpty(req.getMobile())){
long count = userService.count(Wrappers.lambdaQuery(User.class)
.eq(User::getMobile, userUpdateAdmin.getMobile())
.eq(User::getMobile, req.getMobile())
.ne(User::getId, user.getId()));
if(count > 0){
throw new BaseException("手机号已存在,无法修改");
@@ -32,7 +30,18 @@ public class UserAdminManager {
}
User update = new User();
update.setId(user.getId());
update.setMobile(userUpdateAdmin.getMobile());
update.setMobile(req.getMobile());
userService.updateById(update);
return true;
}
public boolean updateUser(UserUpdateAdminReq userUpdateAdmin){
User user = userService.getById(userUpdateAdmin.getId());
if(!user.getGender().equals(userUpdateAdmin.getGender()) && user.getIsAnchor() == 1){
throw new BaseException("主播不能修改性别");
}
User update = new User();
update.setId(user.getId());
update.setNickname(userUpdateAdmin.getNickname());
update.setGender(userUpdateAdmin.getGender());
update.setSendDynamic(userUpdateAdmin.getSendDynamic());

View File

@@ -15,6 +15,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="query.nickname != null and query.nickname != ''">
and t1.nickname like concat('%',#{query.nickname},'%')
</if>
<if test="query.mobile != null and query.mobile != ''">
and t1.mobile = #{query.mobile}
</if>
<if test="query.usercode != null and query.usercode != ''">
and t1.usercode like concat('%',#{query.usercode},'%')
</if>