This commit is contained in:
mkm 2024-06-19 11:56:59 +08:00
commit efd48e0fa7
4 changed files with 22 additions and 14 deletions

View File

@ -57,7 +57,7 @@ class CapitalFlowLogic extends BaseLogic
* @param $mark * @param $mark
* @return mixed * @return mixed
*/ */
public function userExpense($category, $linkType, $linkId, $amount, $mark = '',$payType=0,$store_id=0,) public function userExpense($category, $linkType, $linkId, $amount, $mark = '',$payType=0,$store_id=0)
{ {
$model = new CapitalFlow(); $model = new CapitalFlow();
$model->uid = $this->user['id']; $model->uid = $this->user['id'];

View File

@ -309,19 +309,21 @@ class PayNotifyLogic extends BaseLogic
{ {
$financeLogic = new StoreFinanceFlowLogic(); $financeLogic = new StoreFinanceFlowLogic();
$user_sing = new UserSign(); $user_sing = new UserSign();
$vipFen = 0;
if ($order['uid'] > 0) { if ($order['uid'] > 0) {
// 结算金额 要支付的钱减去冻结得钱去走后面得逻辑 发得兑换券也要去减去 // 结算金额 要支付的钱减去冻结得钱去走后面得逻辑 发得兑换券也要去减去
//用户下单该用户等级为1得时候才处理冻结金额 //用户下单该用户等级为1得时候才处理冻结金额
$user = User::where('id', $order['uid'])->find(); $user = User::where('id', $order['uid'])->find();
//纯在分销关系的时候要去判断分销出来的用户的采购款的额度 (只有会员按照这个逻辑拆分,其余的还是按照正常的支付金额)
//纯在分销关系的时候要去判断分销出来的用户的采购款的额度 if ($order['spread_uid'] > 0) {
if ($order['spread_uid'] > 0 && $user['user_ship'] == 1) { $oldUser = User::where('id',$order['spread_uid'])->field('purchase_funds,user_ship')->find();
$oldUser = User::where('id',$order['spread_uid'])->value('purchase_funds'); if ($oldUser && $oldUser['user_ship'] == 1){
if ($oldUser < $order['pay_price']) { if ($oldUser['purchase_funds'] < $order['pay_price']) {
$order['pay_price'] = $oldUser; $vipFen = $oldUser['purchase_funds'];
}
} }
}elseif ($user['user_ship'] == 1){ }
elseif ($user['user_ship'] == 1){
$vipFrozenAmount = self::dealFrozenPrice($order['id']); $vipFrozenAmount = self::dealFrozenPrice($order['id']);
//为1的时候要去减活动价 //为1的时候要去减活动价
// $final_price = bcsub($order['pay_price'],$order['deduction_price'],2); // $final_price = bcsub($order['pay_price'],$order['deduction_price'],2);
@ -386,7 +388,11 @@ class PayNotifyLogic extends BaseLogic
// if ($order['is_vip'] >= 1) { // if ($order['is_vip'] >= 1) {
if ($order['spread_uid'] > 0) { if ($order['spread_uid'] > 0) {
$financeLogic->other_arr['vip_uid'] = $order['spread_uid']; $financeLogic->other_arr['vip_uid'] = $order['spread_uid'];
$fees = bcdiv(bcmul($order['pay_price'], '0.08', 2), 1, 2); if($vipFen){
$fees = bcdiv(bcmul($vipFen, '0.08', 2), 1, 2);
}else{
$fees = bcdiv(bcmul($order['pay_price'], '0.08', 2), 1, 2);
}
$count_frees = bcadd($count_frees, $fees, 2); $count_frees = bcadd($count_frees, $fees, 2);
if ($fees > 0) { if ($fees > 0) {
User::where('id', $order['spread_uid'])->inc('now_money', $fees)->update(); User::where('id', $order['spread_uid'])->inc('now_money', $fees)->update();

View File

@ -112,8 +112,10 @@ class StoreOrderLogic extends BaseLogic
} }
if ($user && $user['user_ship'] == 1) { if ($user && $user['user_ship'] == 1) {
$pay_price = self::$pay_price; $pay_price = self::$pay_price;
$activity_string = '';
}else{ }else{
$pay_price =bcsub(self::$pay_price, self::$activity_price, 2); //减去活动优惠金额 $pay_price =bcsub(self::$pay_price, self::$activity_price, 2); //减去活动优惠金额
$activity_string = '减免';
} }
$vipPrice = 0; $vipPrice = 0;
@ -132,7 +134,7 @@ class StoreOrderLogic extends BaseLogic
'cart_id' => implode(',', $cartId), 'cart_id' => implode(',', $cartId),
'store_id' => $params['store_id'] ?? 0, 'store_id' => $params['store_id'] ?? 0,
'shipping_type' =>3,//配送方式 1=快递 2=门店自提 'shipping_type' =>3,//配送方式 1=快递 2=门店自提
'activity' =>'减免', 'activity' =>$activity_string,
'activity_price' =>self::$activity_price,//活动优惠价 'activity_price' =>self::$activity_price,//活动优惠价
'activities' => self::$activity_price>0?1:0, 'activities' => self::$activity_price>0?1:0,
'default_delivery'=>1, 'default_delivery'=>1,

View File

@ -46,13 +46,13 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
*/ */
public function lists(): array public function lists(): array
{ {
$store_id = $this->adminInfo['store_id']; $store_id = $this->adminInfo['store_id']??5;
$this->searchWhere[] = ['store_id' ,'=',$store_id]; $this->searchWhere[] = ['store_id' ,'=',$store_id];
$is_sashier=$this->request->get('is_sashier'); $is_sashier=$this->request->get('is_sashier');
if($is_sashier==1){//收银台订单 if($is_sashier==1){//收银台订单
$this->searchWhere[] = ['pay_type','in',[17,9,13]]; $this->searchWhere[] = ['pay_type','in',[17,9,13,18]];
}elseif($is_sashier==2){//小程序订单 }elseif($is_sashier==2){//小程序订单
$this->searchWhere[] = ['pay_type','in',[7,3]]; $this->searchWhere[] = ['pay_type','in',[7,3,18]];
} }
return StoreOrder::where($this->searchWhere) return StoreOrder::where($this->searchWhere)
->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status','paid']) ->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status','paid'])