Manage.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <?php
  2. namespace Shop\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. # 获取用户信息
  7. public function user($id)
  8. {
  9. $info = Dever::db('shop/sell_order')->one($id);
  10. $user = Dever::db('passport/user')->one($info['uid']);
  11. $result = $user['username'];
  12. if ($info['mobile']) {
  13. $result .= '('.$info['mobile'].')';
  14. }
  15. return $result;
  16. }
  17. # 获取订单信息
  18. public function sell_order($id)
  19. {
  20. $table = array();
  21. $info = Dever::db('shop/sell_order')->one($id);
  22. $goods = Dever::db('shop/sell_order_goods')->select(array('order_id' => $info['id']));
  23. foreach ($goods as $k => $v) {
  24. $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['goods_id'], $v['sku_id']);
  25. //print_r($goods_info);die;
  26. $table[$goods_info['name']] = $v['price'];
  27. }
  28. return Dever::table($table);
  29. }
  30. /**
  31. * 更新信息
  32. *
  33. * @return mixed
  34. */
  35. public function infoUpdate($id, $name, $data)
  36. {
  37. $update = array();
  38. $area = Dever::param('area', $data);
  39. if ($area) {
  40. $temp = is_string($area) ? explode(',', $area) : $area;
  41. $update['province'] = $temp[0];
  42. $update['city'] = $temp[1];
  43. }
  44. $map = Dever::param('map', $data);
  45. if ($map) {
  46. $temp = is_string($map) ? explode(',', $map) : $map;
  47. $update['lng'] = $temp[1];
  48. $update['lat'] = $temp[2];
  49. }
  50. $goods = Dever::param('goods', $data);
  51. if ($goods) {
  52. $goods = Dever::json_decode($goods);
  53. if ($goods) {
  54. foreach ($goods as $k1 => $v1) {
  55. if ($v1['value']) {
  56. foreach ($v1['value'] as $k => $v) {
  57. if ($v['state'] == 1) {
  58. $w = array();
  59. $w['goods_id'] = $v['id'];
  60. $w['shop_id'] = $id;
  61. $info = Dever::db('shop/goods')->one($w);
  62. $w['category_id'] = $v1['id'];
  63. if (!$info) {
  64. Dever::db('shop/goods')->insert($w);
  65. } else {
  66. $w['where_id'] = $info['id'];
  67. $w['state'] = 1;
  68. Dever::db('shop/goods')->update($w);
  69. }
  70. } else {
  71. unset($goods[$k1]['value'][$k]);
  72. }
  73. }
  74. }
  75. }
  76. $update['goods'] = Dever::json_encode($goods);
  77. }
  78. }
  79. if (isset($update) && $update) {
  80. $update['where_id'] = $id;
  81. Dever::db('shop/info')->update($update);
  82. }
  83. $truename = Dever::param('truename', $data);
  84. $mobile = Dever::param('mobile', $data);
  85. if ($mobile) {
  86. $member = Dever::db('shop/member')->one(array('shop_id' => $id, 'mobile' => $mobile));
  87. $update = array();
  88. $update['shop_id'] = $id;
  89. $update['name'] = $truename;
  90. $update['mobile'] = $mobile;
  91. if ($member) {
  92. $update['where_id'] = $member['id'];
  93. Dever::db('shop/member')->update($update);
  94. } else {
  95. Dever::db('shop/member')->insert($update);
  96. }
  97. }
  98. }
  99. /**
  100. * 更新商品信息
  101. *
  102. * @return mixed
  103. */
  104. public function goodsUpdate($id, $name, $data)
  105. {
  106. $update = array();
  107. $state = Dever::param('state', $data);
  108. if ($state) {
  109. Dever::config('base')->after = true;
  110. $info = Dever::db('shop/goods')->one($id);
  111. $shop_id = $info['shop_id'];
  112. $shop = Dever::db('shop/info')->one($shop_id);
  113. if ($shop && $shop['goods']) {
  114. $goods = Dever::json_decode($shop['goods']);
  115. if (isset($goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']])) {
  116. if ($state == 2) {
  117. unset($goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']]);
  118. }
  119. if (count($goods['level_' . $info['category_id']]['value']) <= 0) {
  120. unset($goods['level_' . $info['category_id']]);
  121. }
  122. } elseif ($state == 1) {
  123. $goods_info = Dever::db('goods/info')->one($info['goods_id']);
  124. $cate = Dever::load('category/api')->string($info['category_id']);
  125. $goods['level_' . $info['category_id']]['id'] = $info['category_id'];
  126. $goods['level_' . $info['category_id']]['name'] = $cate;
  127. $goods['level_' . $info['category_id']]['value']['id_' . $info['goods_id']] = array
  128. (
  129. 'id' => $info['goods_id'],
  130. 'name' => $goods_info['name'],
  131. 'state' => 1,
  132. );
  133. }
  134. $set['goods'] = Dever::json_encode($goods);
  135. $set['where_id'] = $shop_id;
  136. Dever::db('shop/info')->update($set);
  137. }
  138. }
  139. }
  140. /**
  141. * 更新库存信息
  142. *
  143. * @return mixed
  144. */
  145. public function skuUpdate($id, $name, $data)
  146. {
  147. $update = array();
  148. $add_num = Dever::param('add_num', $data);
  149. if ($add_num) {
  150. $state = Dever::db('shop/goods_sku')->updateTotal(array('where_id' => $id, 'total_num' => $add_num));
  151. if ($state) {
  152. $state = Dever::db('shop/goods_sku')->update(array('where_id' => $id, 'add_num' => 0));
  153. $info = Dever::db('shop/goods_sku')->one($id);
  154. $goods = Dever::db('shop/goods')->one(array('goods_id' => $info['goods_id'], 'shop_id' => $info['shop_id']));
  155. if ($goods) {
  156. Dever::db('shop/goods')->update(array('where_id' => $goods['id'], 'total_num' => $info['total_num'], 'add_num' => 0));
  157. }
  158. if ($add_num < 0) {
  159. # 记录出库日志
  160. } else {
  161. # 记录入库日志
  162. }
  163. }
  164. }
  165. }
  166. }