DistributionController.class.php 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419
  1. <?php
  2. /**
  3. * lionfish 商城系统
  4. *
  5. * ==========================================================================
  6. * @link http://www.liofis.com/
  7. * @copyright Copyright (c) 2015 liofis.com.
  8. * @license http://www.liofis.com/license.html License
  9. * ==========================================================================
  10. *
  11. * @author fish
  12. *
  13. */
  14. namespace Home\Controller;
  15. class DistributionController extends CommonController {
  16. public function main()
  17. {
  18. echo json_encode( array('code' =>0) );
  19. die();
  20. }
  21. public function get_instruct()
  22. {
  23. $communitymember_apply_page = D('Home/Front')->get_config_by_name('communitymember_apply_page');
  24. $communitymember_apply_page = htmlspecialchars_decode($communitymember_apply_page);
  25. echo json_encode( array('code' => 0, 'content' => $communitymember_apply_page) );
  26. die();
  27. }
  28. /**
  29. 提交申请表单
  30. @param 注意,申请表单的时候,需要判断是否满足其他条件了。如果已经满足了,那么就可以直接申请了
  31. 提交参数:{token:'xxx', data: [{type:input,name:'姓名',value="123"},{type:radio,name:'姓名',value="123"}] }
  32. **/
  33. public function sub_distribut_form()
  34. {
  35. $_GPC = I('request.');
  36. $token = $_GPC['token'];
  37. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  38. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  39. {
  40. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  41. die();
  42. }
  43. $member_id = $weprogram_token['member_id'];
  44. $data = json_decode( htmlspecialchars_decode( $_GPC['data']) ,true);
  45. $commiss_formcontent = serialize( $data );
  46. //M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->save( array('is_writecommiss_form' => 1,'commiss_formcontent' => $commiss_formcontent ) );
  47. //判断是否需要审核
  48. $commiss_become_condition = D('Home/Front')->get_config_by_name('commiss_become_condition');
  49. if( empty($commiss_become_condition) || $commiss_become_condition == 0 )
  50. {
  51. //不需要审核,那么直接升级为分销了
  52. M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->save( array('comsiss_time' => time(),'comsiss_flag' => 1,'comsiss_state' => 1 ,'is_writecommiss_form' => 1,'commiss_formcontent' => $commiss_formcontent ) );
  53. echo json_encode( array('code' =>0, 'msg' =>'提交成功') );
  54. die();
  55. }else{
  56. //需要审核,成为分销,待审核状态
  57. M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->save( array('comsiss_flag' => 1,'is_writecommiss_form' => 1,'commiss_formcontent' => $commiss_formcontent ) );
  58. //将未 挪动上级的会员归到当前会员的下级去
  59. M('lionfish_comshop_member')->where( array('share_id' => $member_id, 'agentid' => 0 ) )->save( array('agentid' => $member_id ) );
  60. echo json_encode( array('code' =>0, 'msg' =>'申请成功,平台将尽快审核') );
  61. die();
  62. }
  63. echo json_encode( array('code' =>0, 'msg' =>'提交成功') );
  64. die();
  65. }
  66. /**
  67. 会员申请分销按钮确认
  68. **/
  69. public function sub_commission_info()
  70. {
  71. $_GPC = I('request.');
  72. $token = $_GPC['token'];
  73. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  74. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  75. {
  76. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  77. die();
  78. }
  79. $member_id = $weprogram_token['member_id'];
  80. //开始判断
  81. $share_member_count = M('lionfish_comshop_member')->where( "share_id={$member_id} and (agentid =0 or agentid={$member_id})" )->count();
  82. //1、是否需要分享
  83. $commiss_sharemember_need = D('Home/Front')->get_config_by_name('commiss_sharemember_need');
  84. if( !empty($commiss_sharemember_need) && $commiss_sharemember_need == 1 )
  85. {
  86. // 2、分享多少人才能成为分销
  87. $commiss_share_member_update = D('Home/Front')->get_config_by_name('commiss_share_member_update');
  88. if( !empty($commiss_share_member_update) && $commiss_share_member_update > 0 )
  89. {
  90. if( $share_member_count < $commiss_share_member_update )
  91. {
  92. $del = $commiss_share_member_update - $share_member_count;
  93. echo json_encode( array('code' =>1 , 'msg' => '分享人数还差'.$del.'人','del_count' => $del ) );
  94. die();
  95. }
  96. }
  97. }
  98. $member_info = M('lionfish_comshop_member')->field('is_writecommiss_form,comsiss_flag,comsiss_state')->where( array('member_id' =>$member_id ) )->find();
  99. // 3、commiss_biaodan_need 是否需要表单
  100. $commiss_biaodan_need = D('Home/Front')->get_config_by_name('commiss_biaodan_need');
  101. if( !empty($commiss_biaodan_need) && $commiss_biaodan_need == 1 )
  102. {
  103. if( $member_info['is_writecommiss_form'] != 1)
  104. {
  105. echo json_encode( array('code' =>1 , 'msg' => '您未填写表单!' ) );
  106. die();
  107. }
  108. }
  109. //4判断是否需要审核
  110. $commiss_become_condition = D('Home/Front')->get_config_by_name('commiss_become_condition');
  111. if( empty($commiss_become_condition) || $commiss_become_condition == 0 )
  112. {
  113. //不需要审核,那么直接升级为分销了
  114. D('Home/Commission')->become_commiss_member($member_id);
  115. echo json_encode( array('code' =>0, 'msg' =>'申请成功!') );
  116. die();
  117. }else{
  118. //需要审核,成为分销,待审核状态
  119. D('Home/Commission')->become_wait_commiss_member($member_id);
  120. echo json_encode( array('code' =>0, 'msg' =>'申请成功,平台将尽快审核') );
  121. die();
  122. }
  123. }
  124. public function get_parent_agent_info_bymemberid()
  125. {
  126. $_GPC = I('request.');
  127. $member_id = $_GPC['member_id'];
  128. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  129. if( empty($member_info) )
  130. {
  131. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  132. die();
  133. }
  134. $data_result = array('parent_username' => '','parent_telephone' => '','share_username' => '','share_telephone' => '' );
  135. if( $member_info['agentid'] > 0 )
  136. {
  137. $parent_mb = M('lionfish_comshop_member')->where( array('member_id' => $member_info['agentid'] ) )->find();
  138. $data_result['parent_username'] = $parent_mb['username'];//上级姓名
  139. $data_result['parent_telephone'] = $parent_mb['telephone'];//上级电话
  140. }
  141. if( $member_info['share_id'] > 0 )
  142. {
  143. $share_mb = M('lionfish_comshop_member')->where( array('member_id' => $member_info['share_id'] ) )->find();
  144. $data_result['share_username'] = $share_mb['username'];//上级姓名
  145. $data_result['share_telephone'] = $share_mb['telephone'];//上级电话
  146. }
  147. echo json_encode( array('code' => 0, 'data' => $data_result) );
  148. die();
  149. }
  150. public function get_parent_agent_info()
  151. {
  152. $_GPC = I('request.');
  153. $token = $_GPC['token'];
  154. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  155. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  156. {
  157. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  158. die();
  159. }
  160. $member_id = $weprogram_token['member_id'];
  161. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  162. if( empty($member_info) )
  163. {
  164. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  165. die();
  166. }
  167. $data_result = array('parent_username' => '','parent_telephone' => '','share_username' => '','share_telephone' => '' );
  168. if( $member_info['agentid'] > 0 )
  169. {
  170. $parent_mb = M('lionfish_comshop_member')->where( array('member_id' => $member_info['agentid'] ) )->find();
  171. $data_result['parent_username'] = $parent_mb['username'];//上级姓名
  172. $data_result['parent_telephone'] = $parent_mb['telephone'];//上级电话
  173. }
  174. if( $member_info['share_id'] > 0 )
  175. {
  176. $share_mb = M('lionfish_comshop_member')->where( array('member_id' => $member_info['share_id'] ) )->find();
  177. $data_result['share_username'] = $share_mb['username'];//上级姓名
  178. $data_result['share_telephone'] = $share_mb['telephone'];//上级电话
  179. }
  180. echo json_encode( array('code' => 0, 'data' => $data_result) );
  181. die();
  182. }
  183. /**
  184. 会员分销提现 提交接口
  185. **/
  186. public function tixian_sub()
  187. {
  188. $_GPC = I('request.');
  189. $token = $_GPC['token'];
  190. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  191. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  192. {
  193. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  194. die();
  195. }
  196. $member_id = $weprogram_token['member_id'];
  197. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  198. if( empty($member_info) )
  199. {
  200. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  201. die();
  202. }
  203. if($member_info['comsiss_flag'] != 1 )
  204. {
  205. echo json_encode( array('code' => 1, 'msg' => '您还不是分销') );
  206. die();
  207. }
  208. if($member_info['comsiss_state'] != 1 )
  209. {
  210. echo json_encode( array('code' => 1, 'msg' => '等待管理员审核') );
  211. die();
  212. }
  213. $result = array('code' => 1,'msg' => '提现失败');
  214. $member_commiss = M('lionfish_comshop_member_commiss')->where( array('member_id' => $member_id ) )->find();
  215. $datas = array();
  216. $datas['money'] = $_GPC['money'];
  217. $money = $datas['money'];
  218. $type = $_GPC['type'];// 1余额 2 微信 3 支付宝 4 银行
  219. $bankname = isset($_GPC['bankname']) ? $_GPC['bankname'] : ''; //银行名称
  220. $bankaccount = isset($_GPC['bankaccount']) ? $_GPC['bankaccount'] : '';//卡号,支付宝账号 使用该字段
  221. $bankusername = isset($_GPC['bankusername']) ? $_GPC['bankusername'] : '';//持卡人姓名,微信名称,支付宝名称, 使用该字段
  222. $commiss_money_limit = D('Home/Front')->get_config_by_name('commiss_min_tixian_money');
  223. if(!empty($commiss_money_limit) && $commiss_money_limit >0)
  224. {
  225. if($member_commiss['money'] < $commiss_money_limit)
  226. {
  227. $result['msg'] = '佣金满'.$commiss_money_limit.'才能提现';
  228. echo json_encode($result);
  229. die();
  230. }
  231. }
  232. if($money > 0 && $money <= $member_commiss['money'])
  233. {
  234. //判断提现手续费,+ 判断提现金额免审直接到账
  235. $service_charge = D('Home/Front')->get_config_by_name('commiss_tixian_bili');
  236. $data = array();
  237. $data['member_id'] = $member_id;
  238. $data['uniacid'] = 0;
  239. $data['money'] = $money;
  240. $data['service_charge'] = $service_charge;
  241. $data['service_charge_money'] = round( ($money * $service_charge) /100 ,2);
  242. $data['state'] = 0;
  243. $data['shentime'] = 0;
  244. $data['type'] = $type;
  245. $data['bankname'] = $bankname;
  246. $data['bankaccount'] = $bankaccount;
  247. $data['bankusername'] = $bankusername;
  248. $data['addtime'] = time();
  249. M('lionfish_comshop_member_tixian_order')->add( $data );
  250. $com_arr = array();
  251. $com_arr['money'] = $member_commiss['money'] - $money;
  252. $com_arr['dongmoney'] = $member_commiss['dongmoney'] + $money;
  253. M('lionfish_comshop_member_commiss')->where( array('member_id' => $member_id ) )->setInc('money',-$money );
  254. M('lionfish_comshop_member_commiss')->where( array('member_id' => $member_id ) )->setInc('dongmoney',$money );
  255. $result['code'] = 0;
  256. //commiss_tixian_reviewed 0 , 1
  257. $commiss_tixian_reviewed = D('Home/Front')->get_config_by_name('commiss_tixian_reviewed');
  258. if(empty($commiss_tixian_reviewed) || $commiss_tixian_reviewed == 0)
  259. {
  260. //手动
  261. } else if( !empty($commiss_tixian_reviewed) && $commiss_tixian_reviewed == 1 ){
  262. //自动
  263. }
  264. }
  265. echo json_encode($result);
  266. die();
  267. }
  268. /**
  269. 提现记录
  270. **/
  271. public function tixian_record()
  272. {
  273. $_GPC = I('request.');
  274. $token = $_GPC['token'];
  275. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  276. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  277. {
  278. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  279. die();
  280. }
  281. $member_id = $weprogram_token['member_id'];
  282. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  283. if( empty($member_info) )
  284. {
  285. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  286. die();
  287. }
  288. if($member_info['comsiss_flag'] != 1 )
  289. {
  290. echo json_encode( array('code' => 1, 'msg' => '您还不是分销') );
  291. die();
  292. }
  293. if($member_info['comsiss_state'] != 1 )
  294. {
  295. echo json_encode( array('code' => 1, 'msg' => '等待管理员审核') );
  296. die();
  297. }
  298. $per_page = 10;
  299. $page = isset($_GPC['page']) ? $_GPC['page']:1;
  300. $offset = ($page - 1) * $per_page;
  301. $list = array();
  302. $list = M('lionfish_comshop_member_tixian_order')->where( array('member_id' => $member_id ) )->order( 'addtime desc' )->limit($offset,$per_page )->select();
  303. foreach($list as $key => $val)
  304. {
  305. $val['addtime'] = date('Y-m-d H:i', $val['addtime']);
  306. $list[$key] = $val;
  307. }
  308. if( !empty($list) )
  309. {
  310. echo json_encode( array('code' =>0, 'data'=>$list) );
  311. die();
  312. }else{
  313. echo json_encode( array('code' => 1) );
  314. die();
  315. }
  316. }
  317. private function get_member_next_child($member_id)
  318. {
  319. $level = D('Home/Front')->get_config_by_name('commiss_level');// isset($_GPC['level']) ? $_GPC['level']: 1;
  320. $level_1_ids = array();
  321. $level_2_ids = array();
  322. $level_3_ids = array();
  323. $member_id_arr = array($member_id);
  324. $where = "";
  325. $need_count = 0;
  326. //commiss_level
  327. if( $level == 1 )
  328. {
  329. $list = array();
  330. $need_count = M('lionfish_comshop_member')->where( "agentid in (".implode(',', $member_id_arr).")" )->count();
  331. }else if( $level == 2 )
  332. {
  333. $list = array();
  334. $list1 = M('lionfish_comshop_member')->field('member_id')->where( "agentid in (".implode(',', $member_id_arr).")" )->order('member_id desc')->select();
  335. if( !empty($list1) )
  336. {
  337. foreach( $list1 as $vv )
  338. {
  339. $level_1_ids[] = $vv['member_id'];
  340. }
  341. $level_sql2 =" select member_id from ".C('DB_PREFIX').
  342. "lionfish_comshop_member where
  343. agentid in (select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  344. where agentid ={$member_id} order by member_id desc ) order by member_id desc ";
  345. $list2 = M()->query($level_sql2);
  346. if( !empty($list2) )
  347. {
  348. foreach( $list2 as $vv )
  349. {
  350. $level_2_ids[] = $vv['member_id'];
  351. }
  352. }
  353. $need_ids = empty($level_1_ids) ? array() : $level_1_ids;
  354. if(!empty($level_2_ids))
  355. {
  356. foreach($level_2_ids as $vv)
  357. {
  358. $need_ids[] = $vv;
  359. }
  360. }
  361. if(!empty($need_ids))
  362. {
  363. $sql =" select count(member_id) as count from ".C('DB_PREFIX').
  364. "lionfish_comshop_member where 1 {$where} and
  365. member_id in (".implode(',', $need_ids ).") ";
  366. $need_count_arr = M()->query($sql);
  367. $need_count = $need_count_arr[0]['count'];
  368. }
  369. }
  370. }else if( $level == 3 ){
  371. $sql = "select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  372. where agentid in (".implode(',', $member_id_arr).") order by member_id desc ";
  373. $list1 = M()->query($sql);
  374. if( !empty($list1) )
  375. {
  376. foreach( $list1 as $vv )
  377. {
  378. $level_1_ids[] = $vv['member_id'];
  379. }
  380. $need_ids = empty($level_1_ids) ? array() : $level_1_ids;
  381. $level_sql2 =" select member_id from ".C('DB_PREFIX').
  382. "lionfish_comshop_member where
  383. agentid in (select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  384. where agentid ={$member_id} order by member_id desc ) order by member_id desc ";
  385. $list2 = M()->query($level_sql2);
  386. if( !empty($list2) )
  387. {
  388. foreach( $list2 as $vv )
  389. {
  390. $level_2_ids[] = $vv['member_id'];
  391. }
  392. if(!empty($level_2_ids))
  393. {
  394. foreach($level_2_ids as $vv)
  395. {
  396. $need_ids[] = $vv;
  397. }
  398. }
  399. }
  400. $level_sql3 =" select * from ".C('DB_PREFIX').
  401. "lionfish_comshop_member where
  402. agentid in (".implode(',', $need_ids).") order by member_id desc ";
  403. $list3 = M()->query($level_sql3);
  404. if( !empty($list3) )
  405. {
  406. foreach( $list3 as $vv )
  407. {
  408. $level_3_ids[] = $vv['member_id'];
  409. }
  410. if(!empty($level_3_ids))
  411. {
  412. foreach($level_3_ids as $vv)
  413. {
  414. $need_ids[] = $vv;
  415. }
  416. }
  417. }
  418. $level_sql3 =" select count(member_id) as count from ".C('DB_PREFIX').
  419. "lionfish_comshop_member where 1 {$where} and member_id in (".implode(',',$need_ids).") ";
  420. $need_count_arr = M()->query($level_sql3);
  421. $need_count = $need_count_arr[0]['count'];
  422. }
  423. }
  424. return $need_count;
  425. }
  426. /**
  427. 获取会员粉丝列表接口
  428. **/
  429. public function get_member_fanslist()
  430. {
  431. $_GPC = I('request.');
  432. $token = $_GPC['token'];
  433. $keyword = $_GPC['keyword'];
  434. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  435. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  436. {
  437. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  438. die();
  439. }
  440. $member_id = $weprogram_token['member_id'];
  441. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  442. if( empty($member_info) )
  443. {
  444. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  445. die();
  446. }
  447. //...
  448. $page = isset($_GPC['page']) ? $_GPC['page']:'1';
  449. $size = isset($_GPC['size']) ? $_GPC['size']:'20';
  450. $offset = ($page - 1)* $size;
  451. //begin select keyword
  452. $level = D('Home/Front')->get_config_by_name('commiss_level');// isset($_GPC['level']) ? $_GPC['level']: 1;
  453. $level_1_ids = array();
  454. $level_2_ids = array();
  455. $level_3_ids = array();
  456. $member_id_arr = array($member_id);
  457. $where = "";
  458. if( !empty($keyword) )
  459. {
  460. $where .= " and ( username like '%{$keyword}%' or telephone like '%{$keyword}%' ) ";
  461. }
  462. //commiss_level ( "share_id={$member_id} and (agentid =0 or agentid={$member_id} )" )
  463. $list = array();
  464. $sql = "select * from ".C('DB_PREFIX')."lionfish_comshop_member
  465. where 1 {$where} and (share_id = {$member_id} and (agentid =0 or agentid={$member_id} ) ) order by member_id desc limit {$offset},{$size}";
  466. $list = M()->query($sql);
  467. foreach( $list as $vv )
  468. {
  469. $level_1_ids[$vv['id']] = $vv['id'];
  470. }
  471. $level_list = array();
  472. $need_list = array();
  473. if( !empty($list) )
  474. {
  475. foreach($list as $key => $val)
  476. {
  477. $val['child_level'] = 1;
  478. $val['create_time'] = date('Y-m-d H:i:s', $val['create_time']);
  479. $need_list[$key] = $val;
  480. }
  481. }
  482. $bg_time = strtotime( date('Y-m-d').' 00:00:00');
  483. $yes_time = $bg_time - 86400;
  484. if( !empty($need_list) )
  485. {
  486. echo json_encode( array('code' => 0, 'data' => $need_list ) );
  487. die();
  488. }else {
  489. echo json_encode( array('code' => 1 ) );
  490. die();
  491. }
  492. }
  493. /**
  494. 获取团长的下级列表接口
  495. **/
  496. public function get_head_child_headlist()
  497. {
  498. $_GPC = I('request.');
  499. $token = $_GPC['token'];
  500. $keyword = $_GPC['keyword'];
  501. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  502. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  503. {
  504. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  505. die();
  506. }
  507. $member_id = $weprogram_token['member_id'];
  508. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  509. if( empty($member_info) )
  510. {
  511. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  512. die();
  513. }
  514. if($member_info['comsiss_flag'] != 1 )
  515. {
  516. echo json_encode( array('code' => 1, 'msg' => '您还不是分销') );
  517. die();
  518. }
  519. if($member_info['comsiss_state'] != 1 )
  520. {
  521. echo json_encode( array('code' => 1, 'msg' => '等待管理员审核') );
  522. die();
  523. }
  524. //...
  525. $page = isset($_GPC['page']) ? $_GPC['page']:'1';
  526. $size = isset($_GPC['size']) ? $_GPC['size']:'20';
  527. $offset = ($page - 1)* $size;
  528. $level = D('Home/Front')->get_config_by_name('commiss_level');
  529. $level_1_ids = array();
  530. $level_2_ids = array();
  531. $level_3_ids = array();
  532. $member_id_arr = array($member_id);
  533. $where = "";
  534. if( !empty($keyword) )
  535. {
  536. $where .= " and ( username like '%{$keyword}%' or telephone like '%{$keyword}%' ) ";
  537. }
  538. //commiss_level
  539. if( $level == 1 )
  540. {
  541. $list = array();
  542. $sql = "select * from ".C('DB_PREFIX')."lionfish_comshop_member
  543. where 1 {$where} and agentid in (".implode(',', $member_id_arr).") order by member_id desc limit {$offset},{$size}";
  544. $list = M()->query($sql);
  545. foreach( $list as $vv )
  546. {
  547. $level_1_ids[$vv['id']] = $vv['id'];
  548. }
  549. }else if( $level == 2 )
  550. {
  551. $list = array();
  552. $sql = "select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  553. where agentid in (".implode(',', $member_id_arr).") order by member_id desc ";
  554. $list1 = M()->query($sql);
  555. if( !empty($list1) )
  556. {
  557. foreach( $list1 as $vv )
  558. {
  559. $level_1_ids[$vv['member_id']] = $vv['member_id'];
  560. }
  561. $level_sql2 =" select member_id from ".C('DB_PREFIX').
  562. "lionfish_comshop_member where
  563. agentid in (select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  564. where agentid = {$member_id} order by member_id desc ) order by member_id desc ";
  565. $list2 = M()->query($level_sql2);
  566. if( !empty($list2) || !empty($list1) )
  567. {
  568. foreach( $list2 as $vv )
  569. {
  570. $level_2_ids[$vv['member_id']] = $vv['member_id'];
  571. }
  572. }
  573. $need_ids = empty($level_1_ids) ? array() : $level_1_ids;
  574. if(!empty($level_2_ids))
  575. {
  576. foreach($level_2_ids as $vv)
  577. {
  578. $need_ids[] = $vv;
  579. }
  580. }
  581. if(!empty($need_ids))
  582. {
  583. $sql =" select * from ".C('DB_PREFIX').
  584. "lionfish_comshop_member where 1 {$where} and
  585. member_id in (".implode(',', $need_ids ).") order by member_id desc limit {$offset},{$size}";
  586. $list = M()->query($sql);
  587. }
  588. }
  589. }else if( $level == 3 ){
  590. $sql = "select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  591. where agentid in (".implode(',', $member_id_arr).") order by member_id desc ";
  592. $list1 = M()->query($sql);
  593. if( !empty($list1) )
  594. {
  595. foreach( $list1 as $vv )
  596. {
  597. $level_1_ids[$vv['member_id']] = $vv['member_id'];
  598. }
  599. $need_ids = empty($level_1_ids) ? array() : $level_1_ids;
  600. $level_sql2 =" select * from ".C('DB_PREFIX').
  601. "lionfish_comshop_member where
  602. agentid in (select member_id from ".C('DB_PREFIX')."lionfish_comshop_member
  603. where agentid ={$member_id} order by member_id desc ) order by member_id desc ";
  604. $list2 = M()->query($level_sql2);
  605. if( !empty($list2) )
  606. {
  607. foreach( $list2 as $vv )
  608. {
  609. $level_2_ids[$vv['member_id']] = $vv['member_id'];
  610. }
  611. if(!empty($level_2_ids))
  612. {
  613. foreach($level_2_ids as $vv)
  614. {
  615. $need_ids[] = $vv;
  616. }
  617. }
  618. }
  619. $level_sql3 =" select member_id from ".C('DB_PREFIX').
  620. "lionfish_comshop_member where
  621. agentid in (".implode(',', $need_ids).") order by member_id desc ";
  622. $list3 = M()->query($level_sql3);
  623. if( !empty($list3) )
  624. {
  625. foreach( $list3 as $vv )
  626. {
  627. $level_3_ids[$vv['member_id']] = $vv['member_id'];
  628. }
  629. if(!empty($level_3_ids))
  630. {
  631. foreach($level_3_ids as $vv)
  632. {
  633. $need_ids[] = $vv;
  634. }
  635. }
  636. }
  637. $level_sql3 =" select * from ".C('DB_PREFIX').
  638. "lionfish_comshop_member where 1 {$where} and member_id in (".implode(',',$need_ids).") order by member_id desc limit {$offset},{$size}";
  639. $list = M()->query($level_sql3);
  640. }
  641. }
  642. $level_list = array();
  643. $need_list = array();
  644. if( !empty($list) )
  645. {
  646. foreach($list as $key => $val)
  647. {
  648. //member_id
  649. $val['child_level'] = 1;
  650. if( isset($level_2_ids[$val['member_id']]) )
  651. {
  652. $val['child_level'] = 2;
  653. }
  654. else if( isset($level_3_ids[$val['member_id']]) )
  655. {
  656. $val['child_level'] = 3;
  657. }
  658. $val['create_time'] = date('Y-m-d H:i:s', $val['create_time']);
  659. $need_list[$key] = $val;
  660. }
  661. }
  662. $bg_time = strtotime( date('Y-m-d').' 00:00:00');
  663. $yes_time = $bg_time - 86400;
  664. $today_member_count = M('lionfish_comshop_member')->where( "agentid={$member_id} and create_time>={$bg_time}" )->count();
  665. $yes_member_count = M('lionfish_comshop_member')->where( "agentid={$member_id} and create_time>={$yes_time} and create_time< {$bg_time}" )->count();
  666. if( !empty($need_list) )
  667. {
  668. echo json_encode( array('code' => 0, 'data' => $need_list , 'today_member_count'=>$today_member_count,'yes_member_count'=>$yes_member_count) );
  669. die();
  670. }else {
  671. echo json_encode( array('code' => 1, 'today_member_count'=>$today_member_count,'yes_member_count'=>$yes_member_count) );
  672. die();
  673. }
  674. }
  675. /**
  676. 获取会员分销基础数据
  677. **/
  678. public function get_commission_info()
  679. {
  680. $_GPC = I('request.');
  681. $token = $_GPC['token'];
  682. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  683. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  684. {
  685. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  686. die();
  687. }
  688. $member_id = $weprogram_token['member_id'];
  689. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  690. if( empty($member_info) )
  691. {
  692. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  693. die();
  694. }
  695. if($member_info['comsiss_flag'] != 1 )
  696. {
  697. echo json_encode( array('code' => 1, 'msg' => '您还不是分销') );
  698. die();
  699. }
  700. if($member_info['comsiss_state'] != 1 )
  701. {
  702. echo json_encode( array('code' => 1, 'msg' => '等待管理员审核') );
  703. die();
  704. }
  705. //最小提现金额
  706. $commiss_min_tixian_money = D('Home/Front')->get_config_by_name('commiss_min_tixian_money');
  707. if( empty($commiss_min_tixian_money) )
  708. {
  709. $commiss_min_tixian_money = 0;
  710. }
  711. $commiss_tixian_bili = D('Home/Front')->get_config_by_name('commiss_tixian_bili');
  712. if( empty($commiss_tixian_bili) )
  713. {
  714. $commiss_tixian_bili = 0;
  715. }
  716. //C('DB_PREFIX')
  717. $member_commiss = M('lionfish_comshop_member_commiss')->where( array('member_id' =>$member_id ) )->find();
  718. $member_commiss['commiss_min_tixian_money'] = $commiss_min_tixian_money;//最小提现金额, 0标识不限制
  719. $member_commiss['commiss_tixian_bili'] = $commiss_tixian_bili;
  720. $member_commiss['total_commiss_money'] = $member_commiss['money'] + $member_commiss['dongmoney'] + $member_commiss['getmoney'];
  721. //订单数量
  722. $order_count = M('lionfish_comshop_member_commiss_order')->where( array('member_id' =>$member_id ) )->count();
  723. //会员数量
  724. $member_commiss['order_count'] = $order_count;
  725. $member_commiss['member_count'] = $this->get_member_next_child($member_id);
  726. $commiss_tixianway_yuer = D('Home/Front')->get_config_by_name('commiss_tixianway_yuer');
  727. $commiss_tixianway_weixin = D('Home/Front')->get_config_by_name('commiss_tixianway_weixin');
  728. $commiss_tixianway_alipay = D('Home/Front')->get_config_by_name('commiss_tixianway_alipay');
  729. $commiss_tixianway_bank = D('Home/Front')->get_config_by_name('commiss_tixianway_bank');
  730. $member_commiss['commiss_tixianway_yuer'] = empty($commiss_tixianway_yuer) ? 1 : ($commiss_tixianway_yuer == 2 ? 1:0);
  731. $member_commiss['commiss_tixianway_weixin'] = empty($commiss_tixianway_weixin) ? 1 : ($commiss_tixianway_weixin == 2 ? 1:0);
  732. $member_commiss['commiss_tixianway_alipay'] = empty($commiss_tixianway_alipay) ? 1 : ($commiss_tixianway_alipay == 2 ? 1:0);
  733. $member_commiss['commiss_tixianway_bank'] = empty($commiss_tixianway_bank) ? 1 : ($commiss_tixianway_bank == 2 ? 1:0);
  734. //share_id agentid
  735. $member_commiss['share_name'] = '';
  736. if( $member_info['share_id'] > 0 )
  737. {
  738. $mbshare_info = M('lionfish_comshop_member')->field('username')->where( array('member_id' => $member_info['share_id']) )->find();
  739. $member_commiss['share_name'] = $mbshare_info['username'];
  740. }
  741. //上一微信真实姓名
  742. $last_weixin_realname = "";
  743. $last_weixin_info = M('lionfish_comshop_member_tixian_order')->where( "member_id={$member_id} and type=2" )->find();
  744. if( !empty($last_weixin_info) )
  745. {
  746. $last_weixin_realname = $last_weixin_info['bankusername'];
  747. }
  748. //上一支付宝账号
  749. $last_alipay_name = '';
  750. $last_alipay_account = '';
  751. $last_alipay_info = M('lionfish_comshop_member_tixian_order')->where( "member_id={$member_id} and type=3" )->find();
  752. if( !empty($last_alipay_info) )
  753. {
  754. $last_alipay_name = $last_alipay_info['bankusername'];
  755. $last_alipay_account = $last_alipay_info['bankaccount'];
  756. }
  757. //上一银行卡信息
  758. $last_bank_bankname = '';
  759. $last_bank_account = '';
  760. $last_bank_name = '';
  761. $last_bank_info = M('lionfish_comshop_member_tixian_order')->where( "member_id={$member_id} and type=4" )->find();
  762. if( !empty($last_bank_info) )
  763. {
  764. $last_bank_bankname = $last_bank_info['bankname'];
  765. $last_bank_account = $last_bank_info['bankaccount'];
  766. $last_bank_name = $last_bank_info['bankusername'];
  767. }
  768. $member_commiss['last_weixin_realname'] = $last_weixin_realname;
  769. $member_commiss['last_alipay_name'] = $last_alipay_name;
  770. $member_commiss['last_alipay_account'] = $last_alipay_account;
  771. $member_commiss['last_bank_bankname'] = $last_bank_bankname;
  772. $member_commiss['last_bank_account'] = $last_bank_account;
  773. $member_commiss['last_bank_name'] = $last_bank_name;
  774. $commiss_tixian_publish = D('Home/Front')->get_config_by_name('commiss_tixian_publish');
  775. $member_commiss['commiss_tixian_publish'] = htmlspecialchars_decode( $commiss_tixian_publish );
  776. $member_commiss['total_money'] = sprintf('%.2f', $member_commiss['money'] + $member_commiss['dongmoney'] + $member_commiss['getmoney']);
  777. $is_need_subscript = 0;
  778. $need_subscript_template = array();
  779. $apply_tixian_info = M('lionfish_comshop_subscribe')->where( array('member_id' => $member_id , 'type' => 'apply_tixian') )->find();
  780. if( empty($apply_tixian_info) )
  781. {
  782. $weprogram_subtemplate_apply_tixian = D('Home/Front')->get_config_by_name('weprogram_subtemplate_apply_tixian');
  783. if( !empty($weprogram_subtemplate_apply_tixian) )
  784. {
  785. $need_subscript_template['apply_tixian'] = $weprogram_subtemplate_apply_tixian;
  786. }
  787. }
  788. if( !empty($need_subscript_template) )
  789. {
  790. $is_need_subscript = 1;
  791. }
  792. echo json_encode( array('code' =>0,'data' => $member_commiss ,'is_need_subscript' => $is_need_subscript, 'need_subscript_template' => $need_subscript_template ) );
  793. die();
  794. }
  795. /**
  796. 获取分销订单
  797. **/
  798. public function listorder_list()
  799. {
  800. $_GPC = I('request.');
  801. $token = $_GPC['token'];
  802. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  803. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  804. {
  805. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  806. die();
  807. }
  808. $member_id = $weprogram_token['member_id'];
  809. $member_info = M('lionfish_comshop_member')->where( array('member_id' => $member_id ) )->find();
  810. if( empty($member_info) )
  811. {
  812. echo json_encode( array('code' => 1, 'msg' => '会员不存在') );
  813. die();
  814. }
  815. if($member_info['comsiss_flag'] != 1 )
  816. {
  817. echo json_encode( array('code' => 1, 'msg' => '您还不是分销') );
  818. die();
  819. }
  820. if($member_info['comsiss_state'] != 1 )
  821. {
  822. echo json_encode( array('code' => 1, 'msg' => '等待管理员审核') );
  823. die();
  824. }
  825. $per_page = 6;
  826. $page = isset($_GPC['page']) ? $_GPC['page']:1;
  827. $offset = ($page - 1) * $per_page;
  828. $list = array();
  829. $where = '';
  830. $state = isset($_GPC['state']) ? $_GPC['state']: -1;
  831. //state
  832. if($state >=0)
  833. {
  834. $where .= ' and mco.state = '.$state;
  835. }
  836. $commiss_level_num = D('Home/Front')->get_config_by_name('commiss_level');
  837. $where .= ' and mco.level <= '.$commiss_level_num;
  838. $url = D('Home/Front')->get_config_by_name('shop_domain');
  839. //$this->state = $state;
  840. $sql = 'select mco.level, mco.money,mco.child_member_id,mco.addtime,mco.state,o.order_id,o.order_num_alias,o.order_status_id,o.order_num_alias,o.total,og.goods_id,og.quantity,og.has_refund_money,og.has_refund_quantity, og.name,og.price,og.goods_images,og.order_goods_id,mco.store_id,m.username as uname from '
  841. .C('DB_PREFIX')."lionfish_comshop_member_commiss_order as mco , ".C('DB_PREFIX')."lionfish_comshop_order_goods as og,
  842. ".C('DB_PREFIX')."lionfish_comshop_order as o ,
  843. ".C('DB_PREFIX')."lionfish_comshop_member as m
  844. where mco.order_id=og.order_id and mco.order_id = o.order_id and mco.order_goods_id=og.order_goods_id and m.member_id=mco.child_member_id and mco.member_id=".$member_id." {$where} order by mco.id desc limit {$offset},{$per_page}";
  845. $list = M()->query($sql);
  846. $status_arr = D('Seller/Order')->get_order_status_name();
  847. //rela_goodsoption_valueid
  848. foreach($list as $key =>$val)
  849. {
  850. $val['total'] = round($val['total'],2);
  851. $val['money'] = round($val['money'],2);
  852. $val['status_name'] = $status_arr[$val['order_status_id']];
  853. $val['addtime'] = date('Y-m-d', $val['addtime']);
  854. if( !empty($val['goods_images']))
  855. {
  856. $goods_images = $url. '/'.resize($val['goods_images'],400,400);
  857. if(is_array($goods_images))
  858. {
  859. $val['goods_images'] = $val['goods_images'];
  860. }else{
  861. $val['goods_images']= $url.'/'.resize($val['goods_images'],400,400) ;
  862. }
  863. }else{
  864. $val['goods_images']= '';
  865. }
  866. $order_option_list = M('lionfish_comshop_order_option')->where( array('order_goods_id' => $val['order_goods_id'] ) )->select();
  867. foreach($order_option_list as $option)
  868. {
  869. $val['option_str'][] = $option['value'];
  870. }
  871. if( !isset($val['option_str']) )
  872. {
  873. $val['option_str'] = '';
  874. }else{
  875. $val['option_str'] = implode(',', $val['option_str']);
  876. }
  877. $val['old_commision'] = $val['money'];
  878. $val['del_commision'] = 0;
  879. $order_goods_refund_list = M('lionfish_comshop_order_goods_refund')->where( "order_goods_id=".$val['order_goods_id'] )->select();
  880. //level
  881. if( !empty($order_goods_refund_list) )
  882. {
  883. $kvbal_total_back_head_orderbuycommiss = 0;//合计退掉佣金
  884. foreach( $order_goods_refund_list as $kvval )
  885. {
  886. if($val['level'] == 1)
  887. $kvbal_total_back_head_orderbuycommiss += $kvval['back_member_commiss_1'];
  888. if($val['level'] == 2)
  889. $kvbal_total_back_head_orderbuycommiss += $kvval['back_member_commiss_2'];
  890. if($val['level'] == 3)
  891. $kvbal_total_back_head_orderbuycommiss += $kvval['back_member_commiss_3'];
  892. }
  893. $val['del_commision'] = $kvbal_total_back_head_orderbuycommiss;
  894. $val['old_commision'] += $val['del_commision'];
  895. }
  896. $list[$key] = $val;
  897. }
  898. if(empty($list))
  899. {
  900. echo json_encode( array('code' => 1) );
  901. die();
  902. }else {
  903. echo json_encode( array('code' => 0, 'data' => $list) );
  904. die();
  905. }
  906. }
  907. /**
  908. 获取会员分享海报
  909. **/
  910. public function get_haibao()
  911. {
  912. $_GPC = I('request.');
  913. $token = $_GPC['token'];
  914. $weprogram_token = M('lionfish_comshop_weprogram_token')->field('member_id')->where( array('token' => $token) )->find();
  915. if( empty($weprogram_token) || empty($weprogram_token['member_id']) )
  916. {
  917. echo json_encode( array('code' => 1,'msg' =>'请先登录') );
  918. die();
  919. }
  920. $goods_model = D('Home/Pingoods');
  921. $member_id = $weprogram_token['member_id'];
  922. $last_community = M('lionfish_community_history')->field('head_id')->where( array('member_id' => $member_id) )->order('addtime desc')->find();
  923. if( empty($last_community) )
  924. {
  925. $last_community = M('lionfish_community_head')->field('id as head_id')->where(" state=1 and enable=1 and rest=0 ")->order('id desc ')->find();
  926. }
  927. $head_id =0;
  928. if( !empty($last_community) )
  929. {
  930. $head_id = $last_community['head_id'];
  931. }
  932. //TODO....寻找上一个社区,生成海报。测试png 跟jpg背景的情况,反过来解决 首页 跟商品海报的问题。
  933. $member_info = M('lionfish_comshop_member')->field('commiss_qrcode,avatar,username')->where( array('member_id' => $member_id ) )->find();
  934. $commiss_qrcode = '';
  935. if( empty($member_info['commiss_qrcode']) )
  936. {
  937. $commiss_qrcode = $goods_model->_get_index_wxqrcode($member_id,$head_id);
  938. $avatar = $goods_model->get_commission_user_avatar($member_info['avatar'], $member_id,5);
  939. $result = $goods_model->get_commission_index_share_image($head_id,$commiss_qrcode,$avatar, $member_info['username']);
  940. M('lionfish_comshop_member')->where( array('member_id' => $member_id) )->save( array('commiss_qrcode' => $result['full_path']) );
  941. echo json_encode( array('code' => 0, 'commiss_qrcode' => tomedia($result['full_path'] ) ) );
  942. die();
  943. }else{
  944. $commiss_qrcode = $member_info['commiss_qrcode'];
  945. echo json_encode( array('code' => 0, 'commiss_qrcode' => tomedia($commiss_qrcode) ) );
  946. die();
  947. }
  948. }
  949. }