|
@@ -4,18 +4,20 @@ package com.citu.module.menduner.system.service.user;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
-import com.citu.framework.common.enums.CommonStatusEnum;
|
|
|
+import com.citu.module.menduner.system.enums.MendunerStatusEnum;
|
|
|
import com.citu.framework.common.enums.TerminalEnum;
|
|
|
import com.citu.framework.common.enums.UserTypeEnum;
|
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
|
import com.citu.framework.common.util.object.BeanUtils;
|
|
|
import com.citu.framework.datapermission.core.util.DataPermissionUtils;
|
|
|
-import com.citu.module.menduner.system.controller.admin.user.vo.*;
|
|
|
+import com.citu.module.menduner.system.controller.admin.user.vo.MdeUserPageReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.user.vo.AppMdeUserResetPasswordReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.admin.user.vo.MdeUserSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.user.vo.*;
|
|
|
import com.citu.module.menduner.system.convert.MdeAuthConvert;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
|
|
|
import com.citu.module.menduner.system.dal.mysql.user.MdeUserMapper;
|
|
|
import com.citu.module.menduner.system.service.permission.MdePermissionService;
|
|
|
-import com.citu.module.menduner.system.service.permission.MdePermissionServiceImpl;
|
|
|
import com.citu.module.system.api.sms.SmsCodeApi;
|
|
|
import com.citu.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
|
|
|
import com.citu.module.system.api.social.SocialClientApi;
|
|
@@ -25,7 +27,6 @@ import com.google.common.annotations.VisibleForTesting;
|
|
|
import com.mzt.logapi.context.LogRecordContext;
|
|
|
import com.mzt.logapi.service.impl.DiffParseFunction;
|
|
|
import com.mzt.logapi.starter.annotation.LogRecord;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -33,6 +34,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
|
|
|
import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static com.citu.framework.common.util.servlet.ServletUtils.getClientIP;
|
|
@@ -75,7 +77,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
createReqVO.getPhone(), createReqVO.getEmail());
|
|
|
// 2.1 插入用户
|
|
|
MdeUserDO user = BeanUtils.toBean(createReqVO, MdeUserDO.class);
|
|
|
- user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
|
|
+ user.setStatus(MendunerStatusEnum.ENABLE.getStatus()); // 默认开启
|
|
|
user.setPassword(encodePassword(createReqVO.getPassword())); // 加密密码
|
|
|
mdeUserMapper.insert(user);
|
|
|
// 2.2 绑定默认角色
|
|
@@ -233,7 +235,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
MdeUserDO user = new MdeUserDO();
|
|
|
user.setUsername(phone);
|
|
|
user.setPhone(phone);
|
|
|
- user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
|
|
+ user.setStatus(MendunerStatusEnum.ENABLE.getStatus()); // 默认开启
|
|
|
user.setPassword(encodePassword(password)); // 加密密码
|
|
|
user.setRegisterIp(registerIp).setRegisterTerminal(terminal);
|
|
|
user.setAvatar(avtar); // 基础信息
|
|
@@ -261,7 +263,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public MdeUserDO createUserIfAbsentH5(MdeUserCreatePhonePCReqVO reqVO) {
|
|
|
+ public MdeUserDO createUserIfAbsentH5(AppMdeUserCreatePhonePCReqVO reqVO) {
|
|
|
// 用户已经存在
|
|
|
MdeUserDO user = mdeUserMapper.selectByPhone(reqVO.getPhone());
|
|
|
if (user != null) {
|
|
@@ -303,7 +305,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void updateUserPhone(Long userId, MdeUserUpdatePhoneReqVO reqVO) {
|
|
|
+ public void updateUserPhone(Long userId, AppMdeUserUpdatePhoneReqVO reqVO) {
|
|
|
// 1.1 检测用户是否存在
|
|
|
MdeUserDO user = validateUserExists(userId);
|
|
|
// 1.2 校验新手机是否已经被绑定
|
|
@@ -323,7 +325,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void updateUserMobileByWeixin(Long userId, MdeUserUpdatePhoneByWeixinReqVO reqVO) {
|
|
|
+ public void updateUserMobileByWeixin(Long userId, AppMdeUserUpdatePhoneByWeixinReqVO reqVO) {
|
|
|
// 1.1 获得对应的手机号信息
|
|
|
SocialWxPhoneNumberInfoRespDTO phoneNumberInfo = socialClientApi.getWxMaPhoneNumberInfo(
|
|
|
UserTypeEnum.MEMBER.getValue(), reqVO.getCode()).getCheckedData();
|
|
@@ -336,7 +338,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void updateUserPassword(Long userId, MdeUserUpdatePasswordReqVO reqVO) {
|
|
|
+ public void updateUserPassword(Long userId, AppMdeUserUpdatePasswordReqVO reqVO) {
|
|
|
// 检测用户是否存在
|
|
|
MdeUserDO user = validateUserExists(userId);
|
|
|
// 校验验证码
|
|
@@ -357,7 +359,7 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void resetUserPassword(MdeUserResetPasswordReqVO reqVO) {
|
|
|
+ public void resetUserPassword(AppMdeUserResetPasswordReqVO reqVO) {
|
|
|
// 检验用户是否存在
|
|
|
MdeUserDO user = validateUserExists(reqVO.getPhone());
|
|
|
|
|
@@ -369,4 +371,38 @@ public class MdeUserServiceImpl implements MdeUserService {
|
|
|
mdeUserMapper.updateById(MdeUserDO.builder().id(user.getId())
|
|
|
.password(passwordEncoder.encode(reqVO.getPassword())).build());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateUserStatus(Long id, Integer status) {
|
|
|
+ // 校验用户存在
|
|
|
+ validateUserExists(id);
|
|
|
+ // 更新状态
|
|
|
+ MdeUserDO updateObj = new MdeUserDO();
|
|
|
+ updateObj.setId(id);
|
|
|
+ updateObj.setStatus(status);
|
|
|
+ mdeUserMapper.updateById(updateObj);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @LogRecord(type = MDE_USER_TYPE, subType = MDE_USER_UPDATE_PASSWORD_SUB_TYPE, bizNo = "{{#id}}",
|
|
|
+ success = MDE_USER_UPDATE_PASSWORD_SUCCESS)
|
|
|
+ public void updateUserPassword(Long id, String password) {
|
|
|
+ // 1. 校验用户存在
|
|
|
+ MdeUserDO user = validateUserExists(id);
|
|
|
+
|
|
|
+ // 2. 更新密码
|
|
|
+ MdeUserDO updateObj = new MdeUserDO();
|
|
|
+ updateObj.setId(id);
|
|
|
+ updateObj.setPassword(encodePassword(password)); // 加密密码
|
|
|
+ mdeUserMapper.updateById(updateObj);
|
|
|
+
|
|
|
+ // 3. 记录操作日志上下文
|
|
|
+ LogRecordContext.putVariable("mde-user", user);
|
|
|
+ LogRecordContext.putVariable("mde-newPassword", updateObj.getPassword());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<MdeUserDO> getUserListByStatus(Integer status) {
|
|
|
+ return mdeUserMapper.selectListByStatus(status);
|
|
|
+ }
|
|
|
}
|