| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 | <?phpnamespace Agent\Lib;use Dever;class Tool{	public function __construct()    {        Dever::load('manage/auth.init');    }    # 更换权益    public function setGoods_api()    {    	# 权益类型    	$type = Dever::input('type', 1);    	# 权益类型id    	$type_id = Dever::input('type_id', 1);    	# 替换的权益类型    	$set_type = Dever::input('set_type', 1);    	# 替换权益类型id    	$set_type_id = Dever::input('set_type_id', 1);    	$mid = Dever::input('mid');    	$where['type'] = $type;    	$where['type_id'] = $type_id;    	if ($mid) {    		$where['mid'] = $mid;    	}    	    	$data = Dever::db('agent/member_goods')->getAll($where);    	if ($data) {    		$desc = '更换权益';    		foreach ($data as $k => $v) {    			if ($v['num'] > 0) {                    # 生成新的权益                    $mid = $v['mid'];                    $total = $v['num'];                	$w = array();		            $w['type'] = $set_type;		            $w['type_id'] = $set_type_id;		            $w['sku_id'] = -1;		            $w['mid'] = $v['mid'];		            $w['clear'] = true;	                $cash = $price = 0;	                	                if ($set_type == 1) {	                    $goods_info = Dever::load('goods/lib/info')->getInfoBySku($w['type_id'], $w['sku_id']);	                    $price = $goods_info['price'];	                    $cash = $goods_info['price'] * $total;	                    if (isset($goods_info['sku'])) {	                        $sku = '-' . $goods_info['sku']['string'];	                    } else {	                        $sku = '';	                    }	                    $name = $goods_info['name'] . $sku;	                } elseif ($set_type == 2) {	                    # 体验卡	                    $card = Dever::db('card/info')->find($w['type_id']);	                    if (!$card) {	                        continue;	                    }	                    $name = $card['name'];	                    if ($card['create_type'] == 2) {                            $cash = $price = $card['value'] * $total;                            $total = 1;                            $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);                            if (!$w['sku_id']) {                                continue;                            }                        } else {                            if ($card['create_type'] == 3 && isset($v['price']) && $v['price'] > 0) {                                $card['value'] = $v['price'];                            }                            $cash = $price = $card['value'];                            for($i=0; $i<$total;$i++) {                                $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);                                if ($w['sku_id']) {                                    $w['total_num'] = 1;                                    $w['cash'] = $cash;                                    $w['price'] = $price;                                    $w['name'] = $name;                                    $state = Dever::db('agent/member_goods')->insert($w);                                    if ($state) {                                        Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], 1, 0, 1, $name, $desc);                                    }                                }                            }                            Dever::db('agent/member_goods')->update(array('where_id' => $v['id'], 'state' => 2));		                    $name = $v['name'] ? $v['name'] : Dever::load("agent/lib/manage.getGoods#name", $v['type'], $v['type_id'], $v['sku_id']);		                    Dever::load('agent/lib/member_set')->log($v['mid'], '', $v['type'], $v['type_id'], $v['sku_id'], -1*$v['num'], $v['num'], 0, $name, '[系统删除]');                            continue;                        }	                } elseif ($set_type == 3) {	                    $prize = Dever::db('setting/prize')->find($w['type_id']);	                    $price = $prize['price'];	                    $cash = $prize['price'] * $total;	                    $name = $prize['name'];	                }	                $info = Dever::db('agent/member_goods')->one($w);	                $w['total_num'] = $total;	                $w['cash'] = $cash;	                $w['price'] = $price;	                $w['name'] = $name;	                if (!$info) {	                    $state = Dever::db('agent/member_goods')->insert($w);	                    if ($state) {	                    	Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);	                    }	                } else {	                    $w['total_num'] += $info['sell_num'];	                    $w['where_id'] = $info['id'];	                    $w['state'] = 1;	                    $state = Dever::db('agent/member_goods')->update($w);	                    $num = $w['total_num']-$info['total_num'];	                    if ($state && $num != 0) {	                    	Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);	                    }	                }	                Dever::db('agent/member_goods')->update(array('where_id' => $v['id'], 'state' => 2));                    $name = $v['name'] ? $v['name'] : Dever::load("agent/lib/manage.getGoods#name", $v['type'], $v['type_id'], $v['sku_id']);                    Dever::load('agent/lib/member_set')->log($v['mid'], '', $v['type'], $v['type_id'], $v['sku_id'], -1*$v['num'], $v['num'], 0, $name, '[系统删除]');    			}    		}    	}    	return 'ok';    }    # 取消代理区域    public function area_api()    {        $test = Dever::input('test');        $mobile = '18530054871,16605286862,18603236913,18267572300,17339190899,13302105400,15392667687,15535102666,13070153282,15311806333,18562581185,13733182976,13903405064,13593186699,15835600655,13474801073,13968955672,13269293070,19905895812,18758763808,13587727119,13732008755,18833970950,15258885602,13653566218,18233577755,18103359826,13127066008,15311620979,13930976511,13345678902,15940583331,13039838326,17390633673,13701363729,15863077599,13906483281,18311405976,15686412913,15810225848,13693396201,13182546876,18612793519,18614233834,13521993918,18513595858,13522952687,15699998313,13901300871,13552581319,18611800266,13925311308,13761550119,18611413455,18911648247,18920105885,18303130831,18653382233,18896315717,18635500023,18147163713,18653393378,15381751155,18329008565,13398689683,13520576733,13811440645,18324207877,18267887877,15383860716,13903556488,18071026836,13910975422,18510243728,13698667092,15600283143,13601287566,13381052675,13691483981,13935550019,18653248558,13311108964,18535588333,17703641798,19832665255,13654500007,13835634365,18730869116,15101189418,13404729300,17543809562,13701031362,15110027725,18618339730,18911552718,13911004319,18663921509,13501101775,13522819239,13701292198,15048416210';        $mobile = explode(',', $mobile);        foreach ($mobile as $k => $v) {            $member = Dever::db('agent/member')->find(array('mobile' => $v));            if ($member && $member['area']) {                Dever::db('agent/member')->update(array('where_id' => $member['id'], 'set_area' => 'null'));                $area = Dever::db('agent/member_area')->find(array('mid' => $member['id'], 'area' => $member['area']));                if ($area) {                    $role = Dever::db('setting/role')->find($member['role']);                    if ($role['type'] == 2) {                        Dever::db('agent/member_area')->update(array('where_id' => $area['id'], 'state' => 2));                        if ($role['area'] == 2) {                            # 区县                            $area['area'] = explode(',', $area['area']);                            if (isset($area['area'][2])) {                                $info = Dever::db('area/county')->find($area['area'][2]);                                if ($info) {                                    Dever::db('area/county')->update(array('where_id' => $info['id'], 'status' => 1));                                }                            }                        } elseif ($role['area'] == 3) {                            # 街道                            $area['area'] = explode(',', $area['area']);                            if (isset($area['area'][3])) {                                $info = Dever::db('area/town')->find($area['area'][3]);                                if ($info) {                                    Dever::db('area/town')->update(array('where_id' => $info['id'], 'status' => 1));                                }                            }                        }                    }                }            }        }        return 'ok';    }     # 清理已经发放的礼品卡    public function delcard_api()    {        $mobile = '18686032888,13505877257,15389816039,18963514040,13701398869,13995284681,18035269709,15906403868,13819150072,13707879708,15010031036,13426388637,18010413226,15903121007,13806542331,13121372131,18978913842,13314784666,15968782828,15306356510,18932836531,13858571516,17301053918,13513082066,13501208132,19548950377,13757703050,13706775618,13604704911,13480478948,18048392626,18730903308,15930256609,18042108978,13261761736,15988701547,19910329911,15712843384,13206630972,16619866672,13651396081,13121187907,13501125380,13311001230,18123659695,15705797947,13977049319,13833954079,18351721593,13703202291,13311361478,15867731102,13716237788,13331025856,18612741793,13337185814,17743596029,17367180051,13716024983,13674755670';        $mobile = explode(',', $mobile);        foreach ($mobile as $k => $v) {            $member = Dever::db('agent/member')->find(array('mobile' => $v));            if ($member) {                $goods = Dever::db('agent/member_goods')->getAll(array('mid' => $member['id']));                if ($goods) {                    foreach ($goods as $k1 => $v1) {                        if ($v1['type'] == 2 && $v1['sku_id'] > 0) {                            $code = Dever::db('card/code')->find($v1['sku_id']);                            if ($code) {                                Dever::db('card/code')->update(array('where_id' => $code['id'], 'state' => 2));                                Dever::db('agent/member_goods')->update(array('where_id' => $v1['id'], 'state' => 2));                                $name = $v1['name'] ? $v1['name'] : Dever::load("agent/lib/manage.getGoods#name", $v1['type'], $v1['type_id'], $v1['sku_id']);                                Dever::load('agent/lib/member_set')->log($v1['mid'], '', $v1['type'], $v1['type_id'], $v1['sku_id'], -1*$v1['num'], $v1['num'], 0, $name, '[系统删除]');                            }                        }                    }                }            }        }        return 'ok';    }    # 发放礼品卡    public function pushcard_api()    {        $mobile = '13896716319|396.5,13354896599|799,13896714411|799,13964467368|799,17857041943|799,13904713949|799,13948128992|799,15023905779|711.3,15831605511|799,15924411773|799,13384713795|799,18696719568|456.6,13609468556|514.2,13996764705|136.54,13057922789|2214,13626430903|799,13811412976|799,17311333929|799,18280086198|264.4,17358503715|273.2,13606755900|799,18368852657|799,13853387568|32.9,17702360918|458.74,13998415597|799,15925878191|799,18053357079|799,17369603422|799,15542344331|799,13644277557|799,18523625865|373.2,15661053408|799,13801381206|799,13309866562|799,18642899311|676,13478542548|809,13308259951|799,18004285088|799,13132353939|979.9,13250885707|799,13904281296|799,13132363123|7.78,15810156842|376.3,13996753098|1287.54,13656522922|799,13309841160|799,13621243273|448.6,13008063508|344,13387871873|730.7,15524845373|799,15542414113|799,13245473269|560.5,13816374828|799,13001739273|698.3,13607801107|1598,13817487679|799,15734111277|799,15524652835|799,13661664667|799,13939292227|799,13581983958|799,13918552843|799,13071197982|203.1,13848118039|1,13644241151|799,13812853977|76.3,18862460056|13.4,13913660726|41.4,15851602369|10.4,18540345578|14.9,13644968293|200,15940848432|806.1,15391122046|201.7,13426388637|1000,16726766313|30.6,13591777189|8.6,18751168759|200,13801569738|200,13889676999|400,13591103339|200,13352291520|200,13050576828|6.8,13478755955|0.4,13327128187|0.6,17704881758|1207.8,13962250709|135.3,18247161616|26.34,15397618175|2.7,19804717968|456.3,15734189938|500,15158761331|10,15928573979|2.3,18614289414|100.8,15393565789|112.8,17703451471|174.94,13587632081|200,13084728781|2000,18104856142|98';        $mobile = explode(',', $mobile);        $yes = array();        $error = array();        $no = array();        $card_id = Dever::input('card', 8);        $total = 1;        $desc = '新增权益';        foreach ($mobile as $k => $v) {            $temp = explode('|', $v);            $v = $temp[0];            $cash = $temp[1];            $member = Dever::db('agent/member')->find(array('mobile' => $v));            if ($member) {                $yes[] = $v;                 $mid = $member['id'];                $goods = Dever::db('agent/member_goods')->find(array('mid' => $member['id'], 'type' => 2, 'type_id' => $card_id));                if (!$goods) {                    $w = array();                    $w['type'] = 2;                    $w['type_id'] = $card_id;                    $w['sku_id'] = -1;                    $w['mid'] = $mid;                    $w['clear'] = true;                    # 体验卡                    $card = Dever::db('card/info')->find($card_id);                    if (!$card) {                        $error[] = $v;                        continue;                    }                    $name = $card['name'];                    $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);                    if (!$w['sku_id']) {                        $error[] = $v;                        continue;                    }                    $info = Dever::db('agent/member_goods')->one($w);                    $w['total_num'] = $total;                    $w['cash'] = $cash;                    $w['price'] = $cash;                    $w['name'] = $name;                    if (!$info) {                        $state = Dever::db('agent/member_goods')->insert($w);                        if ($state) {                            Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);                        }                    } else {                        $w['total_num'] += $info['sell_num'];                        $w['where_id'] = $info['id'];                        $w['state'] = 1;                        $state = Dever::db('agent/member_goods')->update($w);                        $num = $w['total_num']-$info['total_num'];                        if ($state && $num != 0) {                            Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);                        }                    }                }            } else {                $no[] = $v;             }        }        return array($yes, $error, $no);    }}
 |