Skip to content

Commit

Permalink
fix: appmanager add global version api
Browse files Browse the repository at this point in the history
  • Loading branch information
Twwy committed May 17, 2023
1 parent c962198 commit 6a3e20b
Show file tree
Hide file tree
Showing 9 changed files with 91 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,4 @@ public interface AppVersionProvider {
void delete(String appId, String version, String operator);


//
// /**
// * 更新应用下的关联 Component 绑定
// *
// * @param request 更新请求
// * @param operator 操作人
// * @return 绑定后的结果
// */
// AppComponentDTO update(AppComponentUpdateReq request, String operator);
//

// void delete(AppComponentDeleteReq request, String operator);
//
// /**
// * 获取指定 appId 下的所有关联 Component 对象
// *
// * @param request 查询请求
// * @param operator 操作人
// * @return List of AppComponentDTO
// */
// List<AppComponentDTO> list(AppComponentQueryReq request, String operator);
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
package com.alibaba.tesla.appmanager.domain.dto;

import java.util.Date;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.*;

import java.util.Date;

/**
* 应用版本 DTO
Expand Down Expand Up @@ -52,4 +48,9 @@ public class AppVersionDTO {
* 版本属性
*/
private JSONObject versionProperties;

/**
* 是否为全局版本
*/
private Boolean isGlobal = false;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.alibaba.tesla.appmanager.domain.req;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VersionCreateReq {

private String version;

private String versionLabel;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.alibaba.tesla.appmanager.server.controller;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.tesla.appmanager.api.provider.AppVersionProvider;
import com.alibaba.tesla.appmanager.auth.controller.AppManagerBaseController;
import com.alibaba.tesla.appmanager.domain.dto.AppVersionDTO;
import com.alibaba.tesla.appmanager.domain.req.appversion.AppVersionCreateReq;
import com.alibaba.tesla.common.base.TeslaBaseResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;

/**
* 版本 Controller
*
* @author qianmo.zm@alibaba-inc.com
*/
@Tag(name = "版本 API")
@RequestMapping("/versions")
@RestController
@Slf4j
public class VersionController extends AppManagerBaseController {

@Autowired
private AppVersionProvider appVersionProvider;

@Operation(summary = "创建全局版本")
@PostMapping
public TeslaBaseResult create(
@RequestBody AppVersionCreateReq request,
@RequestHeader(value = "X-EmpId", required = false) String empId,
OAuth2Authentication auth) {
String operator = getOperator(auth, empId);

AppVersionDTO version = appVersionProvider.get("", request.getVersion());
if(version == null) {
AppVersionCreateReq createReq = AppVersionCreateReq.builder()
.appId("")
.version(request.getVersion())
.versionLabel(request.getVersionLabel())
.versionProperties(new JSONObject())
.build();
AppVersionDTO result = appVersionProvider.create(createReq, operator);
return buildSucceedResult(result);
} else {
return buildSucceedResult(version);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ public AppVersionDTO create(AppVersionCreateReq request, String operator) {

@Override
public List<AppVersionDTO> list(String appId) {
// AppVersionQueryCondition condition = new AppVersionQueryCondition();
// condition.setAppId(appId);
return appVersionDtoConvert.to(appVersionService.getsAll(appId));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
package com.alibaba.tesla.appmanager.server.repository.domain;

import java.util.Date;
import lombok.*;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;

/**
* 应用版本表
Expand Down Expand Up @@ -51,4 +47,9 @@ public class AppVersionDO {
* 版本属性
*/
private String versionProperties;

/**
* 是否是全局版本
*/
private Boolean isGlobal = false;
}
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,10 @@ public void updateComponentTaskStatus(ComponentPackageTaskDO taskDO, ComponentPa
.withBlobs(true)
.build());
if (appPackageTask == null) {
log.error("cannot find app package task records when updates component task status|" +
"componentPackageTaskId={}|appPackageTaskId={}", taskDO.getId(), taskDO.getAppPackageTaskId());
if (taskDO.getAppPackageTaskId() != null && taskDO.getAppPackageTaskId() > 0) {
log.error("cannot find app package task records when updates component task status|" +
"componentPackageTaskId={}|appPackageTaskId={}", taskDO.getId(), taskDO.getAppPackageTaskId());
}
return;
}
freshAppPackageTask(appPackageTask);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public List<AppVersionDO> getsAll(String appId) {
condition.setAppId("");
List<AppVersionDO> globalVersions = appVersionRepository.selectByCondition(condition);
for(AppVersionDO version: globalVersions){
version.setIsGlobal(true);
version.setAppId(appId);
}
versions.addAll(globalVersions);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,7 @@ private String getOrCreateApplicationOwnerReferenceStr(
.withController(true)
.build());
} catch (Exception e) {
log.error("cannot getOrCreate application cr|clusterId={}|namespaceId={}|appInstanceId={}|" +
log.info("cannot getOrCreate application cr|clusterId={}|namespaceId={}|appInstanceId={}|" +
"exception={}", clusterId, namespaceId, appInstanceName, ExceptionUtils.getStackTrace(e));
return "";
}
Expand Down

0 comments on commit 6a3e20b

Please sign in to comment.