<?php
/**
 * ReturnUserReward.php  UTF-8
 * 新用户奖励bug,数据修复--标记玩家
 *
 * @date    : 2018/10/25 15:55
 *
 * @license 这不是一个自由软件,未经授权不许任何使用和传播。
 * @author  : chenbingling <cbl@huosdk.com>
 * @version : HuoMap 1.0
 */

namespace console\index\controller;

use huo\controller\finance\Settle;
use huo\model\finance\SettleModel;
use huo\model\integral\MemItgLogModel;
use huo\model\user\UserModel;
use huolib\constant\MemConst;
use huolib\constant\SettleConst;
use huomp\model\member\UnusualMemModel;
use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\Log;

class UnusualUser extends Command {
    protected function configure() {
        $this->setName('unusual_user')->setDescription('新用户奖励bug,数据修复--标记玩家');
    }

    protected function execute(Input $input, Output $output) {
        set_time_limit(0);
        $_mil_model = new MemItgLogModel();
        $_settle_model = new SettleModel();
        $_agent_model = new UserModel();
        $_settle_class = new Settle();
        $_um_model = new UnusualMemModel();
        $_all_list = $_mil_model->field('mem_id,count(mem_id) AS mem_count')
                                ->where(
                                    'itg_type = 1 AND sub_ia_id = 81234671 AND ia_id = 12 AND create_time > 1540396800 AND is_delete=2'
                                )
                                ->group('mem_id')
                                ->having('count(mem_id) > 1')->select();
        $_all_list = $_all_list->toArray();
        foreach ($_all_list as $member) {
            $_agent_id = $_agent_model->getIdByMemId($member['mem_id']);
            if (empty($_agent_id)) {
                Log::write('新用户奖励bug,数据修复,set1玩家信息'.json_encode($member), Log::ERROR);
                continue;
            }
            /* 玩家标记 */
            $_um_data = $_um_model->getDataByAgentId($_agent_id);
            $_data = [
                'mem_id'   => $member['mem_id'],
                'agent_id' => $_agent_id,
                'type'     => MemConst::UNUSUAL_MEN_TYPE_5,
                'u_id'     => 1    //超级管理员id
            ];
            if (empty($_um_data)) {
                $_um_model->addData($_data);
            } else {
                $_um_model->updateDataByAgentId($_data, $_data['agent_id']);
            }
            /* 查找该玩家提现订单 */
            $_settle_map = [
                'agent_id' => $_agent_id,
                'status'   => ['in', SettleConst::SETTLE_STATUS_OP_CHECK,
                               SettleConst::SETTLE_STATUS_FIN_CHECK, SettleConst::SETTLE_STATUS_QUEUE],
            ];
            $_settle_list = $_settle_model->field('id,status')->where($_settle_map)->select();
            if (!empty($_settle_list)) {
                $_settle_list = $_settle_list->toArray();
                /* 提现 回退 */
                foreach ($_settle_list as $v) {
                    $_settle_class->setStatus(
                        1, $v['id'], SettleConst::SETTLE_STATUS_OP_NO,
                        '亲,检测您的数据异常,微信审核不通过,请谨遵常见问题页面声明。请仔细核查,稍后提审。'
                    );
                }
            }
        }
    }
}