test.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <?php
  2. defined('InShopNC') or exit('Access Invalid!');
  3. require_once(BASE_ROOT_PATH . "/helper/kdn_helper.php");
  4. require_once(BASE_ROOT_PATH . "/helper/predeposit_helper.php");
  5. require_once(BASE_ROOT_PATH . "/helper/pay_helper.php");
  6. class testControl extends mobileHomeControl
  7. {
  8. private static $appURL = 'http://223.4.48.187:30004/lrlzApiRest/router/rest';
  9. private static $appkey = '2015panda';
  10. private static $appPassWord = 'nEs5vu86JSjh89WPW4de2d3e87rwli3e8rw';
  11. public function __construct()
  12. {
  13. parent::__construct();
  14. }
  15. // 更新商品序列号
  16. public function updateGoodsSerialOp()
  17. {
  18. $sku_map = Model()->table('sku_map')->limit(10000)->select();
  19. foreach ($sku_map as $value) {
  20. $condition = array('goods_serial_tm' => trim($value['tmsku']));
  21. $updateinfo = array('goods_serial' => $value['psku']);
  22. $ret = Model('goods_common')->where($condition)->update($updateinfo);
  23. }
  24. joutput_data(array("ret" => 'complete'));
  25. }
  26. private function getSign($data)
  27. {
  28. return md5(self::$appkey . self::$appPassWord . $data);
  29. }
  30. public function omsOp()
  31. {
  32. $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"}]}]}';
  33. $sign = $this->getSign($outdata);
  34. $headers = array('v_appkey: ' . self::$appkey, 'v_sign: ' . $sign, 'Content-Type: application/json');
  35. http_request(self::$appURL, $outdata, 'POST', false, $headers);
  36. }
  37. public function test_callbackOp()
  38. {
  39. $param['order_sn'] = $_POST['tid'];
  40. $status = $_POST['status'];
  41. //$param['consign_time'] = $_POST['consign_time'];
  42. $param['shipping_code'] = $_POST['logistics_no'];
  43. $param['oms_code'] = $_POST['logistics_company'];
  44. if (intval($status) === 1) {
  45. $logic_delivery = Logic('delivery');
  46. $ret = $logic_delivery->handleCallback($param);
  47. joutput_data($ret);
  48. } else {
  49. }
  50. }
  51. /**
  52. * 首页
  53. */
  54. public function indexOp()
  55. {
  56. $t = time();
  57. $t1 = date("D F d Y", 1452355200);
  58. // $payment = 500;
  59. // $payment = $payment = $this->getAndUpdateBonus(36218,$payment);
  60. // joutput_data(array('$payment'=>$payment));
  61. // 修改地址
  62. $order_id = "order_id in (297, 401, 923, 928,1097,1145,1150,1154,1244,1248,1281)";
  63. $model = Model('order_common')->where($order_id)->select();
  64. $model_address = Model('area');
  65. $recv_info_array = array();
  66. if ($model != null) {
  67. foreach ($model as $val) {
  68. $recv_info = unserialize($val['reciver_info']);
  69. $recv_info['area'] = $model_address->formatAddress($recv_info['area']);
  70. Model()->table('recv_info')->insert(array('order_id' => $val['order_id'], 'reciver_info' => serialize($recv_info)));
  71. Model('order_common')->where(array('order_id' => $val['order_id']))->update(array('reciver_info' => serialize($recv_info)));
  72. array_push($recv_info_array, $recv_info);
  73. }
  74. }
  75. joutput_data($recv_info_array);
  76. }
  77. public function getAndUpdateBonus($user_id, $pay_amount)
  78. {
  79. $condition['user_id'] = $user_id;
  80. $condition['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. {
  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. public function subscribe_kdnOp()
  165. {
  166. $ordersn = $_GET['order_sn'];
  167. kdn_helper::req_subscribe('YD', '3941561454548', $ordersn);
  168. }
  169. private function merge_user($mod_member,$mobile,$name,$passwd,$balance)
  170. {
  171. $user = $mod_member->where(array('member_mobile' => $mobile))->limit(false)->find();
  172. if(empty($user))
  173. {
  174. $data = array();
  175. $data['member_mobile'] = $mobile;
  176. $data['member_name'] = $mobile;
  177. $data['member_passwd'] = $passwd;
  178. $data['member_nickname'] = $name;
  179. $data['available_predeposit'] = $balance;
  180. $mod_member->insert($data);
  181. }
  182. else
  183. {
  184. $data = array();
  185. $data['member_name'] = $mobile;
  186. $data['member_nickname'] = $name;
  187. $mod_member->where(array('member_id' => $user['member_id']))->update($data);
  188. $money = intval($balance * 100 + 0.5);
  189. if($money > 0) {
  190. $pd_helper = new predeposit_helper($user['member_id']);
  191. $pd_helper->transform_money($name,$balance);
  192. }
  193. }
  194. }
  195. public function imolduserOp()
  196. {
  197. $mod_users = Model('users');
  198. $mod_member = Model('member');
  199. $users = $mod_users->field('*')->limit(false)->select();
  200. foreach($users as $val)
  201. {
  202. $mobile = $val['mobile'];
  203. $name = $val['name'];
  204. $passwd = $val['encrypted_password'];
  205. $balance = $val['remain_balance'];
  206. $this->merge_user($mod_member,$mobile,$name,$passwd,$balance);
  207. }
  208. }
  209. public function setcookieOp()
  210. {
  211. // fcgi_setcookie("remain_balance","aaaaaaaaaaaaaaaa",time() + 3600);
  212. // fcgi_setcookie("remain_balance","bbbbbbbbbbbbbbbb",time() + 3600);
  213. // fcgi_setcookie("remain_balance","bbbbbbbbbbbbbbbb");
  214. }
  215. public function sendbonusOp()
  216. {
  217. $pay_sn = '210510764647050484';
  218. $pay = new pay_helper();
  219. $pay->success($pay_sn);
  220. }
  221. }