Browse Source

优化积分扣除,优化dvc

pull/268/head
chenzhihang 8 months ago
parent
commit
694f142b3f
3 changed files with 18 additions and 15 deletions
  1. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ResourceOccupyTask.java
  2. +1
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ResourceOccupyServiceImpl.java
  3. +15
    -13
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java

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

@@ -40,7 +40,7 @@ public class ResourceOccupyTask {
private JupyterService jupyterService; private JupyterService jupyterService;


// 开发环境功能扣除积分 // 开发环境功能扣除积分
@Scheduled(cron = "0/10 * * * * ?")
@Scheduled(cron = "0 0/1 * * * ?") // 每1分钟执行一次
public void devDeduceCredit() throws Exception { public void devDeduceCredit() throws Exception {
List<DevEnvironment> devEnvironments = devEnvironmentDao.getRunning(); List<DevEnvironment> devEnvironments = devEnvironmentDao.getRunning();
for (DevEnvironment devEnv : devEnvironments) { for (DevEnvironment devEnv : devEnvironments) {
@@ -60,7 +60,7 @@ public class ResourceOccupyTask {
} }


// 服务功能扣除积分 // 服务功能扣除积分
@Scheduled(cron = "0/10 * * * * ?")
@Scheduled(cron = "0 0/1 * * * ?") // 每1分钟执行一次
public void serviceDeduceCredit() { public void serviceDeduceCredit() {
List<ServiceVersion> serviceVersions = serviceDao.getRunning(); List<ServiceVersion> serviceVersions = serviceDao.getRunning();
List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList());


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

@@ -114,6 +114,7 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService {
} }
Double hours = (double) timeDifferenceMillis / (1000 * 60 * 60); Double hours = (double) timeDifferenceMillis / (1000 * 60 * 60);
Double deduceCredit = resourceOccupy.getCreditPerHour() * hours; Double deduceCredit = resourceOccupy.getCreditPerHour() * hours;
deduceCredit = deduceCredit > 0 ? deduceCredit : 0.01;
double deduceCreditTrun = new BigDecimal(deduceCredit).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); double deduceCreditTrun = new BigDecimal(deduceCredit).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
deduceCreditTrun = deduceCreditTrun > 0 ? deduceCreditTrun : 0.01; deduceCreditTrun = deduceCreditTrun > 0 ? deduceCreditTrun : 0.01;
resourceOccupyDao.deduceCredit(deduceCreditTrun, resourceOccupy.getUserId()); resourceOccupyDao.deduceCredit(deduceCreditTrun, resourceOccupy.getUserId());


+ 15
- 13
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java View File

@@ -39,6 +39,7 @@ public class DVCUtils {


@Value("${proxy.port}") @Value("${proxy.port}")
private Integer port; private Integer port;

private class ProxyConfigCallback implements TransportConfigCallback { private class ProxyConfigCallback implements TransportConfigCallback {
@Override @Override
public void configure(Transport transport) { public void configure(Transport transport) {
@@ -259,6 +260,7 @@ public class DVCUtils {
log.error("Error occurred while creating local branch", e); log.error("Error occurred while creating local branch", e);
} }
} }

/** /**
* 删除本地分支 * 删除本地分支
* *
@@ -440,17 +442,19 @@ public class DVCUtils {
.forEach(ref -> { .forEach(ref -> {
String fullBranchName = ref.getName(); String fullBranchName = ref.getName();
String branchName = fullBranchName.replace("refs/remotes/origin/", ""); String branchName = fullBranchName.replace("refs/remotes/origin/", "");
try {
completionService.submit(() -> {
try {
processBranch(git, repository, credentialsProvider, fullBranchName, branchName);
} catch (Exception e) {
log.error("Failed to process branch: " + branchName, e);
}
return null;
});
} catch (Exception e) {
log.error("Task submission rejected", e);
if ("master".equals(branchName)) {
try {
completionService.submit(() -> {
try {
processBranch(git, repository, credentialsProvider, fullBranchName, branchName);
} catch (Exception e) {
log.error("Failed to process branch: " + branchName, e);
}
return null;
});
} catch (Exception e) {
log.error("Task submission rejected", e);
}
} }
}); });


@@ -523,8 +527,6 @@ public class DVCUtils {
} }






public void gitFetch(String localPath, String username, String password) throws IOException, GitAPIException { public void gitFetch(String localPath, String username, String password) throws IOException, GitAPIException {
FileRepositoryBuilder builder = new FileRepositoryBuilder(); FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File(localPath, ".git")) Repository repository = builder.setGitDir(new File(localPath, ".git"))


Loading…
Cancel
Save