初始化代码

This commit is contained in:
2025-12-22 14:32:54 +08:00
parent e27ab90d9f
commit d02b31a8b9
1459 changed files with 240973 additions and 0 deletions

View File

@@ -0,0 +1,356 @@
<?php
namespace app\massage\model;
use app\BaseModel;
use think\facade\Db;
class CouponAtv extends BaseModel
{
//定义表名
protected $name = 'massage_service_coupon_atv';
protected $append = [
'coupon'
];
/**
* @author chenniang
* @DataTime: 2021-03-23 13:46
* @功能说明:分类下面端商品数量
*/
public function getCouponAttr($value,$data){
if(!empty($data['id'])){
$coupom_model = new Coupon();
$dis = [
'a.status' => 1,
'b.atv_id' => $data['id']
];
$list = $coupom_model->alias('a')
->join('massage_service_coupon_atv_coupon b','b.coupon_id = a.id')
->where($dis)
->field('a.*,b.num,b.coupon_id')
->group('b.coupon_id')
->order('a.top desc,id desc')
->select()
->toArray();
return $list;
}
}
/**
* @author chenniang
* @DataTime: 2020-09-29 11:04
* @功能说明:添加
*/
public function dataAdd($data){
$service = $data['coupon'];
unset($data['coupon']);
$res = $this->insert($data);
$id = $this->getLastInsID();
$this->updateSome($id,$data['uniacid'],$service);
return $id;
}
/**
* @author chenniang
* @DataTime: 2020-09-29 11:05
* @功能说明:编辑
*/
public function dataUpdate($dis,$data){
// $data['update_time'] = time();
if(isset($data['coupon'])){
$service = $data['coupon'];
unset($data['coupon']);
}
$res = $this->where($dis)->update($data);
if(!empty($service)){
$id = $this->where($dis)->value('id');
$this->updateSome($id,$data['uniacid'],$service);
}
return $res;
}
/**
* @param $id
* @param $uniacid
* @param $spe
* @功能说明:
* @author chenniang
* @DataTime: 2021-03-23 13:35
*/
public function updateSome($id,$uniacid,$coupon){
$s_model = new CouponAtvCoupon();
$s_model->where(['atv_id'=>$id])->delete();
if(!empty($coupon)){
foreach ($coupon as $value){
$insert['uniacid'] = $uniacid;
$insert['atv_id'] = $id;
$insert['coupon_id'] = $value['id'];
$insert['num'] = $value['num'];
$s_model->dataAdd($insert);
}
}
return true;
}
/**
* @author chenniang
* @DataTime: 2020-09-29 11:06
* @功能说明:列表
*/
public function dataList($dis,$page){
$data = $this->where($dis)->order('top desc,id desc')->paginate($page)->toArray();
return $data;
}
/**
* @author chenniang
* @DataTime: 2020-09-29 11:43
* @功能说明:
*/
public function dataInfo($dis){
$data = $this->where($dis)->find();
if(empty($data)){
$this->insert($dis);
$data = $this->where($dis)->find();
}
return !empty($data)?$data->toArray():[];
}
/**
* @author chenniang
* @DataTime: 2021-07-12 17:52
* @功能说明:优惠券活动邀请新用户
*/
public function invUser($user_id,$record_id){
$atv_record_model = new CouponAtvRecord();
$atv_record_list_model = new CouponAtvRecordList();
$record = $atv_record_model->dataInfo(['id'=>$record_id]);
Db::startTrans();
if(!empty($record)&&$record['end_time']>time()&&$record['status']==1){
$insert = [
'uniacid' => $record['uniacid'],
'user_id' => $record['user_id'],
'to_inv_id'=> $user_id,
'record_id'=> $record_id
];
//添加邀请者记录
$res = $atv_record_list_model->dataAdd($insert);
if(!empty($res['code'])){
Db::rollback();
return ['code'=>500,'msg'=>'登陆失败,请刷新重试'];
}
//新用户获得卡券
if($record['to_inv_user']==1&&!empty($record['coupon'])){
$res = $this->giveAtvCoupon($record_id,$user_id);
if(!empty($res['code'])){
Db::rollback();
return $res;
}
}
//检查任务是否完成
$res = $this->recordSuccess($record_id);
if(!empty($res['code'])){
Db::rollback();
return $res;
}
}
Db::commit();
return true;
}
/**
* @author chenniang
* @DataTime: 2021-07-13 00:07
* @功能说明:给用户获得卡券
*/
public function giveAtvCoupon($record_id,$user_id){
$atv_record_model = new CouponAtvRecord();
$record_model = new CouponRecord();
$atv_record_coupon_model = new CouponAtvRecordCoupon();
$record = $atv_record_model->dataInfo(['id'=>$record_id]);
foreach ($record['coupon'] as $value){
//派发卡券
// $num = $value['stock']>=$value['num']?$value['num']:$value['stock'];
$num = $value['num'];
if($num>0){
$res = $record_model->recordAdd($value['coupon_id'],$user_id,$num);
if($res==0){
return ['code'=>500,'msg'=>'登陆失败,请刷新重试'];
}
//添加派发记录
$insert = [
'uniacid' => $record['uniacid'],
'user_id' => $user_id,
'atv_id' => $record['atv_id'],
'coupon_id' => $value['coupon_id'],
'num' => $value['num'],
'status' => 2,
'success_num' => $num
];
$res = $atv_record_coupon_model->dataAdd($insert);
if($res==0){
return ['code'=>500,'msg'=>'登陆失败,请刷新重试'];
}
}
}
return true;
}
/**
* @author chenniang
* @DataTime: 2021-07-12 23:46
* @功能说明:获得成功
*/
public function recordSuccess($record_id){
$atv_record_list_model = new CouponAtvRecordList();
$atv_record_model = new CouponAtvRecord();
//已经邀请多少人了
$have_num = $atv_record_list_model->where(['record_id'=>$record_id])->count();
$record = $atv_record_model->dataInfo(['id'=>$record_id]);
//如果成功
if($have_num>=$record['inv_user_num']){
//修改获得状态
$res = $atv_record_model->dataUpdate(['id'=>$record['id'],'status'=>1],['status'=>2]);
if($res==0){
return ['code'=>500,'msg'=>'登陆失败,请刷新重试'];
}
if($record['inv_user']==1){
//给发起者派送卡券
$res = $this->giveAtvCoupon($record_id,$record['user_id']);
if(!empty($res['code'])){
return $res;
}
}
}
return true;
}
}