Explorar el Código

/kanbanInstance/open/kanbanCode/{kanbanCode}接口,如果没有实例,提取参数等之后返回

sunyj hace 8 años
padre
commit
e639e9cfc1

+ 3 - 2
kanban-console/src/main/java/com/uas/kanban/controller/KanbanInstanceController.java

@@ -95,7 +95,7 @@ public class KanbanInstanceController extends BaseController<KanbanInstance> {
 	}
 
 	/**
-	 * 根据看板 code 打开看板实例(如果有创建的实例,返回该实例,如果没有,创建后返回)
+	 * 根据看板 code 打开看板实例(如果有创建的实例,返回该实例,如果没有,提取参数等之后返回)
 	 * 
 	 * @param kanbanCode
 	 *            看板 code
@@ -106,7 +106,8 @@ public class KanbanInstanceController extends BaseController<KanbanInstance> {
 	 */
 	@RequestMapping("/open/kanbanCode/{kanbanCode}")
 	@ResponseBody
-	public KanbanInstance openKanbanInstance(@PathVariable("kanbanCode") String kanbanCode, HttpServletRequest request) {
+	public KanbanInstance openKanbanInstance(@PathVariable("kanbanCode") String kanbanCode,
+			HttpServletRequest request) {
 		return kanbanInstanceService.openKanbanInstance(kanbanCode);
 	}
 }

+ 1 - 1
kanban-console/src/main/java/com/uas/kanban/service/KanbanInstanceService.java

@@ -65,7 +65,7 @@ public interface KanbanInstanceService {
 	KanbanInstance getByKanbanCode(@NotEmpty("kanbanCode") String kanbanCode) throws IllegalStateException;
 
 	/**
-	 * 根据看板 code 打开看板实例(如果有创建的实例,返回该实例,如果没有,创建后返回)
+	 * 根据看板 code 打开看板实例(如果有创建的实例,返回该实例,如果没有,提取参数等之后返回)
 	 * 
 	 * @param kanbanCode
 	 *            看板 code

+ 9 - 8
kanban-console/src/main/java/com/uas/kanban/service/impl/KanbanInstanceServiceImpl.java

@@ -16,7 +16,6 @@ import org.mongodb.morphia.query.Query;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.alibaba.fastjson.JSONObject;
 import com.uas.kanban.annotation.NotEmpty;
 import com.uas.kanban.base.BaseService;
 import com.uas.kanban.dao.GlobalParameterDao;
@@ -152,7 +151,9 @@ public class KanbanInstanceServiceImpl extends BaseService<KanbanInstance> imple
 		if (!CollectionUtils.isEmpty(globalParameters)) {
 			kanbanInstance.setGlobalParameters(globalParameters);
 		}
-		kanbanInstance.setParameters(parameters);
+		if (!CollectionUtils.isEmpty(parameters)) {
+			kanbanInstance.setParameters(parameters);
+		}
 	}
 
 	/**
@@ -282,13 +283,13 @@ public class KanbanInstanceServiceImpl extends BaseService<KanbanInstance> imple
 	@Override
 	public KanbanInstance openKanbanInstance(@NotEmpty("kanbanCode") String kanbanCode) throws IllegalStateException {
 		KanbanInstance kanbanInstance = getByKanbanCode(kanbanCode);
-		// 如果有创建的实例,返回该实例,如果没有,创建后返回
+		// 如果有创建的实例,返回该实例,如果没有,提取参数等之后返回
 		if (kanbanInstance == null) {
-			KanbanInstance instance = new KanbanInstance();
-			instance.setKanbanCode(kanbanCode);
-			// 默认刷新频率
-			instance.setRefreshFrequency(KanbanInstance.DEFAULT_REFRESH_FREQUENCY);
-			kanbanInstance = save(JSONObject.toJSONString(instance));
+			kanbanInstance = new KanbanInstance();
+			kanbanInstance.setKanbanCode(kanbanCode);
+			kanbanInstance.setRefreshFrequency(KanbanInstance.DEFAULT_REFRESH_FREQUENCY);
+			// 生成相应的看板实例参数
+			generateParameters(kanbanInstance);
 		}
 		return kanbanInstance;
 	}