⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicemgr.java

📁 一个手机站点采用WML 等编写开发,具体可以看代码,比较简单
💻 JAVA
字号:
//Source file: D:\\WORK\\1G项目实践\\WSMS\\CI\\CODE\\src\\com\\intacpurun\\wsms\\srvclogic\\ServiceMgr.java

package com.intacpurun.wsms.srvclogic;

import java.sql.*;
import java.util.*;

import com.intacpurun.wsms.comm.*;
import com.intacpurun.wsms.comm.db.*;
import com.intacpurun.wsms.comm.vo.*;

/**
 * 短信业务管理
 */
public class ServiceMgr
{

  /**
   * @roseuid 44D017A400AB
   */
  public ServiceMgr()
  {

  }

  /**
   * 获得短信业务信息
   * @param serviceId
   * @return com.intacpurun.wsms.comm.vo.ServiceVo
   * @roseuid 44CEAF8703C8
   */
  public static ServiceVo getServiceInfo(int serviceId)
  {

    String sql = "select serviceid,name,priceinfo,servicedesc,freqdesc,example " +
                 "from serviceinfo " +
                 "where serviceid = " + serviceId;

    ServiceVo serviceVo = new ServiceVo();

    DbUtil db = DbUtil.open();
    ResultSet rs = db.executeQuery(sql);

    try
    {
      if (rs.next())
      {
        serviceVo.setServiceId(rs.getInt("serviceid"));
        serviceVo.setName(rs.getString("name"));
        serviceVo.setPriceInfo(rs.getString("priceinfo"));
        serviceVo.setDesc(rs.getString("servicedesc"));
        serviceVo.setFreqDesc(rs.getString("freqdesc"));
        serviceVo.setExample(rs.getString("example"));
      }
    } catch (Exception ex)
    {
      System.out.println(ex);
      ex.printStackTrace();
    } finally
    {
      db.close();
    }

    return serviceVo;
  }

  /**
   * 获得定购确认码
   * @return String
   * @roseuid 44CEB78701B5
   */
  public static String getConfirmCode()
  {
    Random rand = new Random();
    int temp = rand.nextInt(100000);

    return String.valueOf(temp);
  }

  /**
   * 生成用户定购关系,判断定购业务是否为天气预报,对对象进行塑形
   * @param addProvisionVo
   * @return boolean
   * @roseuid 44CEBCFB002E
   */
  public static boolean provision(AddProvisionVo addProvisionVo)
  {
    boolean isSuccess = false;
    /*** 天气预报业务判断处理开始 ***/
    AddForecastProvisionVo addForecastProvisionVo;

    int serviceId = addProvisionVo.getServiceId();
    if (serviceId == Constants.SERVICE_WEATHER_FORECAST_ID)
    {
      //天气预报业务订购处理
      addForecastProvisionVo = (AddForecastProvisionVo) addProvisionVo;
      isSuccess = provisionForecast(addForecastProvisionVo);
    } else
    {
      //普通业务订购处理
      String sql =
          "insert into provision(" +
          "provisionid,serviceid,usermsisdn,provisiontime) " +
          "values(s_provisionid.nextval," + addProvisionVo.getServiceId() +
          ",'" + addProvisionVo.getUserMsisdn() + "',sysdate)";

      DbUtil db = DbUtil.open();
      int insertRet = db.executeUpdate(sql);
      if (insertRet >= 0)
        isSuccess = true;
      else
        isSuccess = false;

      db.close();
    }

    return isSuccess;
  }

  /**
   * 生成天气预报业务订购关系
   * @param addForecastProvisionVo AddForecastProvisionVo
   * @return boolean
   */
  private static boolean provisionForecast(AddForecastProvisionVo
                                           addForecastProvisionVo)
  {
    boolean isSuccess = false;
    //获得订购标识
    int provisionId = getProvisionId();
    if (provisionId <= 0)
    {
      System.out.println("error happend  when getting provision ID from database!");
      System.out.println("provision defeated!");
      return false;
    }

    String provisionSql =
        "insert into provision(" +
        "provisionid,serviceid,usermsisdn,provisiontime) " +
        "values(" + provisionId + "," + addForecastProvisionVo.getServiceId() +
        ",'" + addForecastProvisionVo.getUserMsisdn() + "',sysdate)";

    String addCitySql =
        "insert into forecastcity(provisionid,cityid) " +
        "values(" + provisionId + ",'" +
        addForecastProvisionVo.getCityId() + "')";

    DbUtil db1 = DbUtil.open();
    DbUtil db2 = DbUtil.open();

//    db1.setAutoCommitFalse();
//    db2.setAutoCommitFalse();

    int ret1 = db1.executeUpdate(provisionSql);
    int ret2 = db2.executeUpdate(addCitySql);

    if ((ret1 != -1) && (ret2 != -1))
    {
//      db1.commit();
//      db2.commit();

      isSuccess = true;
    } else
      return false;
//    } else
//    {
//      db1.rollBack();
//      db2.rollBack();

//      isSuccess = false;
//    }

    db1.close();
    db2.close();

    return isSuccess;
  }

  /**
   * 判断用户手否已经订购该业务
   * @param msisdn String 用户电话号码
   * @param serviceId String 用户订购业务的编号
   * @return boolean
   */
  public static boolean isProvision(String msisdn,String serviceId)
  {
    boolean isProvision = false;

    String sql =
      "select count(1) " +
      "from provision "+
      "where serviceid =" + serviceId + " "+
      "and usermsisdn ='"+ msisdn +"'";

    DbUtil db = DbUtil.open();

    ResultSet  rs = db.executeQuery(sql);

    try
    {
      if (rs.next())
      {
        int count = rs.getInt(1);
        if (count > 0)
        {
          isProvision = true;
        } else
        {
          isProvision = false;
        }
      }//end if rs.next
    } catch (Exception ex)
    {
      System.out.println(ex);
      ex.printStackTrace();
    }finally
    {
      db.close();
    }

    return isProvision;
  }

  /**
   * 获得订购编号,当取值出错时,返回-1
   * @return int
   */
  private static int getProvisionId()
  {
    int provisionId = 0;
    String sql = "select s_provisionid.nextval from dual";

    DbUtil db = DbUtil.open();
    ResultSet rs = db.executeQuery(sql);

    try
    {
      if (rs.next())
      {
        provisionId = rs.getInt(1);
      }
    } catch (Exception e)
    {
      System.out.println(e);
      e.printStackTrace();

      provisionId = -1;
    } finally
    {
      db.close();
    }

    return provisionId;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -