package com.mossle.audit.rs; import java.text.SimpleDateFormat; import java.util.Date; import javax.annotation.Resource; import javax.ws.rs.FormParam; import javax.ws.rs.POST; import javax.ws.rs.Path; import com.mossle.api.audit.AuditDTO; import com.mossle.audit.component.AuditQueue; import com.mossle.core.util.BaseDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component @Path("audit") public class AuditResource { private static Logger logger = LoggerFactory.getLogger(AuditResource.class); private AuditQueue auditQueue; @POST public BaseDTO log(@FormParam("userId") String userId, @FormParam("resourceType") String resourceType, @FormParam("resourceId") String resourceId, @FormParam("action") String action, @FormParam("result") String result, @FormParam("application") String application, @FormParam("auditTime") String auditTime, @FormParam("client") String client, @FormParam("server") String server, @FormParam("description") String description) { Date date = new Date(); try { date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S") .parse(auditTime); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } AuditDTO auditDto = new AuditDTO(); auditDto.setUserId(userId); auditDto.setResourceType(resourceType); auditDto.setResourceId(resourceId); auditDto.setAction(action); auditDto.setResult(result); auditDto.setApplication(application); auditDto.setAuditTime(date); auditDto.setClient(client); auditDto.setServer(server); auditDto.setDescription(description); BaseDTO baseDto = new BaseDTO(); try { auditQueue.add(auditDto); baseDto.setCode(200); } catch (Exception ex) { logger.error(ex.getMessage(), ex); baseDto.setCode(500); baseDto.setMessage(ex.getMessage()); } return baseDto; } @Resource public void setAuditQueue(AuditQueue auditQueue) { this.auditQueue = auditQueue; } }