SetTransaction_id($transaction_id); $result = WxPayApi::orderQuery($input,$appid,$mchid,$key); mlog("pro查询订单".json_encode($result),'backorder'); if(array_key_exists("return_code", $result) && array_key_exists("result_code", $result) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS") { return true; } return false; } //重写回调处理函数 public function NotifyProcess($data, &$msg) { //mlog("call back:" . json_encode($data),'backorder'); $notfiyOutput = array(); $appid = $data['appid']; //公众账号ID $order_sn = $out_trade_no = $data['out_trade_no']; //商户系统的订单号,与请求一致。 $attach = $data['attach']; //商家数据包,原样返回(自定义判断处理什么类型的订单) //file_put_contents('/web/tpshop2/c.html',print_r($data,true),FILE_APPEND); //20160316 JSAPI支付情况 去掉订单号后面的十位时间戳 //mlog("回调:".$order_sn,"vop"); /*--充值的单和购买单区分--*/ //weixin_ttptwk=天天拼单尾款 //weixin_ttp=天天拼单 //weixin_g=送礼神器 //weixin=普通订单 //weixin_lb=购买礼包 //weixin_vlc=等级卡 //weixin_ser=服务卡 //weixin_vop=余额充值 //weixin_voi=积分充值 //weixin_new_lb=活动的礼包 mlog($order_sn." ".$attach,"NotifyProcess"); switch ($attach) { //余额充值 case "weixin_vop": $rs = M('recharge')->where(array('order_sn' => $order_sn, 'recharge_type' => 0, 'pay_status' => 0))->find();//积分充值 if (empty($rs)) { return true; } $getstoid = $rs['store_id']; $store_erpid = tpCache('shop_info.ERPId', $rs['store_id']); $user = M("users")->where("user_id", $rs['user_id'])->find(); $vipid = $user['erpvipid']; /*--购买数量--*/ $num = $rs['num']; //读取token $tk = tpCache('shop_info', $rs['store_id']); for ($i = 0; $i < $num; $i++) { $mrs = $this->Yucun_add($vipid, $rs, $tk); mlog($order_sn.":" . $mrs[0], "recharge/" . $getstoid); } $data['pay_status'] = 1; $data['payno'] = $data["transaction_id"]; $rs = M('recharge')->where('order_id', $rs['order_id'])->save($data); if ($rs) { mlog($order_sn . "处理成功", "recharge/" . $getstoid); } else { mlog($order_sn . "处理失败", "recharge/" . $getstoid); } return true; break; //积分充值 case "weixin_voi": $rs = M('recharge')->where(array('order_sn' => $order_sn, 'recharge_type' => 1, 'pay_status' => 0))->find();//积分充值 if (empty($rs)) { return true; } $getstoid = $rs['store_id']; $store_erpid = tpCache('shop_info.ERPId', $rs['store_id']); $user = M("users")->where("user_id", $rs['user_id'])->find(); $vipid = $user['erpvipid']; /*--积分值--*/ $integral = $rs['integral']; $remark = $rs['integral_remark']; /*--购买数量--*/ $num = $rs['num']; //读取token $tk = tpCache('shop_info', $rs['store_id']); for ($i = 0; $i < $num; $i++) { if ($store_erpid) { $mrs = $this->Integral_set($vipid, $integral, $remark, $tk,$user); } else { accountLog($rs["user_id"], 0, $integral, '积分充值', 0, $rs['store_id'], $user["pay_points"]);//线上表 } } $data['pay_status'] = 1; $data['payno'] = $data["transaction_id"]; $rs = M('recharge')->where('order_id', $rs['order_id'])->save($data); if ($rs) { mlog($order_sn . "处理成功", "recharge/" . $getstoid); } else { mlog($order_sn . "处理失败", "recharge/" . $getstoid); } return true; break; //购买服务卡 case "weixin_ser": $rs = M('recharge')->where(array('order_sn' => $order_sn, 'recharge_type' => 2, 'pay_status' => 0))->find();//积分充值 if (empty($rs)) { return true; } $getstoid = $rs['store_id']; $store_erpid = tpCache('shop_info.ERPId', $rs['store_id']); $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid")->find(); $vipid = $user['erpvipid']; //读取token $tk = tpCache('shop_info', $rs['store_id']); $mrs = $this->Sercard_add($vipid, $rs, $tk); $data['pay_status'] = 1; $data['payno'] = $data["transaction_id"]; $rs = M('recharge')->where('order_id', $rs['order_id'])->save($data); if ($rs) { mlog($order_sn . "处理成功", "recharge/" . $getstoid); } else { mlog($order_sn . "处理失败", "recharge/" . $getstoid); } return true; break; //购买等级卡 case "weixin_vlc": $rs = M('recharge')->where(array('order_sn' => $order_sn, 'recharge_type' => array("in",'3,4'), 'pay_status' => 0))->find();//积分充值 if (empty($rs)) { return true; } $getstoid = $rs['store_id']; $store_erpid = tpCache('shop_info.ERPId', $rs['store_id']); mlog('等级卡,会员id::' . $rs['user_id'], 'recharge/' . $rs['store_id']); $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid")->find(); $vipid = $user['erpvipid']; $tk = tpCache('shop_info', $rs['store_id']); $sto_erpid = $tk['ERPId']; $data1 = array( 'VIPId' => urlencode($vipid),//会员ID 'CardId' => $rs['cardid'],//等级卡ID 'CardFee' => $rs['account'],//等级卡金额 'PayTypeId' => '微支付', 'PayNo' => $rs["order_sn"],// ); $updateuser = null; if ($rs['recharge_type'] == 3) { $data1['Recommon'] = $rs["recommon"];//邀请码 $data1['ServiceMan'] = $rs["serviceman"];//营业员 $api = "/api/erp/vip/mem/card/register"; //$mrs = getApiData_java_p($api, $sto_erpid, $data1, 1, 10, null, "POST"); //mlog('购买:' . json_encode($data1, true) . ' 返回值:' . $mrs, 'recharge_1/' . $rs['store_id']); //$mrs = json_decode($mrs, true); $mrs=more_pos_api($api,$data1,$sto_erpid,3); //计算有效期 //$yxq = strtotime("+" . $rs['days'] . " day"); //$updateuser['card_expiredate'] = date('Y-m-d H:i:s', $yxq); mlog('开卡:' . json_encode($mrs) . ' 返回值:' . $mrs, 'recharge_1/' . $rs['store_id']); //$mrs = json_decode($mrs, true); $updateuser['card_expiredate'] = $mrs['data'][0]['ExpiryDate']; } else { $api = "/api/erp/vip/mem/card/renew"; //$mrs = getApiData_java_p($api, $sto_erpid, $data1, 1, 10, null, "POST"); $mrs=more_pos_api($api,$data1,$sto_erpid,3); mlog('续费:' . json_encode($data1, true) . ' 返回值:' . json_encode($mrs), 'recharge_1/' . $rs['store_id']); //$mrs = json_decode($mrs, true); $updateuser['card_expiredate'] = $mrs['data'][0]['ExpiryDate']; } if ($mrs['code'] == 0) { $updateuser['card_field'] = $rs['integral_remark']; M('users')->where('user_id', $rs['user_id'])->save($updateuser);//更新会员信息表 } $data['pay_status'] = 1; $data['payno'] = $data["transaction_id"]; $rs = M('recharge')->where('order_id', $rs['order_id'])->save($data); if ($rs) { mlog($order_sn . "处理成功", "recharge/" . $getstoid); } else { mlog($order_sn . "处理失败", "recharge/" . $getstoid); } return true; break; //送礼神器 case "weixin_g": $r = M('giftuser_order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') ->where("parent_sn", $order_sn)->field('b.mchkey,b.mchid')->select(); $key = $r[0]['mchkey']; $mchid = $r[0]['mchid']; if (!array_key_exists("transaction_id", $data)) { $msg = "输入参数不正确"; mlog("pro-2-" . $msg, 'backorder'); return false; } //查询订单,判断订单真实性 if (!$this->Queryorder($data["transaction_id"], $appid, $mchid, $key)) { $msg = "订单查询失败"; mlog("pro-3-" . $msg, 'backorder'); return false; } return update_pay_status_gift($order_sn, null, $data["transaction_id"]); // 修改订单支付状态 break; //购买礼包 case "weixin_lb": $rs = M('libao_formvip')->where('number', $order_sn)->find(); if ($rs['fbillstate'] == 0) { $data['fbillstate'] = 1; $data['payno'] = $data["transaction_id"]; $data['paydate'] = time(); $rs1 = M('libao_formvip')->where('number', $order_sn)->save($data); if ($rs1) { $libao = M('libao_form')->where('id', $rs['lbid'])->find(); $temp = M('libao_form')->where('id', $libao['id'])->save(array('salenum' => $libao['salenum'] + 1)); mlog($order_sn . "处理成功" . $temp, "libaolog"); } else { mlog($order_sn . "处理失败", "libaolog"); } return true; } else { return true; } break; //营销1.3的购买礼包 case "weixin_new_lb": $ord=M("marketing_user_buyreceive_form")->where("order_sn",$order_sn)->find(); if ($ord['pay_state'] == 0) { $rs=M("marketing_user_buyreceive_form")->where("order_sn",$order_sn)->save(['pay_state'=>1]); if($rs===false) return false; return true; } return false; break; //其他类型 default: //去掉_wk字符 if (strpos($order_sn, '_') !== false) { $oarr = explode("_", $order_sn); $order_sn = $oarr[0]; } $r = M('order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') ->where("parent_sn", $order_sn)->field('a.*,b.mchkey,b.mchid') ->select(); if (empty($r)) $r = M('order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') ->where("order_sn", $order_sn)->field('a.*,b.mchkey,b.mchid') ->select(); $key = $r[0]['mchkey']; $mchid = $r[0]['mchid']; $stoid = $r[0]["store_id"]; //---拿出是否部分退款--- $is_f_return = tpCache("basic.is_flash_return", $stoid); $accdb = tpCache('shop_info.ERPId', $stoid); $is_f_return = $is_f_return . ""; mlog("是否开启秒杀超量退款:" . $is_f_return . " " . $accdb, "backorder/" . $stoid); $is_ok = 0; //--如果是需要部分退款-- if ($is_f_return == "1") { mlog("超量退款:0", "backorder/" . $stoid); foreach ($r as $kv => $vv) { mlog("超量退款:00_" . $vv['order_status'], "backorder/" . $stoid); if ($vv['order_status'] == 3) { $is_ok = 1; //以下是拼单退款处理 include_once "plugins/payment/weixin/weixin.class.php"; $wx = new \weixin(); $ordno = $vv['order_sn']; $total_fee = $vv['order_amount']; $refund_fee = $total_fee; $path = BASE_PATH . 'public/cert/' . $stoid . '/'; $dd = null; try { //$wx->setCong($v['store_id']); $rs = $wx->refund2($ordno, $total_fee, $refund_fee, $path, $stoid); mlog("超量退款:11" . json_encode($rs), "backorder/" . $stoid); if ($rs['return_code'] == 'FAIL') { mlog($vv['order_sn'] . "退款失败," . $rs['return_msg'], 'refund/' . $stoid); $dd['weixin_err'] = $rs['return_msg']; $dd['weixin'] = $vv['order_amount']; } else { //---推送消息--- $remark = "订单超出5分钟中后重新支付,超出商品库存"; $this->post_msg($stoid, $accdb, $vv['user_id'], "订单退款通知", $ordno, $total_fee, $remark); } } catch (\Exception $e) { mlog($vv['order_sn'] . "退款签名失败," . $e->getMessage(), 'refund/' . $stoid); $dd['weixin_err'] = $e->getMessage(); $dd['weixin'] = $vv['order_amount']; } //--如果有退款,is_back赋值为1--- if ($dd) { M("order")->where('order_id', $vv['order_id'])->save(['back_err_json' => json_encode($dd)]); } else { //---推送消息--- $remark = "感谢您的参与"; $this->post_msg($stoid, $accdb, $vv['user_id'], "订单退款通知", $ordno, $total_fee, $remark); M("order")->where('order_id', $vv['order_id'])->save(['is_back' => 1]); } } } } //----如果有退款,$is_ok=1---- foreach ($r as $kv => $vv) { if ($vv['is_back'] == 1) { $is_ok = 1; break; } } if ($is_ok == 1) return false; mlog('ordsn' . $order_sn, 'notify/' . $r[0]['store_id']); if (!array_key_exists("transaction_id", $data)) { $msg = "输入参数不正确"; mlog("pro-2-" . $msg . $order_sn, 'notify/' . $r[0]['store_id']); return false; } mlog("start1" . $order_sn, 'notify/' . $r[0]['store_id']); //查询订单,判断订单真实性 if (!$this->Queryorder($data["transaction_id"], $appid, $mchid, $key)) { $msg = "订单查询失败"; mlog("pro-3-" . $msg . $order_sn, 'notify/' . $r[0]['store_id']); return false; } mlog("start2" . $order_sn, 'notify/' . $r[0]['store_id']); //更新尾款的状体 if ($r[0]['pt_tail_money'] > 0) { mlog($order_sn . 'money-' . $r[0]['pt_tail_money'], 'notify/' . $r[0]['store_id']); return update_pt_wk($order_sn, $r[0]['store_id'], $r[0], 0, $data["transaction_id"]); } else { mlog("start3" . $order_sn, 'notify/' . $r[0]['store_id']); update_pay_status($order_sn, null, $data["transaction_id"]); // 修改订单支付状态 //foreach ($r as $k=>$v) { //拼单的订单,进行判断团 //if ($v['pt_prom_id'] > 0) { check_team($v['order_id'],$v['pt_listno']); } //} mlog("start4" . $order_sn, 'notify/' . $r[0]['store_id']); return true; } break; } //旧的 // if (stripos($order_sn, '_voi') !== false || stripos($order_sn, '_vop') !== false || stripos($order_sn, '_ser') !== false || stripos($order_sn, '_vlc') !== false) { // // $rs = M('recharge')->where('order_sn', $order_sn)->find();//积分充值 // if ($rs['pay_status'] == 0) { // // // /*--积分充值--*/ // if ($rs['recharge_type'] == 1) { // mlog("单号不为1", "recharge"); // $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid,pay_points")->find(); // $vipid = $user['erpvipid']; // /*--积分值--*/ // $integral = $rs['integral']; // $remark = $rs['integral_remark']; // /*--购买数量--*/ // $num = $rs['num']; // //读取token // // $tk = tpCache('shop_info', $rs['store_id']); // for ($i = 0; $i < $num; $i++) { // // if ($store_erpid) { // $mrs = $this->Integral_set($vipid, $integral, $remark, $tk); // } else { // accountLog($rs["user_id"], 0, $integral, '积分充值', 0, $rs['store_id'], $user["pay_points"]);//线上表 // } // // } // } /*--余额充值--*/ // else if ($rs['recharge_type'] == 0) { // // $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid")->find(); // $vipid = $user['erpvipid']; // /*--购买数量--*/ // $num = $rs['num']; // //读取token // $tk = tpCache('shop_info', $rs['store_id']); // for ($i = 0; $i < $num; $i++) { // $mrs = $this->Yucun_add($vipid, $rs, $tk); // mlog("" . $mrs[0], 'recharge'); // } // } /*--购买服务卡--*/ // else if ($rs['recharge_type'] == 2) { // // $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid")->find(); // $vipid = $user['erpvipid']; // //读取token // $tk = tpCache('shop_info', $rs['store_id']); // // $mrs = $this->Sercard_add($vipid, $rs, $tk); // // mlog("" . $mrs[0], 'recharge'); // // } /*--购买/续费等级卡--*/ // else if ($rs['recharge_type'] == 3 || $rs['recharge_type'] = 4) { // mlog('等级卡,会员id::' . $rs['user_id'], 'recharge/' . $rs['store_id']); // $user = M("users")->where("user_id", $rs['user_id'])->field("erpvipid")->find(); // $vipid = $user['erpvipid']; // $tk = tpCache('shop_info', $rs['store_id']); // $sto_erpid = $tk['ERPId']; // $data1 = array( // 'VIPId' => $vipid,//会员ID // 'CardId' => $rs['cardid'],//等级卡ID // 'CardFee' => $rs['account'],//等级卡金额 // 'PayTypeId' => '微支付', // 'PayNo' => $rs["order_sn"],// // // ); // // $updateuser = null; // if ($rs['recharge_type'] == 3) { // $data1['Recommon'] = $rs["recommon"];//邀请码 // $data1['ServiceMan'] = $rs["serviceman"];//营业员 // // $api = "/api/erp/vip/mem/card/register"; // $mrs = getApiData_java_p($api, $sto_erpid, $data1, 1, 10, null, "POST"); // // // $mrs=getApiData("wxd.mem.registration.card.add",$tk['api_token'],$data1); // mlog('购买:' . json_encode($data1, true) . ' 返回值:' . $mrs, 'recharge_1/' . $rs['store_id']); // $mrs = json_decode($mrs, true); // //计算有效期 // $yxq = strtotime("+" . $rs['days'] . " day"); // $updateuser['card_expiredate'] = date('Y-m-d H:i:s', $yxq); // // } else { // // // $mrs=getApiData("wxd.mem.registration.card.renew",$tk['api_token'],$data1); // $api = "/api/erp/vip/mem/card/renew"; // $mrs = getApiData_java_p($api, $sto_erpid, $data1, 1, 10, null, "POST"); // // mlog('续费:' . json_encode($data1, true) . ' 返回值:' . $mrs, 'recharge_1/' . $rs['store_id']); // $mrs = json_decode($mrs, true); // $updateuser['card_expiredate'] = $mrs['data'][0]['ExpiryDate']; // } // // // if ($mrs['code'] == 0) { // $updateuser['card_field'] = $rs['integral_remark']; // M('users')->where('user_id', $rs['user_id'])->save($updateuser);//更新会员信息表 // } // // } // $data['pay_status'] = 1; // $data['payno'] = $data["transaction_id"]; // // $rs = M('recharge')->where('order_sn', $order_sn)->save($data); // if ($rs) { // mlog(order_sn . "处理成功", "recharge"); // } else { // mlog(order_sn . "处理失败", "recharge"); // } // return true; // // } else { // // return true; // } // // //处理送礼神器的订单 // } else if (stripos($order_sn, 'g_') !== false) { // $r = M('giftuser_order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') // ->where("parent_sn", $order_sn)->field('b.mchkey,b.mchid')->select(); // $key = $r[0]['mchkey']; // $mchid = $r[0]['mchid']; // if (!array_key_exists("transaction_id", $data)) { // $msg = "输入参数不正确"; // mlog("pro-2-" . $msg, 'backorder'); // return false; // } // //查询订单,判断订单真实性 // if (!$this->Queryorder($data["transaction_id"], $appid, $mchid, $key)) { // $msg = "订单查询失败"; // mlog("pro-3-" . $msg, 'backorder'); // return false; // } // return update_pay_status_gift($order_sn, null, $data["transaction_id"]); // 修改订单支付状态 // // } else if (stripos($order_sn, 'lb') !== false) { // $rs = M('libao_formvip')->where('number', $order_sn)->find(); // if ($rs['fbillstate'] == 0) { // // $data['fbillstate'] = 1; // $data['payno'] = $data["transaction_id"]; // $data['paydate'] = time(); // // $rs1 = M('libao_formvip')->where('number', $order_sn)->save($data); // if ($rs1) { // $libao = M('libao_form')->where('id', $rs['lbid'])->find(); // $temp = M('libao_form')->where('id', $libao['id'])->save(array('salenum' => $libao['salenum'] + 1)); // // mlog($order_sn . "处理成功" . $temp, "libaolog"); // } else { // mlog($order_sn . "处理失败", "libaolog"); // } // return true; // // } else { // // return true; // } // } else { // // //去掉_wk字符 // if (strpos($order_sn, '_') !== false) { // $oarr = explode("_", $order_sn); // $order_sn = $oarr[0]; // // } // //$order_sn=str_replace('_wk','',$order_sn); // $r = M('order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') // ->where("parent_sn", $order_sn)->field('a.*,b.mchkey,b.mchid') // //->where('order_status<>3')->select(); // ->select(); // if (empty($r)) // $r = M('order')->alias('a')->join('wx_user b', 'a.store_id=b.store_id', 'left') // ->where("order_sn", $order_sn)->field('a.*,b.mchkey,b.mchid') // //->where('order_status<>3') // ->select(); // // $key = $r[0]['mchkey']; // $mchid = $r[0]['mchid']; // $stoid = $r[0]["store_id"]; // // //---拿出是否部分退款--- // $is_f_return = tpCache("basic.is_flash_return", $stoid); // $accdb = tpCache('shop_info.ERPId', $stoid); // // $is_f_return = $is_f_return . ""; // mlog("是否开启秒杀超量退款:" . $is_f_return . " " . $accdb, "backorder/" . $stoid); // // $is_ok = 0; // //--如果是需要部分退款-- // if ($is_f_return == "1") { // mlog("超量退款:0", "backorder/" . $stoid); // foreach ($r as $kv => $vv) { // mlog("超量退款:00_" . $vv['order_status'], "backorder/" . $stoid); // if ($vv['order_status'] == 3) { // $is_ok = 1; // //以下是拼单退款处理 // include_once "plugins/payment/weixin/weixin.class.php"; // $wx = new \weixin(); // // $ordno = $vv['order_sn']; // $total_fee = $vv['order_amount']; // $refund_fee = $total_fee; // $path = BASE_PATH . 'public/cert/' . $stoid . '/'; // $dd = null; // try { // //$wx->setCong($v['store_id']); // $rs = $wx->refund2($ordno, $total_fee, $refund_fee, $path, $stoid); // mlog("超量退款:11" . json_encode($rs), "backorder/" . $stoid); // // if ($rs['return_code'] == 'FAIL') { // mlog($vv['order_sn'] . "退款失败," . $rs['return_msg'], 'refund/' . $stoid); // $dd['weixin_err'] = $rs['return_msg']; // $dd['weixin'] = $vv['order_amount']; // } else { // //---推送消息--- // $remark = "订单超出5分钟中后重新支付,超出商品库存"; // $this->post_msg($stoid, $accdb, $vv['user_id'], "订单退款通知", $ordno, $total_fee, $remark); // } // // } catch (\Exception $e) { // mlog($vv['order_sn'] . "退款签名失败," . $e->getMessage(), 'refund/' . $stoid); // $dd['weixin_err'] = $e->getMessage(); // $dd['weixin'] = $vv['order_amount']; // } // // //--如果有退款,is_back赋值为1--- // if ($dd) { // M("order")->where('order_id', $vv['order_id'])->save(['back_err_json' => json_encode($dd)]); // } else { // //---推送消息--- // $remark = "感谢您的参与"; // $this->post_msg($stoid, $accdb, $vv['user_id'], "订单退款通知", $ordno, $total_fee, $remark); // M("order")->where('order_id', $vv['order_id'])->save(['is_back' => 1]); // } // } // } // } // // //----如果有退款,$is_ok=1---- // foreach ($r as $kv => $vv) { // if ($vv['is_back'] == 1) { // $is_ok = 1; // break; // } // } // // if ($is_ok == 1) return false; // mlog('ordsn' . $order_sn, 'notify/' . $r[0]['store_id']); // // if (!array_key_exists("transaction_id", $data)) { // $msg = "输入参数不正确"; // mlog("pro-2-" . $msg . $order_sn, 'notify/' . $r[0]['store_id']); // return false; // } // // mlog("start1" . $order_sn, 'notify/' . $r[0]['store_id']); // //查询订单,判断订单真实性 // if (!$this->Queryorder($data["transaction_id"], $appid, $mchid, $key)) { // $msg = "订单查询失败"; // mlog("pro-3-" . $msg . $order_sn, 'notify/' . $r[0]['store_id']); // return false; // } // mlog("start2" . $order_sn, 'notify/' . $r[0]['store_id']); // // //更新尾款的状体 // if ($r[0]['pt_tail_money'] > 0) { // mlog($order_sn . 'money-' . $r[0]['pt_tail_money'], 'notify/' . $r[0]['store_id']); // return update_pt_wk($order_sn, $r[0]['store_id'], $r[0], 0, $data["transaction_id"]); // } else { // mlog("start3" . $order_sn, 'notify/' . $r[0]['store_id']); // update_pay_status($order_sn, null, $data["transaction_id"]); // 修改订单支付状态 // //foreach ($r as $k=>$v) { // //拼单的订单,进行判断团 // //if ($v['pt_prom_id'] > 0) { check_team($v['order_id'],$v['pt_listno']); } // //} // mlog("start4" . $order_sn, 'notify/' . $r[0]['store_id']); // return true; // } // } //旧的结束 } /*--积分的增减--*/ public function Integral_set($vipid,$integral,$remark,$tk,$user=null){ /*--- $data=['Id'=> $vipid, 'Integral'=>$integral, 'Remark'=>$remark, ]; $rs=getApiData("wxd.vip.addreduce",$tk['api_token'],array($data,)); return [$rs,"ok"];--*/ mlog("1","Integral_set"); if(!$user){return null;} mlog("2","Integral_set"); $accdb=tpCache("shop_info.ERPId",$user['store_id']); mlog("3".$accdb,"Integral_set"); return com_update_integral($accdb,$user,$integral,$remark,$module="plusin/notify"); } /*--充值预存款--*/ public function Yucun_add($vipid,$rs,$tk) { $data=array( 'VIPId' => $vipid,//会员ID 'BillDate'=>date('Y-m-d H:m:s'),//单据日期 'AdvanceItemId'=>$rs["yucun_Advance_Id"],//预存款项目id 'AddSum'=>$rs["price"],//预存金额 'Remark'=>$rs["integral_remark"],//摘要 'FromBillId'=>$rs["order_sn"],//来源ID 'kind'=>$rs["yucun_id"],//空:自定义充值 非空:促销充值ID ); $rs=getApiData("wxd.vip.addvancelist",$tk['api_token'],$data); return [$rs,1]; } /*--购买服务卡--*/ public function Sercard_add($vipid,$rs,$tk) { $data=array( 'VIPid' => $vipid,//会员ID 'ItemId'=>$rs["yucun_id"],//服务卡项目id 'id'=>uuid(), 'CardNo'=>date("YmdHis") . rand(1000, 9999), //卡号 'Billdate'=>date('Y-m-d H:i:s',time()), 'PayType'=>'微支付', 'EndDate'=>date('Y-m-d ',time()+$rs['num']*24*3600), 'Qty'=>$rs['integral'], 'Operator'=>'手店操作', 'alipay_trade_no'=>$rs["payno"], ); $rs=getApiData("wxd.pos.smbuyitem.add",$tk['api_token'],array($data,)); return [$rs,1]; } } //Log::DEBUG("begin notify"); //$notify = new PayNotifyCallBack(); //$notify->Handle(false);