Пример #1
0
 /**
  * 更具订单id和用户id查询订单的详细信息 包括实名认证信息和发票信息<br>
  *
  * @author 冯鑫 <br>
  *     2014-4-22
  * @update 侯杨
  * @param orderId 订单id 必须不为空 userId 当前登录用户id 必须不为空
  * @return OrderData
  */
 public OrderData findAllOrderDatebyOrderId(String orderId) {
   OrderData orderData = orderPersistence.retrieve(orderId); // 订单的信息
   BusinessUserData bUserData = getBuserByOrderId(orderId); // 根据订单id查询认证信息
   List<OrderProductData> orderProductDatas = getOPsByOrderId(orderId); // 根据订单id查询订单服务中间表信息
   // 不是官方发布权限
   if (orderProductDatas.get(0).getPageId() != null
       && !"".equals(orderProductDatas.get(0).getPageId())) {
     // 查询page表
     PageData pageData = pagePersistence.retrieve(orderProductDatas.get(0).getPageId());
     // 查询page域名信息
     PageInfoExtraData pageInfoExtraData = new PageInfoExtraData();
     pageInfoExtraData.setType("2");
     pageInfoExtraData.setPageId(pageData.getId());
     pageInfoExtraData = pageInfoExtraPersistence.searchByPageInfoExtraData(pageInfoExtraData);
     pageData.setPageInfoExtra(pageInfoExtraData);
     orderData.setPageData(pageData);
   }
   orderData.setBusinessUserData(bUserData);
   orderData.setOrderProductDatas(orderProductDatas);
   if (null != orderData
       && orderData.getInvoiceId() != null
       && !"".equals(orderData.getInvoiceId())) {
     InvoiceData invoiceData = invoicePersistence.retrieve(orderData.getInvoiceId());
     orderData.setInvoiceData(invoiceData);
   }
   return orderData;
 }
Пример #2
0
  /**
   * 根据服务id和pageid 查询出订单id,查出订单是否存在(page编辑页面 服务)
   *
   * @author 侯杨
   * @date 2014-05-07
   * @param data
   * @return
   */
  public String getOrderState(OrderProductData data) {
    // 根据服务id 和pageid 查询订单服务中间表
    String msg = "0";
    String hql = "from OrderProductData op where op.pageId=? and op.productId= ?";
    OrderProductData orderProductData = null;
    List<OrderProductData> list = new ArrayList<OrderProductData>();
    if (data != null) {
      list =
          orderProductPersistence.search(hql, new Object[] {data.getPageId(), data.getProductId()});
      if (list.size() > 0) {
        orderProductData = list.get(0);
      }
    }
    // 如果查询的出来的订单服务中间表不为空,查询出订单信息,是否存在
    OrderData orderData = null;
    if (orderProductData != null) {
      orderData = orderPersistence.retrieve(orderProductData.getOrderId());
    }
    // 如果订单状态不存在,返回1,不然返回0
    if (orderData == null) {
      msg = "1";

    } else if (orderData.getState() == 3) { // 如果订单状态已付款且开通
      msg = "2";
    } else {
      msg = "0";
    }
    return msg;
  }
Пример #3
0
 /**
  * 根据订单id查询订单对象
  *
  * @param orderId
  * @return
  */
 @Override
 public OrderData retrieve(String orderId) {
   if (!"".equals(orderId) && orderId != null) { // id为空就返回空
     return orderPersistence.retrieve(orderId);
   } else {
     return null;
   }
 }
Пример #4
0
  /**
   * ** 运营人员后台根据查询条件和状态分页查询所有的订单
   *
   * @author dlm
   */
  @Override
  public List<OrderData> getAllOrderData(PageRoll pageRoll, OrderData orderData) {

    List<OrderData> orderList = orderPersistence.getAllOrderData(pageRoll, orderData);
    for (OrderData data : orderList) { // 根据订单id来查询订单对应的中间表的数据集合
      List<OrderProductData> orderProductDatas = getOPsByOrderId(data.getId());
      data.setOrderProductDatas(orderProductDatas);
    }
    return orderList;
  }
Пример #5
0
 /** 生成订单,如果发票不为空 则添加发票 */
 @Override
 public void addOrder(OrderData orderData) {
   if (orderData.getInvoiceData() != null) { // 判断发票信息是否为空
     InvoiceData data = orderData.getInvoiceData();
     data.setCreateTime(new Date());
     data.setInvoiceContent(0); // 服务费:0
     data.setCreateTime(new Date()); // 创建时间
     data.setUserId(orderData.getSysUserId()); // 用户id
     invoicePersistence.add(data); // 添加发票数据到数据库
     orderData.setInvoiceId(data.getId()); // 把发票信息的主键添加到订单表里面
   }
   orderPersistence.add(orderData);
 }
Пример #6
0
  /**
   * 查看page在订单里面的订单里面所有未付款的订单的中间表的集合(0,1) dlm
   *
   * @param pageid
   * @return
   */
  public List<OrderProductData> getOrdersByPage(String pageid) {

    String ordproHql = " from OrderProductData op where op.pageId=? "; // 先查询中间表
    List<OrderProductData> oplist1 = new ArrayList<OrderProductData>();
    List<OrderProductData> oplist =
        orderProductPersistence.search(ordproHql, new Object[] {pageid});
    if (oplist != null && oplist.size() > 0) {
      for (OrderProductData data : oplist) { // 根据中间表查询订单表
        String orderHql = " from OrderData o WHERE o.id=? and o.state in(0,1) ";
        List<OrderData> olist = orderPersistence.search(orderHql, new Object[] {data.getOrderId()});
        if (olist != null && olist.size() > 0) {
          oplist1.add(data);
        }
      }
    }
    return oplist1;
  }
Пример #7
0
 @Override
 public List<OrderData> getOrderData(OrderData orderData) {
   // 订单集合
   List<OrderData> orderDatas = new ArrayList<OrderData>();
   // 定义hql查询语句
   StringBuffer hql = new StringBuffer("from OrderData od where 1=1");
   // 定义参数集合
   List<Object> objects = new ArrayList<Object>();
   if (orderData != null
       && orderData.getSysUserId() != null
       && !"".equals(orderData.getSysUserId())) {
     hql.append(" and od.sysUserId = ?");
     objects.add(orderData.getSysUserId());
   }
   if (orderData != null && !"".equals(orderData.getId()) && null != orderData.getId()) {
     hql.append(" and od.id = ?");
     objects.add(orderData.getId());
   }
   orderDatas = orderPersistence.search(hql.toString(), objects);
   return orderDatas;
 }
Пример #8
0
 @Override
 public void editOrder(OrderData OrderData) {
   orderPersistence.editOrder(OrderData);
 }
Пример #9
0
 @Override
 public void deleteOrder(String[] ids) {
   orderPersistence.deleteOrder(ids);
 }
Пример #10
0
 /**
  * 删除已经完成订单,物理删除,包括订单表以及订单服务中间表<br>
  *
  * @author 冯鑫 <br>
  *     2014-5-6
  * @update
  * @param OrderData orderData
  */
 public void deleteOnlyOrderByID(OrderData orderData) {
   orderPersistence.deleteOrder(new String[] {orderData.getId()});
 }
Пример #11
0
 /**
  * ** 根据订单id和状态值来该变订单的状态(线下付款变为已付款)
  *
  * @author dlm
  */
 @Override
 public void updateOrderState(OrderData orderData) {
   orderPersistence.editOrder(orderData); // 更新状态值
 }
Пример #12
0
 @Override
 public String queryProductIdByUserId(String userId) {
   return orderPersistence.queryProductIdByUserId(userId);
 }
Пример #13
0
  /**
   * 在支付订单的时候,如果是,更新或者增加
   *
   * @author HY
   * @date 2014-3-24
   * @param data
   * @param userId
   */
  @Override
  public void updateOrderUserInfo(String userId, String orderId) {

    OrderData orderData = null; // 订单实体
    List<PageProductData> pageProductDatas = null; // page服务中间表集合
    ProductData productData = null; // 服务实体
    UserInfoData userInfo = null; // 用户信息实体
    List<UserInfoData> infoDatas = null; // 用户信息集合
    List<OrderProductData> orderProductDatas = null; // 订单服务中间表
    Integer num = 0; // 数量
    // 如果userid不为空 查询出订单实体
    if (orderId != null && !"".equals(orderId)) {
      orderData = orderPersistence.retrieve(orderId);
    }
    /* 如果订单实体不为空查询出page服务中间表 */
    if (orderData != null) {
      String hql = "from PageProductData p where p.id = ?";
      pageProductDatas =
          pageProductPersistence.search(hql, new Object[] {orderData.getPageProductId()});
      /* 查询订单服务集合 为了取出数量 */
      String opHql = "from OrderProductData op where op.orderId = ?";
      orderProductDatas = orderProductPersistence.search(opHql, new Object[] {orderId});
      if (pageProductDatas != null && pageProductDatas.size() > 0) {
        for (int i = 0; i < pageProductDatas.size(); i++) {
          // 如果服务id不为空 查询出服务
          if (pageProductDatas.get(i).getProductId() != null
              && !"".equals(pageProductDatas.get(i).getProductId())) {
            productData = productPersistence.retrieve(pageProductDatas.get(i).getProductId());
            /* 如果查询出来的服务 名称是 “官方发布权限” 且sign是1 就执行以下操作 */
            if ("官方发布权限".equals(productData.getName()) && "1".equals(productData.getSign())) {

              if (userId != null && !"".equals(userId)) {
                String userHql = "from UserInfoData us where us.userId = ?";
                infoDatas = userInfoDataPersistence.search(userHql, new Object[] {userId});
                // 如果他们的id 相等 取出数量
                for (int j = 0; j < orderProductDatas.size(); j++) {
                  if (orderProductDatas.get(i).getProductId().equals(productData.getId())) {
                    num = orderProductDatas.get(i).getAmount();
                  }
                }
                // 数据不存在 增加
                if (infoDatas.size() == 0) {
                  UserInfoData userInfoData = new UserInfoData();
                  userInfoData.setUserId(userId); // userId
                  userInfoData.setPayPrivilege(num); // 付费的权限数量

                  // 赋初值
                  userInfoData.setAlreadyPayPrivilege(0); // 已使用的付费权限
                  userInfoData.setAlreadyTryPrivilege(0);
                  userInfoData.setAlreadyUpgrade(0);
                  userInfoData.setGiveNum(0);
                  userInfoData.setOverduePrivilege(0);
                  userInfoData.setRenew(0);
                  userInfoData.setTryPrivilege(0);
                  userInfoDataPersistence.add(userInfoData);
                } else if (infoDatas != null && infoDatas.size() > 0) { // 存在 修改
                  userInfo = infoDatas.get(0);

                  JdbcDao dao = (JdbcDao) SpringContextHelper.getBean("jdbc"); // 执行sql语句进行数据库查询
                  String sql =
                      "update mini_user_info us set us.payprivilege=us.payprivilege+"
                          + num
                          + ""
                          + " "
                          + "where us.id = '"
                          + userInfo.getId()
                          + "' ";
                  dao.executeSQL(sql);
                }
              }
            }
          }
        }
      }
    }
  }
Пример #14
0
 @Override
 public List<OrderData> getOrderData(JSONObject json) {
   return orderPersistence.getOrderData(json);
 }