app 用户登录 用户注册 退出

redis 5库 token的key为ONLINE_APP_USER:用户id
app端 登录校验 code -4 账号过期
app端 版本是否更新校验
 redis 5库 版本是否更新的key为LDBL_APP_VERSION:android/ios:版本号
全局跨域放行处理
经纬度计算距离工作类
This commit is contained in:
2024-04-03 10:51:46 +08:00
parent fc3d04ca33
commit 976f63d09c
8 changed files with 231 additions and 68 deletions

View File

@@ -45,7 +45,6 @@ public class LoginService {
TbTokenMapper tbTokenMapper;
@Autowired
RedisUtil redisUtil;
@@ -158,49 +157,44 @@ public class LoginService {
return Result.fail("登录失败");
}
public Result register(String phone, String password, String nickName) {
TbUserInfo userInfo = tbUserInfoMapper.selectByPhone(phone);
if (ObjectUtil.isNull(userInfo)) {
userInfo = new TbUserInfo();
userInfo.setAmount(BigDecimal.ZERO);
userInfo.setChargeAmount(BigDecimal.ZERO);
userInfo.setLineOfCredit(BigDecimal.ZERO);
userInfo.setConsumeNumber(0);
userInfo.setConsumeAmount(BigDecimal.ZERO);
userInfo.setTotalScore(0);
userInfo.setLockScore(0);
userInfo.setHeadImg("");
userInfo.setNickName(nickName);
userInfo.setTelephone(phone);
userInfo.setStatus(Byte.parseByte("1"));
userInfo.setParentType("PERSON");
userInfo.setIsResource(Byte.parseByte("0"));
userInfo.setIsOnline(Byte.parseByte("0"));
userInfo.setIsVip(Byte.parseByte("0"));
userInfo.setSourcePath("APP");
userInfo.setIsAttentionMp(Byte.parseByte("0"));
userInfo.setSearchWord("||移动端用户");
userInfo.setLastLogInAt(System.currentTimeMillis());
userInfo.setCreatedAt(System.currentTimeMillis());
userInfo.setUpdatedAt(System.currentTimeMillis());
public TbUserInfo register(String phone, String password, String nickName) {
TbUserInfo userInfo = new TbUserInfo();
userInfo.setAmount(BigDecimal.ZERO);
userInfo.setChargeAmount(BigDecimal.ZERO);
userInfo.setLineOfCredit(BigDecimal.ZERO);
userInfo.setConsumeNumber(0);
userInfo.setConsumeAmount(BigDecimal.ZERO);
userInfo.setTotalScore(0);
userInfo.setLockScore(0);
userInfo.setHeadImg("");
userInfo.setNickName(nickName);
userInfo.setTelephone(phone);
userInfo.setStatus(Byte.parseByte("1"));
userInfo.setParentType("PERSON");
userInfo.setIsResource(Byte.parseByte("0"));
userInfo.setIsOnline(Byte.parseByte("0"));
userInfo.setIsVip(Byte.parseByte("0"));
userInfo.setSourcePath("APP");
userInfo.setIsAttentionMp(Byte.parseByte("0"));
userInfo.setSearchWord("||移动端用户");
userInfo.setLastLogInAt(System.currentTimeMillis());
userInfo.setCreatedAt(System.currentTimeMillis());
userInfo.setUpdatedAt(System.currentTimeMillis());
if(StringUtils.isNotBlank(password)){
userInfo.setPassword(MD5Utils.MD5Encode(password, "UTF-8"));
tbUserInfoMapper.insert(userInfo);
} else {
return Result.fail("用户已注册");
}
//app与微信小程序用户关联
tbUserInfoMapper.insert(userInfo);
//注册时 app与微信小程序用户关联
TbUserInfo wechatUser = tbUserInfoMapper.selectUserByPhone(phone, "WECHAT-APP");
TbUserInfo appUser = tbUserInfoMapper.selectByPhone(phone);
if (wechatUser != null) {
TbUserInfo appUser = tbUserInfoMapper.selectByPhone(phone);
appUser.setUserId(wechatUser.getId());
tbUserInfoMapper.updateByPrimaryKey(appUser);
wechatUser.setUserId(appUser.getId());
tbUserInfoMapper.updateByPrimaryKey(wechatUser);
}
return Result.success(CodeEnum.SUCCESS);
return appUser;
}
/**
@@ -226,7 +220,8 @@ public class LoginService {
public Result appLogin(String username, String password) {
TbUserInfo userInfo = tbUserInfoMapper.selectUserByPhone(username, "APP");
if (ObjectUtil.isNull(userInfo)) {
return Result.fail("用户未注册");
//注册
userInfo=register(username, password, username);
}
if (StringUtils.isNotBlank(password) && !password.equalsIgnoreCase(userInfo.getPassword())) {
return Result.fail("密码错误");
@@ -242,7 +237,7 @@ public class LoginService {
try {
map.put("token", token);
map.put("userInfo", userInfo);
redisUtil.saveMessage(RedisCst.ONLINE_APP_USER.concat(userInfo.getId()+""), JSON.toJSONString(map));
redisUtil.saveMessage(RedisCst.ONLINE_APP_USER.concat(userInfo.getId() + ""), JSON.toJSONString(map));
return Result.success(CodeEnum.SUCCESS, map);
} catch (Exception e) {
e.printStackTrace();