修改积分问题和支付等级问题

This commit is contained in:
liqianjin 2024-10-22 10:53:48 +08:00
parent 3b6804a4e9
commit cffa2badfe
2 changed files with 9 additions and 3 deletions

View File

@ -185,7 +185,6 @@ class Ordercreate extends BaseApi
if (empty($data[ 'cart_ids' ]) && empty($data[ 'sku_id' ])) return $this->response($this->error('', '缺少必填参数商品数据'));
if ($data[ 'buyer_ask_delivery_time' ]) $data[ 'buyer_ask_delivery_time' ] = strtotime($data[ "buyer_ask_delivery_time" ]);
$res = $order_create->calculate($data);
return $this->response($this->success($res));
}

View File

@ -505,7 +505,7 @@ class OrderCreate extends BaseModel
$join = [
['fenxiao_level l', 'f.level_id = l.level_id', 'right']
];
$fenxiao_info = model('fenxiao')->getInfo([['f.member_id','=',68]],'f.fenxiao_id,f.level_id,l.level_num','f',$join);
$fenxiao_info = model('fenxiao')->getInfo([['f.member_id','=',$data['member_id']]],'f.fenxiao_id,f.level_id,l.level_num','f',$join);
if((!$fenxiao_info || $fenxiao_info['level_num'] === 0) && $search !== false){
return $this->error(1, "请升级为会员再进货");
@ -1113,10 +1113,12 @@ class OrderCreate extends BaseModel
}
}
}
//满额包邮插件
$shop_goods = $this->freeShippingCalculate($shop_goods, $data);
//会员等级包邮权益
$shop_goods = $this->memberLevelCalculate($shop_goods, $data);
//是否符合免邮
$is_free_delivery = $shop_goods['is_free_delivery'] ?? false;
if ($is_free_delivery) {
@ -1128,14 +1130,18 @@ class OrderCreate extends BaseModel
$shop_goods['order_money'] = $order_money; //订单总金额
//优惠券活动(采用站点id:coupon_id)
$shop_goods = $this->couponPromotion($shop_goods, $data);
$coupon_money = $shop_goods['coupon_money'] ?? 0;
$order_money = $shop_goods['order_money'];
// 积分抵现
$shop_goods['max_usable_point'] = 0;
$point_money = 0;
if ($data['member_account']['point'] > 0 && addon_is_exit('pointcash', $site_id)) {
$shop_goods = $this->getMaxUsablePoint($shop_goods, $data);
$point_money = $shop_goods['point_money'] ?? 0;
$order_money = $shop_goods['order_money'];
}
@ -1843,7 +1849,8 @@ class OrderCreate extends BaseModel
$max_point = round($deduction_money * $config['cash_rate']);
$point = $max_point > $data['member_account']['point'] ? $data['member_account']['point'] : $max_point;
}
if ($data['is_point'] && $point > 0) {
if ($point > 0) {
$point_money = round(($point * (1 / $config['cash_rate'])), 2);
if ($point_money > $order_money) {
$point_money = $order_money;