|
@@ -11,6 +11,7 @@ class Manage
|
|
|
Dever::config('base')->hook = true;
|
|
|
$audit = Dever::param('audit', $data);
|
|
|
$status = Dever::param('status', $data);
|
|
|
+ $desc = Dever::param('desc', $data);
|
|
|
$order_id = Dever::param('order_id', $data);
|
|
|
if ($order_id && $status) {
|
|
|
if ($status < 3) {
|
|
@@ -18,8 +19,22 @@ class Manage
|
|
|
$update = array('where_id' => $order_id, 'status' => $status+1);
|
|
|
if ($status == 2) {
|
|
|
$order = Dever::db('agent/order')->find($order_id);
|
|
|
-
|
|
|
$price = Dever::param('price', $data);
|
|
|
+ $prize_type = Dever::param('prize_type', $data);
|
|
|
+ if ($prize_type == 2) {
|
|
|
+ # 扣减已有名额,判断一下
|
|
|
+ $prize = Dever::db('setting/prize')->find(array('type' => 1, 'price' => $order['price']));
|
|
|
+ if ($prize) {
|
|
|
+ $member_goods = Dever::db('agent/member_goods')->getOne(array('mid' => $order['mid'], 'type' => 3, 'type_id' => $prize['id']));
|
|
|
+ if ($member_goods && $member_goods['num'] > 0) {
|
|
|
+ # 有名额
|
|
|
+ $price = 0;
|
|
|
+ # 开始扣减
|
|
|
+ $member = Dever::db('agent/member')->find($order['mid']);
|
|
|
+ Dever::load('agent/lib/dhorder')->action($member, $prize['name'], $prize['num'], $prize['price'], array(), -1, 2, 3, $desc);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if ($price <= 0) {
|
|
|
$update['get_type'] = 2;
|
|
|
} else {
|
|
@@ -190,6 +205,7 @@ class Manage
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ # 设置多个权益
|
|
|
private function setGoods($order)
|
|
|
{
|
|
|
$goods = Dever::db('agent/order_goods')->getData(array('order_id' => $order['id']));
|
|
@@ -200,28 +216,34 @@ class Manage
|
|
|
if ($goods) {
|
|
|
$where = array();
|
|
|
foreach ($goods as $k => $v) {
|
|
|
- $where['mid'] = $order['mid'];
|
|
|
- $where['type'] = $v['type'];
|
|
|
- $where['type_id'] = $v['type_id'];
|
|
|
- $where['sku_id'] = $v['sku_id'];
|
|
|
- $info = Dever::db('agent/member_goods')->find($where);
|
|
|
- if ($info) {
|
|
|
- $up['where_id'] = $info['id'];
|
|
|
- $up['total_num'] = $info['total_num'] + $v['num'];
|
|
|
- $state = Dever::db('agent/member_goods')->update($up);
|
|
|
-
|
|
|
- if ($state) {
|
|
|
- Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], $info['total_num'], $up['total_num']);
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- $up = $where;
|
|
|
- $up['total_num'] = $v['num'];
|
|
|
- $state = Dever::db('agent/member_goods')->insert($up);
|
|
|
- if ($state) {
|
|
|
- Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], 0, $up['total_num']);
|
|
|
- }
|
|
|
- }
|
|
|
+ $this->addGoods($order, $v);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ # 新增权益
|
|
|
+ private function addGoods($order, $v)
|
|
|
+ {
|
|
|
+ $where['mid'] = $order['mid'];
|
|
|
+ $where['type'] = $v['type'];
|
|
|
+ $where['type_id'] = $v['type_id'];
|
|
|
+ $where['sku_id'] = $v['sku_id'];
|
|
|
+ $info = Dever::db('agent/member_goods')->find($where);
|
|
|
+ if ($info) {
|
|
|
+ $up['where_id'] = $info['id'];
|
|
|
+ $up['total_num'] = $info['total_num'] + $v['num'];
|
|
|
+ $state = Dever::db('agent/member_goods')->update($up);
|
|
|
+
|
|
|
+ if ($state) {
|
|
|
+ Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], $info['total_num'], $up['total_num']);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $up = $where;
|
|
|
+ $up['total_num'] = $v['num'];
|
|
|
+ $state = Dever::db('agent/member_goods')->insert($up);
|
|
|
+ if ($state) {
|
|
|
+ Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], 0, $up['total_num']);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -242,14 +264,37 @@ class Manage
|
|
|
$insert = $where;
|
|
|
$insert['cash'] = $t[3];
|
|
|
$insert['per'] = $t[5];
|
|
|
+ if (isset($t[6])) {
|
|
|
+ $insert['prize_id'] = $t[6];
|
|
|
+ }
|
|
|
Dever::db('agent/order_cash')->insert($insert);
|
|
|
} else {
|
|
|
$update['where_id'] = $info['id'];
|
|
|
$update['cash'] = $t[3];
|
|
|
$update['per'] = $t[5];
|
|
|
+ if (isset($t[6])) {
|
|
|
+ $update['prize_id'] = $t[6];
|
|
|
+ }
|
|
|
Dever::db('agent/order_cash')->update($update);
|
|
|
}
|
|
|
|
|
|
+ if (isset($t[6]) && isset($t[7])) {
|
|
|
+ $prize_info = Dever::db('setting/prize')->find($t[6]);
|
|
|
+ if ($prize_info) {
|
|
|
+ $prize_insert['order_id'] = $order['order_id'];
|
|
|
+ $prize_insert['mid'] = $t[2];
|
|
|
+ $prize_insert['child_num'] = $t[7];
|
|
|
+ $prize_insert['prize_id'] = $prize_info['id'];
|
|
|
+ Dever::db('agent/member_prize')->insert($prize_insert);
|
|
|
+
|
|
|
+ $prize['type'] = 3;
|
|
|
+ $prize['type_id'] = $prize_info['id'];
|
|
|
+ $prize['sku_id'] = -1;
|
|
|
+ $prize['num'] = $prize_info['num'];
|
|
|
+ $this->addGoods($order, $prize);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$member = Dever::db('agent/member')->find($where['mid']);
|
|
|
$desc = $member['name'] . '成为代理商,佣金'.$t[5].'%';
|
|
|
Dever::load('agent/lib/member')->up($order['id'], $order['role'], $where['type'], $where['parent_mid'], $t[3], $order['agent_cash'], $t[4], $desc);
|
|
@@ -297,6 +342,9 @@ class Manage
|
|
|
public function getGoods($type, $type_id, $sku_id)
|
|
|
{
|
|
|
if ($type == 1) {
|
|
|
+ if ($sku_id == -2) {
|
|
|
+ return '商品';
|
|
|
+ }
|
|
|
$goods_info = Dever::load('goods/lib/info')->getInfoBySku($type_id, $sku_id);
|
|
|
if (isset($goods_info['sku'])) {
|
|
|
$sku = '-' . $goods_info['sku']['string'];
|