| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.common.constant.ResponseConstant; |
| | | import com.java110.common.exception.BusinessException; |
| | | import com.java110.common.exception.InitConfigDataException; |
| | | import com.java110.common.exception.InitDataFlowContextException; |
| | | import com.java110.core.base.controller.BaseController; |
| | | import com.java110.core.context.BusinessServiceDataFlow; |
| | | import com.java110.core.factory.DataTransactionFactory; |
| | | import com.java110.core.base.controller.BaseController; |
| | | import com.java110.user.smo.IUserServiceSMO; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | @RestController |
| | | public class UserApi extends BaseController { |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(UserApi.class); |
| | | private static Logger logger = LoggerFactory.getLogger(UserApi.class); |
| | | |
| | | @Autowired |
| | | IUserServiceSMO userServiceSMOImpl; |
| | | |
| | | @RequestMapping(path = "/userApi/service",method= RequestMethod.GET) |
| | | /** |
| | | * |
| | | * @param request 页面信息封装 |
| | | * @return |
| | | */ |
| | | @RequestMapping(path = "/userApi/service", method = RequestMethod.GET) |
| | | public String serviceGet(HttpServletRequest request) { |
| | | return DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_ERROR,"不支持Get方法请求").toJSONString(); |
| | | return DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_ERROR, "不支持Get方法请求").toJSONString(); |
| | | } |
| | | |
| | | /** |
| | | * 用户服务统一处理接口 |
| | | * |
| | | * @param orderInfo |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping(path = "/userApi/service",method= RequestMethod.POST) |
| | | @RequestMapping(path = "/userApi/service", method = RequestMethod.POST) |
| | | public String servicePost(@RequestBody String orderInfo, HttpServletRequest request) { |
| | | BusinessServiceDataFlow businessServiceDataFlow = null; |
| | | JSONObject responseJson = null; |
| | |
| | | preValiateOrderInfo(orderInfo); |
| | | businessServiceDataFlow = this.writeDataToDataFlowContext(orderInfo, headers); |
| | | responseJson = userServiceSMOImpl.service(businessServiceDataFlow); |
| | | }catch (InitDataFlowContextException e){ |
| | | logger.error("请求报文错误,初始化 BusinessServiceDataFlow失败"+orderInfo,e); |
| | | responseJson = DataTransactionFactory.createNoBusinessTypeBusinessResponseJson(orderInfo,ResponseConstant.RESULT_PARAM_ERROR,e.getMessage(),null); |
| | | }catch (InitConfigDataException e){ |
| | | logger.error("请求报文错误,加载配置信息失败"+orderInfo,e); |
| | | responseJson = DataTransactionFactory.createNoBusinessTypeBusinessResponseJson(orderInfo,ResponseConstant.RESULT_PARAM_ERROR,e.getMessage(),null); |
| | | }catch (Exception e){ |
| | | logger.error("请求订单异常",e); |
| | | responseJson = DataTransactionFactory.createBusinessResponseJson(businessServiceDataFlow,ResponseConstant.RESULT_CODE_ERROR,e.getMessage()+e, |
| | | } catch (InitDataFlowContextException e) { |
| | | logger.error("请求报文错误,初始化 BusinessServiceDataFlow失败" + orderInfo, e); |
| | | responseJson = DataTransactionFactory.createNoBusinessTypeBusinessResponseJson(orderInfo, ResponseConstant.RESULT_PARAM_ERROR, e.getMessage(), null); |
| | | } catch (InitConfigDataException e) { |
| | | logger.error("请求报文错误,加载配置信息失败" + orderInfo, e); |
| | | responseJson = DataTransactionFactory.createNoBusinessTypeBusinessResponseJson(orderInfo, ResponseConstant.RESULT_PARAM_ERROR, e.getMessage(), null); |
| | | } catch (Exception e) { |
| | | logger.error("请求订单异常", e); |
| | | responseJson = DataTransactionFactory.createBusinessResponseJson(businessServiceDataFlow, ResponseConstant.RESULT_CODE_ERROR, e.getMessage() + e, |
| | | null); |
| | | }finally { |
| | | } finally { |
| | | return responseJson.toJSONString(); |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * 这里预校验,请求报文中不能有 dataFlowId |
| | | * |
| | | * @param orderInfo |
| | | */ |
| | | private void preValiateOrderInfo(String orderInfo) { |
| | |
| | | |
| | | /** |
| | | * 获取请求信息 |
| | | * |
| | | * @param request |
| | | * @param headers |
| | | * @throws RuntimeException |
| | | */ |
| | | private void getRequestInfo(HttpServletRequest request,Map headers) throws Exception{ |
| | | try{ |
| | | super.initHeadParam(request,headers); |
| | | super.initUrlParam(request,headers); |
| | | }catch (Exception e){ |
| | | logger.error("加载头信息失败",e); |
| | | throw new InitConfigDataException(ResponseConstant.RESULT_PARAM_ERROR,"加载头信息失败"); |
| | | private void getRequestInfo(HttpServletRequest request, Map headers) throws Exception { |
| | | try { |
| | | super.initHeadParam(request, headers); |
| | | super.initUrlParam(request, headers); |
| | | } catch (Exception e) { |
| | | logger.error("加载头信息失败", e); |
| | | throw new InitConfigDataException(ResponseConstant.RESULT_PARAM_ERROR, "加载头信息失败"); |
| | | } |
| | | } |
| | | |