调试红包活动
This commit is contained in:
parent
afe7e89d02
commit
5aee04b943
@ -95,30 +95,30 @@ class StoreActivityUserDao extends BaseDao
|
||||
$activityUser = StoreActivityUser::where('user_id', $userId)
|
||||
->where('activity_id', $activityId)
|
||||
->where('status', 1)
|
||||
->find()->toArray();
|
||||
->find();
|
||||
if (empty($activityUser)) {
|
||||
return ['target' => $target, 'allow_receive' => false, 'user_info' => $userInfo];
|
||||
}
|
||||
$consumption = StoreConsumption::where('coupon_id', $activityUser['value'])
|
||||
->where('type', StoreConsumption::TYPE_PULL_CONSUMPTION)
|
||||
->find()->toArray();
|
||||
->find();
|
||||
$myOrder = StoreActivityOrder::where('user_id', $userId)
|
||||
->where('activity_id', $activityId)
|
||||
->where('status', StoreActivityOrder::STATUS_VALID)
|
||||
->find()->toArray();
|
||||
->find();
|
||||
if (empty($myOrder)) {
|
||||
return ['target' => $target, 'allow_receive' => false, 'user_info' => $userInfo];
|
||||
}
|
||||
$storeConsumptionUserDao = new StoreConsumptionUserDao();
|
||||
$scope = $storeConsumptionUserDao->getScope($consumption, $myOrder['total_amount']);
|
||||
$userInfo = User::where('spread_uid', $userId)->field('uid,nickname,avatar')->select()->toArray();
|
||||
$userInfo = User::where('spread_uid', $userId)->field('uid,nickname,avatar')->select();
|
||||
$orders = StoreActivityOrder::where('spread_id', $userId)
|
||||
->whereIn('user_id', array_column($userInfo, 'uid'))
|
||||
->where('activity_id', $activityId)
|
||||
->where('is_first_order', StoreActivityOrder::IS_FIRST_ORDER)
|
||||
->where('total_amount', '>=', $scope['start'])
|
||||
->where('status', StoreActivityOrder::STATUS_VALID)
|
||||
->select()->toArray();
|
||||
->select();
|
||||
$orders = reset_index($orders, 'user_id');
|
||||
foreach ($userInfo as &$user) {
|
||||
$user['target_amount'] = $scope['start'];
|
||||
@ -166,12 +166,12 @@ class StoreActivityUserDao extends BaseDao
|
||||
*/
|
||||
public function record(int $userId)
|
||||
{
|
||||
$consumption = StoreConsumption::select()->toArray();
|
||||
$consumption = StoreConsumption::whereIn('type', [StoreConsumption::TYPE_OWNER_CONSUMPTION, StoreConsumption::TYPE_PULL_CONSUMPTION])->select();
|
||||
$record = StoreConsumptionUser::where('uid', $userId)
|
||||
->whereIn('coupon_id', array_column($consumption, 'coupon_id'))
|
||||
->where('status', '>=', StoreConsumptionUser::STATUS_UNUSED)
|
||||
->field('coupon_price,order_amount,create_time')
|
||||
->select()->toArray();
|
||||
->select();
|
||||
$totalAmount = 0;
|
||||
foreach ($record as $item) {
|
||||
$totalAmount = bcadd($totalAmount, $item['coupon_price'], 2);
|
||||
|
@ -25,7 +25,7 @@ class StoreConsumptionDao extends BaseDao
|
||||
*/
|
||||
public function getValidList()
|
||||
{
|
||||
return StoreConsumption::whereIn('type', [StoreConsumption::TYPE_OWNER_CONSUMPTION, StoreConsumption::TYPE_PULL_CONSUMPTION])->where('status', StoreConsumption::STATUS_ENABLE)->field('coupon_id,start_time,end_time,title')->select()->toArray();
|
||||
return StoreConsumption::whereIn('type', [StoreConsumption::TYPE_OWNER_CONSUMPTION, StoreConsumption::TYPE_PULL_CONSUMPTION])->where('status', StoreConsumption::STATUS_ENABLE)->field('coupon_id,start_time,end_time,title')->select();
|
||||
}
|
||||
|
||||
public function getOne($id)
|
||||
|
@ -32,7 +32,7 @@ class StoreConsumptionUserDao extends BaseDao
|
||||
public function check(int $userId, int $groupOrderId)
|
||||
{
|
||||
$spreadUserId = User::where('uid', $userId)->value('spread_uid');
|
||||
$groupOrder = StoreGroupOrder::where('group_order_id', $groupOrderId)->find()->toArray();
|
||||
$groupOrder = StoreGroupOrder::where('group_order_id', $groupOrderId)->find();
|
||||
if (empty($spreadUserId)) {
|
||||
$this->promoter($userId, $groupOrder, $spreadUserId);
|
||||
} else {
|
||||
@ -53,7 +53,7 @@ class StoreConsumptionUserDao extends BaseDao
|
||||
public function promoter(int $userId, array $groupOrder, int $spreadUserId)
|
||||
{
|
||||
$consumptionId = (new StoreActivityUserDao())->getValue($userId);
|
||||
$consumption = StoreConsumption::where('coupon_id', $consumptionId)->where('status', 1)->find()->toArray();
|
||||
$consumption = StoreConsumption::where('coupon_id', $consumptionId)->where('status', 1)->find();
|
||||
//用户没有参加 消费金活动
|
||||
if (!empty($consumption['config'])) {
|
||||
return false;
|
||||
@ -93,10 +93,10 @@ class StoreConsumptionUserDao extends BaseDao
|
||||
{
|
||||
// 查询推荐人的消费金类型
|
||||
$spreadConsumptionId = (new StoreActivityUserDao())->getValue($spreadUserId);
|
||||
$spreadConsumption = StoreConsumption::where('coupon_id', $spreadConsumptionId)->where('status', 1)->find()->toArray();
|
||||
$spreadConsumption = StoreConsumption::where('coupon_id', $spreadConsumptionId)->where('status', 1)->find();
|
||||
// 查询推荐人满足条件的有效订单
|
||||
$spreadGroupOrderId = StoreActivityOrder::where('user_id', $spreadUserId)->where('status', StoreActivityOrder::STATUS_VALID)->value('group_order_id');
|
||||
$spreadGroupOrder = StoreGroupOrder::where('group_order_id', $spreadGroupOrderId)->where('paid', 1)->find()->toArray();
|
||||
$spreadGroupOrder = StoreGroupOrder::where('group_order_id', $spreadGroupOrderId)->where('paid', 1)->find();
|
||||
if (empty($spreadGroupOrder) || empty($spreadConsumption['config'])) {
|
||||
// 推荐人消费金数据或推荐人的有效订单为空,作为发起人参加活动
|
||||
return $this->promoter($userId, $groupOrder, 0);
|
||||
@ -128,11 +128,11 @@ class StoreConsumptionUserDao extends BaseDao
|
||||
|
||||
/**
|
||||
* 获取消费档位区间
|
||||
* @param array $consumption
|
||||
* @param $consumption
|
||||
* @param float $amount
|
||||
* @return array|mixed
|
||||
*/
|
||||
public function getScope(array $consumption, float $amount)
|
||||
public function getScope($consumption, float $amount)
|
||||
{
|
||||
$scope = [];
|
||||
foreach ($consumption['config'] as $k => $item) {
|
||||
@ -163,7 +163,7 @@ class StoreConsumptionUserDao extends BaseDao
|
||||
->where('is_first_order', StoreActivityOrder::IS_FIRST_ORDER)
|
||||
->where('total_amount', '>=', $scope['start'])
|
||||
->where('status', StoreActivityOrder::STATUS_VALID)
|
||||
->field('group_order_id,user_id,total_amount')->select()->toArray();
|
||||
->field('group_order_id,user_id,total_amount')->select();
|
||||
$userOrders = [];
|
||||
foreach ($groupOrders as $groupOrder) {
|
||||
if (!isset($userOrders[$groupOrder['user_id']])) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user