Browse Source

工作端小程序退出增加操作日志;数字社区登录退出增加操作日志

master
yinzuomei 2 years ago
parent
commit
c991992e82
  1. 2
      epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java
  2. 9
      epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java
  3. 13
      epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java
  4. 5
      epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java
  5. 23
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

2
epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java

@ -124,4 +124,6 @@ public interface ThirdLoginService {
* @return
*/
UserTokenResultDTO yanTaiSSOLogin(String authCode);
void sendLoginEvent(String userId, String appId, String fromApp, String fromClient,String messageType);
}

9
epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.epmet.auth.constants.AuthOperationConstants;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
@ -11,10 +12,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.dto.CustomerAgencyDTO;
@ -31,6 +29,7 @@ import com.epmet.jwt.JwtTokenUtils;
import com.epmet.redis.CaptchaRedis;
import com.epmet.service.GovLoginService;
import com.epmet.service.LoginService;
import com.epmet.service.ThirdLoginService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -326,6 +325,8 @@ public class GovLoginServiceImpl implements GovLoginService, ResultDataResolver
throw new RenException("当前用户信息获取失败");
}
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
SpringContextUtils.getBean(ThirdLoginService.class).sendLoginEvent(tokenDto.getUserId(), "小程序内退出登录",
tokenDto.getApp(), tokenDto.getClient(), AuthOperationConstants.LOGOUT);
}
@Override

13
epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java

@ -1,7 +1,9 @@
package com.epmet.service.impl;
import com.epmet.auth.constants.AuthOperationConstants;
import com.epmet.auth.dto.result.BlockChainStaffAuthResultDTO;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@ -14,6 +16,7 @@ import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.dto.form.GovWebLoginFormDTO;
import com.epmet.dto.form.GovWebOperLoginFormDTO;
import com.epmet.dto.result.GovWebOperLoginResultDTO;
@ -23,6 +26,7 @@ import com.epmet.jwt.JwtTokenProperties;
import com.epmet.jwt.JwtTokenUtils;
import com.epmet.service.CaptchaService;
import com.epmet.service.GovWebService;
import com.epmet.service.ThirdLoginService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -103,6 +107,15 @@ public class GovWebServiceImpl implements GovWebService, ResultDataResolver {
UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO();
userTokenResultDTO.setCustomerId(formDTO.getCustomerId());
userTokenResultDTO.setToken(this.packagingUserToken(formDTO, resultDTO.getUserId()));
// 6.发送登录事件
try {
SpringContextUtils.getBean(ThirdLoginService.class).sendLoginEvent(resultDTO.getUserId(), "数字社区登录",
AppClientConstant.APP_GOV,
AppClientConstant.CLIENT_WEB,
AuthOperationConstants.LOGIN);
} catch (Exception e) {
log.error("【数字社区web端登录】发送登录事件失败,程序继续执行。错误信息");
}
return userTokenResultDTO;
}

5
epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java

@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.alibaba.fastjson.JSON;
import com.epmet.auth.constants.AuthOperationConstants;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@ -15,6 +16,7 @@ import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.UserDTO;
import com.epmet.dto.UserWechatDTO;
@ -28,6 +30,7 @@ import com.epmet.jwt.JwtTokenUtils;
import com.epmet.redis.CustomerAppWxServiceUtil;
import com.epmet.service.CaptchaService;
import com.epmet.service.LoginService;
import com.epmet.service.ThirdLoginService;
import com.epmet.utils.WxMaServiceUtils;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
@ -372,6 +375,8 @@ public class LoginServiceImpl implements LoginService {
if(AppClientConstant.APP_GOV.equals(tokenDto.getApp())){
CustomerStaffRedis.delStaffInfoFormCache(tokenDto.getCustomerId(),tokenDto.getUserId());
}
SpringContextUtils.getBean(ThirdLoginService.class).sendLoginEvent(tokenDto.getUserId(), "数字社区退出登录",
tokenDto.getApp(), tokenDto.getClient(), AuthOperationConstants.LOGOUT);
return new Result();
}

23
epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

@ -24,7 +24,6 @@ import com.epmet.commons.tools.redis.common.bean.DingMiniInfoCache;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.api.yt.YantaiApi;
import com.epmet.commons.tools.utils.api.yt.YantaiSSOUser;
@ -36,7 +35,9 @@ import com.epmet.dto.dingres.DingUserDetailDTO;
import com.epmet.dto.dingres.V2UserGetuserinfoResDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.*;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.jwt.JwtTokenProperties;
import com.epmet.jwt.JwtTokenUtils;
import com.epmet.redis.CaptchaRedis;
@ -87,17 +88,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private DingTalkClientToken dingTalkClientToken;
@Autowired
private DingTalkClientUser dingTalkClientUser;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private GovWebService govWebService;
@Autowired
private ThirdOpenFeignClient thirdOpenFeignClient;
/**
* @param formDTO
@ -224,7 +219,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
//7.发送登录事件
try {
sendLoginEvent(staffLatestAgencyResultDTO.getStaffId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP);
sendLoginEvent(staffLatestAgencyResultDTO.getStaffId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, AuthOperationConstants.LOGIN);
} catch (RenException e) {
log.error(e.getInternalMsg());
} catch (Exception e) {
@ -455,7 +450,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
//6.发送登录事件
try {
sendLoginEvent(customerStaff.getUserId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP);
sendLoginEvent(customerStaff.getUserId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, AuthOperationConstants.LOGIN);
} catch (RenException e) {
log.error(e.getInternalMsg());
} catch (Exception e) {
@ -517,7 +512,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
//6.发送登录事件
try {
sendLoginEvent(customerStaff.getUserId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP);
sendLoginEvent(customerStaff.getUserId(), formDTO.getAppId(), AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, AuthOperationConstants.LOGIN);
} catch (RenException e) {
log.error(e.getInternalMsg());
} catch (Exception e) {
@ -842,7 +837,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
* @author wxz
* @date 2021.06.08 15:27
*/
private void sendLoginEvent(String userId, String appId, String fromApp, String fromClient) {
@Override
public void sendLoginEvent(String userId, String appId, String fromApp, String fromClient,String messageType) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
LoginMQMsg loginMQMsg = new LoginMQMsg();
@ -853,7 +849,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
loginMQMsg.setFromApp(fromApp);
loginMQMsg.setFromClient(fromClient);
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(AuthOperationConstants.LOGIN);
// form.setMessageType(AuthOperationConstants.LOGIN);
form.setMessageType(messageType);
form.setContent(loginMQMsg);
messageOpenFeignClient.sendSystemMsgByMQ(form);
//getResultDataOrThrowsException(result, ServiceConstant.EPMET_MESSAGE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用Message服务,发送登录事件到MQ失败");

Loading…
Cancel
Save