This commit is contained in:
mkm 2024-06-27 20:01:33 +08:00
commit 5b8d129abd
2 changed files with 100 additions and 31 deletions

View File

@ -458,6 +458,61 @@ class OrderLogic extends BaseLogic
$money=$financeFlow->where(['order_id'=>$order['id'],'financial_pm'=>1,'financial_type'=>2])->value('number'); $money=$financeFlow->where(['order_id'=>$order['id'],'financial_pm'=>1,'financial_type'=>2])->value('number');
$financeFlowLogic->updateStatusStore($order['id'],$order['store_id'],$money,$deposit); $financeFlowLogic->updateStatusStore($order['id'],$order['store_id'],$money,$deposit);
$check = Db::name('user_sign_log')->where('order_id',$order['order_id'])
->where(['status'=>0])
->find();//$check['number']扣的
if($check){
// User::where('id',$order['uid'])->inc('purchase_funds',$check['number'])->update();
// $user_number = bcmul($order['pay_price'], '0.10', 2);
$base = UserSign::where([
'uid'=>$order['uid'],
'type'=>1,
'status'=>0
])->find();
$user_sing = new UserSign();
if($base['number'] > 0 && $base['number'] >= $check['number']){
$sing = [
'uid' => $order['uid'],
'order_id' => $order['order_id'].'-b',
'title' => '返还兑换券',
'financial_pm' => 1,
'store_id' => $order['store_id'],
'status' => 1,
];
$sing['number'] = $check['number'];
$user_sing->save($sing);
//减少
UserSign::where('id',$check['sid'])->dec('number',$check['number'])->update();
if($base['number'] == $check['number']){
UserSign::where([
'id'=>$order['sid']
])->update(['status'=>1]);
}
}
if($base['number'] < $check['number']){
$sing = [
'uid' => $order['uid'],
'order_id' => $order['order_id'].'-b',
'title' => '返还兑换券',
'financial_pm' => 1,
'store_id' => $base['number'],
'status' => 1,
];
$sing['number'] = $check['number'];
$user_sing->save($sing);
UserSign::where('id',$check['sid'])->dec('number',$base['number'])->update();
UserSign::where([
'id'=>$order['sid']
])->update(['status'=>1]);
}
Db::name('user_sign_log')->where('order_id',$order['order_id'])->update(['status'=>1]);
}
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@ -211,6 +211,7 @@ class PayNotifyLogic extends BaseLogic
'type'=>1, 'type'=>1,
'status'=>0 'status'=>0
])->count(); ])->count();
if($count){ if($count){
self::addFlowLog($order); self::addFlowLog($order);
} }
@ -235,10 +236,12 @@ class PayNotifyLogic extends BaseLogic
]); ]);
$query1 = clone $query; $query1 = clone $query;
$ids = $query->column('id'); $ids = $query->column('id');
$check = $query->sum('back_num'); $check = $query->sum('number');
$count = $query1->count(); $count = $query1->count();
if($check && $check >0){ if($check && $check >0){
$backPurchase = bcsub($order['pay_price'],0.1,2); $backPurchase = bcmul($order['pay_price'],0.1,2);
if($count == 1){ if($count == 1){
//存在拆单子否 //存在拆单子否
//少了就冻结减去这个对应的金额 //少了就冻结减去这个对应的金额
@ -248,6 +251,7 @@ class PayNotifyLogic extends BaseLogic
'status'=>0 'status'=>0
])->find(); ])->find();
$data = [ $data = [
'sid'=>$one['id'],
'uid' => $order['uid'], 'uid' => $order['uid'],
'order_id' => $order['order_id'], 'order_id' => $order['order_id'],
'title' => '充值获得冻结兑换券', 'title' => '充值获得冻结兑换券',
@ -256,44 +260,43 @@ class PayNotifyLogic extends BaseLogic
]; ];
if($one['back_num'] >= $backPurchase){ if($one['back_num'] >= $backPurchase){
// $wait = bcsub($one['back_num'],$backPurchase,2)??0;
$data['number'] =$backPurchase; $data['number'] =$backPurchase;
Db::name('user_sign_log')->insert($data); Db::name('user_sign_log')->insert($data);
//总的减去采购款百分之十剩余的 //总的减去采购款百分之十剩余的
$wait = bcsub($one['back_num'],$backPurchase,2)??0; // if(empty($wait)){
// UserSign::where('id',$one['id'])->update(
if(empty($wait)){ // [
UserSign::where('id',$one['id'])->update( // 'number'=>0,
[ // 'status'=>1
'back_num'=>0, // ]
'status'=>1 // );
] // }else{
); // //add
}else{ // UserSign::where('id',$one['id'])->update(
//add // [
UserSign::where('id',$one['id'])->update( // 'number'=>$wait
[ // ]
'back_num'=>$wait // );
] // }
);
}
//并且加到对应的用户的采购款中 //并且加到对应的用户的采购款中
User::where('id',$order['uid'])->inc('purchase_funds',$wait)->update(); // User::where('id',$order['uid'])->inc('purchase_funds',$wait)->update();
} }
else{ else{
//对比采购款支付的多少 多了就拿冻结金额即可 //对比采购款支付的多少 多了就拿冻结金额即可
$data['number'] =$one['number']; $data['number'] =$one['number'];
//都存到对应的log日志 //都存到对应的log日志
Db::name('user_sign_log')->insert($data); Db::name('user_sign_log')->insert($data);
UserSign::where('id',$one['id'])->update( // UserSign::where('id',$one['id'])->update(
[ // [
'back_num'=>0, // 'number'=>0,
'status'=>1 // 'status'=>1
] // ]
); // );
//并且加到对应的用户的采购款中 //并且加到对应的用户的采购款中
User::where('id',$order['uid'])->inc('purchase_funds',$one['number'])->update(); // User::where('id',$order['uid'])->inc('purchase_funds',$wait)->update();
} }
} }
@ -321,9 +324,20 @@ class PayNotifyLogic extends BaseLogic
'type' => 1, 'type' => 1,
]; ];
$data['number'] =$check; $data['number'] =$check;
Db::name('user_sign')->insert($data); $sid = Db::name('user_sign')->insertGetId($data);
$data = [
'uid' => $order['uid'],
'sid' => $sid,
'order_id' => $order['order_id'],
'title' => '充值获得冻结兑换券',
'financial_pm' => 1,
'type' => 1,
];
$data['number'] =$backPurchase;
Db::name('user_sign_log')->insert($data);
} }
User::where('id',$order['uid'])->inc('purchase_funds',$backPurchase)->update();//add // User::where('id',$order['uid'])->inc('purchase_funds',$backPurchase)->update();//add
}else{ }else{
//log //log
@ -336,7 +350,7 @@ class PayNotifyLogic extends BaseLogic
]; ];
$data['number'] =$check; $data['number'] =$check;
Db::name('user_sign_log')->insert($data); Db::name('user_sign_log')->insert($data);
User::where('id',$order['uid'])->inc('purchase_funds',$check)->update();//add // User::where('id',$order['uid'])->inc('purchase_funds',$check)->update();//add
} }
} }