package com.java110.core.context; import com.alibaba.fastjson.JSONObject; import com.java110.utils.constant.CommonConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.DateUtil; import com.java110.utils.util.StringUtil; import org.springframework.http.ResponseEntity; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; /** * Cmd上下文实现 * Created by wuxw on 2018/4/13. */ public class CmdDataFlow extends AbstractCmdDataFlowContext { public CmdDataFlow() { } public CmdDataFlow(Date startDate, String code) { super(startDate, code); } private String serviceCode; //rest 返回对象 private ResponseEntity responseEntity; /** * 构建 OrderDataFlow 对象 * * @param reqInfo * @param headerAll * @return * @throws Exception */ public CmdDataFlow doBuilder(String reqInfo, Map headerAll) throws Exception { String serviceCode = headerAll.get(CommonConstant.HTTP_SERVICE); Assert.hasLength(serviceCode, "未包含服务编码"); this.setDataFlowId(UUID.randomUUID().toString().replace("-", "").toLowerCase()); if (StringUtil.isJsonObject(reqInfo)) { //赋值请求报文 this.setReqJson(JSONObject.parseObject(reqInfo)); } else { this.setReqJson(new JSONObject()); } this.setReqData(reqInfo); this.setServiceCode(serviceCode); //赋值 请求头信息 this.setReqHeaders(headerAll); //构建返回头 builderResHeaders(); return this; } /** * 构建返回头信息 */ private void builderResHeaders() { Map tmpResHeaders = new HashMap(); tmpResHeaders.put(CommonConstant.HTTP_TRANSACTION_ID, this.getReqHeaders().get(CommonConstant.HTTP_TRANSACTION_ID)); tmpResHeaders.put(CommonConstant.HTTP_RES_TIME, DateUtil.getyyyyMMddhhmmssDateString()); this.setResHeaders(tmpResHeaders); } @Override public String getServiceCode() { return serviceCode; } public void setServiceCode(String serviceCode) { this.serviceCode = serviceCode; } public ResponseEntity getResponseEntity() { return responseEntity; } public void setResponseEntity(ResponseEntity responseEntity) { this.responseEntity = responseEntity; } }