This commit is contained in:
mkm 2024-07-01 11:04:20 +08:00
commit a9091c03ea
3 changed files with 60 additions and 15 deletions

View File

@ -29,7 +29,8 @@ class StoreProductLists extends BaseAdminDataLists implements ListsSearchInterfa
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['cate_id'], '=' => ['cate_id','is_show'],
'<='=> ['stock'],
'%like%' => ['store_name'], '%like%' => ['store_name'],
]; ];
} }

View File

@ -292,6 +292,9 @@ class OrderLogic extends BaseLogic
'store_id'=>$params['store_id'], 'store_id'=>$params['store_id'],
'product_id'=>$v['product_id'], 'product_id'=>$v['product_id'],
])->field('id,store_name,stock')->withTrashed()->find(); ])->field('id,store_name,stock')->withTrashed()->find();
if(empty($store)){
$store['stock'] =0;
}
if($store['stock'] < $v['cart_num']){ if($store['stock'] < $v['cart_num']){
//缺失 //缺失
$newArr[] = [ $newArr[] = [
@ -511,7 +514,9 @@ class OrderLogic extends BaseLogic
} }
} }
if($order['uid'] && $order['pay_price'] >= 500){ if($order['uid'] && $order['pay_price'] >= 500){
$user_number = bcmul($order['pay_price'], '0.10', 2); $level = User::where('id',$order['uid'])->value('user_ship');
$discount = PayNotifyLogic::getDiscount($level);
$user_number = bcmul($order['pay_price'], $discount, 2);
User::where('id', $order['uid'])->inc('integral', $user_number)->update(); User::where('id', $order['uid'])->inc('integral', $user_number)->update();
// 核销加冻结礼品券 解冻礼品券 // 核销加冻结礼品券 解冻礼品券
self::addUserSing($order,2,$user_number);//冻结 self::addUserSing($order,2,$user_number);//冻结

View File

@ -97,7 +97,9 @@ class PayNotifyLogic extends BaseLogic
if ($order['shipping_type'] == 3) { if ($order['shipping_type'] == 3) {
//预留收银台余额支付得兑换券逻辑 //预留收银台余额支付得兑换券逻辑
if ($order->uid >0) { if ($order->uid >0) {
$total_vip = bcmul($order['pay_price'], 0.1, 2); $level = User::where('id',$order->uid)->value('user_ship');
$discount = self::getDiscount($level);
$total_vip = bcmul($order['pay_price'], $discount, 2);
self::addNewUserSing($order,8,$total_vip,1,1); self::addNewUserSing($order,8,$total_vip,1,1);
User::where('id', $order->uid)->inc('integral', $total_vip)->update(); User::where('id', $order->uid)->inc('integral', $total_vip)->update();
} }
@ -434,7 +436,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']); self::descStock($order['id']);
//直接加对应兑换券 //直接加对应兑换券
if ($order->uid >0) { if ($order->uid >0) {
$total_vip = bcmul($order['pay_price'], 0.1, 2); $level = User::where('id',$order->uid)->value('user_ship');
$discount = self::getDiscount($level);
$total_vip = bcmul($order['pay_price'], $discount, 2);
self::addNewUserSing($order,8,$total_vip,1,1); self::addNewUserSing($order,8,$total_vip,1,1);
User::where('id', $order->uid)->inc('integral', $total_vip)->update(); User::where('id', $order->uid)->inc('integral', $total_vip)->update();
} }
@ -473,9 +477,12 @@ class PayNotifyLogic extends BaseLogic
$capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $orderRe['id'], $purchase_funds, '', 1, $orderRe['store_id']); $capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $orderRe['id'], $purchase_funds, '', 1, $orderRe['store_id']);
} }
//退还 充值得兑换券 //退还 充值得兑换券
self::addNewUserSing($orderRe, 3, $orderRe->refund_price); //冻结 $level = User::where('id',$order->uid)->value('user_ship');
$discount = self::getDiscount($level);
$total_price = bcmul($orderRe->refund_price, $discount, 2);
self::addNewUserSing($orderRe, 3,$total_price); //冻结
self::addNewUserSing($orderRe, 6, $orderRe->refund_price, 0, 1); //解冻 self::addNewUserSing($orderRe, 6, $total_price, 0, 1); //解冻
self::descUserSing($orderRe); self::descUserSing($orderRe);
// d($purchase_funds,$orderRe['refund_price'],$orderRe); // d($purchase_funds,$orderRe['refund_price'],$orderRe);
return true; return true;
@ -492,6 +499,9 @@ class PayNotifyLogic extends BaseLogic
$capitalFlowDao = new CapitalFlowLogic($user); $capitalFlowDao = new CapitalFlowLogic($user);
$deal_money = bcdiv($extra['amount']['refund'], 100, 2); $deal_money = bcdiv($extra['amount']['refund'], 100, 2);
$check_user_sing = UserSign::where('order_id', $order['order_id'])->count(); $check_user_sing = UserSign::where('order_id', $order['order_id'])->count();
//对应比例得退礼品券逻辑
$discount = self::getDiscount($user->user_ship);
$total_price = bcmul($order->refund_price, $discount, 2);
if (in_array($order['pay_type'], [PayEnum::BALANCE_PAY, PayEnum::PURCHASE_FUNDS])) { if (in_array($order['pay_type'], [PayEnum::BALANCE_PAY, PayEnum::PURCHASE_FUNDS])) {
if ($order['pay_type'] == PayEnum::BALANCE_PAY) { //用户余额支付 if ($order['pay_type'] == PayEnum::BALANCE_PAY) { //用户余额支付
$user->now_money = bcadd($user->now_money, $deal_money, 2); $user->now_money = bcadd($user->now_money, $deal_money, 2);
@ -509,18 +519,19 @@ class PayNotifyLogic extends BaseLogic
//退款 //退款
$capitalFlowDao->userIncome('system_purchase_back', 'system_back', $order['id'], $deal_money); $capitalFlowDao->userIncome('system_purchase_back', 'system_back', $order['id'], $deal_money);
} }
if ($check_user_sing) { if ($check_user_sing) {
//退还 兑换券 //退还 兑换券
self::addNewUserSing($order, 3, $order->refund_price); //冻结 self::addNewUserSing($order, 3, $total_price); //冻结
self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻 self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻
self::descUserSing($order); self::descUserSing($order);
} }
return true; return true;
} }
//积分 //积分
if ($check_user_sing) { if ($check_user_sing) {
self::addNewUserSing($order, 3, $order->refund_price); //冻结 self::addNewUserSing($order, 3, $total_price); //冻结
self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻 self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻
self::descUserSing($order); self::descUserSing($order);
} }
//微信日志 user_order_refund //微信日志 user_order_refund
@ -568,7 +579,9 @@ class PayNotifyLogic extends BaseLogic
{ {
// $user_sing = new UserSign(); // $user_sing = new UserSign();
if ($order['uid'] > 0) { if ($order['uid'] > 0) {
$user_number = bcmul($order['refund_price'], '0.10', 2); $level = User::where('id',$order['uid'])->value('user_ship');
$discount = self::getDiscount($level);
$user_number = bcmul($order['refund_price'], $discount, 2);
// $sing = [ // $sing = [
// 'uid' => $order['uid'], // 'uid' => $order['uid'],
// 'order_id' => $order['order_id'], // 'order_id' => $order['order_id'],
@ -794,7 +807,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']); self::descStock($order['id']);
//直接加到礼品券中 //直接加到礼品券中
$user_sing = new UserSign(); $user_sing = new UserSign();
$total_vip = bcmul($order['pay_price'], 0.1, 2); $level = User::where('id',$order['uid'])->value('user_ship');
$discount = self::getDiscount($level);
$total_vip = bcmul($order['pay_price'], $discount, 2);
$sing[] = [ $sing[] = [
'uid' => $order['uid'], 'uid' => $order['uid'],
'order_id' => $order['order_id'], 'order_id' => $order['order_id'],
@ -848,7 +863,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']); self::descStock($order['id']);
//直接加兑换券到对应得账户 //直接加兑换券到对应得账户
if ($order->uid >0) { if ($order->uid >0) {
$total_vip = bcmul($order['pay_price'], 0.1, 2); $level = User::where('id',$order['uid'])->value('user_ship');
$discount = self::getDiscount($level);
$total_vip = bcmul($order['pay_price'], $discount, 2);
self::addNewUserSing($order,8,$total_vip,1,1); self::addNewUserSing($order,8,$total_vip,1,1);
User::where('id', $order->uid)->inc('integral', $total_vip)->update(); User::where('id', $order->uid)->inc('integral', $total_vip)->update();
} }
@ -898,7 +915,9 @@ class PayNotifyLogic extends BaseLogic
$order['uid'] > 0 && $order['total_price'] >= 500 $order['uid'] > 0 && $order['total_price'] >= 500
&& $order['pay_type'] != PayEnum::PURCHASE_FUNDS && $user_ship != 1 && $order['shipping_type'] !=3 && $order['pay_type'] != PayEnum::PURCHASE_FUNDS && $user_ship != 1 && $order['shipping_type'] !=3
) { ) {
$user_number = bcmul($order['pay_price'], '0.10', 2); $level = User::where('id',$order['uid'])->value('user_ship');
$discount = self::getDiscount($level);
$user_number = bcmul($order['pay_price'], $discount, 2);
$sing = [ $sing = [
'uid' => $order['uid'], 'uid' => $order['uid'],
'order_id' => $order['order_id'], 'order_id' => $order['order_id'],
@ -921,7 +940,8 @@ class PayNotifyLogic extends BaseLogic
$user_ship = $user['user_ship']; $user_ship = $user['user_ship'];
if($order['total_price'] >= 500 && $order['pay_type'] !=PayEnum::PURCHASE_FUNDS && $user_ship !=1 if($order['total_price'] >= 500 && $order['pay_type'] !=PayEnum::PURCHASE_FUNDS && $user_ship !=1
&& $order['shipping_type'] !=3){ && $order['shipping_type'] !=3){
$user_number = bcmul($order['pay_price'], '0.10', 2); $discount = self::getDiscount($user_ship);
$user_number = bcmul($order['pay_price'], $discount, 2);
$sing = [ $sing = [
'uid' => $order['uid'], 'uid' => $order['uid'],
'order_id' => $order['order_id'], 'order_id' => $order['order_id'],
@ -1220,6 +1240,25 @@ class PayNotifyLogic extends BaseLogic
/**
* 会员等级对应得折扣比例
* @param $level
* @return float|mixed
*/
public static function getDiscount($level)
{
switch ($level) {
case 0://普通
return Config::where('name','ordinary_member')->value('value')??0.1;
case 1://vip
return Config::where('name','vip_member')->value('value')??0.1;
case 4://商户
return Config::where('name','merchant')->value('value')??0.1;
default:
return 0.1;
}
}
//礼品券相关对应文本 //礼品券相关对应文本