工行支付打印取消

This commit is contained in:
xucong 2024-11-30 13:20:37 +08:00
parent f461f04085
commit fe3dcb4cd9
4 changed files with 521 additions and 30 deletions

@ -3,6 +3,7 @@
namespace app\api\controller;
use app\common\basics\Api;
use app\common\server\JsonServer;
use think\facade\Db;
class Gt extends Api
{
@ -29,20 +30,17 @@ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlu5coHWBbtrz8DyX0VbPWiJZlAsofwZ99pZq
$result = $this->curl_post($url,$b);
var_dump($result);
}
public function wxPay($money='1'){
$user_id = $this->user_id;
public function wxPay($money='1',$local_goods_id=0,$lstore_id=0){
// $user_id = $this->user_id;
$user_id = 979;
$user = Db::name("user_auth")->where("user_id",$user_id)->find();
// $publicKey = "-----BEGIN PUBLIC KEY-----
//MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRUsPpbQPhBWrxFhG00k9VBgnHc7dCZyTQYIZ0efDEZOPHtDfbldfBDlfZglvfUsVuxea4NffzkbCm9pakoQilSy7hioiF8sxhUYxpwFIbx15KaQsjpeCtu5yOr3bKb5qZNzf+QtL70EDPfdVdZ5mBlO7CMa01W7CtqkxBlc4iSfVeavFK7rzOJpTAoamHdcdjtffYlNAsg2q3I1SDIUkiasVCo+BtNgzLY+7y1mSt9SbXO5nCMBT9DQVqsccBHu4SYS6kExISfLDjfeAldgtNtMuuyESiyp53EEk/Xe8JzrrjnHloHB63H47TxElsApAEmz0dabJyMBqT8Ow/m5OQIDAQAB
//-----END PUBLIC KEY-----";
$out = "dlh".time().$user_id;
$user_id = 979;
$data = [
'agetId'=>"FWH000025501",
'custId'=>"60000008228471",
'orderNo'=>"dlh".time().$user_id,
'txamt'=>$money,
'orderNo'=>$out,
'txamt'=>$money*100,
'openid'=>$user['openid'],
'payWay'=>"1",
'ip'=>$_SERVER['REMOTE_ADDR'],
@ -51,17 +49,68 @@ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlu5coHWBbtrz8DyX0VbPWiJZlAsofwZ99pZq
'wxAppid'=>'wx586d77b9edb0636d',
'traType'=>'8'
];
$da['orderNo'] = $out;
$da['txamt'] = $money*100;
$da['user_id'] = $user_id;
$da['local_goods_id'] = $local_goods_id;
$da['lstore_id'] = $lstore_id;
$da['dtime'] = date("Y-m-d H:i:s");
Db::name("gt_pay")->save($da);
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
// print_r("<pre>");
// var_dump($data);
$b = json_encode($data,true);
// var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
$result = $this->curl_post($url,$b);
$r['nonceStr'] = $result['data']['jsapiNoncestr'];
$r['package'] = $result['data']['jsapiPackage'];
$r['signType'] = $result['data']['jsapiSignType'];
$r['timeStamp'] = $result['data']['jsapiTimestamp'];
$r['paySign'] = $result['data']['jsapiPaySign'];
return JsonServer::success('开始支付',$r);
// var_dump($result);
}
public function account(){
$ΘACC_DETAIL=array(
array(
"ACC_CUST_ID"=>"60000008228471",
"ACC_DATE"=>"0.2"
),
array(
"ACC_CUST_ID"=>"60000008435142",
"ACC_DATE"=>"0.3"
),
array(
"ACC_CUST_ID"=>"60000008435087",
"ACC_DATE"=>"0.5"
));
$ΘACC_DETAIL = json_encode($ΘACC_DETAIL,true);
$d['ACC_DETAIL'] = $ΘACC_DETAIL;
$ACC_DETAIL = json_encode($d,true);
$data = [
'agetId'=>"FWH000025501",
'custId'=>"60000008228471",
'orderNo'=>"dlh1732801945979",
'areaId'=>"20241128184516",
'accModel'=>"1",
'accWay'=>"1",
'orderAccDetail'=>$ACC_DETAIL,
'timeStamp'=>time(),
'version'=>"1.0.0"
];
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
print_r("<pre>");
var_dump($data);
$b = json_encode($data,true);
var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/account";
$result = $this->curl_post($url,$b);
var_dump($result);
}
// 查询mcc
public function checkMcc(){
$data = [

@ -0,0 +1,395 @@
<?php
namespace app\api\controller;
use app\common\basics\Api;
use app\common\logic\Billions;
use app\common\logic\Earnings;
use app\common\model\AccountLog;
use app\common\model\localstore\LocalGoodsOrder;
use app\common\server\JsonServer;
use think\facade\Db;
class Gtpay extends Api
{
public $like_not_need_login = ['accountResult','checkOrder','account','messageSend','custom','wxPay','checkMcc','checkSecondMcc','anxinsignPerson','anxinsigncompany'];
private $agetId = "FWH000025501";
private $custId = "60000008228471";
private $wxAppid = "wx586d77b9edb0636d";
private $areaId = "20241128184516";//商圈号
private $publicKey = "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlu5coHWBbtrz8DyX0VbPWiJZlAsofwZ99pZq1CNZhx2bo66BtcHLWQ5LhpXxz7/dRpqUaek1HIK2z03sPBIBQHoTWz74fPsbiKH++d7fX8389XWuEyeL8BuBIUzXDYYmxdZKuOZ9pxjYpVqXkfFRq35TAxKZnm3Nj7ReNliTyY1/kp/vgvgJPaF+tWrCorWBiHvqDLd2teD8yRICRbFtZfd+DNdAYNPhJ8IHAB2Tazc8qG/IOhaP9bAZ74xmVXnXmHQRa+6JLJqIh7k2OrUO0JdcU0HiSiCidQUqdGZf+U088lz8pi95t+AvV6mUFtWyEQZHmv/xrVxj9oVdcbwjFQIDAQAB
-----END PUBLIC KEY-----";
public function wxPay($user_id,$money='1',$local_goods_id=0,$lid=0){
// $user_id = $this->user_id;var_dump($user_id);
// $user_id = 979;
$user = Db::name("user_auth")->where("user_id",$user_id)->find();
$out = "dlh".time().$user_id;
$data = [
'agetId'=>$this->agetId,
'custId'=>$this->custId,
'orderNo'=>$out,
'txamt'=>$money*100,
'openid'=>$user['openid'],
'payWay'=>"1",
'ip'=>$_SERVER['REMOTE_ADDR'],
'timeStamp'=>time(),
'version'=>"1.0.0",
'wxAppid'=>$this->wxAppid,
'traType'=>'8'
];
$da['orderNo'] = $out;
$da['txamt'] = $money*100;
$da['user_id'] = $user_id;
$da['local_goods_id'] = $local_goods_id;
$da['lstore_id'] = $lid;
$da['dtime'] = date("Y-m-d H:i:s");
$r['id'] = Db::name("gt_pay")->insertGetId($da);
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
// print_r("<pre>");
// var_dump($data);
$b = json_encode($data,true);
// var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
$result = $this->curl_post($url,$b);
$r['nonceStr'] = $result['data']['jsapiNoncestr'];
$r['package'] = $result['data']['jsapiPackage'];
$r['signType'] = $result['data']['jsapiSignType'];
$r['timeStamp'] = $result['data']['jsapiTimestamp'];
$r['paySign'] = $result['data']['jsapiPaySign'];
return JsonServer::success('开始支付',$r);
}
public function checkOrder($post){
$user_id = $this->user_id;
$gtpay_msg = Db::name("gt_pay")->where("id",$post['id'])->find();
$data = [
'agetId'=>$this->agetId,
'custId'=>$this->custId,
'orderNo'=>$gtpay_msg['orderNo'],
'orderTime'=>date("Ymd",strtotime($gtpay_msg['dtime'])),
'timeStamp'=>time(),
'version'=>"1.0.0"
];
// print_r("<pre>");
// var_dump($data);
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
// print_r("<pre>");
// var_dump($data);
$b = json_encode($data,true);
// var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/orderQuery";
$result = $this->curl_post($url,$b);
// var_dump($result);
return $this->account($result,$post,$user_id,$gtpay_msg);
}
public function account($result,$post,$user_id,$gtpay_msg){
// var_dump($result);
$sidy = 0.7;
$sidy1 = 0.03;
$sidy2 = 0.05;
$sidy3 = 0.22;
if(isset($post['spec_item_id'])){
$sku_num_msg = Db::name("local_store_goods_item")
->where("id",$post['spec_item_id'])
->find();
if($sku_num_msg!=null){
$data['goods_id'] = $sku_num_msg['goods_id'];
$local_goods_msg = Db::name("local_store_goods")
->where("id",$sku_num_msg['goods_id'])
->find();
if($local_goods_msg['subsidy_id'] == 0){
$sidy = 0.7;
$sidy1 = 0.03;
$sidy2 = 0.05;
$sidy3 = 0.22;
}else{
$subsidy = Db::name("goods_subsidy")
->where("id",$local_goods_msg['subsidy_id'])
->find();
$sidy = round($subsidy['profit']/100,2);
$sidy3 = round((100-$subsidy['profit']-8)/100,2);
}
}
$data['sku_id'] = $post['spec_item_id'];
}
if(isset($post['lsg_order_id'])){
$data['lsg_order_id'] = $post['lsg_order_id'];
if(isset($post['post_station_time'])){
$year = date("Y");
$post_station_time = $year.'-'.$post['post_station_time'];
$post_station_time = strtotime($post_station_time);
LocalGoodsOrder::where('lsg_order_id',$post['lsg_order_id'])->update(
[
'post_station_id'=>$post['post_station_id'],
'post_station_time'=>$post_station_time
]
);
}
}
if(isset($post['goods_num'])){
$data['goods_num'] = $post['goods_num'];
}
$data['order_sn'] = $gtpay_msg['orderNo'];
$data['order_source'] = 1;
$data['pay_way'] = 1;
$data['pay_status'] = 0;
$data['local_id'] = $post['lid'];
$data['user_id'] = $user_id;
$data['order_amount'] = round($gtpay_msg['txamt']/100,2);
$data['pay_type'] = 1;
$data['gt_orderno'] = $result['data']['orderNo'];
$data['create_time'] = date("Y-m-d H:i:s");
$r = Db::name("local_pay")->save($data);
$company = Db::name("local_store")->where("lstore_id",$post['lid'])->where("is_delete",0)->find();
$dt['lstore_id'] = $post['lid'];
$dt['payment_type'] = $company['bankType'];
$dt['total_amount'] = round($gtpay_msg['txamt']/100,2);
$dt['account_name'] = $company['shopName'];
$dt['bank_name'] = $company['bankName'];
$dt['bank_card'] = $company['bankCard'];
$dt['large_number'] = $company['largeNumber'];
$dt['separate_account'] = round($gtpay_msg['txamt']/100*$sidy,2);
$dt2['separate_account'] = round($gtpay_msg['txamt']/100*$sidy3,2);
$dt3['separate_account'] = round($gtpay_msg['txamt']/100*$sidy1,2);
if($post['lid'] == 138){
$dt['separate_account'] = round($gtpay_msg['txamt']/100*0.72,2);
$dt2['separate_account'] = round($gtpay_msg['txamt']/100*0.20,2);
}
if($post['lid'] == 140){
$dt['separate_account'] = round($gtpay_msg['txamt']/100*0.76,2);
$dt2['separate_account'] = round($gtpay_msg['txamt']/100*0.22,2);
$dt3['separate_account'] = 0;
}
$dt['create_time'] = date("Y-m-d H:i:s");
$dt['user_id'] = $user_id;
$dt['order_no'] = $gtpay_msg['orderNo'];
$dt['pay_shop_type'] = 1;
if( isset($post['remark'])){
$dt['remark'] = $post['remark'];
}
$r = Db::name("local_store_order")->save($dt);
// 基本户 5%
$dt1['lstore_id'] = $post['lid'];
$dt1['payment_type'] = 1;
$dt1['account_name'] = "东龙汇";
$dt1['bank_name'] = "中国工商银行";
$dt1['bank_card'] = "1204068809100138961";
$dt1['large_number'] = "102335006882";
$dt1['separate_account'] = round($gtpay_msg['txamt']/100*$sidy2,2);
$dt1['create_time'] = date("Y-m-d H:i:s");
$dt1['user_id'] = $user_id;
$dt1['local_our_company'] = 1;
$dt1['order_no'] = $gtpay_msg['orderNo'];
$r1 = Db::name("local_store_order")->save($dt1);
// 22% 一般户
$dt2['lstore_id'] = $post['lid'];
$dt2['payment_type'] = 1;
$dt2['account_name'] = "东龙汇";
$dt2['bank_name'] = "中国工商银行";
$dt2['bank_card'] = "1204064019200152507";
$dt2['large_number'] = "102335006405";
$dt2['create_time'] = date("Y-m-d H:i:s");
$dt2['user_id'] = $user_id;
$dt2['local_our_company'] = 2;
$dt2['order_no'] = $gtpay_msg['orderNo'];
$r2 = Db::name("local_store_order")->save($dt2);
// 10% 一般户
$dt3['lstore_id'] = $post['lid'];
$dt3['payment_type'] = 1;
$dt3['account_name'] = "东龙汇";
$dt3['bank_name'] = "中国工商银行";
$dt3['bank_card'] = "1204064419000115357";
// $dt3['bank_card'] = "1204068809100138961";
// $dt3['large_number'] = "102335006882";
$dt3['large_number'] = "102335006448";
// $dt3['separate_account'] = round($post['money']*0.06,2);
$dt3['create_time'] = date("Y-m-d H:i:s");
$dt3['user_id'] = $user_id;
$dt3['local_our_company'] = 3;
$dt3['order_no'] = $gtpay_msg['orderNo'];
$r3 = Db::name("local_store_order")->save($dt3);
$arr=array("ACC_DETAIL"=>array(
array(
"ACC_CUST_ID"=>$company['acc_cust_id'],
"ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy,2)
),
// 基本户
array(
"ACC_CUST_ID"=>"60000008228471",
"ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy2,2)
),
// 一般户2507
array(
"ACC_CUST_ID"=>"60000008435142",
"ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy3,2)
),
//一般户5357
array(
"ACC_CUST_ID"=>"60000008435087",
"ACC_DATE"=>round($gtpay_msg['txamt']/100*$sidy2,2)
)));
$arr = json_encode($arr,true);
$data = [
'agetId'=>$this->agetId,
'custId'=>$this->custId,
'orderNo'=>$result['data']['orderNo'],
'areaId'=>$this->areaId,
'accModel'=>"1",
'accWay'=>"1",
'orderAccDetail'=>$arr,
'timeStamp'=>time(),
'version'=>"1.0.0",
'remark'=>'订单分账',
'accTxamt'=>$gtpay_msg['txamt']
];
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
// print_r("<pre>");
// var_dump($data);
$b = json_encode($data,true);
// var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/account";
$res = $this->curl_post($url,$b);
if($res['code'] == "000000"){
$dat['state'] = 1;
$dat['taskCreateDate'] = $res['data']['taskCreateDate'];
$dat['taskId'] = $res['data']['taskId'];
Db::name("gt_pay")->where("id",$gtpay_msg['id'])->update(['state'=>1]);
Db::name("local_store_order")->where("order_no",$gtpay_msg['orderNo'])->update(['state'=>1]);
Db::name("local_pay")->where("order_sn",$gtpay_msg['orderNo'])->update(['pay_status'=>1]);
if(isset($post['lsg_order_id'])){
LocalGoodsOrder::where('lsg_order_id',$post['lsg_order_id'])->update(
[
'state'=>1
]
);
}
$user = Db::name("user")->where("id",$user_id)->find();
$distribution = Db::name("distribution")->where("user_id",$user_id)->find();
// 参与消费返补
$billions = new Billions();
$order['order_amount'] = round($gtpay_msg['txamt']/100,2);
$order['id'] = $gtpay_msg['id'];
$order['order_sn'] = $gtpay_msg['orderNo'];
$order['type'] = 4;
$type = "local_pay";
$billions_result = $billions->billions($order,$user['id'],$type);
return JsonServer::success('分账成功');
}
}
public function accountResult(){
$data = [
'agetId'=>"FWH000025501",
'custId'=>"60000008228471",
'orderNo'=>"20241129TT2lg6ln",
'areaId'=>"20241128184516",
'taskCreateDate'=>"20241129",
'taskId'=>"1099295",
'timeStamp'=>time(),
'version'=>"1.0.0"
];
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
print_r("<pre>");
var_dump($data);
$b = json_encode($data,true);
var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/accountResult";
$result = $this->curl_post($url,$b);
var_dump($result);
}
// 异步支付回调
public function payNotify(){
}
//异步提现回调
public function payWithdrawal(){
}
//异步进件
public function inComing(){
}
function ASCII($params=array()){
ksort($params);
reset($params);
$str = "";
$t = array();
foreach($params as $key=>$value){
$t[] = $key."=".$value;
}
$str = implode("&",$t);
// $str = http_build_query($params,'','&amp');
return $str;
}
public function sign($param,$key_pem)
{
$sha256 = hash("sha256", $param);
$privateKey = openssl_pkey_get_public($key_pem); //检测是否公钥
openssl_public_encrypt($sha256, $sign, $privateKey); //公钥加密
$sign = base64_encode($sign);
return $sign;
}
private function curl_post($url,$postdata){
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Expect:'
)); // 解决数据包大不能提交
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno' . curl_error($curl);
}
curl_close($curl); // 关键CURL会话
$tmpInfo=json_decode($tmpInfo,true);
return $tmpInfo;
}
private function curl_get($url) {
//初使化curl
$curl = curl_init();
//请求的url,由形参传入
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Expect:'
)); // 解决数据包大不能提交
//将得到的数据返回
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//不处理头信息
curl_setopt($curl, CURLOPT_HEADER, 0);
//连接超过10秒超时
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
//执行curl
$output = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Errno' . curl_error($curl);
}
//关闭资源
curl_close($curl);
//返回内容
$tmpInfo=json_decode($output,true);
return $tmpInfo;
}
}

@ -5,10 +5,11 @@ require_once ROOT_PATH . "/../vendor/hf/BsPayDemo/loader.php";
require_once ROOT_PATH . "/../vendor/hf/BsPaySdk/init.php";
use app\common\basics\Api;
use BsPaySdk\core\BsPay;
use BsPaySdk\config\MerConfig;
class Huifu extends Api
{
public function payTest()
{
$config = new BsPay();
@ -60,37 +61,62 @@ class Huifu extends Api
}
}
public function test(){
public function test($user_id=1){
$out = "dlh".time().$user_id;
$data = [
'agetId'=>"FWH000025501",
'custId'=>"60000008228471",
'orderNo'=>"dlh".time().$user_id,
'txamt'=>$money,
'openid'=>$user['openid'],
'payWay'=>"1",
'ip'=>$_SERVER['REMOTE_ADDR'],
'timeStamp'=>time(),
'version'=>"1.0.0",
'wxAppid'=>'wx586d77b9edb0636d',
'traType'=>'8'
"sys_id"=>"6666000156739560",
"product_id"=>"PAYUN",
"data"=>array(
"req_date"=>date("Y-m-d"),
"req_seq_id"=>$out,
"huifu_id"=>"6666000156739560",
"goods_desc"=>"测试商品",
"trade_type"=>"T_MINIAPP",
"trans_amt"=>"1.00"
),
"wx_data"=>array(
"sub_appid"=>"wx586d77b9edb0636d",
"sub_openid"=>"ouOMm41xnIKqoZ66ygwJa-qJQpgw"
)
];
$d =$this->ASCII($data);
$data['sign'] = $this->sign($d,$this->publicKey);
$merConfig = new MerConfig();
$data['sign'] = $this->sign($data,$merConfig->rsa_huifu_public_key);
print_r("<pre>");
var_dump($data);
$b = json_encode($data,true);
var_dump($b);
$url = "https://yyfsvxm.postar.cn/yyfsevr/order/pay";
$result = $this->curl_post($url,$b);
$bspay = new BsPay();
$result = $bspay->post("v2.trade.payment.jspay", $paramsInfo, '', 'default');
if (!$result || $result->isError()) { //失败处理
var_dump($result->getErrorInfo());
} else { //成功处理
var_dump($result);
}
var_dump($result);
}
public function sign($param,$key_pem)
{
$sha256 = hash("sha256", $param);
$privateKey = openssl_pkey_get_public($key_pem); //检测是否公钥
openssl_public_encrypt($sha256, $sign, $privateKey); //公钥加密
$sign = base64_encode($sign);
return $sign;
}
function ASCII($params=array()){
ksort($params);
reset($params);
// ksort($params);
// reset($params);
$str = "";
$t = array();
foreach($params as $key=>$value){
$t[] = $key."=".$value;
if(is_array($value)){
$b = json_encode($value,true);
$t[] = $key."=".$b;
}else{
$t[] = $key."=".$value;
}
}
$str = implode("&",$t);

@ -28,7 +28,28 @@ class Earnings
]);
return $result;
}
// 推广店铺
public function userEarningsShop($money,$first_leader,$type_msg){
User::where('id', $first_leader)
->inc('earnings', $money)->update();
$earnings_buy = AccountLog::where('user_id', $first_leader)
->order("create_time desc")
->limit(1)
->value('left_amount');
$sn = createSn('account_log', 'log_sn', '', 4);
$result = AccountLog::create([
'log_sn' => $sn,
'user_id' => $first_leader,
'source_type' => $type_msg, //todo 改为充值类型
'source_id' => 0, //todo 改为充值订单主键
'source_sn' => 0, // todo 改为充值订单编号
'change_amount' => $money,
'left_amount' => $earnings_buy + $money,
'change_type' => 1,
'remark' => '分销推广店铺佣金增加'
]);
return $result;
}
//推广会员无极公司佣金
public function userElectrodelessEarnings($money,$divide_role_user_id,$type_msg){
User::where('id', $divide_role_user_id)