Пример #1
0
 /**
  * 获得指定分类的模版消息
  */
 public function &byCatelog($catelogId, $eventName = null)
 {
     //
     $mappings = new \stdClass();
     //
     $fields = $eventName === null ? array('submit_order', 'pay_order', 'feedback_order') : array($eventName);
     $q = array(implode('_tmplmsg,', $fields) . '_tmplmsg', 'xxt_merchant_catelog', "id={$catelogId}");
     $catelog = $this->query_obj_ss($q);
     if ($catelog) {
         foreach ($fields as $eventName) {
             $mapping = \TMS_MODEL::M('matter\\tmplmsg')->mappingById($catelog->{$eventName . '_tmplmsg'});
             $mappings->{$eventName} = $mapping;
         }
     }
     return $mappings;
 }
Пример #2
0
 /**
  * 获得指定产品下符合条件的sku
  *
  * @param int $productId
  * @param array options
  *
  */
 public function &byProduct($productId, $options = array())
 {
     $fields = isset($options['fields']) ? $options['fields'] : 'id,cate_sku_id,icon_url,ori_price,price,product_code,unlimited_quantity,quantity,sku_value,validity_begin_at,validity_end_at,required';
     $beginAt = isset($options['beginAt']) ? $options['beginAt'] : 0;
     $endAt = isset($options['endAt']) ? $options['endAt'] : 0;
     $q = array($fields, 'xxt_merchant_product_sku', "prod_id={$productId}");
     /*根据sku的状态*/
     if (isset($options['state'])) {
         $state = $options['state'];
         isset($state['disabled']) && ($q[2] .= " and disabled='" . $state['disabled'] . "'");
         isset($state['active']) && ($q[2] .= " and active='" . $state['active'] . "'");
     }
     /*根据sku的有效期*/
     if ($beginAt || $endAt) {
         $q[2] .= " and (has_validity='N' or (has_validity>='Y'";
         $beginAt && ($q[2] .= " and validity_begin_at>={$beginAt}");
         $endAt && ($q[2] .= " and validity_begin_at<={$endAt}");
         $q[2] .= "))";
     }
     $q2 = array('o' => 'validity_begin_at');
     $skus = $this->query_objs_ss($q, $q2);
     /*sku的分类信息*/
     $cateSkus = array();
     if (!empty($skus)) {
         $modelCate = \TMS_MODEL::M('app\\merchant\\catelog');
         $cateSkuOptions = array('fields' => 'id,name,has_validity,require_pay');
         foreach ($skus as &$sku) {
             if (isset($cateSkus[$sku->cate_sku_id])) {
                 $cateSkus[$sku->cate_sku_id]->skus[] = $sku;
             } else {
                 $cateSku = $modelCate->skuById($sku->cate_sku_id, $cateSkuOptions);
                 $cateSku->skus = array($sku);
                 $cateSkus[$sku->cate_sku_id] = $cateSku;
             }
             unset($sku->cate_sku_id);
         }
     }
     return $cateSkus;
 }