@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject;
@@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers ;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl ;
import com.cloud.kicc.common.core.api.R ;
import com.cloud.kicc.common.core.constant.CommonConstants ;
import com.cloud.kicc.common.core.constant.SecurityConstants ;
import com.cloud.kicc.common.core.exception.CheckedException ;
import com.cloud.kicc.common.data.entity.KiccUser ;
import com.cloud.kicc.commonbiz.api.entity.* ;
import com.cloud.kicc.commonbiz.mapper.PushApplicationMapper ;
import com.cloud.kicc.commonbiz.service.* ;
@ -18,6 +20,10 @@ import com.cloud.kicc.system.api.entity.User;
@@ -18,6 +20,10 @@ import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService ;
import lombok.RequiredArgsConstructor ;
import okhttp3.OkHttpClient ;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken ;
import org.springframework.security.core.Authentication ;
import org.springframework.security.core.authority.AuthorityUtils ;
import org.springframework.security.core.context.SecurityContextHolder ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
import org.springframework.web.context.request.RequestContextHolder ;
@ -57,11 +63,26 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
@@ -57,11 +63,26 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
throw new CheckedException ( "当前推送方用户ID与推送应用密钥必填!" ) ;
}
R < User > result = remoteUserService . selectByUserId ( pushChatMessage . getPushType Id ( ) , SecurityConstants . FROM_IN ) ;
R < User > result = remoteUserService . selectByUserId ( pushChatMessage . getUser Id ( ) , SecurityConstants . FROM_IN ) ;
if ( result = = null | | result . getData ( ) = = null ) {
throw new CheckedException ( "用户不存在" ) ;
}
pushChatMessage . setTenantId ( result . getData ( ) . getTenantId ( ) ) ;
User user = result . getData ( ) ;
KiccUser kiccUser = new KiccUser (
user . getId ( ) ,
user . getDeptId ( ) ,
user . getUserName ( ) ,
SecurityConstants . BCRYPT + user . getPassword ( ) ,
user . getPhone ( ) ,
user . getTenantId ( ) ,
true ,
true ,
true ,
StrUtil . equals ( user . getStatus ( ) , CommonConstants . STATUS_NORMAL ) ,
AuthorityUtils . createAuthorityList ( user . getPermissions ( ) )
) ;
Authentication authentication = new UsernamePasswordAuthenticationToken ( kiccUser , "N/A" , kiccUser . getAuthorities ( ) ) ;
SecurityContextHolder . getContext ( ) . setAuthentication ( authentication ) ;
PushApplication pushApplication = baseMapper . selectOne ( Wrappers . < PushApplication > lambdaQuery ( )
. eq ( PushApplication : : getMessageSecret , pushChatMessage . getMessageSecret ( ) )