ConfirmController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. class ConfirmController extends CController{
  3. public $layout="none";
  4. public function actionPaySuccess(){
  5. $input_data = json_decode(file_get_contents("php://input"), true);
  6. $input_data = $input_data['data']['object'];
  7. if($input_data['object'] == 'charge'&& $input_data['paid']==true){
  8. //TODO update database
  9. if(strpos($input_data['order_no'], 'char') !== false ){ //充值卡订单
  10. // 支付成功后 用户余额/代金券 增加 暂时充值卡发放的代金券没有过期时间
  11. $order = RechargeOrder::get(new MongoId(str_replace("char","",$input_data['order_no'])));
  12. $recharge = Recharge::get(new MongoId($order->recharge));
  13. $user_obj = RUser::get($order->user);
  14. $amount = $recharge->denomination;
  15. if($recharge->cash_back){
  16. $amount += $recharge->cash_back;
  17. }
  18. if(isset($recharge->coupons) && is_array($recharge->coupons) && count($recharge->coupons)){
  19. foreach ($recharge->coupons as $coupon_id) {
  20. //$start_time = time();
  21. //$end_time = strtotime(date('Y-m-d',$start_time+1209600));
  22. Service::factory('CouponService')->giveCoupon($user_obj->_id, $coupon_id);
  23. }
  24. }
  25. $user_obj->balance = $user_obj->balance+$amount;
  26. $user_obj->save();
  27. $log = new RechargeLog();
  28. $log->time = time();
  29. $log->user = $user_obj->_id;
  30. $log->recharge = $recharge->_id;
  31. $log->save(true);
  32. $balance_log = new BalanceLog();
  33. $balance_log->time = time();
  34. $balance_log->user = $user_obj->_id;
  35. $balance_log->memo = '购买充值卡充值';
  36. $balance_log->type = 'recharge';
  37. $balance_log->amount = $amount;
  38. $balance_log->save(true);
  39. echo 'success';
  40. die();
  41. }else{
  42. $order = ROrder::get(new MongoId($input_data['order_no']));
  43. if(!$order || $order->status == -1){
  44. echo 'fail';
  45. die();
  46. }
  47. $order->charge_id = $input_data['id'];
  48. $order->pay_channel = $input_data['channel'];
  49. $order->status = 1;
  50. if($order->update(array('charge_id','pay_channel','status'),true)){
  51. $list = new ARedisList('o2o_after_pay_success');
  52. $list->push(json_encode($input_data));
  53. echo 'success';
  54. die();
  55. }else{
  56. echo 'fail';
  57. die();
  58. }
  59. }
  60. }elseif($input_data['object'] == 'refund'&& $input_data['succeed']==true){
  61. //TODO update database
  62. echo 'success';
  63. die();
  64. }else{
  65. echo 'fail';
  66. die();
  67. }
  68. }
  69. public function actionCheckMobile(){
  70. $mobile = Yii::app()->getRequest()->getParam("mobile",'');
  71. if($mobile && preg_match("/\d{11}/",$mobile)){
  72. $criteria = new EMongoCriteria();
  73. $criteria->mobile('==',$mobile);
  74. $user = Mobile::model()->find($criteria);
  75. if($user){
  76. echo 'fail';
  77. }else{
  78. $userAr = new Mobile();
  79. $userAr->mobile = $mobile;
  80. if($userAr->save()){
  81. echo 'success';
  82. }else{
  83. echo 'fail';
  84. }
  85. }
  86. }else{
  87. echo 'fail';
  88. }
  89. }
  90. public function actionSyncCode(){
  91. echo ENVIRONMENT."\n";
  92. if(ENVIRONMENT == 'product'){
  93. exec("/data/php/webshell/SyncCodeOnline.sh");
  94. echo 'success';
  95. }elseif(ENVIRONMENT == 'develop'){
  96. exec("/data/php/webshell/SyncCodeDev.sh");
  97. echo 'success';
  98. }else{
  99. exec("/data/php/webshell/SyncCode.sh");
  100. echo 'success';
  101. }
  102. }
  103. }