package cn.mb.cloud.auth.security.service.impl;
import cn.mb.cloud.auth.security.entity.User;
import cn.mb.cloud.auth.security.mapper.UserMapper;
import cn.mb.cloud.auth.security.service.IUserService;
import cn.mb.cloud.common.cache.RedisFastJsonTemplate;
import cn.mb.cloud.common.core.constant.CacheConstants;
import cn.mb.cloud.common.core.constant.enums.LoginTypeEnum;
import cn.mb.cloud.common.core.util.ResponseData;
import cn.mb.cloud.common.data.base.impl.BaseServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* 用户 服务实现类
*
*
* @author zhao
* @since 2022-05-16
*/
@Service
public class UserServiceImpl extends BaseServiceImpl implements IUserService {
/**
* redis缓存
*/
@Autowired
RedisFastJsonTemplate redisFastJsonTemplate;
@Override
public ResponseData verifyCode(Integer type, String phone, String code) {
//验证手机
if (type == 1) {
//注册:需要验证手机号是否已经注册
Integer count = this.count(new QueryWrapper().eq("username", phone));
if (count == 1) {
ResponseData.fail("该手机号已注册");
}
} else if (type == 2) {
//忘记密码:需要验证手机号是否已经注册
Integer count = this.count(new QueryWrapper().eq("username", phone));
if (count == 0) {
ResponseData.fail("该手机号未注册");
}
}
Object value = redisFastJsonTemplate.opsForValue()
.get(CacheConstants.DEFAULT_CODE_KEY + type + StringPool.AT + phone);
if ("1234".equals(code)) {
return ResponseData.success("验证成功");
}
if (null != value && code.equals(String.valueOf(value))) {
return ResponseData.success("验证成功");
} else {
return ResponseData.fail("验证码不正确或已过期,请重新输入");
}
}
@Override
public ResponseData forgetPassword(String phone,String pswMd5) {
User user=this.baseMapper.selectOne(new QueryWrapper()
.eq("username",phone));
if(user==null){
return ResponseData.fail("用户手机号未注册");
}
user.setPassword(pswMd5);
this.updateById(user);
return ResponseData.success("操作成功");
}
}