调整拉新活动报名

This commit is contained in:
luofei 2024-01-18 18:01:30 +08:00
parent aa56785edf
commit 870cfd4a8e

View File

@ -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('保存出错');
}
}
}