package com.lyms.hospital.controller; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSONObject; import com.lyms.spring.PropertiesUtil; import com.lyms.sync.data.constants.SyncStatus; import com.lyms.sync.data.service.SyncDataBasicService; import com.lyms.web.controller.BaseController; @RestController @RequestMapping(value = "/sync", method = RequestMethod.POST) public class CenterCallHospitalController extends BaseController { private static Logger log = LoggerFactory.getLogger(CenterCallHospitalController.class); private static final String ALLOW_IP = PropertiesUtil.getString("sync_allow_ip"); @Autowired private SyncDataBasicService syncDataBasicService; @ResponseBody @RequestMapping(value = "/getNeedSyncData", method = RequestMethod.POST) public String getNeedSyncData(HttpServletRequest request) { if (isAllow(request)) { return getMsg(SyncStatus.SUCCESS,syncDataBasicService.getNeedSyncData()); }else{ return getMsg(SyncStatus.NOTALLOW); } } private boolean isAllow(HttpServletRequest request){ String ip = getHost(request); if (ip.equalsIgnoreCase(ALLOW_IP)) { return true; } log.info("不是受理允许的ip【{}】地址请求基础数据同步!", ip); return false; } /** *
  • @Description:组装json字符串 *
  • @param status *
  • @param dataObj *
  • @return *
  • 创建人:方承 *
  • 创建时间:2017年3月13日 *
  • 修改人: *
  • 修改时间: */ private String getMsg(SyncStatus status,Object ...dataObj){ JSONObject json = new JSONObject(); json.put("state", status); if(status.equals(SyncStatus.NOTALLOW)){ json.put("data", "没有被授权的请求,您的所有信息已经保存,如果您再视图访问,本公司将保留追究法律责任的权利!"); }else{ json.put("data", JSONObject.toJSONString(dataObj)); } return json.toJSONString(); } }