/** * 获得指定分类的模版消息 */ 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; }
/** * 获得指定产品下符合条件的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; }