123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * 货到付款地区设置
- *
-
- */
- defined('InShopNC') or exit('Access Invalid!');
- class offpay_areaModel extends Model {
- public function __construct() {
- parent::__construct('offpay_area');
- }
- /**
- * 增加某店铺设置
- *
- * @param unknown_type $data
- * @return unknown
- */
- public function addArea($data) {
- return $this->insert($data);
- }
- /**
- * 取得某店铺设置
- *
- * @param unknown_type $condition
- * @return unknown
- */
- public function getAreaInfo($condition) {
- return $this->where($condition)->find();
- }
- /**
- * 更新某店铺设置
- *
- * @param unknown_type $condition
- * @param unknown_type $data
- * @return unknown
- */
- public function updateArea($condition,$data) {
- return $this->where($condition)->update($data);
- }
- /**
- * 某县级地区是否支持货到付款
- *
- * @param unknown_type $area_id
- * @param int $store_id 店铺ID(目前只会传平台店铺)
- * @return unknown
- */
- public function checkSupportOffpay($area_id,$store_id) {
- if (empty($area_id)) return false;
- $area = $this->getAreaInfo(array('store_id'=>$store_id));
- if (!empty($area['area_id'])) {
- $area_id_array = unserialize($area['area_id']);
- } else {
- $area_id_array = array();
- }
- if (empty($area_id_array)) {
- $area_id_array = array();
- }
- return in_array($area_id,$area_id_array) ? true : false;
- }
- /**
- * 某县级地区是否支持货到付款(多个店铺)
- *
- * @param int $area_id
- * @param array $store_ids 店铺IDs
- * @return array
- */
- public function checkSupportOffpayBatch($area_id, array $store_ids)
- {
- if (empty($area_id))
- return array_fill($store_ids, false);
- $area = $this->where(array(
- 'store_id' => array('in', $store_ids),
- ))->key('store_id')->select();
- $ret = array();
- foreach ($store_ids as $sid) {
- $ret[$sid] = false;
- if (empty($area[$sid]['area_id']))
- continue;
- $area_id_array = unserialize($area[$sid]['area_id']);
- if (!is_array($area_id_array))
- continue;
- if (!in_array($area_id, $area_id_array))
- continue;
- $ret[$sid] = true;
- }
- return $ret;
- }
- }
|