BannerOrderController.class.php 1.54 KB
<?php
/**
 * IconOrderController.class.php
 * 【运营管理】管理后台 条幅排序更新接口
 * @author Deepseath
 * @version $Id$
 */
namespace Apicp\Controller\Recommender;

use Com\PackageValidate;
use Common\Service\CommonRecommenderService;

/**
 * 【管理后台】条幅排序更新接口
 */
class BannerOrderController extends AbstractController
{

    /**
     * 条幅排序更新接口
     * @desc 【管理后台】用于管理后台对 条幅进行排序操作
     * @param array recommenderIds:true 条幅ID一维数组,注意顺序要对
     * @return array()
     */
    public function Index()
    {
        // 验证规则
        $rules = [
            'recommenderIds' => 'require|array',
        ];

        // 验证数据
        $validate = new PackageValidate($rules, [], array_keys($rules));
        $recommenderIds = $validate->postData['recommenderIds'];

        // 取iconList
        $recServ = new CommonRecommenderService();
        $iconList = $recServ->list_by_conds(['recommender_id' => $recommenderIds]);
        if (empty($iconList) || count($iconList) != count($recommenderIds)) {
            E('_ERR_RECOMMENDER_ICON_ID_EMPTY_40122');
        }

        // 取出order,对order进行排序
        $orders = array_column($iconList, 'displayorder');
        rsort($orders);

        // 更新排序
        foreach ($recommenderIds as $k => $v) {
            if (isset($orders[$k])) {
                $recServ->update($v, ['displayorder' => $orders[$k]]);
            }
        }

        return $this->_result;
    }
}