Client.php 6.37 KB
<?php

/**
 * User: elkan
 * Date: 14-7-29
 * Time: 下午3:49
 * To change this template use File | Settings | File Templates.
 */
class YHMComment_Models_Comment_Client {

    /**
     *
     * @var YHMComment_Models_Comment_Dao
     */
    private static $dao;

    /**
     *
     * @return YHMComment_Models_Comment_Dao
     */
    static private function dao() {
        if (empty(self::$dao)) {
            self::$dao = new YHMComment_Models_Comment_Dao();
        }
        return self::$dao;
    }

    /**
     * 通过ID获取一条评论
     * @param integer $id
     */
    public static function getOneById($id) {
        if (($id = intval($id)) < 1) {
            return array();
        }
        return self::dao()->getOneById($id);
    }

    /**
     * 获取商品总评论数
     * @param int $product_skc
     * @return int
     */
    static function getCountBySkc($store_id, $product_skc) {
        if ((int) $product_skc < 1) {
            return 0;
        }
        return self::dao()->getCountBySkc((int) $store_id, (int) $product_skc);
    }

    /**
     * 获取留言列表
     * @param int $product_skc
     * @param int $offset Description
     * @param int $num Description
     * @return int
     */
    static function getListBySkc($store_id, $product_skc, $offset, $num) {
        if ((int) $product_skc < 1) {
            return 0;
        }
        return self::dao()->getListBySkc((int) $store_id, (int) $product_skc, (int) $offset, (int) $num);
    }

    /**
     * 获取评论内容
     * @param int $id
     * @return string
     */
    static function getContentById($store_id, $id) {
        if ((int) $id < 1) {
            return 0;
        }
        return self::dao()->getContentById((int) $store_id, (int) $id);
    }

    /**
     * 添加评论信息
     * @param Integer $uid
     * @param Integer $store_id
     * @param Integer $product_skc
     * @param Integer $star
     * @return int
     */
    static function add($uid, $order_code, $store_id, $product_skc, $star) {
        if ((int) $uid < 1 || (int) $order_code < 0 || (int) $store_id < 1 || (int) $product_skc < 1 || (int) $star < 1) {
            return 0;
        }
        return self::dao()->add((int) $uid, (int) $order_code, (int) $store_id, (int) $product_skc, (int) $star);
    }

    /**
     * 添加评论内容
     * @param int $id
     * @param string $content
     * @return int
     */
    static function addContent($store_id, $id, $content) {
        if ((int) $id < 1 || empty($content)) {
            return 0;
        }
        return self::dao()->addContent($store_id, (int) $id, $content);
    }

    /**
     * 取出店铺的评论总数
     * @param type $store_id
     * @return integer
     */
    static function getCountByStoreId($store_id) {
        if ((int) $store_id < 1) {
            return 0;
        }
        return self::dao()->getCountByStoreId((int) $store_id);
    }

    /**
     * 取出店铺的总得分数
     * @param type $store_id
     * @return integer
     */
    static function getSumStarByStoreId($store_id) {
        if ((int) $store_id < 1) {
            return 0;
        }
        return self::dao()->getSumStarByStoreId((int) $store_id);
    }

    /**
     * 删除评论信息
     * @param inte $id
     * @param int $uid
     * @return int
     */
    static function del($store_id, $id) {
        if ((int) $id < 1) {
            return 0;
        }
        return self::dao()->del($store_id, (int) $id);
    }

    /**
     * 删除评论内容
     * @param int $id
     * @return int
     */
    static function delContent($store_id, $id) {
        if ((int) $id < 1) {
            return 0;
        }
        return self::dao()->delContent($store_id, (int) $id);
    }

    /**
     * 获取店铺星级
     * @param integer $store_id
     */
    public static function getStarByStoreId($store_id) {
    /*    //总评论数
        $totalNum = self::dao()->getCountByStoreId($store_id);
        //总星级
        $totalStar = self::dao()->getSumStarByStoreId($store_id);
        if ($totalNum == 0) {
            return 0;
        } else if ($totalNum < 10) {
            //当卖家评价次数低于10次时,星级分值会打一个折扣。几次就乘以零点几,最后分值才是他的真实分值和展示的星级。
            return round(($totalStar / $totalNum) * floatval($totalNum / 10));
        } else {
            return round($totalStar / $totalNum);
        }*/
          $store_info = YHMStore_Models_Store_Client::getById($store_id);
        //星级评定结果
        $star =$store_info['star'];
        return $star;
    }
    /**
     * 获取店铺星级
     * @param integer $store_id
     */
    public static function getStarByStore($store_id) {
        //总评论数
        $totalNum = self::dao()->getCountByStoreId($store_id);
        //总星级
        $totalStar = self::dao()->getSumStarByStoreId($store_id);
        if ($totalNum == 0) {
            return 0;
        } else if ($totalNum < 10) {
            //当卖家评价次数低于10次时,星级分值会打一个折扣。几次就乘以零点几,最后分值才是他的真实分值和展示的星级。
            return round(($totalStar / $totalNum) * floatval($totalNum / 10));
        } else {
            return round($totalStar / $totalNum);
        }
         
    }
    /**
     * 查看该订单是否评价
     * @param int $order_code
     * @param int $uid
     */
    static function checkUserCommentByOrderCode($order_code, $uid) {
        if ((int) $order_code < 1 || (int) $uid < 1) {
            return 0;
        }
        return self::dao()->checkUserCommentByOrderCode((int) $order_code, (int) $uid);
    }
     /**
     * 获取评论列表
     * @param int $order_code
     * @param int $uid
     */
    static function  getCommentList($startTime,$endTime,$type,$id,$status,$offset, $size)
    {
       return self::dao()->getCommentList($startTime,$endTime,$type,$id,$status,$offset, $size);
    }
   /**
     * 获取评论列表
     * @param int $order_code
     * @param int $uid
     */
    static function  getCommentCount($startTime,$endTime,$type,$id,$status)
    {
       return self::dao()->getCommentCount($startTime,$endTime,$type,$id,$status);
    }
    /**
     * 回复
     */
    static function setReply($id,$uid){
         return self::dao()->setReply($id,$uid);
    }
 /*获取回复*/
  static function getReply($id)
  {
       return self::dao()->getReply($id);
  }
}