46 lines
1.6 KiB
Java
46 lines
1.6 KiB
Java
package cn.unizk.service;
|
|
|
|
import cn.unizk.MobileAppConstant;
|
|
import cn.unizk.entity.po.MobileAppUser;
|
|
import cn.unizk.mapper.MobileAppUserMapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.Objects;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
/**
|
|
* @Author hao
|
|
* @Date 2026/6/30 11:51
|
|
* @Version 1.0
|
|
**/
|
|
@Service
|
|
public class UserService {
|
|
|
|
@Resource
|
|
private MobileAppUserMapper userMapper;
|
|
@Autowired
|
|
@Qualifier("kryoRedisTemplate")
|
|
private RedisTemplate redisTemplate;
|
|
@Value("${token.expireTime}")
|
|
private Long expireTime;
|
|
|
|
public MobileAppUser userLogin(String phoneNumber){
|
|
MobileAppUser mobileAppUser = userMapper.selectOne(new LambdaQueryWrapper<MobileAppUser>().eq(MobileAppUser::getPhoneNumber, phoneNumber));
|
|
if (Objects.isNull(mobileAppUser)){
|
|
MobileAppUser appUser = new MobileAppUser();
|
|
appUser.setPhoneNumber(phoneNumber);
|
|
userMapper.insert(appUser);
|
|
redisTemplate.opsForValue().set(MobileAppConstant.CACHE_TOKEN_PREFIX+phoneNumber,appUser,expireTime, TimeUnit.DAYS);
|
|
return appUser;
|
|
}
|
|
redisTemplate.opsForValue().set(MobileAppConstant.CACHE_TOKEN_PREFIX+mobileAppUser.getPhoneNumber(),mobileAppUser,expireTime,TimeUnit.DAYS);
|
|
return mobileAppUser;
|
|
}
|
|
}
|