zhaojs
2023-07-12 f2255b1dacd4df89eb7565fcfb3c093a23bcfb32
no message
已添加1个文件
已修改3个文件
216 ■■■■■ 文件已修改
application/api/controller/Activity.php 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/ActivityInfo.php 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/taoke/Parser.php 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/common/model/UserExtend.php 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/controller/Activity.php
@@ -175,6 +175,22 @@
        $this->success('获取成功',$list);
    }
    /**
     * èŽ·å–æ´»åŠ¨ä¿¡æ¯
     *
     */
    public function getActInfo()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getActInfo($actid,$user->id);
        $this->success('获取成功',$res);
    }
    /**
     * å‚加活动
     */
@@ -189,4 +205,34 @@
        $res?$this->success('成功',$res):  $this->error('活动异常');;
    }
    /**
     * èŽ·å–æ´»åŠ¨å·²é‚€è¯·äººæ•°
     *
     */
    public function getActRecruitCount()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getActRecruitCount($actid,$user->id);
        $data = [
            'hascount' => $res
        ];
        $this->success('获取成功',$data);
    }
    /**
     * èŽ·å–æŽ’å
     */
    public function getRankingList()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getRankingList($actid,$user->id);
        $this->success('获取成功',$res);
    }
}
application/api/logic/ActivityInfo.php
@@ -2,9 +2,54 @@
namespace app\api\logic;
use app\common\logic\Basic as BasicLogic;
use think\console\output\descriptor\Console;
use think\Db;
class ActivityInfo extends BasicLogic
{
    /**
     * èŽ·å–æ´»åŠ¨ä¿¡æ¯
     */
    public function getActInfo($actid,$userid)
    {
        $res=Db::query('SELECT * FROM t_activity_manage WHERE id=?',[$actid]);
        $response=[
                'actstatus'=>1,
                'joinstatus'=>0
            ];
        if(empty($res)){
            $response['actstatus']=0;//不存在
            return $response;
        }
        if($res[0]['act_status']==0)
        {
            $response['actstatus']=-1;//已结束
            return $response;
        }
        if(time()<strtotime($res[0]['start_time']))
        {
            $response['actstatus']= -2;//未开始
            return $response;
        }
        if(time()>strtotime($res[0]['end_time']))
        {
            $response['actstatus']= -3;//已结束
            return $response;
        }
        //是否已参加活动
        $recruitid=$actid.'u'.$userid;
        $canjia=Db::query('select id from t_recruit_act where id=?',[$recruitid]);
        if(empty($canjia))
        {
            $response['joinstatus']=0;//未参加
        }
        else{
            $response['joinstatus']=1;//已参加
        }
        return $response;
    }
    /**
     * å‚加活动
     * 
@@ -56,4 +101,102 @@
        }
       
    }
    /**
     * èŽ·å–å·²é‚€è¯·äººæ•°
     */
    public function getActRecruitCount($actid,$userid)
    {
        $recruitid=$actid.'u'.$userid;
        $count=Db::query('select recruit_count from t_recruit_act where id=?',[$recruitid]);
        if(empty($count))
        {
            return 0;
        }
        return $count[0]['recruit_count'];
    }
    /**
     * èŽ·å–æŽ’å
     */
    public function getRankingList($actid,$userid)
    {
        $rList=Db::query('    SELECT a.id,a.nickname,a.avatar,b.recruit_count from t_recruit_act b left join t_user a on a.id =b.user_id where b.act_id=? and b.recruit_count>0 order by b.recruit_count desc limit 7',[$actid]);
        if(empty($rList))
        {
            return [];
        }
        return $rList;
    }
    /**
     * è®¡ç®—招募活动金额
     *
     */
    public function run_countRecruitAct()
    {
        //先查询招募活动
        $actList=Db::query('select * from t_activity_manage where count_status=0 and act_type=0 and act_status=1');
        if(empty($actList))
        {
            return '没有符合的活动';
        }
        foreach($actList as $act)
        {//循环活动,计算金额
            //修改活动计算状态
           $this->run_UpdateActCount($act['id'],1);
            $actEndTime=strtotime($act['end_time']);//活动结束时间
            //查询所有参与活动的会员
            $cusList=Db::query('select * from t_recruit_act where act_id=? and settlement_status=0 and user_t=0',[$act['id']]);
            if(empty($cusList))
            {
                $this->run_UpdateActCount($act['id'],2);
                continue;
            }
            foreach($cusList as $cus)
            {//循环参与活动的会员
                $yqCount=Db::query('select count(1) as count from t_user where invitation_id=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],$cus['create_time'],$actEndTime]);
                if(empty($yqCount))
                {
                    continue;
                }
                //计算应得金额
                $price=0;
                //
                //
                //
                $tradeId=$act['id'].$cus['user_id'];
                //插入聚推客的订单
                $tradeHas=Db::query('select id from t_jtk_union_order_commission where trade_parent_id=?',[$tradeId]);
                if(!empty($tradeHas))
                {//已经有订单
                    continue;
                }
                $tradeRes=Db::execute('insert into t_jtk_union_order_commission (trade_parent_id,trade_id,member_id,buy_member_id,is_own,alipay_total_price,pub_share_pre_fee,item_title,item_id,is_settle,tb_paid_time,create_time,update_time)values(?,?,?,?,1,?,?,?,?,?,?,?,?)',[$tradeId,$tradeId,$cus['user_id'],$cus['user_id'],$price,$price,$act['act_name'],$act['id'],0,time(),time(),time()]);
                if($tradeRes==1)
                {//修改计算状态
                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=? where id=?',[1,time(),$tradeId]);
                }
            }
            $this->run_UpdateActCount($act['id'],2);
        }
        return '执行-success';
    }
    public function run_UpdateActCount($actid,$countStatus)
    {
        if($countStatus==1)
        {
            Db::execute('update t_activity_manage set count_status=? where id=?',[$countStatus,$actid]);
        }
        else{
            Db::execute('update t_activity_manage set count_status=?,count_time=? where id=?',[$countStatus,time(),$actid]);
        }
    }
}
application/api/logic/taoke/Parser.php
@@ -7,7 +7,7 @@
use app\api\logic\UserCollect;
use app\api\logic\User as LogicUser;
use app\common\model\UserLevel as ModelUserLevel;
use \app\common\model\UserExtend as ModelUserExtend;
class Parser extends BasicLogic
{
    //TODO æ£€æŸ¥æ‰€æœ‰æŽ¥å£æ˜¯ä¸æ˜¯æœ‰è°ƒæ•´çš„,需要传代理的相应字段
@@ -28,7 +28,7 @@
    protected static $buyCount=-1;//购买次数
    protected static $returnLimit=-2;//佣金全返的购买次数限制
    protected static $returnLimit=1;//佣金全返的购买次数限制
    public function __construct(){
@@ -47,8 +47,13 @@
        $topLevelInfo = $ModelUserLevel->where(['level'=>3])->find();
        if(empty($topLevelInfo)) fault('代理配置失败');
        //获取购买次数
        //self::$buyCount=0;
        if(self::$buyCount>0&&self::$buyCount<=self::$returnLimit)
        $ModelUserExtend=new ModelUserExtend();
        $userBuy= $ModelUserExtend->where(['id'=>USERID])->find();
        if(!empty($userBuy))
        {
            self::$buyCount=$userBuy['tradecount'];
        }
        if(self::$buyCount>=0&&self::$buyCount<self::$returnLimit)
        {//符合全返规则
            self::$userRate =1;
        }
application/common/model/UserExtend.php
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
<?php
namespace app\common\model;
use think\Model;
class UserExtend extends Model
{
    // è¡¨å
    protected $name = 'user_extend';
}