Files
yuaihealth/mobileApp/src/main/java/cn/unizk/service/UserService.java
T

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;
}
}