<?php
/*
 * @Descripttion:
 * @version:
 * @Author: kangkang
 * @Date: 2020-10-13 19:52:37
 * @LastEditors: “wanyongkang” “937888580@qq.com”
 * @LastEditTime: 2023-09-17 18:06:12
 */

namespace app\manager\controller;

use fastphp\base\Controller;
use app\manager\model\ProductAccount;

class Account extends Controller
{
    public function getAccountCount() {
        $data = json_decode(file_get_contents("php://input"), true);
        $account_model = new ProductAccount;
        $where1 = [];
        $where2 = ' PackageName <> "测试卡" AND DeleteTag=0 ';
        //根据用户id
        if (!empty($data['UserId'])) {
            $where1['UserId'] = $data['UserId'];
        }
        //根据用户会员号
        if (!empty($data['keyWord'])) {
            $where1['UserCode'] = $data['keyWord'];
        }
        //根据产品
        if (!empty($data['ProductIds'])) {
            $where1['ProductId'] = ['in', $data['ProductIds']];
        }
        //根据套餐
        if (!empty($data['PackageNames'])) {
            $where1['PackageName'] = ['in', $data['PackageNames']];
        }
        //根据账号类型
        if (!empty($data['accountTypes'])) {
            $where1['AccountType'] = ['in', $data['accountTypes']];
        }
        //根据账号过期时间
        if ($data['ExpirdDay'] > -100)
        {
            if ($data['ExpirdDay'] == 0)
            {
                $where2 .= ' AND EndTime<now() ';
            }elseif($data['ExpirdDay'] == -2){
                $where2 .= ' AND EndTime>now() ';
            } elseif ($data['ExpirdDay'] < 0 && $data['ExpirdDay']>-4) {
                $where2 .= ' AND TO_DAYS(EndTime) - (TO_DAYS(now()))>='.$data['ExpirdDay'].' AND EndTime < now() ';
            } elseif ($data['ExpirdDay']==-4) {
                $where2 .= ' AND TO_DAYS(EndTime) - (TO_DAYS(now()))<='.$data['ExpirdDay'].' ';
            } elseif ($data['ExpirdDay'] > 0){
                $where2 .= ' AND TO_DAYS(EndTime) - (TO_DAYS(now()))<='.$data['ExpirdDay'].' AND EndTime>now() ';
                // $where2 .= ' AND EndTime<now() ';
            }      
        }
        $count = $account_model->getCountConnect($where1,$where2);

        $count = !empty($count)?$count:0;

        \result($count,'',30000);

    }

    public function delete() {
        $data = json_decode(file_get_contents("php://input"), true);
        $account_model = new ProductAccount;

        $where = [
            'Id' => $data['id'],
            'DeleteTag' => 0,
            'EndTime' => ['<',date('Y-m-d H:i:s')]
        ];

        $account_info = $account_model->getOne($where);

        if ($account_info) {

            $update_data['DeleteTag'] = 1;

            if ($account_info['ProductId'] == 29) {
                $url = "http://124.236.113.166:18702/api/agent/deleteAcct/apikey/80cf4f64e990b78a9fc5eb/account/".$account_info['Account'];
                linkcurl($url,'GET',[],[],0);
            } elseif ($account_info['ProductId'] == 3 || $account_info['ProductId'] == 26) {
                $url = "http://106.119.166.87:18702/api/agent/deleteAcct/apikey/80cf4f64e990b78a9fc5eb/account/".$account_info['Account'];
                linkcurl($url,'GET',[],[],0);
            }

            $account_model->updateOne($where,$update_data);
        }

        echo  json_encode(['Code'=>30000,]);
    }
}
