Browse Source

积分功能开发

dev-credits
chenzhihang 10 months ago
parent
commit
7bbe683574
11 changed files with 66 additions and 10 deletions
  1. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java
  2. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/service/ServiceController.java
  3. +4
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ResourceOccupyDao.java
  4. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DevEnvironmentService.java
  5. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ServiceService.java
  6. +11
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DevEnvironmentServiceImpl.java
  7. +8
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java
  8. +16
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ResourceOccupyServiceImpl.java
  9. +7
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ServiceServiceImpl.java
  10. +2
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java
  11. +12
    -0
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ResourceOccupy.xml

+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/devEnvironment/DevEnvironmentController.java View File

@@ -61,7 +61,7 @@ public class DevEnvironmentController extends BaseController {
* @return 新增结果
*/
@PostMapping
public GenericsAjaxResult<DevEnvironment> add(@RequestBody DevEnvironmentVo devEnvironmentVo) {
public GenericsAjaxResult<DevEnvironment> add(@RequestBody DevEnvironmentVo devEnvironmentVo) throws Exception {
return genericsSuccess(this.devEnvironmentService.insert(devEnvironmentVo));
}

@@ -72,7 +72,7 @@ public class DevEnvironmentController extends BaseController {
* @return 编辑结果
*/
@PutMapping
public GenericsAjaxResult<DevEnvironment> edit(@RequestBody DevEnvironment devEnvironment) {
public GenericsAjaxResult<DevEnvironment> edit(@RequestBody DevEnvironment devEnvironment) throws Exception {
return genericsSuccess(this.devEnvironmentService.update(devEnvironment));
}



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

@@ -73,7 +73,7 @@ public class ServiceController extends BaseController {

@PutMapping("/serviceVersion")
@ApiOperation("编辑服务版本")
public GenericsAjaxResult<String> editServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) {
public GenericsAjaxResult<String> editServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) throws Exception {
return genericsSuccess(serviceService.editServiceVersion(serviceVersionVo));
}



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

@@ -14,4 +14,8 @@ public interface ResourceOccupyDao {
ResourceOccupy getResourceOccupyByTask(@Param("taskType") String taskType, @Param("taskId") Long taskId);

int deduceCredit(@Param("credit") Float credit, @Param("userId") Long userId);

int updateUsed(@Param("id") Integer id, @Param("used") Integer used);

int updateUnUsed(@Param("id") Integer id, @Param("used") Integer used);
}

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

@@ -36,7 +36,7 @@ public interface DevEnvironmentService {
* @param devEnvironment 实例对象
* @return 实例对象
*/
DevEnvironment insert(DevEnvironmentVo devEnvironmentVo);
DevEnvironment insert(DevEnvironmentVo devEnvironmentVo) throws Exception;

/**
* 修改数据
@@ -44,7 +44,7 @@ public interface DevEnvironmentService {
* @param devEnvironment 实例对象
* @return 实例对象
*/
DevEnvironment update(DevEnvironment devEnvironment);
DevEnvironment update(DevEnvironment devEnvironment) throws Exception;

/**
* 通过主键删除数据


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

@@ -22,7 +22,7 @@ public interface ServiceService {

Service editService(Service service);

String editServiceVersion(ServiceVersionVo serviceVersionVo);
String editServiceVersion(ServiceVersionVo serviceVersionVo) throws Exception;

Service getService(Long id);



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

@@ -6,6 +6,7 @@ import com.ruoyi.platform.domain.PodStatus;
import com.ruoyi.platform.mapper.DevEnvironmentDao;
import com.ruoyi.platform.service.DevEnvironmentService;
import com.ruoyi.platform.service.JupyterService;
import com.ruoyi.platform.service.ResourceOccupyService;
import com.ruoyi.platform.utils.JacksonUtil;
import com.ruoyi.platform.vo.DevEnvironmentVo;
import com.ruoyi.platform.vo.PodStatusVo;
@@ -36,6 +37,8 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService {
@Lazy
private JupyterService jupyterService;

@Resource
private ResourceOccupyService resourceOccupyService;

/**
* 通过ID查询单条数据
@@ -87,7 +90,10 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService {
* @return 实例对象
*/
@Override
public DevEnvironment insert(DevEnvironmentVo devEnvironmentVo) {
public DevEnvironment insert(DevEnvironmentVo devEnvironmentVo) throws Exception {
// 判断是否有资源
resourceOccupyService.haveResource(devEnvironmentVo.getComputingResourceId());

//插入预备,此时不需要判断版本重复
DevEnvironment devEnvironment = new DevEnvironment();
LoginUser loginUser = SecurityUtils.getLoginUser();
@@ -120,7 +126,10 @@ public class DevEnvironmentServiceImpl implements DevEnvironmentService {
* @return 实例对象
*/
@Override
public DevEnvironment update(DevEnvironment devEnvironment) {
public DevEnvironment update(DevEnvironment devEnvironment) throws Exception {
// 判断是否有资源
resourceOccupyService.haveResource(devEnvironment.getComputingResourceId());

LoginUser loginUser = SecurityUtils.getLoginUser();
devEnvironment.setUpdateBy(loginUser.getUsername());
devEnvironment.setUpdateTime(new Date());


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

@@ -66,6 +66,10 @@ public class RayServiceImpl implements RayService {
if (rayByName != null) {
throw new RuntimeException("实验名称已存在");
}

// 判断是否有资源
resourceOccupyService.haveResource(rayVo.getComputingResourceId());

Ray ray = new Ray();
BeanUtils.copyProperties(rayVo, ray);
String username = SecurityUtils.getLoginUser().getUsername();
@@ -87,6 +91,10 @@ public class RayServiceImpl implements RayService {
if (oldRay != null && !oldRay.getId().equals(rayVo.getId())) {
throw new RuntimeException("实验名称已存在");
}

// 判断是否有资源
resourceOccupyService.haveResource(rayVo.getComputingResourceId());

Ray ray = new Ray();
BeanUtils.copyProperties(rayVo, ray);
ray.setUpdateBy(SecurityUtils.getLoginUser().getUsername());


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

@@ -55,6 +55,12 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService {
resourceOccupy.setTaskType(taskType);
resourceOccupy.setTaskId(taskId);
resourceOccupyDao.save(resourceOccupy);

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

@Override
@@ -62,8 +68,14 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService {
ResourceOccupy resourceOccupy = resourceOccupyDao.getResourceOccupyByTask(taskType, taskId);
deducing(taskType, taskId);
resourceOccupy.setState(Constant.State_invalid);
resourceOccupy.setDeduceLastTime(new Date());
resourceOccupyDao.edit(resourceOccupy);

ComputingResource computingResource = computingResourceDao.queryById(resourceOccupy.getComputingResourceId());
if (Constant.Computing_Resource_GPU.equals(computingResource.getComputingResource())) {
resourceOccupyDao.updateUnUsed(computingResource.getResourceId(), computingResource.getGpuNums());
} else {
resourceOccupyDao.updateUnUsed(computingResource.getResourceId(), computingResource.getCpuCores());
}
}

@Override
@@ -74,5 +86,8 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService {

float deduceCredit = resourceOccupy.getCreditPerHour() * hours;
resourceOccupyDao.deduceCredit(deduceCredit, resourceOccupy.getUserId());

resourceOccupy.setDeduceLastTime(new Date());
resourceOccupyDao.edit(resourceOccupy);
}
}

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

@@ -120,6 +120,9 @@ public class ServiceServiceImpl implements ServiceService {
throw new RuntimeException("服务版本已存在,无法新增");
}

// 判断是否有资源
resourceOccupyService.haveResource(serviceVersionVo.getComputingResourceId());

ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo);
LoginUser loginUser = SecurityUtils.getLoginUser();
serviceVersion.setCreateBy(loginUser.getUsername());
@@ -139,7 +142,10 @@ public class ServiceServiceImpl implements ServiceService {
}

@Override
public String editServiceVersion(ServiceVersionVo serviceVersionVo) {
public String editServiceVersion(ServiceVersionVo serviceVersionVo) throws Exception {
// 判断是否有资源
resourceOccupyService.haveResource(serviceVersionVo.getComputingResourceId());

ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo);

ServiceVersion oldServiceVersion = serviceDao.getServiceVersionById(serviceVersionVo.getId());


+ 2
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java View File

@@ -57,6 +57,8 @@ public class RayVo {

private String resource;

private Integer computingResourceId;

private String createBy;

private Date createTime;


+ 12
- 0
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ResourceOccupy.xml View File

@@ -25,6 +25,18 @@
where user_id = #{userId}
</update>

<update id="updateUsed">
update resource
set used = used + #{used}
where id = #{id}
</update>

<update id="updateUnUsed">
update resource
set used = used - #{used}
where id = #{id}
</update>

<select id="haveResource" resultType="java.lang.Boolean">
select case when used + #{need} &lt;= total then TRUE else FALSE end
from resource


Loading…
Cancel
Save