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); } } } 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'; } }