PageRenderTime 23ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/firstrend/src/services/module/exchange/submit.php

http://ownerpress.googlecode.com/
PHP | 80 lines | 67 code | 13 blank | 0 comment | 10 complexity | e521f7fb79100bb66462c76305db8357 MD5 | raw file
Possible License(s): Apache-2.0, AGPL-1.0, GPL-2.0, GPL-3.0, LGPL-2.1
  1. <?php
  2. if($_FANWE['uid'] == 0)
  3. exit;
  4. $id = intval($_FANWE['request']['id']);
  5. if($id > 0)
  6. $goods = FDB::fetchFirst('SELECT * FROM '.FDB::table('exchange_goods').' WHERE id = '.$id);
  7. $result['status'] = 0;
  8. if($_FANWE['uid'] > 0 && $goods)
  9. {
  10. $score = FS("User")->getUserScore($_FANWE['uid']);
  11. if($score < 0)
  12. exit;
  13. if($score < $goods['integral'])
  14. {
  15. $result['msg'] = lang('exchange','integral_error');
  16. outputJson($result);
  17. }
  18. if($goods['stock'] <= intval($goods['buy_count']))
  19. {
  20. $result['msg'] = lang('exchange','stock_error');
  21. outputJson($result);
  22. }
  23. $user_num = FDB::resultFirst('SELECT SUM(data_num) FROM '.FDB::table('order').' WHERE rec_id = '.$id.' AND uid = '.$_FANWE['uid']);
  24. if($user_num >= intval($goods['user_num']))
  25. {
  26. $result['msg'] = lang('exchange','user_num_error');
  27. outputJson($result);
  28. }
  29. $data['zip'] = trim($_FANWE['request']['zip']);
  30. $data['address'] = trim($_FANWE['request']['address']);
  31. $data['email'] = trim($_FANWE['request']['email']);
  32. $data['mobile_phone'] = trim($_FANWE['request']['mobile']);
  33. $data['fax_phone'] = trim($_FANWE['request']['fax']);
  34. $data['fix_phone'] = trim($_FANWE['request']['fix']);
  35. $data['qq'] = trim($_FANWE['request']['qq']);
  36. $consignment = $data;
  37. $consignment['uid'] = $_FANWE['uid'];
  38. if(!empty($consignment['address']))
  39. {
  40. FDB::insert('user_consignee',$consignment,false,true);
  41. }
  42. $data['memo'] = trim($_FANWE['request']['memo']);
  43. $data['data_name'] = $goods['name'];
  44. $data['sn'] = fToDate(TIME_UTC,'ymdHis').mt_rand(0,100);
  45. $data['goods_status'] = 0;
  46. $data['order_score'] = $goods['integral'];
  47. $data['data_num'] = 1;
  48. $data['uid'] = $_FANWE['uid'];
  49. $data['user_name'] = $_FANWE['user']['user_name'];
  50. $data['rec_id'] = $id;
  51. $data['create_time'] = TIME_UTC;
  52. $data['update_time'] = TIME_UTC;
  53. $order_id = FDB::insert('order',$data,true);
  54. while(intval($order_id)==0)
  55. {
  56. $order['sn'] = fToDate(TIME_UTC,'ymdHis').mt_rand(0,100);
  57. $order_id = FDB::insert('order',$data,true);
  58. }
  59. FDB::query('UPDATE '.FDB::table('exchange_goods').' SET buy_count = buy_count + 1 WHERE id = '.$id);
  60. FS("User")->updateUserScore($_FANWE['uid'],"exchange","submit",addslashes($goods['name']),$order_id,0 - intval($data['order_score']));
  61. $result['status'] = 1;
  62. $result['msg'] = lang('exchange','exchange_success');
  63. }
  64. else
  65. $result['msg'] = lang('exchange','goods_error');
  66. outputJson($result);
  67. ?>