代码示例

会员折扣价格
use app\common\service\MemberService; // 根据会员等级折扣计算价格 $memberPrice = MemberService::getProMemberPrice(100.00); // 普通会员: 原价100 // VIP1: 可能95折 = 95 // VIP2: 可能9折 = 90 // 返回格式化后的价格字符串
积分增加
// 积分增加(事务处理) $result = MemberService::addPoints( $memberId, // 会员ID 10, // 积分数量 'login', // 类型: login/article/order/exchange '每日登录', // 来源描述 '每日登录奖励' // 备注 ); // 返回: bool 是否成功
积分扣减
// 积分扣减(事务+行锁防超扣) $result = MemberService::deductPoints( $memberId, // 会员ID 50, // 积分数量 'exchange', // 类型 '兑换商品', // 来源 '兑换商品ID:5' // 备注 ); // 返回: ['success' => bool, 'message' => string] // 余额不足时: success=false, message='积分不足'

MemberService 说明

会员价格

getProMemberPrice($price) 根据会员等级自动计算折扣价

• 未登录用户返回原价

• 不同等级享有不同折扣比例

积分系统

addPoints() 积分增加,使用事务确保一致性

deductPoints() 积分扣减,使用事务+行锁防止超扣

• 积分类型: login(登录) / article(文章) / order(订单) / exchange(兑换)

• 扣减时余额不足返回失败信息