<?php namespace Agent\Lib; use Dever; # 批量设置商品 class Member_set { public function __construct() { Dever::load('manage/auth.init'); } # 获取商品列表 public function goods_api() { $id = Dever::input('mid'); return Dever::load('agent/lib/set')->getData($id); } # 设置商品 public function home_api() { $data = array(); $data['mid'] = Dever::input('mid'); $data['host'] = Dever::url('lib/member_set.home?mid=' . $data['mid'], 'agent'); $data['url'] = Dever::url('lib/member_set.goods?mid=' . $data['mid'], 'agent'); $data['submit'] = Dever::url('lib/member_set.action_cmmmit?json=1', 'agent'); return Dever::render('setMemberGoods', $data); } # 设置生产能力 public function action_cmmmit_api() { $goods = Dever::input('goods'); if (!$goods) { Dever::alert('请传入商品'); } $goods = Dever::json_decode($goods); $mid = Dever::input('mid'); $desc = Dever::input('desc'); $where['option_mid'] = $mid; $where['set_state'] = 2; Dever::db('agent/member_goods')->updates($where); foreach ($goods as $k => $v) { $type = 1; $type_id = $k; $sku_id = -1; if (strstr($k, '_')) { $temp = explode('_', $k); $type_id = $temp[0]; $type = $temp[1]; } elseif (strstr($k, '-')) { $temp = explode('-', $k); $type_id = $temp[0]; $sku_id = $temp[1]; } if ($v['total'] <= 0) { continue; } $w = array(); $w['type'] = $type; $w['type_id'] = $type_id; $w['sku_id'] = $sku_id; $w['mid'] = $mid; $info = Dever::db('agent/member_goods')->one($w); if ($v['del'] == 2) { if ($info) { Dever::db('agent/member_goods')->update(array('where_id' => $info['id'], 'state' => 2)); } } else { $w['total_num'] = $v['total']; 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'], $v['total'], 0, $w['total_num'], $desc); } } else { $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'], $desc); } } } # 记录日志 } return Dever::url('project/database/list&table=member_goods&project=agent&search_option_mid='.$mid, 'manage'); } # 记录日志 public function log($mid, $parent_order_num, $type, $type_id, $sku_id, $num, $pnum, $fnum, $desc = '') { $data['mid'] = $mid; $data['parent_order_num'] = $parent_order_num; $data['type'] = $type; $data['type_id'] = $type_id; $data['sku_id'] = $sku_id; $data['num'] = $num; $data['pnum'] = $pnum; $data['fnum'] = $fnum; $data['desc'] = $desc; $data['order_num'] = $this->getOrderId(); $id = Dever::db('agent/member_goods_log')->insert($data); return $id; } /** * 生成日志订单号 * * @return mixed */ public function getOrderId() { $where['order_num'] = Dever::order('QY'); $state = Dever::db('agent/member_goods_log')->one($where); if (!$state) { return $where['order_num']; } else { return $this->getOrderId(); } } }