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');
$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();
return true;
} catch (\Exception $e) {

View File

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