Browse Source

优化积分更新

pull/235/head
chenzhihang 8 months ago
parent
commit
5a7a188478
3 changed files with 29 additions and 24 deletions
  1. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ResourceOccupyService.java
  2. +27
    -22
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ResourceOccupyServiceImpl.java
  3. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ResourceOccupyService.java View File

@@ -21,7 +21,7 @@ public interface ResourceOccupyService {

Map<String, Double> queryCredit();

void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas);
void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas, String taskName);

void deleteTaskState(String taskType, Long taskId, Long taskInsId);
}

+ 27
- 22
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ResourceOccupyServiceImpl.java View File

@@ -143,33 +143,38 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService {

@Override
@Transactional
public void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas) {
ResourceOccupy resourceOccupy = resourceOccupyDao.getResourceOccupyByTask(taskType, taskId, taskInsId, null).get(0);
ComputingResource oldComputingResource = computingResourceDao.queryById(resourceOccupy.getComputingResourceId());
ComputingResource computingResource = computingResourceDao.queryById(computingResourceId);
public void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas, String taskName) {
List<ResourceOccupy> resourceOccupyList = resourceOccupyDao.getResourceOccupyByTask(taskType, taskId, taskInsId, null);
if (resourceOccupyList.isEmpty()) {
startDeduce(computingResourceId, replicas, taskType, taskId, taskInsId, null, taskName, null, Constant.State_building);
} else {
ResourceOccupy resourceOccupy = resourceOccupyList.get(0);
ComputingResource oldComputingResource = computingResourceDao.queryById(resourceOccupy.getComputingResourceId());
ComputingResource computingResource = computingResourceDao.queryById(computingResourceId);

int occupy_num = (int) (resourceOccupy.getCreditPerHour() / oldComputingResource.getCreditPerHour());
int occupy_num = (int) (resourceOccupy.getCreditPerHour() / oldComputingResource.getCreditPerHour());

if (Constant.Computing_Resource_GPU.equals(oldComputingResource.getComputingResource())) {
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), oldComputingResource.getGpuNums() * occupy_num);
} else {
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), computingResource.getCpuCores() * occupy_num);
}
if (Constant.Computing_Resource_GPU.equals(oldComputingResource.getComputingResource())) {
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), oldComputingResource.getGpuNums() * occupy_num);
} else {
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), computingResource.getCpuCores() * occupy_num);
}

if (Constant.Computing_Resource_GPU.equals(computingResource.getComputingResource())) {
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getGpuNums() * replicas);
} else {
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getCpuCores() * replicas);
}
if (Constant.Computing_Resource_GPU.equals(computingResource.getComputingResource())) {
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getGpuNums() * replicas);
} else {
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getCpuCores() * replicas);
}

if (replicas > 1) {
resourceOccupy.setDescription(replicas + " * [" + computingResource.getDescription() + "]");
} else {
resourceOccupy.setDescription(computingResource.getDescription());
if (replicas > 1) {
resourceOccupy.setDescription(replicas + " * [" + computingResource.getDescription() + "]");
} else {
resourceOccupy.setDescription(computingResource.getDescription());
}
resourceOccupy.setCreditPerHour(computingResource.getCreditPerHour() * replicas);
resourceOccupy.setComputingResourceId(computingResourceId);
resourceOccupyDao.edit(resourceOccupy);
}
resourceOccupy.setCreditPerHour(computingResource.getCreditPerHour() * replicas);
resourceOccupy.setComputingResourceId(computingResourceId);
resourceOccupyDao.edit(resourceOccupy);
}

@Override


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

@@ -351,7 +351,7 @@ public class ServiceServiceImpl implements ServiceService {
if (reRun) {
resourceOccupyService.startDeduce(serviceVersion.getComputingResourceId(), serviceVersion.getReplicas(), Constant.TaskType_Service, serviceVersion.getServiceId(), serviceVersion.getId(), null, service.getServiceName(), null, Constant.State_building);
} else if (Constant.Running.equals(serviceVersionById.getRunState()) || Constant.Pending.equals(serviceVersionById.getRunState())) {
resourceOccupyService.update(Constant.TaskType_Service, serviceVersion.getServiceId(), serviceVersion.getId(), serviceVersion.getComputingResourceId(), serviceVersion.getReplicas());
resourceOccupyService.update(Constant.TaskType_Service, serviceVersion.getServiceId(), serviceVersion.getId(), serviceVersion.getComputingResourceId(), serviceVersion.getReplicas(), service.getServiceName());
}
return "修改成功";
} else {


Loading…
Cancel
Save