test.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <?php
  2. defined('InShopNC') or exit('Access Invalid!');
  3. //require_once '/Users/stanley-king/work/PHPProject/shopnc/core/framework/function/http.php';
  4. class testControl extends mobileHomeControl
  5. {
  6. private static $appURL = 'http://223.4.48.187:30004/lrlzApiRest/router/rest';
  7. private static $appkey = '2015panda';
  8. private static $appPassWord = 'nEs5vu86JSjh89WPW4de2d3e87rwli3e8rw';
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. }
  13. // 更新商品序列号
  14. public function updateGoodsSerialOp()
  15. {
  16. $sku_map = Model()->table('sku_map')->limit(10000)->select();
  17. foreach ($sku_map as $value) {
  18. $condition = array('goods_serial_tm' => trim($value['tmsku']));
  19. $updateinfo = array('goods_serial' => $value['psku']);
  20. $ret = Model('goods_common')->where($condition)->update($updateinfo);
  21. }
  22. joutput_data(array("ret" => 'complete'));
  23. }
  24. private function getSign($data){
  25. return md5(self::$appkey . self::$appPassWord . $data);
  26. }
  27. public function test_deliveryOp()
  28. {
  29. // $pay_sn = $_POST['pay_sn'];
  30. // $trade_no = $_POST['trade_no'];
  31. // $logic_delivery = Logic('delivery');
  32. // $ret = $logic_delivery->putOrder($pay_sn, $trade_no);
  33. //joutput_data($ret);
  34. $outdata = '{"type":"PUT_TRADE","data":[{"tid":"8000000000026501","total_fee":"360.00","discount_fee":"","post_fee":"0.00","created":"2016-01-11 14:51:39","pay_time":"2016-01-11 14:51:39","buyer_message":"","express_code":"","pay_account_type":"\u5fae\u4fe1\u652f\u4ed8","pay_account_id":"","pay_account_no":"1007070763201601112636550146","buyer_nick":"anonymous_36365","buyer_email":"","trade_memo":"","receiver_name":"\u6c5f\u6d77\u82d7","receiver_state":"\u4e0a\u6d77","receiver_city":"\u4e0a\u6d77\u5e02","receiver_district":"\u5f90\u6c47\u533a","receiver_address":"\u756a\u79ba\u8def876\u53f7","receiver_zip":"000000","receiver_mobile":"13911129867","receiver_phone":"","order_size":1,"orderList":[{"oid":"80000000000265010","tid":"8000000000026501","title":"DQ\u8482\u73c2 \u5378\u5986\u6cb9170ml 170ml","price":"360.00","num":"1","outer_sku_id":"P0300292","outer_sku_properties_name":"DQ\u8482\u73c2 \u5378\u5986\u6cb9170ml 170ml","buyer_nick":"anonymous_36365"}]}]}';
  35. $sign = $this->getSign($outdata);
  36. $headers = array('v_appkey: '.self::$appkey,'v_sign: '.$sign, 'Content-Type: application/json');
  37. http_request(self::$appURL,$outdata,'POST',false,$headers);
  38. }
  39. public function test_callbackOp()
  40. {
  41. $param['order_sn'] = $_POST['tid'];
  42. $status = $_POST['status'];
  43. //$param['consign_time'] = $_POST['consign_time'];
  44. $param['shipping_code'] = $_POST['logistics_no'];
  45. $param['oms_code'] = $_POST['logistics_company'];
  46. if(intval($status) === 1){
  47. $logic_delivery = Logic('delivery');
  48. $ret = $logic_delivery->handleCallback($param);
  49. joutput_data($ret);
  50. }else{
  51. }
  52. }
  53. /**
  54. * 首页
  55. */
  56. public function indexOp(){
  57. $t = time();
  58. $t1 = date("D F d Y",1452355200);
  59. // $payment = 500;
  60. // $payment = $payment = $this->getAndUpdateBonus(36218,$payment);
  61. // joutput_data(array('$payment'=>$payment));
  62. // 修改地址
  63. $order_id = "order_id in (297, 401, 923, 928,1097,1145,1150,1154,1244,1248,1281)";
  64. $model = Model('order_common')->where($order_id)->select();
  65. $model_address = Model('area');
  66. $recv_info_array = array();
  67. if ($model != null) {
  68. foreach ($model as $val) {
  69. $recv_info = unserialize($val['reciver_info']);
  70. $recv_info['area'] = $model_address->formatAddress($recv_info['area']);
  71. Model()->table('recv_info')->insert(array('order_id' => $val['order_id'], 'reciver_info' => serialize($recv_info)));
  72. Model('order_common')->where(array('order_id'=>$val['order_id']))->update(array('reciver_info' => serialize($recv_info)));
  73. array_push($recv_info_array, $recv_info);
  74. }
  75. }
  76. joutput_data($recv_info_array);
  77. }
  78. public function getAndUpdateBonus($user_id,$pay_amount){
  79. $condition['user_id'] = $user_id;
  80. $condition['bonus_type_id'] = 1;
  81. $bonus_list = Model()->table("user_bonus")->where($condition)->select();
  82. $ret_value = 0;
  83. if (!empty($bonus_list)) {
  84. foreach ($bonus_list as $value) {
  85. $bonus_value = doubleval($value['bonus_value']);
  86. if (($pay_amount - $bonus_value) > 0.0000001) {
  87. $data['bonus_value'] = 0;
  88. $ret = Model()->table('user_bonus')->where(array('bonus_id' => $value['bonus_id']))->update($data);
  89. if($ret){
  90. $pay_amount -= $bonus_value;
  91. }
  92. } else {
  93. $data['bonus_value'] = $bonus_value - $pay_amount;
  94. $ret = Model()->table('user_bonus')->where(array('bonus_id' => $value['bonus_id']))->update($data);
  95. if($ret) {
  96. $pay_amount = 0;
  97. }
  98. break;
  99. }
  100. }
  101. }
  102. return $pay_amount;
  103. }
  104. /**
  105. * order_sn
  106. * member_id
  107. *
  108. * 手动退款接口
  109. */
  110. public function refundOp(){
  111. $model_order = Model('order');
  112. $model_trade = Model('trade');
  113. $order_info = Model('order')->getOrderInfo(array('order_sn' => $_GET['order_sn']));
  114. if (empty($order_info)) return;
  115. $model_refund = Model('refund_return');
  116. $order_id = intval($order_info['order_id']);
  117. $condition = array();
  118. $condition['buyer_id'] = $order_info['buyer_id'];
  119. $condition['order_id'] = $order_id;
  120. $order = $model_refund->getRightOrderList($condition);
  121. $order_amount = $order['order_amount'];//订单金额
  122. $condition = array();
  123. $condition['buyer_id'] = $order['buyer_id'];
  124. $condition['order_id'] = $order['order_id'];
  125. $condition['goods_id'] = '0';
  126. $condition['seller_state'] = array('lt','3');
  127. $refund_list = $model_refund->getRefundReturnList($condition);
  128. $refund = array();
  129. if (!empty($refund_list) && is_array($refund_list)) {
  130. $refund = $refund_list[0];
  131. }
  132. $order_paid = $model_trade->getOrderState('order_paid');//订单状态20:已付款
  133. $payment_code = $order['payment_code'];//支付方式
  134. if ($refund['refund_id'] > 0 || $order['order_state'] != $order_paid || $payment_code == 'offline') {//检查订单状态,防止页面刷新不及时造成数据错误
  135. joutput_error(array("result" => false));
  136. return false;
  137. }
  138. $refund_array = array();
  139. $refund_array['refund_type'] = '1';//类型:1为退款,2为退货
  140. $refund_array['seller_state'] = '1';//状态:1为待审核,2为同意,3为不同意
  141. $refund_array['order_lock'] = '2';//锁定类型:1为不用锁定,2为需要锁定
  142. $refund_array['goods_id'] = '0';
  143. $refund_array['order_goods_id'] = '0';
  144. $refund_array['reason_id'] = '0';
  145. $refund_array['reason_info'] = '取消订单,全部退款';
  146. $refund_array['goods_name'] = '订单商品全部退款';
  147. $refund_array['refund_amount'] = ncPriceFormat($order_amount);
  148. $refund_array['buyer_message'] = $_POST['buyer_message'];
  149. $refund_array['add_time'] = time();
  150. $pic_array = array();
  151. $pic_array['buyer'] = '';//$this->upload_pic();//上传凭证
  152. $info = serialize($pic_array);
  153. $refund_array['pic_info'] = $info;
  154. $state = $model_refund->addRefundReturn($refund_array,$order);
  155. if ($state) {
  156. $model_refund->editOrderLock($order_id);
  157. joutput_data(array("result" => true));
  158. return true;
  159. } else {
  160. joutput_error(array("result" => false));
  161. return false;
  162. }
  163. }
  164. }