notify.php 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. define('IN_MOBILE', true);
  7. require '../../../../framework/bootstrap.inc.php';
  8. global $_W, $_GPC;
  9. $input = file_get_contents('php://input');
  10. $isxml = true;
  11. if (!empty($input) && empty($_GET['out_trade_no'])) {
  12. $obj = isimplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA);
  13. $res = $data = json_decode(json_encode($obj), true);
  14. if (empty($data)) {
  15. $result = array(
  16. 'return_code' => 'FAIL',
  17. 'return_msg' => '',
  18. );
  19. echo array2xml($result);
  20. exit;
  21. }
  22. if ($data['result_code'] != 'SUCCESS' || $data['return_code'] != 'SUCCESS') {
  23. $result = array(
  24. 'return_code' => 'FAIL',
  25. 'return_msg' => empty($data['return_msg']) ? $data['err_code_des'] : $data['return_msg'],
  26. );
  27. echo array2xml($result);
  28. exit;
  29. }
  30. $get = $data;
  31. } else {
  32. $isxml = false;
  33. $get = $_GET;
  34. }
  35. load()->web('common');
  36. load()->model('mc');
  37. load()->func('communication');
  38. $_W['uniacid'] = $_W['weid'] = intval($get['attach']);
  39. $_W['uniaccount'] = $_W['account'] = uni_fetch($_W['uniacid']);
  40. $_W['acid'] = $_W['uniaccount']['acid'];
  41. $paySetting = uni_setting($_W['uniacid'], array('payment'));
  42. if ($res['return_code'] == 'SUCCESS' && $res['result_code'] == 'SUCCESS') {
  43. $logno = trim($res['out_trade_no']);
  44. if (empty($logno)) {
  45. exit;
  46. }
  47. $str = $_W['siteroot'];
  48. $n = 0;
  49. for ($i = 1; $i <= 3; $i++) {
  50. $n = strpos($str, '/', $n);
  51. $i != 3 && $n++;
  52. }
  53. $url = substr($str, 0, $n);
  54. function getapi($url) {
  55. $ch = curl_init();
  56. curl_setopt($ch, CURLOPT_URL, $url);
  57. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  58. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  59. $data = curl_exec($ch);
  60. curl_close($ch);
  61. }
  62. $order = pdo_get('zhtc_distribution', array('code' => $logno));
  63. $callorder = pdo_get('zhtc_call', array('code' => $logno));
  64. $hdorder = pdo_get('zhtc_joinlist', array('code' => $logno));
  65. $dmorder = pdo_get('zhtc_dmorder', array('code' => $logno));
  66. $usercoupons = pdo_get('zhtc_usercoupons', array('code' => $logno));
  67. $fxlog = pdo_get('zhtc_fxlog', array('code' => $logno));
  68. $qgorder = pdo_get('zhtc_qgorder', array('code' => $logno));
  69. $grouporder = pdo_get('zhtc_grouporder', array('code' => $logno));
  70. if ($grouporder['state'] == 1) {
  71. pdo_update('zhtc_grouporder', array('state' => 2, 'pay_time' => time()), array('id' => $grouporder['id']));
  72. //改变商品
  73. pdo_update('zhtc_groupgoods', array('ysc_num +=' => $grouporder['goods_num'], 'inventory -=' => $grouporder['goods_num']), array('id' => $grouporder['goods_id']));
  74. if ($grouporder['group_id'] > 0) {
  75. $count = pdo_get('zhtc_grouporder', array('group_id' => $grouporder['group_id'], 'state ' => 2), array('count(user_id) as count'));
  76. $group = pdo_get('zhtc_group', array('id' => $grouporder['group_id']));
  77. if ($group['kt_num'] == $count['count']) {
  78. $state = 2;
  79. } else {
  80. $state = 1;
  81. }
  82. //改变团状态
  83. pdo_update('zhtc_group', array('state' => $state, 'yg_num +=' => 1), array('id' => $grouporder['group_id']));
  84. if ($state == 2 or $grouporder['group_id'] == 0) {
  85. getapi("" . $url . "/app/index.php?i=" . $grouporder['uniacid'] . "&c=entry&a=wxapp&do=InsertStoreWallet&m=zh_tcwq&group_id=" . $grouporder['group_id'] . "&order_id=" . $grouporder['id']); //分销
  86. getapi("" . $url . "/app/index.php?i=" . $grouporder['uniacid'] . "&c=entry&a=wxapp&do=PtMessage&m=zh_tcwq&group_id=" . $grouporder['group_id']); //模板消息
  87. }
  88. }
  89. }
  90. //查看电话付费
  91. if ($callorder['state'] == 1) {
  92. pdo_update('zhtc_call', array('state' => 2), array('id' => $callorder['id']));
  93. getapi("" . $url . "/app/index.php?i=" . $callorder['uniacid'] . "&c=entry&a=wxapp&do=Fx&m=zh_tcwq&user_id=" . $callorder['user_id'] . "&money=" . $callorder['money']); //分销
  94. $data['tz_id'] = $callorder['post_id'];
  95. $data['note'] = '帖子查看电话';
  96. $data['money'] = $callorder['money'];
  97. $data['time'] = date('Y-m-d H:i:s');
  98. $data['uniacid'] = $_W['uniacid'];
  99. $res = pdo_insert('zhtc_tzpaylog', $data);
  100. if ($callorder['userMoney'] > 0) {
  101. pdo_update('zhtc_user', array('money +=' => $callorder['userMoney']), array('id' => $callorder['user_id']));
  102. $mx['user_id'] = $callorder['user_id'];
  103. $mx['tz_id'] = $callorder['post_id'];
  104. $mx['money'] = $callorder['userMoney'];
  105. $mx['uniacid'] = $callorder['uniacid'];
  106. $mx['type'] = 2;
  107. $mx['time'] = time();
  108. pdo_insert('zhtc_hblq', $mx);
  109. }
  110. getapi("" . $url . "/app/index.php?i=" . $callorder['uniacid'] . "&c=entry&a=wxapp&do=ActYj&m=zh_tcwq&act_id=" . $callorder['post_id'] . "&money=" . $callorder['money']); //城市佣金
  111. }
  112. if ($qgorder['state'] == 1) {
  113. $time = time();
  114. $good = pdo_get('zhtc_qggoods', array('id' => $qgorder['good_id']));
  115. $dq_time = $time + $good['consumption_time'] * 60 * 60 * 24;
  116. pdo_update('zhtc_qgorder', array('state' => 2, 'dq_time' => $dq_time, 'pay_time' => date('Y-m-d H:i:s', $time)), array('id' => $qgorder['id']));
  117. pdo_update('zhtc_store', array('wallet +=' => $qgorder['money']), array('id' => $qgorder['store_id']));
  118. pdo_update('zhtc_qggoods', array('surplus -=' => 1), array('id' => $qgorder['good_id']));
  119. $data3['store_id'] = $qgorder['store_id'];
  120. $data3['money'] = $qgorder['money'];
  121. $data3['note'] = '抢购订单';
  122. $data3['type'] = 1;
  123. $data3['time'] = date("Y-m-d H:i:s");
  124. pdo_insert('zhtc_store_wallet', $data3);
  125. getapi("" . $url . "/app/index.php?i=" . $qgorder['uniacid'] . "&c=entry&a=wxapp&do=QgMessage&m=zh_tcwq&order_id=" . $qgorder['id']); //模板消息
  126. }
  127. if ($fxlog['state'] == 1) {
  128. pdo_update('zhtc_fxlog', array('state' => 2), array('code' => $logno));
  129. pdo_update('zhtc_distribution', array('level' => $fxlog['level']), array('user_id' => $fxlog['user_id'], 'pay_state' => 2, 'state' => 2));
  130. getapi("" . $url . "/app/index.php?i=" . $fxlog['uniacid'] . "&c=entry&a=wxapp&do=Fx&m=zh_tcwq&user_id=" . $fxlog['user_id'] . "&money=" . $fxlog['money']); //分销
  131. }
  132. if ($usercoupons['pay_type'] == 1) {
  133. pdo_update('zhtc_usercoupons', array('pay_type' => 2), array('code' => $logno));
  134. pdo_update('zhtc_coupons', array('surplus -=' => 1), array('id' => $usercoupons['coupons_id']));
  135. $coupon = pdo_get('zhtc_coupons', array('id' => $usercoupons['coupons_id']));
  136. $store = pdo_get('zhtc_store', array('id' => $coupon['store_id']));
  137. pdo_update('zhtc_store', array('wallet +=' => $coupon['money']), array('id' => $coupon['store_id']));
  138. $data4['store_id'] = $coupon['store_id'];
  139. $data4['money'] = $coupon['money'];
  140. $data4['note'] = '优惠券';
  141. $data4['type'] = 1;
  142. $data4['time'] = date("Y-m-d H:i:s");
  143. pdo_insert('zhtc_store_wallet', $data4);
  144. getapi("" . $url . "/app/index.php?i=" . $store['uniacid'] . "&c=entry&a=wxapp&do=HdMessage&m=zh_tcwq&id=" . $usercoupons['id']); //分销
  145. }
  146. if ($dmorder['state'] == 1) {
  147. pdo_update('zhtc_dmorder', array('state' => 2), array('code' => $logno));
  148. pdo_update('zhtc_store', array('wallet +=' => $dmorder['money']), array('id' => $dmorder['store_id']));
  149. $data2['store_id'] = $dmorder['store_id'];
  150. $data2['money'] = $dmorder['money'];
  151. $data2['note'] = '收银订单';
  152. $data2['type'] = 1;
  153. $data2['time'] = date("Y-m-d H:i:s");
  154. pdo_insert('zhtc_store_wallet', $data2);
  155. }
  156. if ($order['pay_state'] == 1) {
  157. $res = pdo_update('zhtc_distribution', array('pay_state' => 2), array('code' => $logno));
  158. if ($res) {
  159. $yjset = pdo_get('zhtc_yjset', array('uniacid' => $order['uniacid']));
  160. if ($yjset['type'] == 1) {
  161. $money = $order['money'] * $yjset['typer'] / 100;
  162. } else {
  163. $money = $order['money'] * $yjset['sjper'] / 100;
  164. }
  165. $data2['user_id'] = $order['user_id'];
  166. $data2['money'] = $order['money'];
  167. $data2['time'] = date("Y-m-d H:i:s");
  168. $data2['level'] = $order['level'];
  169. $data2['state'] = 2;
  170. $data2['note'] = '申请合伙人';
  171. pdo_insert('zhtc_fxlog', $data2);
  172. pdo_update('zhtc_account', array('money +=' => $money), array('cityname' => $order['cityname']));
  173. getapi("" . $url . "/app/index.php?i=" . $order['uniacid'] . "&c=entry&a=wxapp&do=Fx&m=zh_tcwq&user_id=" . $order['user_id'] . "&money=" . $order['money']); //分销
  174. }
  175. }
  176. if ($hdorder['state'] == 1) {
  177. pdo_update('zhtc_activity', array('sign_num +=' => 1), array('id' => $hdorder['act_id']));
  178. $system = pdo_get('zhtc_system', array('uniacid' => $hdorder['uniacid']));
  179. if ($system['is_bm'] == 1) {
  180. getapi("" . $url . "/app/index.php?i=" . $hdorder['uniacid'] . "&c=entry&a=wxapp&do=HdMessage&m=zh_tcwq&id=" . $hdorder['id']); //模板消息
  181. pdo_update('zhtc_joinlist', array('state' => 3), array('code' => $logno));
  182. } else {
  183. pdo_update('zhtc_joinlist', array('state' => 2), array('code' => $logno));
  184. }
  185. getapi("" . $url . "/app/index.php?i=" . $hdorder['uniacid'] . "&c=entry&a=wxapp&do=Fx&m=zh_tcwq&user_id=" . $hdorder['user_id'] . "&money=" . $hdorder['money']); //分销
  186. getapi("" . $url . "/app/index.php?i=" . $hdorder['uniacid'] . "&c=entry&a=wxapp&do=ActYj&m=zh_tcwq&act_id=" . $hdorder['act_id'] . "&money=" . $hdorder['money']); //城市佣金
  187. }
  188. $result = array(
  189. 'return_code' => 'SUCCESS',
  190. 'return_msg' => 'OK',
  191. );
  192. echo array2xml($result);
  193. exit;
  194. } else {
  195. //订单已经处理过了
  196. $result = array(
  197. 'return_code' => 'SUCCESS',
  198. 'return_msg' => 'OK',
  199. );
  200. echo array2xml($result);
  201. exit;
  202. }