Member_set.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace Agent\Lib;
  3. use Dever;
  4. # 批量设置商品
  5. class Member_set
  6. {
  7. public function __construct()
  8. {
  9. Dever::load('manage/auth.init');
  10. }
  11. # 获取商品列表
  12. public function goods_api()
  13. {
  14. $id = Dever::input('mid');
  15. return Dever::load('agent/lib/set')->getData($id);
  16. }
  17. # 设置商品
  18. public function home_api()
  19. {
  20. $data = array();
  21. $data['mid'] = Dever::input('mid');
  22. $data['host'] = Dever::url('lib/member_set.home?mid=' . $data['mid'], 'agent');
  23. $data['url'] = Dever::url('lib/member_set.goods?mid=' . $data['mid'], 'agent');
  24. $data['submit'] = Dever::url('lib/member_set.action_cmmmit?json=1', 'agent');
  25. return Dever::render('setMemberGoods', $data);
  26. }
  27. # 设置生产能力
  28. public function action_cmmmit_api()
  29. {
  30. $goods = Dever::input('goods');
  31. if (!$goods) {
  32. Dever::alert('请传入商品');
  33. }
  34. $goods = Dever::json_decode($goods);
  35. $mid = Dever::input('mid');
  36. $desc = Dever::input('desc');
  37. $where['option_mid'] = $mid;
  38. $where['set_state'] = 2;
  39. Dever::db('agent/member_goods')->updates($where);
  40. foreach ($goods as $k => $v) {
  41. $type = 1;
  42. $type_id = $k;
  43. $sku_id = -1;
  44. if (strstr($k, '_')) {
  45. $temp = explode('_', $k);
  46. $type_id = $temp[0];
  47. $type = $temp[1];
  48. } elseif (strstr($k, '-')) {
  49. $temp = explode('-', $k);
  50. $type_id = $temp[0];
  51. $sku_id = $temp[1];
  52. }
  53. if ($v['total'] <= 0) {
  54. continue;
  55. }
  56. $w = array();
  57. $w['type'] = $type;
  58. $w['type_id'] = $type_id;
  59. $w['sku_id'] = $sku_id;
  60. $w['mid'] = $mid;
  61. $info = Dever::db('agent/member_goods')->one($w);
  62. if ($v['del'] == 2) {
  63. if ($info) {
  64. Dever::db('agent/member_goods')->update(array('where_id' => $info['id'], 'state' => 2));
  65. }
  66. } else {
  67. $w['total_num'] = $v['total'];
  68. if (!$info) {
  69. $state = Dever::db('agent/member_goods')->insert($w);
  70. if ($state) {
  71. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $v['total'], 0, $w['total_num'], $desc);
  72. }
  73. } else {
  74. $w['where_id'] = $info['id'];
  75. $w['state'] = 1;
  76. $state = Dever::db('agent/member_goods')->update($w);
  77. $num = $w['total_num']-$info['total_num'];
  78. if ($state && $num > 0) {
  79. 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);
  80. }
  81. }
  82. }
  83. # 记录日志
  84. }
  85. return Dever::url('project/database/list&table=member_goods&project=agent&search_option_mid='.$mid, 'manage');
  86. }
  87. # 记录日志
  88. public function log($mid, $parent_order_num, $type, $type_id, $sku_id, $num, $pnum, $fnum, $desc = '')
  89. {
  90. $data['mid'] = $mid;
  91. $data['parent_order_num'] = $parent_order_num;
  92. $data['type'] = $type;
  93. $data['type_id'] = $type_id;
  94. $data['sku_id'] = $sku_id;
  95. $data['num'] = $num;
  96. $data['pnum'] = $pnum;
  97. $data['fnum'] = $fnum;
  98. $data['desc'] = $desc;
  99. $data['order_num'] = $this->getOrderId();
  100. $id = Dever::db('agent/member_goods_log')->insert($data);
  101. return $id;
  102. }
  103. /**
  104. * 生成日志订单号
  105. *
  106. * @return mixed
  107. */
  108. public function getOrderId()
  109. {
  110. $where['order_num'] = Dever::order('QY');
  111. $state = Dever::db('agent/member_goods_log')->one($where);
  112. if (!$state) {
  113. return $where['order_num'];
  114. } else {
  115. return $this->getOrderId();
  116. }
  117. }
  118. }