Import.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. namespace Agent\Lib;
  3. use Dever;
  4. class Import
  5. {
  6. # 图片存放地址
  7. private $img_host = 'https://cryl.yijiuguanfang.com/attachment/';
  8. public function __construct()
  9. {
  10. $this->db = Dever::db('agent/test:old');
  11. }
  12. # 获取已审核的条件
  13. private function get_yes_where()
  14. {
  15. //issuingstate=1 已发放权益
  16. return 'restatus = 0 and status = 1 and prestatus = 1 and isagent = 1';
  17. }
  18. # 获取审核失败的条件
  19. private function get_no_where()
  20. {
  21. //issuingstate=1 已发放权益
  22. return 'restatus = 1 and isagent = 1';
  23. }
  24. # 获取待审核的条件
  25. private function get_where()
  26. {
  27. //issuingstate=1 已发放权益
  28. return 'restatus = 0 and status = 0 and isagent = 1 and contractstatus = 1';
  29. }
  30. # 获取sql
  31. public function get_sql_api()
  32. {
  33. $table['已审核'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_yes_where().' group by mobile order by num desc';
  34. $table['审核失败'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_no_where().' group by mobile order by num desc';
  35. $table['待审核'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_where().' group by mobile order by num desc';
  36. echo Dever::table($table);die;
  37. }
  38. public function get_api()
  39. {
  40. # 获取已审核通过、权益已发放的用户
  41. $data = $this->db->fetchAll('select * from ims_ewei_shop_member where '.$this->get_yes_where().' order by id asc limit 10');
  42. print_r($data);die;
  43. foreach ($data as $k => $v) {
  44. # 创建订单
  45. $order = Dever::db('agent/order')->find($v['id']);
  46. if (!$order) {
  47. $data = array();
  48. $data['id'] = $v['id'];
  49. $data['mobile'] = $v['mobile'];
  50. $data['name'] = $v['realname'];
  51. $data['avatar'] = $v['avatar'];
  52. $data['username'] = $v['nickname'];
  53. $data['mid'] = $v['id'];
  54. $data['parent_mid'] = $v['agentid'];
  55. $data['parent_code'] = Dever::load("invite/api.code", $data['parent_mid']);
  56. $data['role'] = $this->getRole($v['agentlevel']);
  57. $data['area'] = str_replace(' ', ',', $v['datavalue']);
  58. if ($v['streetvalue']) {
  59. $data['area'] .= ',' . $v['streetvalue'];
  60. }
  61. if ($v['entertype'] == 1) {
  62. $data['type'] = 1;
  63. } else {
  64. $data['type'] = 2;
  65. }
  66. $data['price'] = $v['paymoney'];
  67. $data['f_price'] = $data['price'];
  68. $role = Dever::db('setting/role')->find($data['role']);
  69. if ($role['type'] == 1) {
  70. $data['f_price'] = $role['price'];
  71. } elseif ($role['type'] == 2) {
  72. $data['f_price'] = Dever::load('area/api')->getPrice($role['area'], $data['area']);
  73. if ($data['f_price'] <= 0) {
  74. $data['f_price'] = $data['price'];
  75. }
  76. }
  77. $data['agent_cash'] = $data['f_price'];
  78. $data['sign'] = $v['contractsign'];
  79. $data['idcard'] = $v['idnumber'];
  80. if ($v['identity']) {
  81. $identity = Dever::json_decode($v['identity']);
  82. if (isset($identity[0])) {
  83. $data['idcard_front'] = $identity[0];
  84. }
  85. if (isset($identity[1])) {
  86. $data['idcard_back'] = $identity[1];
  87. }
  88. }
  89. $data['company_name'] = $v['company'];
  90. $data['address'] = $v['province'] . $v['city'] . $v['area'] . $v['street'];
  91. $data['pay_type'] = 2;
  92. $data['pay_pic'] = $v['receipt'];
  93. $data['status'] = $this->getStatus($v);
  94. $data['audit_desc'] = $v['refuse'];
  95. if ($v['issuingstate'] == 1) {
  96. $data['goods_status'] = 3;
  97. } else {
  98. $data['goods_status'] = 1;
  99. }
  100. $data['pay_status'] = 2;
  101. $data['order_num'] = Dever::load('agent/lib/order')->getOrderId();
  102. $data['cdate'] = $v['createtime'];
  103. if ($data['status'] == 4) {
  104. $data['fdate'] = 1;
  105. }
  106. $order_id = Dever::db('agent/order')->insert($data);
  107. if ($order_id) {
  108. if ($data['status'] == 2) {
  109. }
  110. $member = Dever::db('agent/member')->find($v['id']);
  111. if ($data['status'] == 4) {
  112. $data['status'] = 2;
  113. } elseif ($data['status'] == 5) {
  114. $data['status'] = 1;
  115. $data['state'] = 2;
  116. } else {
  117. $data['status'] = 1;
  118. }
  119. $data['rdate'] = $v['agenttime'];
  120. $data['cash'] = $v['credit2'];
  121. $data['group_sell'] = $v['allcommission'];
  122. if (!$member) {
  123. Dever::db('agent/member')->insert($data);
  124. } else {
  125. $data['where_id'] = $member['id'];
  126. Dever::db('agent/member')->update($data);
  127. }
  128. }
  129. }
  130. }
  131. print_r($data);die;
  132. }
  133. # 状态对应
  134. private function getStatus($data)
  135. {
  136. # 完成权益发放issuingstate、财务审核status、初审prestatus的认为订单有效
  137. if ($data['issuingstate'] == 1 && $data['status'] == 1 && $data['prestatus'] == 1) {
  138. return 4;
  139. } elseif ($data['status'] == 1 && $data['prestatus'] == 1) {
  140. return 3;
  141. } elseif ($data['prestatus'] == 1) {
  142. return 2;
  143. } elseif ($data['restatus'] == 1) {
  144. # 审核失败
  145. return 5;
  146. } elseif ($data['trainersign'] && $data['contractsign']) {
  147. return 1;
  148. } else {
  149. return -2;
  150. }
  151. }
  152. # 代理商角色对应
  153. private function getRole($role)
  154. {
  155. # key是历史数据 value是最新数据
  156. $config = array
  157. (
  158. # 创服
  159. 5 => 5,
  160. # 创客
  161. 4 => 6,
  162. # 逍客
  163. 8 => 7,
  164. # 城市
  165. 1 => 2,
  166. # 区县
  167. 2 => 3,
  168. # 街道
  169. 3 => 4,
  170. # 炒菜机分享会员
  171. 6 => 8,
  172. # 热敏炉分享会员
  173. 7 => 9,
  174. );
  175. if (isset($config[$role]) && $config[$role]) {
  176. return $config[$role];
  177. }
  178. return 1;
  179. }
  180. }