Browse Source

积分功能开发

dev-credits
chenzhihang 10 months ago
parent
commit
5546a4a6eb
4 changed files with 42 additions and 13 deletions
  1. +12
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ResourceOccupyTask.java
  2. +4
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java
  3. +4
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java
  4. +22
    -10
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ServiceDaoMapper.xml

+ 12
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ResourceOccupyTask.java View File

@@ -7,12 +7,15 @@ import com.ruoyi.platform.mapper.DevEnvironmentDao;
import com.ruoyi.platform.mapper.ServiceDao;
import com.ruoyi.platform.service.JupyterService;
import com.ruoyi.platform.service.ResourceOccupyService;
import com.ruoyi.platform.service.ServiceService;
import com.ruoyi.platform.vo.PodStatusVo;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Component()
public class ResourceOccupyTask {
@@ -26,6 +29,9 @@ public class ResourceOccupyTask {
@Resource
private ServiceDao serviceDao;

@Resource
private ServiceService serviceService;

@Resource
private JupyterService jupyterService;

@@ -50,8 +56,13 @@ public class ResourceOccupyTask {
@Scheduled(cron = "0 0/1 * * * ?") // 每1分钟执行一次
public void serviceDeduceCredit() {
List<ServiceVersion> serviceVersions = serviceDao.getRunning();
List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList());
Map<String, String> runStates = serviceService.getRunState(deploymentNames);
serviceService.updateRunState(runStates, serviceVersions);
for (ServiceVersion serviceVersion : serviceVersions) {
resourceOccupyService.deducing(Constant.TaskType_Service, null, serviceVersion.getId(), null, null);
if (Constant.Running.equals(serviceVersion.getRunState())) {
resourceOccupyService.deducing(Constant.TaskType_Service, null, serviceVersion.getId(), null, null);
}
}
}
}

+ 4
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java View File

@@ -45,4 +45,8 @@ public interface ServiceService {
Map<String, Object> getServiceVersionDocs(Long id);

List<ServiceVersion> serviceVersionList(Long id);

Map<String, String> getRunState(List<String> deploymentNames);

void updateRunState(Map<String, String> runStates, List<ServiceVersion> serviceVersionList);
}

+ 4
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java View File

@@ -401,7 +401,8 @@ public class ServiceServiceImpl implements ServiceService {
return serviceVersionVo;
}

Map<String, String> getRunState(List<String> deploymentNames) {
@Override
public Map<String, String> getRunState(List<String> deploymentNames) {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("deployment_names", deploymentNames);
String req = HttpUtils.sendPost(argoUrl + modelService + "/getStatus", JSON.toJSONString(paramMap));
@@ -417,7 +418,8 @@ public class ServiceServiceImpl implements ServiceService {
}
}

void updateRunState(Map<String, String> runStates, List<ServiceVersion> serviceVersionList) {
@Override
public void updateRunState(Map<String, String> runStates, List<ServiceVersion> serviceVersionList) {
for (ServiceVersion sv : serviceVersionList) {
String runState = runStates.get(sv.getDeploymentName());
sv.setRunState(runState);


+ 22
- 10
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ServiceDaoMapper.xml View File

@@ -56,9 +56,9 @@
</sql>

<select id="getServiceById" resultType="com.ruoyi.platform.domain.Service">
select a.*,count(b.id) as version_count
select a.*, count(b.id) as version_count
from service a
left join (select * from service_version where state = 1) b on a.id = b.service_id
left join (select * from service_version where state = 1) b on a.id = b.service_id
where a.id = #{id}
</select>

@@ -75,31 +75,43 @@
</select>

<select id="getServiceByName" resultType="com.ruoyi.platform.domain.Service">
select * from service where service_name = #{serviceName} and state = 1
select *
from service
where service_name = #{serviceName}
and state = 1
</select>

<select id="getSvByVersion" resultType="com.ruoyi.platform.domain.ServiceVersion">
select *
from service_version
where service_id = #{serviceId} and version = #{version} and state = 1
where service_id = #{serviceId}
and version = #{version}
and state = 1
</select>

<select id="getRunning" resultType="com.ruoyi.platform.domain.ServiceVersion">
select *
from service_version where state = 1 and run_state = 'Running'
from service_version
where state = 1
and (run_state = 'Running' or run_state = 'Pending' or run_state = 'Init')
</select>

<insert id="insertService" keyProperty="id" useGeneratedKeys="true">
insert into service(service_name, service_type, description, create_by, update_by)
values (#{service.serviceName}, #{service.serviceType}, #{service.description}, #{service.createBy}, #{service.updateBy})
values (#{service.serviceName}, #{service.serviceType}, #{service.description}, #{service.createBy},
#{service.updateBy})
</insert>

<insert id="insertServiceVersion" keyProperty="id" useGeneratedKeys="true">
insert into service_version(service_id, version, model, description, image, resource, computing_resource_id, replicas, mount_path, env_variables,
insert into service_version(service_id, version, model, description, image, resource, computing_resource_id,
replicas, mount_path, env_variables,
code_config, command, create_by, update_by, deploy_type)
values (#{serviceVersion.serviceId}, #{serviceVersion.version}, #{serviceVersion.model}, #{serviceVersion.description}, #{serviceVersion.image},
#{serviceVersion.resource}, #{serviceVersion.computingResourceId}, #{serviceVersion.replicas}, #{serviceVersion.mountPath}, #{serviceVersion.envVariables},
#{serviceVersion.codeConfig}, #{serviceVersion.command}, #{serviceVersion.createBy}, #{serviceVersion.updateBy}, #{serviceVersion.deployType})
values (#{serviceVersion.serviceId}, #{serviceVersion.version}, #{serviceVersion.model},
#{serviceVersion.description}, #{serviceVersion.image},
#{serviceVersion.resource}, #{serviceVersion.computingResourceId}, #{serviceVersion.replicas},
#{serviceVersion.mountPath}, #{serviceVersion.envVariables},
#{serviceVersion.codeConfig}, #{serviceVersion.command}, #{serviceVersion.createBy},
#{serviceVersion.updateBy}, #{serviceVersion.deployType})
</insert>

<update id="updateService">


Loading…
Cancel
Save