zhaowenyu
2025-10-14 f905f4377db462640a4fdd53dc5daa1adfc8c542
ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
File was renamed from ard-work/src/main/java/com/ard/work/service/impl/ArdServerServiceImpl.java
@@ -2,14 +2,14 @@
import com.ard.common.utils.uuid.IdUtils;
import com.ard.work.component.forest.TyClient;
import com.ard.work.component.netty.TyTcpClientManager;
import com.ard.work.domain.dto.TokenDTO;
import com.ard.work.domain.entity.ArdServerInfo;
import com.ard.work.domain.receiver.AccessTokenReceiver;
import com.ard.work.domain.receiver.TyHttpCommonReceiver;
import com.ard.work.mapper.ArdServerInfoMapper;
import com.ard.work.service.IArdServerService;
import com.ard.work.service.IArdServerInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
@@ -25,12 +25,14 @@
 */
@Slf4j
@Service
public class ArdServerServiceImpl implements IArdServerService {
public class ArdServerInfoServiceImpl implements IArdServerInfoService {
    @Resource
    private ArdServerInfoMapper ardServerInfoMapper;
    @Resource
    private TyClient tyClient;
    @Resource
    private TyTcpClientManager tyTcpClientManager;
    /**
     * 查询服务器管理
@@ -39,8 +41,8 @@
     * @return 服务器管理
     */
    @Override
    public ArdServerInfo selectArdServerManagementById(String id) {
        return ardServerInfoMapper.selectArdServerManagementById(id);
    public ArdServerInfo selectArdServerInfoById(String id) {
        return ardServerInfoMapper.selectArdServerInfoById(id);
    }
    /**
@@ -50,8 +52,8 @@
     * @return 服务器管理
     */
    @Override
    public List<ArdServerInfo> selectArdServerManagementList(ArdServerInfo ardServerInfo) {
        return ardServerInfoMapper.selectArdServerManagementList(ardServerInfo);
    public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo) {
        return ardServerInfoMapper.selectArdServerInfoList(ardServerInfo);
    }
    /**
@@ -61,9 +63,13 @@
     * @return 结果
     */
    @Override
    public int insertArdServerManagement(ArdServerInfo ardServerInfo) {
    public int insertArdServerInfo(ArdServerInfo ardServerInfo) {
        ardServerInfo.setId(IdUtils.fastUUID());
        return ardServerInfoMapper.insertArdServerManagement(ardServerInfo);
        int i = ardServerInfoMapper.insertArdServerInfo(ardServerInfo);
        if (i > 0) {
            tyTcpClientManager.connectServer(ardServerInfo);
        }
        return i;
    }
    /**
@@ -73,8 +79,12 @@
     * @return 结果
     */
    @Override
    public int updateArdServerManagement(ArdServerInfo ardServerInfo) {
        return ardServerInfoMapper.updateArdServerManagement(ardServerInfo);
    public int updateArdServerInfo(ArdServerInfo ardServerInfo) {
        int i = ardServerInfoMapper.updateArdServerInfo(ardServerInfo);
        if (i > 0) {
            tyTcpClientManager.connectServer(ardServerInfo);
        }
        return i;
    }
    /**
@@ -84,8 +94,15 @@
     * @return 结果
     */
    @Override
    public int deleteArdServerManagementByIds(String[] ids) {
        return ardServerInfoMapper.deleteArdServerManagementByIds(ids);
    public int deleteArdServerInfoByIds(String[] ids) {
        int i = ardServerInfoMapper.deleteArdServerInfoByIds(ids);
        if (i > 0) {
            for (String id : ids) {
                //移除tcp连接
                tyTcpClientManager.disconnectServer(id);
            }
        }
        return i;
    }
    /**
@@ -95,8 +112,8 @@
     * @return 结果
     */
    @Override
    public int deleteArdServerManagementById(String id) {
        return ardServerInfoMapper.deleteArdServerManagementById(id);
    public int deleteArdServerInfoById(String id) {
        return ardServerInfoMapper.deleteArdServerInfoById(id);
    }
    /**
@@ -106,7 +123,7 @@
    public AccessTokenReceiver getAccessToken(String id) {
        long timeStamp = getTimeStamp();
        AccessTokenReceiver accessToken = null;
        ArdServerInfo serverInfo = selectArdServerManagementById(id);
        ArdServerInfo serverInfo = selectArdServerInfoById(id);
        // 准备请求的json
        TokenDTO gtd = TokenDTO.builder()
                .accessKeyId(serverInfo.getAccessKeyId())
@@ -114,8 +131,7 @@
                .timeStamp(timeStamp)
                .build();
        try {
            String baseUrl = "http://" + serverInfo.getHost() + ":" + serverInfo.getHttpPort();
            TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(baseUrl, gtd);
            TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(id, gtd);
            accessToken = getTokenRes.getContent();
        } catch (Exception e) {
            log.error("获取token失败:{}", e.getMessage());
@@ -133,19 +149,4 @@
        return new Date().getTime();
    }
    /**
     * 根据 baseUrl 获取 服务器http接口token(给拦截器使用)
     */
    @Override
    public AccessTokenReceiver getAccessTokenByBaseUrl(String baseUrl) {
        // 找到对应的 serverId
        List<ArdServerInfo> servers = selectArdServerManagementList(new ArdServerInfo());
        for (ArdServerInfo server : servers) {
            String _baseUrl = "http://" + server.getHost() + ":" + server.getHttpPort();
            if (_baseUrl.equals(baseUrl)) {
                return getAccessToken(server.getId());
            }
        }
        return null;
    }
}