• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java WorkflowDocumentActionsService类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.kuali.rice.kew.api.action.WorkflowDocumentActionsService的典型用法代码示例。如果您正苦于以下问题:Java WorkflowDocumentActionsService类的具体用法?Java WorkflowDocumentActionsService怎么用?Java WorkflowDocumentActionsService使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



WorkflowDocumentActionsService类属于org.kuali.rice.kew.api.action包,在下文中一共展示了WorkflowDocumentActionsService类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getWorkflowDocumentActionsService

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
/**
 * Helper method to get the correct {@link WorkflowDocumentActionsService} from the {@code applicationId} of the
 * document type.
 *
 * @param documentTypeId the document type to get the application id from
 *
 * @return the correct {@link WorkflowDocumentActionsService} from the {@code applicationId} of the document type
 */
protected WorkflowDocumentActionsService getWorkflowDocumentActionsService(String documentTypeId) {
    DocumentType documentType = KewApiServiceLocator.getDocumentTypeService().getDocumentTypeById(documentTypeId);
    String applicationId = documentType.getApplicationId();
    QName serviceName = new QName(KewApiConstants.Namespaces.KEW_NAMESPACE_2_0,
            KewApiConstants.ServiceNames.WORKFLOW_DOCUMENT_ACTIONS_SERVICE_SOAP);

    WorkflowDocumentActionsService service = (WorkflowDocumentActionsService) KsbApiServiceLocator.getServiceBus()
            .getService(serviceName, applicationId);

    if (service == null) {
        service = KewApiServiceLocator.getWorkflowDocumentActionsService();
    }

    return service;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:24,代码来源:DocumentControllerServiceImpl.java


示例2: superUserDisapprove

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward superUserDisapprove(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
	KualiDocumentFormBase documentForm = (KualiDocumentFormBase)form;
	if(StringUtils.isBlank(documentForm.getSuperUserAnnotation())) {
		GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.disapprove.annotation.missing", "");
		return mapping.findForward(RiceConstants.MAPPING_BASIC);
	} else if (!documentForm.getSelectedActionRequests().isEmpty()) {
        GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.disapprove.when.actions.checked", "");
        return mapping.findForward(RiceConstants.MAPPING_BASIC);
    } else if (!documentForm.isStateAllowsApproveOrDisapprove()) {
        GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.disapprove.not.allowed", "");
        return mapping.findForward(RiceConstants.MAPPING_BASIC);
    }

    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentForm.getWorkflowDocument().getDocumentTypeId());
    DocumentActionParameters parameters = DocumentActionParameters.create(documentForm.getDocId(), GlobalVariables.getUserSession().getPrincipalId(), documentForm.getSuperUserAnnotation());
    documentActions.superUserDisapprove(parameters, true);
    GlobalVariables.getMessageMap().putInfo("document", "general.routing.superuser.disapproved", documentForm.getDocId());
    documentForm.setSuperUserAnnotation("");
    return mapping.findForward(RiceConstants.MAPPING_BASIC);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:21,代码来源:KualiDocumentActionBase.java


示例3: superUserApprove

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward superUserApprove(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
    KualiDocumentFormBase documentForm = (KualiDocumentFormBase)form;
    if(StringUtils.isBlank(documentForm.getSuperUserAnnotation())) {
        GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.approve.annotation.missing", "");
        return mapping.findForward(RiceConstants.MAPPING_BASIC);
    } else if (!documentForm.getSelectedActionRequests().isEmpty()) {
        GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.approve.when.actions.checked", "");
        return mapping.findForward(RiceConstants.MAPPING_BASIC);
    } else if (!documentForm.isStateAllowsApproveOrDisapprove()) {
        GlobalVariables.getMessageMap().putErrorForSectionId("superuser.errors", "superuser.approve.not.allowed", "");
        return mapping.findForward(RiceConstants.MAPPING_BASIC);
    }

    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentForm.getWorkflowDocument().getDocumentTypeId());
    DocumentActionParameters parameters = DocumentActionParameters.create(documentForm.getDocId(), GlobalVariables.getUserSession().getPrincipalId(), documentForm.getSuperUserAnnotation());
    documentActions.superUserBlanketApprove(parameters, true);
    GlobalVariables.getMessageMap().putInfo("document", "general.routing.superuser.approved", documentForm.getDocId());
    documentForm.setSuperUserAnnotation("");
    return mapping.findForward(RiceConstants.MAPPING_BASIC);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:21,代码来源:KualiDocumentActionBase.java


示例4: routeLevelApprove

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward routeLevelApprove(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOG.info("entering routeLevelApprove()...");
    SuperUserForm superUserForm = (SuperUserForm) form;
    String documentId = superUserForm.getRouteHeader().getDocumentId();
    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentId);
    DocumentActionParameters parameters = DocumentActionParameters.create(documentId, getUserSession(request)
            .getPrincipalId(), superUserForm.getAnnotation());

    documentActions.superUserNodeApprove(parameters, superUserForm.isRunPostProcessorLogic(),
            superUserForm.getDestNodeName());
    saveDocumentMessage("general.routing.superuser.routeLevelApproved", request, superUserForm.getDocumentId(),
            null);
    LOG.info("exiting routeLevelApprove()...");
    superUserForm.getActionRequests().clear();
    initForm(request, form);
    return defaultDispatch(mapping, form, request, response);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:19,代码来源:SuperUserAction.java


示例5: returnToPreviousNode

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward returnToPreviousNode(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOG.info("entering returnToPreviousNode() ...");
    SuperUserForm superUserForm = (SuperUserForm) form;
    String documentId = superUserForm.getRouteHeader().getDocumentId();
    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentId);
    DocumentActionParameters parameters = DocumentActionParameters.create(documentId, getUserSession(request)
            .getPrincipalId(), superUserForm.getAnnotation());
    documentActions.superUserReturnToPreviousNode(parameters, superUserForm.isRunPostProcessorLogic(),
            ReturnPoint.create(superUserForm.getReturnDestNodeName()));
    saveDocumentMessage("general.routing.returnedToPreviousNode", request, "document", superUserForm
            .getReturnDestNodeName().toString());
    LOG.info("exiting returnToPreviousRouteLevel() ...");
    superUserForm.getActionRequests().clear();
    initForm(request, form);
    return defaultDispatch(mapping, form, request, response);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:18,代码来源:SuperUserAction.java


示例6: getWorkflowDocumentActionsService

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public static WorkflowDocumentActionsService getWorkflowDocumentActionsService() {
    RunMode kewRunMode = RunMode.valueOf(ConfigContext.getCurrentContextConfig().getProperty(KEW_RUN_MODE_PROPERTY));
    if (kewRunMode == RunMode.REMOTE || kewRunMode == RunMode.THIN) {
        String standaloneApplicationId = ConfigContext.getCurrentContextConfig().getProperty(STANDALONE_APPLICATION_ID);
        return getWorkflowDocumentActionsService(standaloneApplicationId);
    } else { 
        return getService(WORKFLOW_DOCUMENT_ACTIONS_SERVICE);
    }
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:10,代码来源:KewApiServiceLocator.java


示例7: getWorkflowDocumentActionsService

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
private WorkflowDocumentActionsService getWorkflowDocumentActionsService(String documentTypeId) {
    DocumentType documentType = KewApiServiceLocator.getDocumentTypeService().getDocumentTypeById(documentTypeId);
    String applicationId = documentType.getApplicationId();
    QName serviceName = new QName(KewApiConstants.Namespaces.KEW_NAMESPACE_2_0,
            KewApiConstants.ServiceNames.WORKFLOW_DOCUMENT_ACTIONS_SERVICE_SOAP);
    WorkflowDocumentActionsService service = (WorkflowDocumentActionsService) KsbApiServiceLocator.getServiceBus()
            .getService(serviceName, applicationId);
    if (service == null) {
        service = KewApiServiceLocator.getWorkflowDocumentActionsService();
    }
    return service;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:13,代码来源:KualiDocumentActionBase.java


示例8: approve

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward approve(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOG.info("entering approve() ...");
    SuperUserForm superUserForm = (SuperUserForm) form;
    String documentId = superUserForm.getRouteHeader().getDocumentId();
    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentId);
    DocumentActionParameters parameters = DocumentActionParameters.create(documentId, getUserSession(request)
            .getPrincipalId(), superUserForm.getAnnotation());
    documentActions.superUserBlanketApprove(parameters, superUserForm.isRunPostProcessorLogic());
    saveDocumentMessage("general.routing.superuser.approved", request, superUserForm.getDocumentId(), null);
    LOG.info("exiting approve() ...");
    superUserForm.getActionRequests().clear();
    initForm(request, form);
    return defaultDispatch(mapping, form, request, response);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:16,代码来源:SuperUserAction.java


示例9: disapprove

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward disapprove(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOG.info("entering disapprove() ...");
    SuperUserForm superUserForm = (SuperUserForm) form;
    String documentId = superUserForm.getRouteHeader().getDocumentId();
    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentId);
    DocumentActionParameters parameters = DocumentActionParameters.create(documentId, getUserSession(request)
            .getPrincipalId(), superUserForm.getAnnotation());
    documentActions.superUserDisapprove(parameters, superUserForm.isRunPostProcessorLogic());
    saveDocumentMessage("general.routing.superuser.disapproved", request, superUserForm.getDocumentId(), null);
    LOG.info("exiting disapprove() ...");
    superUserForm.getActionRequests().clear();
    initForm(request, form);
    return defaultDispatch(mapping, form, request, response);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:16,代码来源:SuperUserAction.java


示例10: cancel

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
public ActionForward cancel(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOG.info("entering cancel() ...");
    SuperUserForm superUserForm = (SuperUserForm) form;
    String documentId = superUserForm.getRouteHeader().getDocumentId();
    WorkflowDocumentActionsService documentActions = getWorkflowDocumentActionsService(documentId);
    DocumentActionParameters parameters = DocumentActionParameters.create(documentId, getUserSession(request)
            .getPrincipalId(), superUserForm.getAnnotation());
    documentActions.superUserCancel(parameters, superUserForm.isRunPostProcessorLogic());
    saveDocumentMessage("general.routing.superuser.canceled", request, superUserForm.getDocumentId(), null);
    LOG.info("exiting cancel() ...");
    superUserForm.getActionRequests().clear();
    initForm(request, form);
    return defaultDispatch(mapping, form, request, response);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:16,代码来源:SuperUserAction.java


示例11: getWorkflowDocumentActionsService

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
private WorkflowDocumentActionsService getWorkflowDocumentActionsService(String documentId) {
    DocumentType documentType = KEWServiceLocator.getDocumentTypeService().findByDocumentId(documentId);
    String applicationId = documentType.getApplicationId();
    QName serviceName = new QName(KewApiConstants.Namespaces.KEW_NAMESPACE_2_0,
            KewApiConstants.ServiceNames.WORKFLOW_DOCUMENT_ACTIONS_SERVICE_SOAP);
    WorkflowDocumentActionsService service = (WorkflowDocumentActionsService) KsbApiServiceLocator.getServiceBus()
            .getService(serviceName, applicationId);
    if (service == null) {
        service = KewApiServiceLocator.getWorkflowDocumentActionsService();
    }
    return service;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:13,代码来源:SuperUserAction.java


示例12: testIsUserInRouteLog

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
@Test
public void testIsUserInRouteLog() throws Exception {
    WorkflowDocument document = WorkflowDocumentFactory.createDocument(getPrincipalIdForName("ewestfal"), SeqSetup.DOCUMENT_TYPE_NAME);
    document.route("");
    assertTrue(document.isEnroute());
    WorkflowDocumentActionsService wdas = KewApiServiceLocator.getWorkflowDocumentActionsService();
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("ewestfal"), false));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("bmcgough"), false));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("rkirkend"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("pmckown"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("temay"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("jhopf"), false));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("pmckown"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("temay"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("jhopf"), true));

    // test that we can run isUserInRouteLog on a SAVED document
    document = WorkflowDocumentFactory.createDocument(getPrincipalIdForName("ewestfal"), SeqSetup.DOCUMENT_TYPE_NAME);
    document.saveDocument("");
    assertTrue(document.isSaved());
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("ewestfal"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("bmcgough"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("rkirkend"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("pmckown"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("temay"), false));
    assertFalse("User should not be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("jhopf"), false));

    // now look all up in the future of this saved document
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("bmcgough"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("rkirkend"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("pmckown"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("temay"), true));
    assertTrue("User should be authenticated.", wdas.isUserInRouteLog(document.getDocumentId(), getPrincipalIdForName("jhopf"), true));
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:35,代码来源:WorkflowUtilityTest.java


示例13: testRoutingReportOnDocumentType

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
@Test public void testRoutingReportOnDocumentType() throws Exception {
      RoutingReportCriteria.Builder criteria = RoutingReportCriteria.Builder.createByDocumentTypeName("SeqDocType");
  	criteria.setRuleTemplateNames(Collections.singletonList("WorkflowDocumentTemplate"));
      WorkflowDocumentActionsService wdas = KewApiServiceLocator.getWorkflowDocumentActionsService();
  	DocumentDetail documentDetail = wdas.executeSimulation(criteria.build());
  	assertNotNull(documentDetail);
  	assertEquals("Should have been 2 requests generated.", 2, documentDetail.getActionRequests().size());

  	// let's try doing both WorkflowDocumentTemplate and WorkflowDocumentTemplate2 together
  	criteria.setRuleTemplateNames(Arrays.asList(new String[] {"WorkflowDocumentTemplate", "WorkflowDocument2Template"}));
  	documentDetail = wdas.executeSimulation(criteria.build());
  	assertEquals("Should have been 3 requests generated.", 3, documentDetail.getActionRequests().size());

  	boolean foundRkirkend = false;
  	boolean foundBmcgough = false;
  	boolean foundPmckown = false;
  	for (ActionRequest actionRequest : documentDetail.getActionRequests()) {
	String netId = getPrincipalNameForId(actionRequest.getPrincipalId());
	if (netId.equals("rkirkend")) {
		foundRkirkend = true;
		assertEquals(SeqSetup.WORKFLOW_DOCUMENT_NODE, actionRequest.getNodeName());
	} else if (netId.equals("bmcgough")) {
		foundBmcgough = true;
		assertEquals(SeqSetup.WORKFLOW_DOCUMENT_NODE, actionRequest.getNodeName());
	} else if (netId.equals("pmckown")) {
		foundPmckown = true;
		assertEquals(SeqSetup.WORKFLOW_DOCUMENT_2_NODE, actionRequest.getNodeName());
	}
}
  	assertTrue("Did not find request for rkirkend", foundRkirkend);
  	assertTrue("Did not find request for bmcgough", foundBmcgough);
  	assertTrue("Did not find request for pmckown", foundPmckown);

  }
 
开发者ID:kuali,项目名称:kc-rice,代码行数:35,代码来源:WorkflowUtilityTest.java


示例14: testRoutingReportOnDocumentId

import org.kuali.rice.kew.api.action.WorkflowDocumentActionsService; //导入依赖的package包/类
@Test public void testRoutingReportOnDocumentId() throws Exception {
    WorkflowDocument doc = WorkflowDocumentFactory.createDocument(getPrincipalIdForName("user1"), "SeqDocType");

    WorkflowDocumentActionsService wdas = KewApiServiceLocator.getWorkflowDocumentActionsService();
    RoutingReportCriteria.Builder criteria = RoutingReportCriteria.Builder.createByDocumentId(doc.getDocumentId());
    criteria.setRuleTemplateNames(Collections.singletonList("WorkflowDocumentTemplate"));
    DocumentDetail documentDetail = wdas.executeSimulation(criteria.build());
    assertNotNull(documentDetail);
    assertEquals("Document id returned should be the same as the one passed in", doc.getDocumentId(),
            documentDetail.getDocument().getDocumentId());
    assertEquals("Wrong number of action requests generated", 2, documentDetail.getActionRequests().size());

    // let's try doing both WorkflowDocumentTemplate and WorkflowDocumentTemplate2 together
    criteria.setRuleTemplateNames(Arrays.asList(new String[] { "WorkflowDocumentTemplate", "WorkflowDocument2Template" }));
    documentDetail = wdas.executeSimulation(criteria.build());
    assertEquals("Should have been 3 requests generated.", 3, documentDetail.getActionRequests().size());

    boolean foundRkirkend = false;
    boolean foundBmcgough = false;
    boolean foundPmckown = false;
    for (ActionRequest actionRequest : documentDetail.getActionRequests()) {
        String netId = getPrincipalNameForId(actionRequest.getPrincipalId());
        if (netId.equals("rkirkend")) {
            foundRkirkend = true;
            assertEquals(SeqSetup.WORKFLOW_DOCUMENT_NODE, actionRequest.getNodeName());
        } else if (netId.equals("bmcgough")) {
            foundBmcgough = true;
            assertEquals(SeqSetup.WORKFLOW_DOCUMENT_NODE, actionRequest.getNodeName());
        } else if (netId.equals("pmckown")) {
            foundPmckown = true;
            assertEquals(SeqSetup.WORKFLOW_DOCUMENT_2_NODE, actionRequest.getNodeName());
        }
    }
    assertTrue("Did not find request for rkirkend", foundRkirkend);
    assertTrue("Did not find request for bmcgough", foundBmcgough);
    assertTrue("Did not find request for pmckown", foundPmckown);

}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:39,代码来源:WorkflowUtilityTest.java



注:本文中的org.kuali.rice.kew.api.action.WorkflowDocumentActionsService类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MetricId类代码示例发布时间:2022-05-22
下一篇:
Java AndroidEventListener类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap