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
{
return [
'=' => ['cate_id'],
'=' => ['cate_id','is_show'],
'<='=> ['stock'],
'%like%' => ['store_name'],
];
}

View File

@ -292,6 +292,9 @@ class OrderLogic extends BaseLogic
'store_id'=>$params['store_id'],
'product_id'=>$v['product_id'],
])->field('id,store_name,stock')->withTrashed()->find();
if(empty($store)){
$store['stock'] =0;
}
if($store['stock'] < $v['cart_num']){
//缺失
$newArr[] = [
@ -511,7 +514,9 @@ class OrderLogic extends BaseLogic
}
}
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();
// 核销加冻结礼品券 解冻礼品券
self::addUserSing($order,2,$user_number);//冻结

View File

@ -97,7 +97,9 @@ class PayNotifyLogic extends BaseLogic
if ($order['shipping_type'] == 3) {
//预留收银台余额支付得兑换券逻辑
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);
User::where('id', $order->uid)->inc('integral', $total_vip)->update();
}
@ -434,7 +436,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']);
//直接加对应兑换券
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);
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']);
}
//退还 充值得兑换券
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);
// d($purchase_funds,$orderRe['refund_price'],$orderRe);
return true;
@ -492,6 +499,9 @@ class PayNotifyLogic extends BaseLogic
$capitalFlowDao = new CapitalFlowLogic($user);
$deal_money = bcdiv($extra['amount']['refund'], 100, 2);
$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 ($order['pay_type'] == PayEnum::BALANCE_PAY) { //用户余额支付
$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);
}
if ($check_user_sing) {
//退还 兑换券
self::addNewUserSing($order, 3, $order->refund_price); //冻结
self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻
self::addNewUserSing($order, 3, $total_price); //冻结
self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻
self::descUserSing($order);
}
return true;
}
//积分
if ($check_user_sing) {
self::addNewUserSing($order, 3, $order->refund_price); //冻结
self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻
self::addNewUserSing($order, 3, $total_price); //冻结
self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻
self::descUserSing($order);
}
//微信日志 user_order_refund
@ -568,7 +579,9 @@ class PayNotifyLogic extends BaseLogic
{
// $user_sing = new UserSign();
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 = [
// 'uid' => $order['uid'],
// 'order_id' => $order['order_id'],
@ -794,7 +807,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']);
//直接加到礼品券中
$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[] = [
'uid' => $order['uid'],
'order_id' => $order['order_id'],
@ -848,7 +863,9 @@ class PayNotifyLogic extends BaseLogic
self::descStock($order['id']);
//直接加兑换券到对应得账户
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);
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['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 = [
'uid' => $order['uid'],
'order_id' => $order['order_id'],
@ -921,7 +940,8 @@ class PayNotifyLogic extends BaseLogic
$user_ship = $user['user_ship'];
if($order['total_price'] >= 500 && $order['pay_type'] !=PayEnum::PURCHASE_FUNDS && $user_ship !=1
&& $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 = [
'uid' => $order['uid'],
'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;
}
}
//礼品券相关对应文本