c9d3fd2641c6ad8ff6c614a197fdb22ba5540da7.svn-base 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.chinacreator.process.util;
  2. import java.sql.SQLException;
  3. import java.util.Map;
  4. import org.apache.commons.lang.StringUtils;
  5. import org.apache.commons.lang.math.NumberUtils;
  6. import com.chinacreator.common.exception.BusinessException;
  7. import com.chinacreator.process.bean.ECBBean;
  8. import com.chinacreator.process.dao.DictionaryDao;
  9. import com.chinacreator.process.dao.EcbConfigDao;
  10. import com.chinacreator.process.dao.WhiteDao;
  11. public class EcbUtils {
  12. public static void queryEcb(String cpid,String spid,String province,String userid) throws SQLException, BusinessException{
  13. EcbConfigDao ecbConfigDao = SpringUtils.getBean(EcbConfigDao.class);
  14. ECBBean ecbbean = ecbConfigDao.queryConfig(spid, cpid, province);
  15. WhiteDao whiteDao = SpringUtils.getBean(WhiteDao.class);
  16. if(ecbbean != null && ecbbean.getStatus() == 0 && !whiteDao.isWhiteUser(userid, cpid)) {
  17. String result = null;
  18. try {
  19. DictionaryDao dictionaryDao = SpringUtils.getBean(DictionaryDao.class);
  20. result = URLUtil.get(
  21. dictionaryDao.getValue("ecbUrl") + "?userid=" + userid + "&cpid=" + cpid + "&spid=" + spid,
  22. NumberUtils.toInt(dictionaryDao.getValue("ecbTimeout")));
  23. } catch (Exception e) {
  24. throw new BusinessException("10005","三户查询异常或超时");
  25. }
  26. if (result == null) {
  27. throw new BusinessException("10006","三户查询结果返回异常");
  28. }
  29. Map<?,?> map = JsonUtil.jsonToMap(result);
  30. if ((!map.get("resultCode").toString().equals("0"))) {
  31. String errorInfo = "用户三户查询结果异常";
  32. throw new BusinessException(map.get("resultCode").toString(),errorInfo);
  33. }
  34. if(StringUtils.isNotEmpty(ecbbean.getLimit()) && map.get("pacakge") != null && StringUtils.isNotEmpty(map.get("pacakge").toString())) {
  35. String[] strLimt = ecbbean.getLimit().split("\\|\\|");
  36. if(strLimt != null && strLimt.length>0) {
  37. for (String string : strLimt) {
  38. if(map.get("pacakge").toString().contains(string.replaceAll("\\*", ""))) {
  39. throw new BusinessException("10004","三户套餐限制");
  40. }
  41. }
  42. }
  43. }
  44. }
  45. }
  46. }