ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 根据商品ID查询满足的满减活动详情(详情页展示用) **位置:** Common\Lib\EventLib.class.php **参数:** * @param $no_id int 商品编码ID * @param $type int 商品编码ID类型, 1表示传入的是唯一码,2表示传入的是SKU, 3表示传入的是SKC **调用:** * $event = new EventLib(); * $reduce_event = $event->getTotalReduce($sku_id, 2); **返回:** 返回满减活动多维数组$event,遍历数组获取每个活动的信息,活动各项含义如下: ['id'] // 活动ID ['event_name'] // 活动名称 ['start_time'] // 活动开始时间 ['end_time'] // 活动结束时间 ['rules] // 活动规则数组 活动规则格式: 满[full]减[event_reduce]元 ['shops_ids'] // 参与门店ID(1表示全部门店参与) ['shops'] // 参与门店数组(为空表示全部门店参与) ['actor'] // 参与人员数组,为空表示所有人都参与 ['enjoy'] // 是否同时参与会员折扣,1表示是,0表示否 ['prior'] // 会员是否优先参与活动,1表示是,0表示否 ['prior_days'] // 会员优先天数 ['rate'] // 积分倍率 **完整代码:** ~~~ /** * 根据商品ID查询满足的满减活动详情 * QuJinming 2018-07-18 * @param int $no_id 商品ID * @param int $type 商品ID类型 1表示传入的是唯一码,2表示传入的是SKU,3表示传入的SKC * @return array $event 商品满足的满减活动信息 */ public function getTotalReduce($no_id, $type) { // 1、调用封装的查询是否有满减活动的方法,获取满减活动列表 $active = check_total_reduce($no_id, $type); // 2、如果查询到的活动为空,直接返回 if (empty($active)) { return; } // 3、遍历活动列表,依次查询活动信息 foreach ($active as $key => $value) { // 查询最优活动基本信息 $event_basic = M('event_basic')->where('id='.$value['id'])->find(); // 查询活动规则 $event_rules = M('event_rules')->field('full, event_reduce')->where('event_id='.$value['id'])->select(); // 查询活动参与门店 $shops_ids = M('event_shop')->where('event_id='.$value['id'])->getField('shops_id',true); foreach ($shops_ids as $kk => $vv) { if ($vv == 1) { $event_shops = array( 0 => '全部门店' ); break; } $event_shops[$kk] = M('shops')->where('id='.$vv)->getField('shops_name'); } $event[$key]['id'] = $event_basic['id']; // 活动ID $event[$key]['event_name'] = $event_basic['event_name']; // 活动名称 $event[$key]['start_time'] = $event_basic['start_time']; // 活动开始时间 $event[$key]['end_time'] = $event_basic['end_time']; // 活动结束时间 $event[$key]['rules'] = $event_rules; // 活动规则 $event[$key]['shops_ids'] = $shops_ids; // 参与门店ID $event[$key]['shops'] = $event_shops; // 参与门店 $actor = explode(",", $event_basic['actor']); // 参与人员 if ($actor[0] == 0) { $event[$key]['actor'] = ''; // 参与人员 } else { $event[$key]['actor'] = $actor; // 参与人员 } $event[$key]['enjoy'] = $event_basic['enjoy']; // 会员顾客可同时参与会员折扣 $event[$key]['prior'] = $event_basic['prior']; // 会员优先参与活动 $event[$key]['prior_days'] = $event_basic['prior_days']; // 会员优先参与天数 $event[$key]['rate'] = $event_basic['rate']; // 积分倍率 } // 4、返回活动信息列表 return $event; } ~~~