初始化代码
This commit is contained in:
356
app/massage/model/CouponAtv.php
Normal file
356
app/massage/model/CouponAtv.php
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user