Sell.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. namespace Bill\Lib;
  3. use Dever;
  4. class Sell
  5. {
  6. # 发放业绩
  7. public function push_one_commit($mid, $num, $role, $id, $desc)
  8. {
  9. $this->push($mid, $num, $role, $id, $desc);
  10. }
  11. # 批量发放业绩
  12. public function push_all_commit($mid, $num, $role, $id, $desc)
  13. {
  14. $this->push($mid, $num, $role, $id, $desc);
  15. $parent = Dever::load('invite/api')->getParentAll($mid);
  16. if ($parent) {
  17. foreach ($parent as $k => $v) {
  18. $this->push($v['uid'], $num, $role, $id, $desc);
  19. }
  20. }
  21. }
  22. # 发放业绩
  23. private function push($mid, $num, $role, $id, $desc)
  24. {
  25. $this->up($mid, 1, $num, $role, $id, $desc, 2);
  26. $this->up($mid, 2, $num, $role, $id, $desc, 2);
  27. $where['where_id'] = $mid;
  28. $where['group_sell'] = $num;
  29. $where['sell'] = $num;
  30. return Dever::db('agent/member')->upGroupSellOne($where);
  31. }
  32. # 更新数据
  33. public function up($mid, $type, $num, $role, $type_id, $desc, $stype = 1)
  34. {
  35. if ($num == 0) {
  36. return;
  37. }
  38. $member = Dever::db('agent/member')->find(array('id' => $mid, 'clear' => true));
  39. if ($member['status'] <= 2) {
  40. $desc = explode(',', $desc);
  41. $desc = $desc[0];
  42. $where['mid'] = $mid;
  43. $where['type'] = $type;
  44. $where['stype'] = $stype;
  45. $where['type_id'] = $type_id;
  46. $where['clear'] = true;
  47. $info = Dever::db('bill/sell')->find($where);
  48. if (!$info) {
  49. $data = $where;
  50. $data['order_num'] = $this->getOrderId();
  51. $data['num'] = $num;
  52. $data['role'] = $role;
  53. $data['desc'] = $desc;
  54. return Dever::db('bill/sell')->insert($data);
  55. }
  56. return $info['id'];
  57. }
  58. return false;
  59. }
  60. /**
  61. * 生成订单号
  62. *
  63. * @return mixed
  64. */
  65. public function getOrderId()
  66. {
  67. $where['order_num'] = Dever::order('S');
  68. $state = Dever::db('bill/sell')->one($where);
  69. if (!$state) {
  70. return $where['order_num'];
  71. } else {
  72. return $this->getOrderId();
  73. }
  74. }
  75. # 展示详情
  76. public function show()
  77. {
  78. $id = Dever::input('id');
  79. $config = Dever::db('bill/sell')->config['set'];
  80. $info = Dever::db('bill/sell')->one($id);
  81. $type = $config['type'][$info['type']];
  82. $member = Dever::db('agent/member')->find($info['mid']);
  83. $role = Dever::db('setting/role')->one($member['role']);
  84. $level = Dever::db('setting/level')->one($member['level_id']);
  85. if ($member['shop_id']) {
  86. $shop = Dever::db('shop/info')->one($member['shop_id']);
  87. } else {
  88. $shop['id'] = -1;
  89. $shop['name'] = '无';
  90. }
  91. $cdate = date('Y-m-d H:i', $info['cdate']);
  92. $result = array();
  93. $result['代理商信息'] = array
  94. (
  95. 'type' => 'info',
  96. 'content' => array
  97. (
  98. array
  99. (
  100. array('代理商', $member['name'] . ' ' . $member['mobile']),
  101. array('代理角色', $role['name'] . ($level ? '('.$level['name'].')' : '')),
  102. array('所属店铺', $shop['name']),
  103. ),
  104. array
  105. (
  106. array('资金余额', '¥' . $member['cash'] . '元'),
  107. //array('直推业绩', '¥' . $member['sell'] . '元'),
  108. array('团队业绩', '¥' . $member['group_sell'] . '元'),
  109. ),
  110. ),
  111. );
  112. $result['业绩信息'] = array
  113. (
  114. 'type' => 'info',
  115. 'content' => array
  116. (
  117. array
  118. (
  119. array('流水号', $info['order_num']),
  120. array('交易时间', $cdate),
  121. array('业绩类型', $type),
  122. ),
  123. array
  124. (
  125. array('业绩金额', '¥' . $info['num'] . '元'),
  126. array('业绩说明', $info['desc']),
  127. ),
  128. )
  129. );
  130. $head_btn[] = array
  131. (
  132. 'type' => 'link',
  133. 'link' => Dever::url('project/database/list?project=bill&table=sell&menu=bill&search_option_state=1', 'manage'),
  134. 'name' => '返回上一页',
  135. );
  136. $head = array
  137. (
  138. 'name' => '基本信息',
  139. 'btn' => $head_btn,
  140. );
  141. // $head = array
  142. // (
  143. // 'name' => '基本信息',
  144. // 'btn' => array(),
  145. // );
  146. $html = Dever::show($head, $result);
  147. return $html;
  148. }
  149. }