ControlAction.java 2.2 KB
Newer Older
R
roo00 已提交
1
package com.x.processplatform.assemble.surface.jaxrs.control;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;

import com.x.base.core.project.annotation.JaxrsDescribe;
import com.x.base.core.project.annotation.JaxrsMethodDescribe;
import com.x.base.core.project.annotation.JaxrsParameterDescribe;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.http.HttpMediaType;
import com.x.base.core.project.jaxrs.ResponseFactory;
import com.x.base.core.project.jaxrs.StandardJaxrsAction;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;

Z
zhourui 已提交
25 26 27
import io.swagger.v3.oas.annotations.tags.Tag;

@Tag(name = "ControlAction", description = "权限接口.")
R
roo00 已提交
28
@Path("control")
Z
zhourui 已提交
29
@JaxrsDescribe("权限接口.")
R
roo00 已提交
30
public class ControlAction extends StandardJaxrsAction {
31

R
roo00 已提交
32
	private static Logger logger = LoggerFactory.getLogger(ControlAction.class);
33

R
roo00 已提交
34
	@JaxrsMethodDescribe(value = "根据工作或完成工作获取权限.", action = ActionGetWorkOrWorkCompleted.class)
35
	@GET
R
roo00 已提交
36
	@Path("workorworkcompleted/{workOrWorkCompleted}")
37 38 39
	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
	@Consumes(MediaType.APPLICATION_JSON)
	public void getWorkOrWorkCompleted(@Suspended final AsyncResponse asyncResponse,
R
roo00 已提交
40 41
			@Context HttpServletRequest request,
			@JaxrsParameterDescribe("工作或已完成工作标识") @PathParam("workOrWorkCompleted") String workOrWorkCompleted) {
42 43 44
		ActionResult<ActionGetWorkOrWorkCompleted.Wo> result = new ActionResult<>();
		EffectivePerson effectivePerson = this.effectivePerson(request);
		try {
R
roo00 已提交
45
			result = new ActionGetWorkOrWorkCompleted().execute(effectivePerson, workOrWorkCompleted);
46 47 48 49
		} catch (Exception e) {
			logger.error(e, effectivePerson, request, null);
			result.error(e);
		}
R
update  
roo00 已提交
50
		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
51 52 53
	}

}