调整拉新活动报名
This commit is contained in:
parent
aa56785edf
commit
870cfd4a8e
@ -3,6 +3,8 @@
|
||||
namespace app\common\dao\store;
|
||||
|
||||
use app\common\dao\BaseDao;
|
||||
use app\common\model\store\consumption\StoreConsumption;
|
||||
use app\common\model\store\StoreActivityOrder;
|
||||
use app\common\model\store\StoreActivityUser;
|
||||
|
||||
class StoreActivityUserDao extends BaseDao
|
||||
@ -23,17 +25,42 @@ class StoreActivityUserDao extends BaseDao
|
||||
*/
|
||||
public function choose(int $userId, int $couponId, int $activityId)
|
||||
{
|
||||
$exist = StoreActivityUser::where('user_id', $userId)->where('activity_id', $activityId)->find();
|
||||
if (!empty($exist)) {
|
||||
throw new \Exception('请勿重复提交');
|
||||
$model = StoreActivityUser::where('user_id', $userId)->where('value', $couponId)->where('activity_id', $activityId)->find();
|
||||
if (empty($model)) {
|
||||
$model = new StoreActivityUser();
|
||||
$model->user_id = $userId;
|
||||
$model->value = $couponId;
|
||||
$model->activity_id = $activityId;
|
||||
$model->create_time = time();
|
||||
$model->status = 1;
|
||||
if (!$model->save()) {
|
||||
throw new \Exception('保存出错');
|
||||
}
|
||||
}
|
||||
$model = new StoreActivityUser();
|
||||
$model->user_id = $userId;
|
||||
$model->value = $couponId;
|
||||
$model->activity_id = $activityId;
|
||||
$model->create_time = time();
|
||||
if (!$model->save()) {
|
||||
throw new \Exception('请勿重复提交');
|
||||
$validModel = StoreActivityUser::where('user_id', $userId)->where('activity_id', $activityId)->where('status', 1)->find();
|
||||
if ($validModel['value'] != $couponId) {
|
||||
$consumption = StoreConsumption::where('coupon_id', $validModel['value'])->find();
|
||||
if ($consumption['type'] == StoreConsumption::TYPE_PULL_CONSUMPTION) {
|
||||
$groupOrders = StoreActivityOrder::whereRaw('user_id=:user_id or spread_id=:spread_id', ['user_id' => $userId, 'spread_id' => $userId])
|
||||
->where('activity_id', $activityId)
|
||||
->where('status', StoreActivityOrder::STATUS_VALID)
|
||||
->count();
|
||||
if ($groupOrders > 0) {
|
||||
$model->status = 0;
|
||||
if (!$model->save()) {
|
||||
throw new \Exception('保存出错');
|
||||
}
|
||||
throw new \Exception('您正在参与活动,暂时不支持切换');
|
||||
}
|
||||
}
|
||||
$validModel->status = 0;
|
||||
if (!$validModel->save()) {
|
||||
throw new \Exception('保存出错');
|
||||
}
|
||||
$model->status = 1;
|
||||
if (!$model->save()) {
|
||||
throw new \Exception('保存出错');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user