|
|
@ -5,11 +5,14 @@ import com.epmet.auth.constants.AuthOperationConstants; |
|
|
|
import com.epmet.commons.rocketmq.messages.LoginMQMsg; |
|
|
|
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; |
|
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
|
|
|
import com.epmet.commons.tools.redis.RedisKeys; |
|
|
|
import com.epmet.commons.tools.redis.RedisUtils; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.security.dto.IcTokenDto; |
|
|
|
import com.epmet.commons.tools.utils.CpUserDetailRedis; |
|
|
|
import com.epmet.commons.tools.utils.IpUtils; |
|
|
@ -23,6 +26,7 @@ import com.epmet.jwt.JwtTokenProperties; |
|
|
|
import com.epmet.jwt.JwtTokenUtils; |
|
|
|
import com.epmet.service.IcLoginService; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.web.context.request.RequestContextHolder; |
|
|
@ -78,7 +82,7 @@ public class IcLoginServiceImpl implements IcLoginService, ResultDataResolver { |
|
|
|
|
|
|
|
//7.发送登录事件
|
|
|
|
try { |
|
|
|
sendLoginEvent(staffId, app, client); |
|
|
|
sendLoginEvent(staffId, app, client,agencyInfo.getCustomerId()); |
|
|
|
} catch (RenException e) { |
|
|
|
log.error(e.getInternalMsg()); |
|
|
|
} catch (Exception e) { |
|
|
@ -113,16 +117,20 @@ public class IcLoginServiceImpl implements IcLoginService, ResultDataResolver { |
|
|
|
* @author wxz |
|
|
|
* @date 2021.10.26 13:45:59 |
|
|
|
*/ |
|
|
|
private void sendLoginEvent(String userId, String fromApp, String fromClient) { |
|
|
|
private void sendLoginEvent(String userId, String fromApp, String fromClient, String customerId) { |
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
|
|
|
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); |
|
|
|
if (null == staffInfo){ |
|
|
|
throw new EpmetException("未查询到工作人员信息:"+userId); |
|
|
|
} |
|
|
|
LoginMQMsg loginMQMsg = new LoginMQMsg(); |
|
|
|
loginMQMsg.setUserId(userId); |
|
|
|
loginMQMsg.setLoginTime(new Date()); |
|
|
|
loginMQMsg.setIp(IpUtils.getIpAddr(request)); |
|
|
|
loginMQMsg.setFromApp(fromApp); |
|
|
|
loginMQMsg.setFromClient(fromClient); |
|
|
|
|
|
|
|
loginMQMsg.setOrgId(staffInfo.getAgencyId()); |
|
|
|
loginMQMsg.setOrgIdPath(StringUtils.isBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds().concat(":").concat(staffInfo.getAgencyId())); |
|
|
|
SystemMsgFormDTO form = new SystemMsgFormDTO(); |
|
|
|
form.setMessageType(AuthOperationConstants.LOGIN); |
|
|
|
form.setContent(loginMQMsg); |
|
|
|