Commit 62de1974 authored by liwei's avatar liwei

增加了微信登录日志

parent 5c288a1a
...@@ -23,9 +23,10 @@ import org.rcisoft.core.jwt.bean.CyJwtBean; ...@@ -23,9 +23,10 @@ import org.rcisoft.core.jwt.bean.CyJwtBean;
import org.rcisoft.core.jwt.model.CyJwtUser; import org.rcisoft.core.jwt.model.CyJwtUser;
import org.rcisoft.core.jwt.util.CyJwtUtil; import org.rcisoft.core.jwt.util.CyJwtUtil;
import org.rcisoft.core.service.CyRedisService; import org.rcisoft.core.service.CyRedisService;
import org.rcisoft.core.util.CyAESUtils; import org.rcisoft.core.threadpool.CyAsyncFactory;
import org.rcisoft.core.util.CyUserUtil; import org.rcisoft.core.threadpool.CyAsyncManager;
import org.rcisoft.core.util.RedisCons; import org.rcisoft.core.util.*;
import org.rcisoft.sys.log.entity.SysLoginInfo;
import org.rcisoft.sys.rbac.menu.dao.SysMenuRbacRepository; import org.rcisoft.sys.rbac.menu.dao.SysMenuRbacRepository;
import org.rcisoft.sys.rbac.menu.dto.SysMenuRbacDTO; import org.rcisoft.sys.rbac.menu.dto.SysMenuRbacDTO;
import org.rcisoft.sys.rbac.menu.entity.SysMenuRbac; import org.rcisoft.sys.rbac.menu.entity.SysMenuRbac;
...@@ -116,16 +117,25 @@ public class WxMiniServiceImpl implements WxMiniService { ...@@ -116,16 +117,25 @@ public class WxMiniServiceImpl implements WxMiniService {
// 2. 未登录 // 2. 未登录
//2.1.1 根据 open_id 数据库数据查询 //2.1.1 根据 open_id 数据库数据查询
List<SysUserRbac> sysUsers = sysUserRbacRepository.selectByOpenid(wxOpenid); List<SysUserRbac> sysUsers = sysUserRbacRepository.selectByOpenid(wxOpenid);
if (CollectionUtils.isNotEmpty(sysUsers)) if (CollectionUtils.isNotEmpty(sysUsers)){
// 2.1.2 微信登录,数据库已绑定 openId ---> // 2.1.2 微信登录,数据库已绑定 openId --->
//判断该用户是不是已经被禁用 //判断该用户是不是已经被禁用
if (sysUsers.get(0).getFlag().equals("0")){ if (sysUsers.get(0).getFlag().equals("0")){
//已禁用 返回异常信息 //已禁用 返回异常信息
// 插入登录失败日志
MemInfo memInfo = memInfoRepository.getInfoByUserId(String.valueOf(sysUsers.get(0).getBusinessId()));
SysLoginInfo sysLoginInfo = new SysLoginInfo();
sysLoginInfo.setFail();
sysLoginInfo.setMsg("该用户已停用");
sysLoginInfo.setIpaddr(CyAddressUtils.IpUtils.getIpAddr(CyServletUtil.getRequest()));
sysLoginInfo.setUsername(sysUsers.get(0).getWxNickName() + "-" + memInfo.getMemCode());
sysLoginInfo.setLoginTime(new Date());
CyAsyncManager.me().execute(CyAsyncFactory.recordLoad(sysLoginInfo));
throw new CyServiceException(1001,"该用户已停用"); throw new CyServiceException(1001,"该用户已停用");
} else { } else {
return wxLogin(resultMap, sysUsers.get(0)); return wxLogin(resultMap, sysUsers.get(0));
} }
else { } else {
// 2.1.3 未登录,数据库未绑定 openId 新用户 // 2.1.3 未登录,数据库未绑定 openId 新用户
resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_UNLOGIN); resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_UNLOGIN);
resultMap.put(CyWxMiniCons.OPEN_ID, wxOpenid); resultMap.put(CyWxMiniCons.OPEN_ID, wxOpenid);
...@@ -325,6 +335,13 @@ public class WxMiniServiceImpl implements WxMiniService { ...@@ -325,6 +335,13 @@ public class WxMiniServiceImpl implements WxMiniService {
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_ERROR); resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_ERROR);
resultMap.put(CyWxMiniCons.DATA, CyWxMiniCons.OPE_PHONE_EXIST); resultMap.put(CyWxMiniCons.DATA, CyWxMiniCons.OPE_PHONE_EXIST);
// 插入登录失败日志
SysLoginInfo sysLoginInfo = new SysLoginInfo();
sysLoginInfo.setFail();
sysLoginInfo.setMsg(CyWxMiniCons.OPE_PHONE_EXIST);
sysLoginInfo.setIpaddr(CyAddressUtils.IpUtils.getIpAddr(CyServletUtil.getRequest()));
sysLoginInfo.setLoginTime(new Date());
CyAsyncManager.me().execute(CyAsyncFactory.recordLoad(sysLoginInfo));
return resultMap; return resultMap;
} }
sysUserRbac = new SysUserRbac(); sysUserRbac = new SysUserRbac();
...@@ -357,6 +374,15 @@ public class WxMiniServiceImpl implements WxMiniService { ...@@ -357,6 +374,15 @@ public class WxMiniServiceImpl implements WxMiniService {
else if (StringUtils.isNotEmpty(sysUserRbac.getWxOpenid()) && !sysUserRbac.getWxOpenid().equals(openId)) { else if (StringUtils.isNotEmpty(sysUserRbac.getWxOpenid()) && !sysUserRbac.getWxOpenid().equals(openId)) {
resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_ERROR); resultMap.put(CyWxMiniCons.CODE, CyWxMiniCons.CODE_ERROR);
resultMap.put(CyWxMiniCons.DATA, CyWxMiniCons.OPE_PHONE_EXIST); resultMap.put(CyWxMiniCons.DATA, CyWxMiniCons.OPE_PHONE_EXIST);
// 插入登录失败日志
MemInfo memInfo = memInfoRepository.getInfoByUserId(String.valueOf(sysUserRbac.getBusinessId()));
SysLoginInfo sysLoginInfo = new SysLoginInfo();
sysLoginInfo.setFail();
sysLoginInfo.setMsg(CyWxMiniCons.OPE_PHONE_EXIST);
sysLoginInfo.setIpaddr(CyAddressUtils.IpUtils.getIpAddr(CyServletUtil.getRequest()));
sysLoginInfo.setUsername(sysUserRbac.getWxNickName() + "-" + memInfo.getMemCode());
sysLoginInfo.setLoginTime(new Date());
CyAsyncManager.me().execute(CyAsyncFactory.recordLoad(sysLoginInfo));
return resultMap; return resultMap;
} }
//2.1.3 openId 未绑定 //2.1.3 openId 未绑定
...@@ -405,6 +431,15 @@ public class WxMiniServiceImpl implements WxMiniService { ...@@ -405,6 +431,15 @@ public class WxMiniServiceImpl implements WxMiniService {
SysUser user = new SysUser(); SysUser user = new SysUser();
BeanUtil.copyProperties(sysUserRbac, user); BeanUtil.copyProperties(sysUserRbac, user);
cyRedisServiceImpl.set(RedisCons.MEMBER_INFO +":"+ sysUserRbac.getBusinessId(),user); cyRedisServiceImpl.set(RedisCons.MEMBER_INFO +":"+ sysUserRbac.getBusinessId(),user);
// 插入登录日志
SysLoginInfo sysLoginInfo = new SysLoginInfo();
sysLoginInfo.setSuccess();
sysLoginInfo.setIpaddr(CyAddressUtils.IpUtils.getIpAddr(CyServletUtil.getRequest()));
if (sysUserRbac.getWxNickName() != null){
sysLoginInfo.setUsername(sysUserRbac.getWxNickName() + "-" + memberInfo.getMemCode());
}
sysLoginInfo.setLoginTime(new Date());
CyAsyncManager.me().execute(CyAsyncFactory.recordLoad(sysLoginInfo));
return resultMap; return resultMap;
} }
...@@ -434,6 +469,13 @@ public class WxMiniServiceImpl implements WxMiniService { ...@@ -434,6 +469,13 @@ public class WxMiniServiceImpl implements WxMiniService {
resultMap.put(CyWxMiniCons.DATA, sysUserRbac); resultMap.put(CyWxMiniCons.DATA, sysUserRbac);
MemInfo memberInfo = memInfoRepository.getInfoByUserId(String.valueOf(sysUserRbac.getBusinessId())); MemInfo memberInfo = memInfoRepository.getInfoByUserId(String.valueOf(sysUserRbac.getBusinessId()));
resultMap.put("memberId", memberInfo.getBusinessId()); resultMap.put("memberId", memberInfo.getBusinessId());
// 插入登录日志
SysLoginInfo sysLoginInfo = new SysLoginInfo();
sysLoginInfo.setSuccess();
sysLoginInfo.setIpaddr(CyAddressUtils.IpUtils.getIpAddr(CyServletUtil.getRequest()));
sysLoginInfo.setUsername(CyAESUtils.decrypt(sysUserRbac.getPhone()));
sysLoginInfo.setLoginTime(new Date());
CyAsyncManager.me().execute(CyAsyncFactory.recordLoad(sysLoginInfo));
return resultMap; return resultMap;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment