package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.AppLoginOutMapper;
|
import com.whyc.pojo.db_user.AppLoginOut;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Date;
|
import java.util.List;
|
|
@Service
|
public class AppLoginOutService {
|
|
@Autowired(required = false)
|
private AppLoginOutMapper mapper;
|
|
public Response insert(String uname, String sessionid) {
|
QueryWrapper wrapper=new QueryWrapper();
|
wrapper.eq("uname",uname);
|
wrapper.eq("sessionid",sessionid);
|
wrapper.last("limit 1");
|
AppLoginOut appLoginOut=mapper.selectOne(wrapper);
|
if(appLoginOut==null){
|
appLoginOut=new AppLoginOut();
|
appLoginOut.setUname(uname);
|
appLoginOut.setSessionid(sessionid);
|
appLoginOut.setCreateTime(new Date());
|
mapper.insert(appLoginOut);
|
}
|
return new Response().set(1,true);
|
}
|
//查看自己有没有多次登录
|
public Response check(String uname, String sessionid) {
|
boolean bl=true;
|
QueryWrapper wrapper1=new QueryWrapper();
|
wrapper1.eq("uname",uname);
|
wrapper1.eq("sessionid",sessionid);
|
wrapper1.last("limit 1");
|
AppLoginOut appLoginOut=mapper.selectOne(wrapper1);
|
//检测更新时间30分钟之内
|
if(appLoginOut!=null&&appLoginOut.getCreateTime().getTime()+30*60*1000>new Date().getTime()){
|
bl=false;
|
return new Response().set(1,bl);
|
}
|
QueryWrapper wrapper2=new QueryWrapper();
|
wrapper2.eq("uname",uname);
|
wrapper2.ne("sessionid",sessionid);
|
wrapper2.orderByAsc("num");
|
List<AppLoginOut> list=mapper.selectList(wrapper2);
|
|
if(list!=null&&list.size()>0){
|
for (AppLoginOut app : list) {
|
if(app.getNum()>appLoginOut.getNum()){
|
bl=false;
|
}
|
}
|
}
|
return new Response().set(1,bl);
|
}
|
//移除
|
public void remove(String uname, String sessionid) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.eq("uname",uname);
|
wrapper.eq("sessionid",sessionid);
|
mapper.delete(wrapper);
|
}
|
|
public void updateTime() {
|
String uname=ActionUtil.getUser().getUname();
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.eq("uname",uname);
|
wrapper.eq("create_time",new Date());
|
}
|
}
|