| @@ -5,6 +5,7 @@ import com.ruoyi.common.core.web.domain.GenericsAjaxResult; | |||
| import com.ruoyi.platform.domain.Service; | |||
| import com.ruoyi.platform.domain.ServiceVersion; | |||
| import com.ruoyi.platform.service.ServiceService; | |||
| import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.springframework.data.domain.Page; | |||
| @@ -26,15 +27,29 @@ public class ServiceController extends BaseController { | |||
| @GetMapping | |||
| @ApiOperation("分页查询服务列表") | |||
| public GenericsAjaxResult<Page<Service>> queryByPageService(Service service, int page, int size) throws IOException { | |||
| public GenericsAjaxResult<Page<Service>> queryByPageService(@RequestParam(value = "service_name", required = false) String serviceName, | |||
| @RequestParam(value = "service_type", required = false) String serviceType, | |||
| @RequestParam("page") int page, | |||
| @RequestParam("size") int size) throws IOException { | |||
| Service service = new Service(); | |||
| service.setServiceName(serviceName); | |||
| service.setServiceType(serviceType); | |||
| PageRequest pageRequest = PageRequest.of(page, size); | |||
| return genericsSuccess(serviceService.queryByPageService(service, pageRequest)); | |||
| } | |||
| @GetMapping("/serviceVersion") | |||
| @ApiOperation("分页查询服务版本列表") | |||
| public GenericsAjaxResult<Page<ServiceVersion>> queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) throws IOException { | |||
| return genericsSuccess(serviceService.queryByPageServiceVersion(serviceVersion, page, size)); | |||
| public GenericsAjaxResult<Page<ServiceVersionVo>> queryByPageServiceVersion(@RequestParam(value = "run_state", required = false) String runState, | |||
| @RequestParam(value = "version", required = false) String version, | |||
| @RequestParam("service_id") Long serviceId, | |||
| @RequestParam("page") int page, | |||
| @RequestParam("size") int size) throws IOException { | |||
| ServiceVersion serviceVersion = new ServiceVersion(); | |||
| serviceVersion.setRunState(runState); | |||
| serviceVersion.setVersion(version); | |||
| serviceVersion.setServiceId(serviceId); | |||
| return genericsSuccess(serviceService.queryByPageServiceVersion(serviceVersion, page, size)); | |||
| } | |||
| @PostMapping | |||
| @@ -45,8 +60,8 @@ public class ServiceController extends BaseController { | |||
| @PostMapping("/serviceVersion") | |||
| @ApiOperation("新增服务版本") | |||
| public GenericsAjaxResult<ServiceVersion> addServiceVersion(@RequestBody ServiceVersion serviceVersion) { | |||
| return genericsSuccess(serviceService.addServiceVersion(serviceVersion)); | |||
| public GenericsAjaxResult<ServiceVersion> addServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) { | |||
| return genericsSuccess(serviceService.addServiceVersion(serviceVersionVo)); | |||
| } | |||
| @PutMapping | |||
| @@ -57,25 +72,25 @@ public class ServiceController extends BaseController { | |||
| @PutMapping("/serviceVersion") | |||
| @ApiOperation("编辑服务版本") | |||
| public GenericsAjaxResult<ServiceVersion> editServiceVersion(@RequestBody ServiceVersion serviceVersion) { | |||
| return genericsSuccess(serviceService.editServiceVersion(serviceVersion)); | |||
| public GenericsAjaxResult<String> editServiceVersion(@RequestBody ServiceVersionVo serviceVersionVo) { | |||
| return genericsSuccess(serviceService.editServiceVersion(serviceVersionVo)); | |||
| } | |||
| @GetMapping("/serviceDetail/{id}") | |||
| @ApiOperation("查询服务详细信息") | |||
| public GenericsAjaxResult<Service> getService(@PathVariable("id") Long id){ | |||
| public GenericsAjaxResult<Service> getService(@PathVariable("id") Long id) { | |||
| return genericsSuccess(serviceService.getService(id)); | |||
| } | |||
| @GetMapping("/serviceVersionDetail/{id}") | |||
| @ApiOperation("查询服务版本详细信息") | |||
| public GenericsAjaxResult<ServiceVersion> getServiceVersion(@PathVariable("id") Long id) { | |||
| public GenericsAjaxResult<ServiceVersionVo> getServiceVersion(@PathVariable("id") Long id) { | |||
| return genericsSuccess(serviceService.getServiceVersion(id)); | |||
| } | |||
| @GetMapping("/serviceVersionList/{id}") | |||
| @ApiOperation("查询服务版本列表") | |||
| public GenericsAjaxResult<List<ServiceVersion>> serviceVersionList(@PathVariable("id") Long id){ | |||
| public GenericsAjaxResult<List<ServiceVersion>> serviceVersionList(@PathVariable("id") Long id) { | |||
| return genericsSuccess(serviceService.serviceVersionList(id)); | |||
| } | |||
| @@ -91,11 +106,11 @@ public class ServiceController extends BaseController { | |||
| return genericsSuccess(serviceService.deleteServiceVersion(id)); | |||
| } | |||
| @PostMapping("/runServiceVersion/{id}") | |||
| @ApiOperation("启动服务版本") | |||
| public GenericsAjaxResult<String> runServiceVersion(@PathVariable("id") Long id) { | |||
| return genericsSuccess(serviceService.runServiceVersion(id)); | |||
| } | |||
| // @PostMapping("/runServiceVersion/{id}") | |||
| // @ApiOperation("启动服务版本") | |||
| // public GenericsAjaxResult<String> runServiceVersion(@PathVariable("id") Long id) { | |||
| // return genericsSuccess(serviceService.runServiceVersion(id)); | |||
| // } | |||
| @DeleteMapping("/stopServiceVersion/{id}") | |||
| @ApiOperation("停止服务版本") | |||
| @@ -103,22 +118,22 @@ public class ServiceController extends BaseController { | |||
| return genericsSuccess(serviceService.stopServiceVersion(id)); | |||
| } | |||
| @PutMapping("/updateServiceVersion") | |||
| @ApiOperation("更新服务版本") | |||
| public GenericsAjaxResult<ServiceVersion> updateServiceVersion(@RequestBody ServiceVersion serviceVersion) { | |||
| return genericsSuccess(serviceService.updateServiceVersion(serviceVersion)); | |||
| } | |||
| // @PutMapping("/updateServiceVersion") | |||
| // @ApiOperation("更新服务版本") | |||
| // public GenericsAjaxResult<String> updateServiceVersion(@RequestBody ServiceVersion serviceVersion) { | |||
| // return genericsSuccess(serviceService.updateServiceVersion(serviceVersion)); | |||
| // } | |||
| @GetMapping("/getServiceVersionLog/{id}") | |||
| @GetMapping("/getServiceVersionLog") | |||
| @ApiOperation("获取服务版本日志") | |||
| public GenericsAjaxResult<String> getServiceVersionLog(@PathVariable("id") Long id, | |||
| @RequestParam String startTime, @RequestParam String endTime){ | |||
| return genericsSuccess(serviceService.getServiceVersionLog(id,startTime,endTime)); | |||
| public GenericsAjaxResult<String> getServiceVersionLog(@RequestParam("id") Long id, | |||
| @RequestParam("start_time") String startTime, @RequestParam("end_time") String endTime) { | |||
| return genericsSuccess(serviceService.getServiceVersionLog(id, startTime, endTime)); | |||
| } | |||
| @GetMapping("/getServiceVersionDocs/{id}") | |||
| @ApiOperation("获取服务版本文档") | |||
| public GenericsAjaxResult<Map<String, Object>> getServiceVersionDocs(@PathVariable("id") Long id){ | |||
| public GenericsAjaxResult<Map<String, Object>> getServiceVersionDocs(@PathVariable("id") Long id) { | |||
| return genericsSuccess(serviceService.getServiceVersionDocs(id)); | |||
| } | |||
| } | |||
| @@ -33,4 +33,7 @@ public interface ServiceDao { | |||
| List<ServiceVersion> getServiceVersionList(@Param("serviceId") Long serviceId); | |||
| Service getServiceByName(@Param("serviceName") String serviceName); | |||
| ServiceVersion getSvByVersion(@Param("version") String version, @Param("serviceId") Long serviceId); | |||
| } | |||
| @@ -2,6 +2,7 @@ package com.ruoyi.platform.service; | |||
| import com.ruoyi.platform.domain.Service; | |||
| import com.ruoyi.platform.domain.ServiceVersion; | |||
| import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; | |||
| import org.springframework.data.domain.Page; | |||
| import org.springframework.data.domain.PageRequest; | |||
| @@ -12,19 +13,19 @@ import java.util.Map; | |||
| public interface ServiceService { | |||
| Page<Service> queryByPageService(Service service, PageRequest pageRequest) throws IOException; | |||
| Page<ServiceVersion> queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) throws IOException; | |||
| Page<ServiceVersionVo> queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) throws IOException; | |||
| Service addService(Service service); | |||
| ServiceVersion addServiceVersion(ServiceVersion serviceVersion); | |||
| ServiceVersion addServiceVersion(ServiceVersionVo serviceVersionVo); | |||
| Service editService(Service service); | |||
| ServiceVersion editServiceVersion(ServiceVersion serviceVersion); | |||
| String editServiceVersion(ServiceVersionVo serviceVersionVo); | |||
| Service getService(Long id); | |||
| ServiceVersion getServiceVersion(Long id); | |||
| ServiceVersionVo getServiceVersion(Long id); | |||
| String deleteService(Long id); | |||
| @@ -34,7 +35,7 @@ public interface ServiceService { | |||
| String stopServiceVersion(Long id); | |||
| ServiceVersion updateServiceVersion(ServiceVersion serviceVersion); | |||
| String updateServiceVersion(ServiceVersion serviceVersion); | |||
| String getServiceVersionLog(Long id, String startTime, String endTime); | |||
| @@ -9,8 +9,12 @@ import com.ruoyi.platform.mapper.ServiceDao; | |||
| import com.ruoyi.platform.service.ServiceService; | |||
| import com.ruoyi.platform.utils.HttpUtils; | |||
| import com.ruoyi.platform.utils.JacksonUtil; | |||
| import com.ruoyi.platform.vo.serviceVos.ServiceCodeConfigVo; | |||
| import com.ruoyi.platform.vo.serviceVos.ServiceModelVo; | |||
| import com.ruoyi.platform.vo.serviceVos.ServiceVersionVo; | |||
| import com.ruoyi.system.api.model.LoginUser; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.springframework.beans.BeanUtils; | |||
| import org.springframework.beans.factory.annotation.Value; | |||
| import org.springframework.data.domain.Page; | |||
| import org.springframework.data.domain.PageImpl; | |||
| @@ -18,6 +22,7 @@ import org.springframework.data.domain.PageRequest; | |||
| import org.springframework.stereotype.Service; | |||
| import javax.annotation.Resource; | |||
| import java.util.ArrayList; | |||
| import java.util.HashMap; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| @@ -43,7 +48,7 @@ public class ServiceServiceImpl implements ServiceService { | |||
| } | |||
| @Override | |||
| public Page<ServiceVersion> queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) { | |||
| public Page<ServiceVersionVo> queryByPageServiceVersion(ServiceVersion serviceVersion, int page, int size) { | |||
| PageRequest pageRequest; | |||
| if (StringUtils.isNotEmpty(serviceVersion.getRunState())) { | |||
| pageRequest = PageRequest.of(page, Integer.MAX_VALUE); | |||
| @@ -51,13 +56,22 @@ public class ServiceServiceImpl implements ServiceService { | |||
| List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); | |||
| Map<String, String> runStates = getRunState(deploymentNames); | |||
| updateRunState(runStates); | |||
| if (runStates != null) { | |||
| updateRunState(runStates, serviceVersions); | |||
| } | |||
| List<ServiceVersion> result = serviceVersions.stream().filter(serviceVersion1 -> { | |||
| String runState = runStates.get(serviceVersion1.getDeploymentName()); | |||
| return serviceVersion1.getRunState().equals(runState); | |||
| List<ServiceVersion> serviceVersionList = serviceVersions.stream().filter(serviceVersion1 -> { | |||
| String runState; | |||
| if (runStates != null) { | |||
| runState = runStates.get(serviceVersion1.getDeploymentName()); | |||
| } else { | |||
| runState = serviceVersion1.getRunState(); | |||
| } | |||
| return serviceVersion.getRunState().equals(runState); | |||
| }).collect(Collectors.toList()); | |||
| List<ServiceVersionVo> result = getServiceVersionVoList(serviceVersionList); | |||
| PageRequest.of(page, size); | |||
| return new PageImpl<>(result, pageRequest, result.size()); | |||
| } else { | |||
| @@ -67,33 +81,22 @@ public class ServiceServiceImpl implements ServiceService { | |||
| List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); | |||
| Map<String, String> runStates = getRunState(deploymentNames); | |||
| updateRunState(runStates); | |||
| return new PageImpl<>(serviceVersions, pageRequest, total); | |||
| } | |||
| } | |||
| 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)); | |||
| if (StringUtils.isNotEmpty(req)) { | |||
| Map<String, Object> reqMap = JacksonUtil.parseJSONStr2Map(req); | |||
| Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) reqMap.get("data"); | |||
| return data.get("status"); | |||
| } else { | |||
| return null; | |||
| } | |||
| } | |||
| if (runStates != null) { | |||
| updateRunState(runStates, serviceVersions); | |||
| } | |||
| List<ServiceVersionVo> result = getServiceVersionVoList(serviceVersions); | |||
| void updateRunState(Map<String, String> runStates) { | |||
| for (Map.Entry<String, String> entry : runStates.entrySet()) { | |||
| serviceDao.updateRunState(entry.getKey(), entry.getValue()); | |||
| return new PageImpl<>(result, pageRequest, total); | |||
| } | |||
| } | |||
| @Override | |||
| public com.ruoyi.platform.domain.Service addService(com.ruoyi.platform.domain.Service service) { | |||
| com.ruoyi.platform.domain.Service serviceByName = serviceDao.getServiceByName(service.getServiceName()); | |||
| if (serviceByName != null) { | |||
| throw new RuntimeException("服务名称已存在,无法新增"); | |||
| } | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| service.setCreateBy(loginUser.getUsername()); | |||
| service.setUpdateBy(loginUser.getUsername()); | |||
| @@ -102,11 +105,18 @@ public class ServiceServiceImpl implements ServiceService { | |||
| } | |||
| @Override | |||
| public ServiceVersion addServiceVersion(ServiceVersion serviceVersion) { | |||
| public ServiceVersion addServiceVersion(ServiceVersionVo serviceVersionVo) { | |||
| ServiceVersion svByVersion = serviceDao.getSvByVersion(serviceVersionVo.getVersion(), serviceVersionVo.getServiceId()); | |||
| if (svByVersion != null) { | |||
| throw new RuntimeException("服务版本已存在,无法新增"); | |||
| } | |||
| ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo); | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| serviceVersion.setCreateBy(loginUser.getUsername()); | |||
| serviceVersion.setUpdateBy(loginUser.getUsername()); | |||
| serviceDao.insertServiceVersion(serviceVersion); | |||
| runServiceVersion(serviceVersion.getId()); | |||
| return serviceVersion; | |||
| } | |||
| @@ -119,47 +129,53 @@ public class ServiceServiceImpl implements ServiceService { | |||
| } | |||
| @Override | |||
| public ServiceVersion editServiceVersion(ServiceVersion serviceVersion) { | |||
| public String editServiceVersion(ServiceVersionVo serviceVersionVo) { | |||
| ServiceVersion serviceVersion = getServiceVersion(serviceVersionVo); | |||
| ServiceVersion oldServiceVersion = serviceDao.getServiceVersionById(serviceVersionVo.getId()); | |||
| if (!oldServiceVersion.getReplicas().equals(serviceVersionVo.getReplicas()) || !oldServiceVersion.getResource().equals(serviceVersionVo.getResource()) | |||
| || serviceVersionVo.getRerun()) { | |||
| updateServiceVersion(serviceVersion); | |||
| } | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| serviceVersion.setUpdateBy(loginUser.getUsername()); | |||
| serviceDao.updateServiceVersion(serviceVersion); | |||
| return serviceDao.getServiceVersionById(serviceVersion.getId()); | |||
| return "修改成功"; | |||
| } | |||
| @Override | |||
| public com.ruoyi.platform.domain.Service getService(Long id) { | |||
| com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(id); | |||
| ServiceVersion serviceVersion = new ServiceVersion(); | |||
| serviceVersion.setServiceId(id); | |||
| service.setVersionCount(serviceDao.countServiceVersion(serviceVersion)); | |||
| return serviceDao.getServiceById(id); | |||
| } | |||
| @Override | |||
| public ServiceVersion getServiceVersion(Long id) { | |||
| return serviceDao.getServiceVersionById(id); | |||
| public ServiceVersionVo getServiceVersion(Long id) { | |||
| ServiceVersion serviceVersion = serviceDao.getServiceVersionById(id); | |||
| ServiceVersionVo serviceVersionVo = getServiceVersionVo(serviceVersion); | |||
| com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(serviceVersion.getServiceId()); | |||
| serviceVersionVo.setServiceName(service.getServiceName()); | |||
| return serviceVersionVo; | |||
| } | |||
| @Override | |||
| public String deleteService(Long id) { | |||
| com.ruoyi.platform.domain.Service service = serviceDao.getServiceById(id); | |||
| if (service == null) { | |||
| return "服务不存在"; | |||
| throw new RuntimeException("服务不存在"); | |||
| } | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| String username = loginUser.getUsername(); | |||
| String createBy = service.getCreateBy(); | |||
| if (!(StringUtils.equals(username, "admin") || StringUtils.equals(username, createBy))) { | |||
| return "无权限删除该服务"; | |||
| throw new RuntimeException("无权限删除该服务"); | |||
| } | |||
| ServiceVersion serviceVersion = new ServiceVersion(); | |||
| serviceVersion.setServiceId(id); | |||
| long versionCount = serviceDao.countServiceVersion(serviceVersion); | |||
| if (versionCount != 0) { | |||
| return "该服务下还有版本,不能删除"; | |||
| throw new RuntimeException("该服务下还有版本,不能删除"); | |||
| } | |||
| service.setState(Constant.State_invalid); | |||
| @@ -197,7 +213,7 @@ public class ServiceServiceImpl implements ServiceService { | |||
| serviceVersion.setDeploymentName(data.get("deployment_name")); | |||
| serviceVersion.setSvcName(data.get("svc_name")); | |||
| serviceVersion.setRunState(Constant.Init); | |||
| editServiceVersion(serviceVersion); | |||
| serviceDao.updateServiceVersion(serviceVersion); | |||
| return "启动成功"; | |||
| } else { | |||
| throw new RuntimeException("启动失败"); | |||
| @@ -215,7 +231,7 @@ public class ServiceServiceImpl implements ServiceService { | |||
| String req = HttpUtils.sendPost(argoUrl + modelService + "/stop", JSON.toJSONString(paramMap)); | |||
| if (StringUtils.isNotEmpty(req)) { | |||
| serviceVersion.setRunState(Constant.Stopped); | |||
| editServiceVersion(serviceVersion); | |||
| serviceDao.updateServiceVersion(serviceVersion); | |||
| return "停止成功"; | |||
| } else { | |||
| throw new RuntimeException("停止失败"); | |||
| @@ -223,7 +239,7 @@ public class ServiceServiceImpl implements ServiceService { | |||
| } | |||
| @Override | |||
| public ServiceVersion updateServiceVersion(ServiceVersion serviceVersion) { | |||
| public String updateServiceVersion(ServiceVersion serviceVersion) { | |||
| HashMap<String, Object> paramMap = new HashMap<>(); | |||
| paramMap.put("deployment_name", serviceVersion.getDeploymentName()); | |||
| HashMap<String, Object> updateMap = new HashMap<>(); | |||
| @@ -232,7 +248,7 @@ public class ServiceServiceImpl implements ServiceService { | |||
| paramMap.put("update_model", JSON.toJSONString(updateMap)); | |||
| String req = HttpUtils.sendPost(argoUrl + modelService + "/update", JSON.toJSONString(paramMap)); | |||
| if (StringUtils.isNotEmpty(req)) { | |||
| return editServiceVersion(serviceVersion); | |||
| return "修改成功"; | |||
| } else { | |||
| throw new RuntimeException("更新失败"); | |||
| } | |||
| @@ -275,4 +291,61 @@ public class ServiceServiceImpl implements ServiceService { | |||
| return serviceDao.getServiceVersionList(id); | |||
| } | |||
| ServiceVersion getServiceVersion(ServiceVersionVo serviceVersionVo) { | |||
| ServiceVersion serviceVersion = new ServiceVersion(); | |||
| BeanUtils.copyProperties(serviceVersionVo, serviceVersion); | |||
| serviceVersion.setModel(JSON.toJSONString(serviceVersionVo.getModel())); | |||
| serviceVersion.setCodeConfig(JSON.toJSONString(serviceVersionVo.getCodeConfig())); | |||
| serviceVersion.setEnvVariables(JSON.toJSONString(serviceVersionVo.getEnvVariables())); | |||
| return serviceVersion; | |||
| } | |||
| List<ServiceVersionVo> getServiceVersionVoList(List<ServiceVersion> serviceVersionList) { | |||
| List<ServiceVersionVo> result = new ArrayList<>(); | |||
| for (ServiceVersion sv : serviceVersionList) { | |||
| ServiceVersionVo serviceVersionVo = getServiceVersionVo(sv); | |||
| result.add(serviceVersionVo); | |||
| } | |||
| return result; | |||
| } | |||
| ServiceVersionVo getServiceVersionVo(ServiceVersion sv) { | |||
| ServiceVersionVo serviceVersionVo = new ServiceVersionVo(); | |||
| BeanUtils.copyProperties(sv, serviceVersionVo); | |||
| ServiceModelVo serviceModelVo = JSON.parseObject(sv.getModel(), ServiceModelVo.class); | |||
| serviceVersionVo.setModel(serviceModelVo); | |||
| ServiceCodeConfigVo serviceCodeConfigVo = JSON.parseObject(sv.getCodeConfig(), ServiceCodeConfigVo.class); | |||
| serviceVersionVo.setCodeConfig(serviceCodeConfigVo); | |||
| serviceVersionVo.setEnvVariables(JacksonUtil.parseJSONStr2Map(sv.getEnvVariables())); | |||
| return serviceVersionVo; | |||
| } | |||
| 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)); | |||
| if (StringUtils.isNotEmpty(req)) { | |||
| Map<String, Object> reqMap = JacksonUtil.parseJSONStr2Map(req); | |||
| Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) reqMap.get("data"); | |||
| if (data != null) { | |||
| return data.get("status"); | |||
| } | |||
| return null; | |||
| } else { | |||
| return null; | |||
| } | |||
| } | |||
| void updateRunState(Map<String, String> runStates, List<ServiceVersion> serviceVersionList) { | |||
| for (ServiceVersion sv : serviceVersionList) { | |||
| String runState = runStates.get(sv.getDeploymentName()); | |||
| sv.setRunState(runState); | |||
| serviceDao.updateRunState(sv.getDeploymentName(), runState); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,15 @@ | |||
| package com.ruoyi.platform.vo.serviceVos; | |||
| import com.fasterxml.jackson.databind.PropertyNamingStrategy; | |||
| import com.fasterxml.jackson.databind.annotation.JsonNaming; | |||
| import lombok.Data; | |||
| @Data | |||
| @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) | |||
| public class ServiceCodeConfigVo { | |||
| private String codePath; | |||
| private String branch; | |||
| private String showValue; | |||
| } | |||
| @@ -0,0 +1,24 @@ | |||
| package com.ruoyi.platform.vo.serviceVos; | |||
| import com.fasterxml.jackson.databind.PropertyNamingStrategy; | |||
| import com.fasterxml.jackson.databind.annotation.JsonNaming; | |||
| import lombok.Data; | |||
| @Data | |||
| @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) | |||
| public class ServiceModelVo { | |||
| private String id; | |||
| private String name; | |||
| private String version; | |||
| private String path; | |||
| private String identifier; | |||
| private String owner; | |||
| private String showValue; | |||
| } | |||
| @@ -0,0 +1,60 @@ | |||
| package com.ruoyi.platform.vo.serviceVos; | |||
| import com.fasterxml.jackson.databind.PropertyNamingStrategy; | |||
| import com.fasterxml.jackson.databind.annotation.JsonNaming; | |||
| import io.swagger.annotations.ApiModel; | |||
| import lombok.Data; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) | |||
| @ApiModel("服务版本") | |||
| @Data | |||
| public class ServiceVersionVo { | |||
| private Long id; | |||
| private Long serviceId; | |||
| private String serviceName; | |||
| private String version; | |||
| private String description; | |||
| private ServiceModelVo model; | |||
| private String image; | |||
| private String resource; | |||
| private Integer replicas; | |||
| private String mountPath; | |||
| private Map<String, Object> envVariables; | |||
| private ServiceCodeConfigVo codeConfig; | |||
| private String command; | |||
| private String url; | |||
| private String createBy; | |||
| private String updateBy; | |||
| private Date createTime; | |||
| private Date updateTime; | |||
| private Integer state; | |||
| private String runState; | |||
| private String deploymentName; | |||
| private String svcName; | |||
| private Boolean rerun; | |||
| } | |||
| @@ -8,7 +8,7 @@ | |||
| <if test="service.serviceName != null and service.serviceName != ''"> | |||
| and service_name like concat('%', #{service.serviceName}, '%') | |||
| </if> | |||
| <if test="service.serviceType != null"> | |||
| <if test="service.serviceType != null and service.serviceType != ''"> | |||
| and service_type = #{service.serviceType} | |||
| </if> | |||
| </where> | |||
| @@ -22,7 +22,7 @@ | |||
| <if test="service.serviceName != null and service.serviceName != ''"> | |||
| and a.service_name like concat('%', #{service.serviceName}, '%') | |||
| </if> | |||
| <if test="service.serviceType != null"> | |||
| <if test="service.serviceType != null and service.serviceType != ''"> | |||
| and a.service_type = #{service.serviceType} | |||
| </if> | |||
| </where> | |||
| @@ -56,9 +56,10 @@ | |||
| </sql> | |||
| <select id="getServiceById" resultType="com.ruoyi.platform.domain.Service"> | |||
| select * | |||
| from service | |||
| where id = #{id} | |||
| 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 | |||
| where a.id = #{id} | |||
| </select> | |||
| <select id="getServiceVersionById" resultType="com.ruoyi.platform.domain.ServiceVersion"> | |||
| @@ -73,12 +74,22 @@ | |||
| where service_id = #{serviceId} | |||
| </select> | |||
| <insert id="insertService"> | |||
| <select id="getServiceByName" resultType="com.ruoyi.platform.domain.Service"> | |||
| 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 | |||
| </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}) | |||
| </insert> | |||
| <insert id="insertServiceVersion"> | |||
| <insert id="insertServiceVersion" keyProperty="id" useGeneratedKeys="true"> | |||
| insert into service_version(service_id, version, model, description, image, resource, replicas, mount_path, env_variables, | |||
| code_config, command, create_by, update_by) | |||
| values (#{serviceVersion.serviceId}, #{serviceVersion.version}, #{serviceVersion.model}, #{serviceVersion.description}, #{serviceVersion.image}, | |||