当前位置: 首页 > news >正文

献县网站建设价格小程序制作教程零基础入门

献县网站建设价格,小程序制作教程零基础入门,我先做个网站怎么做,潍坊制作网站keys * 获取所有键lRange hongbao:44 0 -1获取该键的所有值del hongbao:44 删除该键的所有值 hgetAll user:44 获取该键的所有队列hget hongbao:44 8 获取该队列用户为8的值hset hongbao:44 7 asdf设置该队列用户为7的值hdel user:44 8 删除该队列用户为8的值 flushall 清空red…keys * 获取所有键lRange hongbao:44 0 -1获取该键的所有值del hongbao:44 删除该键的所有值 hgetAll user:44 获取该键的所有队列hget hongbao:44 8 获取该队列用户为8的值hset hongbao:44 7 asdf设置该队列用户为7的值hdel user:44 8 删除该队列用户为8的值 flushall 清空redis所有缓存数据     ?php /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ namespace Home\Controller;use Think\Controller;use Home\Util\ApiResponse; /** * Description of RedisController * * author Administrator */class SweepController extends BaseController{ /** * 检测redis是否正常运行 */ public function __construct(){ parent::__construct(); if (!extension_loaded(redis)) { E(L(_NOT_SUPPORT_) . :redis); } if (empty($options)) { $options array( host C(REDIS_HOST) ? C(REDIS_HOST) : 127.0.0.1, port C(REDIS_PORT) ? C(REDIS_PORT) : 6379, timeout C(DATA_CACHE_TIMEOUT) ? C(DATA_CACHE_TIMEOUT) : false, persistent false, ); } $this-options $options; $this-options[expire] isset($options[expire]) ? $options[expire] : C(DATA_CACHE_TIME); $this-options[prefix] isset($options[prefix]) ? $options[prefix] : C(DATA_CACHE_PREFIX); $this-options[length] isset($options[length]) ? $options[length] : 0; $this-options[dbindex] isset($options[dbindex]) ? $options[dbindex] : 0; $func $options[persistent] ? pconnect : connect; $this-handler new \Redis; $options[timeout] false ? $this-handler-$func($options[host], $options[port]) : $this-handler-$func($options[host], $options[port], $options[timeout]); $this-handler-select($this-options[dbindex]); } /** * redis连接 * access private * return resource * author bieanju */ public function connectRedis() { header(Content-Type:application/json; charsetutf-8); $config [ host 127.0.0.1, port 6379, ]; $redis new \Redis(); $redis-connect($config[host], $config[port]); $redis-select(0); return $redis; } /** * 红包列表 */ public function mine_sweeps(){ $p I(get.p,1); $user_id $_SESSION[user][uid]; $count M(hongbao)-alias(H) -join(join hb_user as U on H.uidU.id) -order(H.addtime desc) -field(H.*, U.headimg) -count(); $Page new \Think\HPage($count,4);// 实例化分页类 传入总记录数和每页显示的记录数 $show $Page-show();// 分页显示输出 $list[hongbao] M(hongbao)-alias(H) -join(join hb_user as U on H.uidU.id) -order(H.addtime desc) -field(H.*, U.headimg, U.name) -limit($Page-firstRow.,.$Page-listRows) -select(); foreach($list[hongbao] as $v){ $is_grab M(record)-where([uid [eq, $user_id], h_id [eq, $v[id]]])-getField(id); $v[headimg] $v[headimg]?$v[headimg]:C(HEAD_IMG); $v[sy_num] $v[num]-$v[lq_num]; $v[is_red] !empty($is_grab)?2:1; $v[is_user] $v[uid]$user_id?1:2; } $list[user] M(user)-where([id [eq, $user_id], status [eq, 1]])-field(headimg, name, total_money)-find(); $list[user][headimg] $list[user][headimg]?$list[user][headimg]:C(HEAD_IMG); $this-assign(list, $list); $this-assign(page, $show); $this-assign(p, $p); $this-display(); } /** * 红包列表页显示 */ public function mine_sweep(){ $p I(get.p,1); $this-assign(p, $p); $this-display(); } /** * 红包列表api */ public function mine_sweep_api(){ try{ $p I(get.p,1); $user_id $_SESSION[user][uid]; $sign_time M(user)-where([id $user_id, status 1])-getField(sign_time); $count M(hongbao)-alias(H) -join(join hb_user as U on H.uidU.id) -order(H.addtime desc) -where([H.addtime [between ,array($sign_time,time())]]) -field(H.*, U.headimg) -count(); $Page new \Think\HPage($count,4);// 实例化分页类 传入总记录数和每页显示的记录数 $show $Page-show();// 分页显示输出 $list[hongbao] M(hongbao)-alias(H) -join(join hb_user as U on H.uidU.id) -order(H.addtime desc) -field(H.*, U.headimg, U.name) -where([H.addtime [between ,array($sign_time,time())]]) -limit($Page-firstRow.,.$Page-listRows) -select(); foreach($list[hongbao] as $v){ $is_grab M(record)-where([uid [eq, $user_id], h_id [eq, $v[id]]])-getField(id); $v[headimg] $v[headimg]?$v[headimg]:C(HEAD_IMG); $v[sy_num] $v[num]-$v[lq_num]; $v[is_red] !empty($is_grab)?2:1; $v[is_user] $v[uid]$user_id?1:2; } $list[user] M(user)-where([id [eq, $user_id], status [eq, 1]])-field(id,headimg, name, total_money)-find(); $list[user][headimg] $list[user][headimg]?$list[user][headimg]:C(HEAD_IMG); $showstr_replace(mine_sweep_api,mine_sweep,$show); $list[page] $show; $list[p] $p; $this-doResponse(ApiResponse::SUCCESS, SUCCESS, $list); } catch (Exception $e) { $this-doResponse($e-getCode() ?: ApiResponse::SERVICE_ERROR, $e-getMessage()); } } /** * 抢包详情列表 */ public function detail(){ header(Content-Type:application/json; charsetutf-8); $hongbao_id I(id); $user_id $_SESSION[user][uid]; $list[info] M(record)-alias(R) -join(join hb_user as U on U.idR.uid) -where([R.h_id [eq, $hongbao_id]]) -field(U.headimg ,U.name ,U.id as user_id,R.*) -select(); $list[user] M(hongbao)-alias(H) -join(join hb_user as U on H.uidU.id) -where([H.id [eq, $hongbao_id]]) -field(U.name, U.headimg, H.money,H.num) -find(); $list[user] M(user)-where([id [eq, $user_id], status [eq, 1]])-field(name,headimg)-find(); $hongbao M(hongbao)-where([id [eq, $hongbao_id]])-field(money,num)-find(); $list[user][headimg] $list[user][headimg]?$list[user][headimg]:C(HEAD_IMG); $list[user][total_moneys] $hongbao[money]; $list[user][num] $hongbao[num]; foreach($list[info] as $vo){ $vo[headimg] $vo[headimg]?$vo[headimg]:C(HEAD_IMG); $vo[name] $vo[name]?$vo[name]:无; if($vo[user_id] $user_id){ $list[user][money] $vo[money]; } } // print_r($list);exit; $this-assign(list, $list); $this-display(); } /** * 发包显示 */ public function send(){ $user_id $_SESSION[user][uid]; $pack M(pack)-order(num asc)-select(); $choice_money M(choice_money)-where([type [eq, 3]])-order(money asc)-select(); $user M(user)-where([id [eq, $user_id], status [eq, 1]])-field(name,total_money,headimg)-find(); $user[headimg] $user[headimg]?$user[headimg]:C(HEAD_IMG); $this-assign(pack, $pack); $this-assign(user, $user); $this-assign(choice_money, $choice_money); $this-display(); } /* * 用户发红包 */ public function before_detail(){ // $_SESSION[user][id] 1;//发包人id $min 0.01; $pack_id I(post.bao_id); $zid I(post.zid);//自定义金额 $money I(post.money);//选择金额 $lucky I(post.lucky);//雷号 10-0 $pack M(pack)-where([id $pack_id])-find(); $num $pack[num];//包数 $multiple $pack[multiple];//倍数 $money !empty($zid)?$zid:$money; if (empty($pack_id)) { $return[status] 0; $return[msg] 请选择包数; $this-ajaxReturn($return); } if (empty($lucky)) { $return[status] 0; $return[msg] 请选择雷号; $this-ajaxReturn($return); } if(!preg_match(/^[0-9]\.{0,1}[0-9]{0,2}$/,$money) || empty($money)){ $return[status] 0; $return[msg] 请输入正确的充值金额; $this-ajaxReturn($return); } if (!preg_match(/^[0-9]{1,}$/, $num)) { $return[status] 0; $return[msg] 红包数量请输入整数!; $this-ajaxReturn($return); } if ($num * $min $money) { $return[status] 0; $return[msg] 真抠; $this-ajaxReturn($return); } $user_money M(user)-where([id [eq, $_SESSION[user][uid]], status [eq, 1]])-getField(total_money); if ($user_money $money) { $return[status] 0; $return[msg] 您的余额不足请充值; $this-ajaxReturn($return); } $lucky $lucky10?0:$lucky; /*添加发包记录*/ $data [ uid $_SESSION[user][uid], money $money, num $num, lucky $lucky,//雷号 multiple $multiple,//倍数 addtime time(), over_time time()180, ]; $hongbao_redpacket M(hongbao); M(hongbao)-startTrans(); $hongbao_id $hongbao_redpacket-add($data); /*添加发包余额变动记录*/ $data_profit [ uid $_SESSION[user][uid], money $user_money-$money, change $money, type 4, addtime time(), ]; $add_profit M(profit)-add($data_profit); $save_money M(user)-where([id [eq, $_SESSION[user][uid]], status [eq, 1]])-setDec(total_money, $money); if (empty($hongbao_id) || !$save_money || empty($add_profit)) { $hongbao_redpacket-roolback(); $return[status]0; $return[msg]发包失败; $this-ajaxReturn($return); } $this-hongbao_key hongbao: . $hongbao_id; $redis $this-connectRedis(); $gnRedis $redis-llen({$this-hongbao_key}); /* 判断第一个红包不为雷 */ for ($x 0; $x 100; $x) { $redpacket_money $this-rand_section($min, $money, $num, $money); if (mb_substr($redpacket_money[0], -1, 1) ! $lucky) { break; } } /*redis添加红包金额*/ if (!$gnRedis) { for ($i 0; $i $num; $i ) { $redis-lpush({$this-hongbao_key}, $redpacket_money[$i]); } } $resetRedis $redis-llen({$this-hongbao_key}); if (!$resetRedis) { $hongbao_redpacket-roolback(); $return[status] 0; $return[msg] 发包失败; $this-ajaxReturn($return); } $hongbao_redpacket-commit(); $return[status]200; $return[msg]发包成功; $this-ajaxReturn($return); } /* * 红包id、用户id */ public function grab_number_queue(){ $hongbao_id I(id);//红包id $user_id $_SESSION[user][uid]; $this-user_key user:.$hongbao_id; $this-hongbao_key hongbao:.$hongbao_id; /* redis 队列 */ $redis $this-connectRedis(); /* 进入队列 */ $hongbao_num $redis-llen({$this-hongbao_key}); $user_num $redis-hGet({$this-user_key},$user_id); // 判断用户是否已在队列 if ($user_num) { $return[status] 200; $return[msg] 您已抢过红包; $this-ajaxReturn($return); } $find_redpacket M(hongbao)-where([id $hongbao_id])-field(uid, money, status, lucky, multiple,over_time,lq_money,lq_num)-find(); $user_money M(user)-where([id [eq, $user_id], status [eq, 1]])-getField(total_money); $peifu $find_redpacket[money]*$find_redpacket[multiple]; if (!$hongbao_num || $find_redpacket[status] 2) { $return[status] 0; $return[msg] 手慢了,红包已派完; $this-ajaxReturn($return); } /*判断过期红包*/ if($find_redpacket[over_time]time()){ $return[status] 0; $return[msg] 红包已过期; $this-ajaxReturn($return); } /* 判断用户余额是否大于赔付金额 */ if ($user_money $peifu) { $return[status] 0; $return[msg] 您的余额低于赔付金额请充值; $this-ajaxReturn($return); } $goods_number_key $redis-lpop({$this-hongbao_key}); if ($goods_number_key) { // 插入抢购用户信息 $userinfo array( user_id $user_id, create_time time() ); $Modelr M(record); $Modelr-startTrans(); $redis-hSet({$this-user_key}, $user_id, serialize($userinfo)); /*判断用户是否中雷*/ if (mb_substr($goods_number_key, -1, 1) $find_redpacket[lucky]) { $is_type 2; $save_user_money M(user)-where([id [eq, $user_id], status [eq, 1]])-setDec(total_money, $peifu); $hongbao_money M(user)-where([id [eq, $find_redpacket[uid]], status [eq, 1]])-getField(total_money);//查询放在下面防止抢包与发包人同一个 $save_hongbao_money M(user)-where([id [eq, $find_redpacket[uid]], status [eq, 1]])-setInc(total_money, $peifu); $ray [[ uid $user_id, money $user_money-$peifu, change $peifu, type 6,//用户踩雷减余额 addtime time(), ],[ uid $find_redpacket[uid], money $hongbao_money$peifu, change $peifu, type 8,//用户踩雷发包者加余额 addtime time(), ]]; $addAll_money M(profit)-addAll($ray); if (empty($save_user_money) || empty($save_hongbao_money) || empty($addAll_money)) { $Modelr-rollback(); $return[status] 0; $return[msg] 抢包失败; $this-ajaxReturn($return); } $user_money $user_money-$peifu; } else { $is_type 1; } /*用户抢包添加金额*/ $add_money M(user)-where([id [eq, $user_id], status [eq, 1]])-setInc(total_money, $goods_number_key); $lq_hongbao M(hongbao)-where([id [eq, $hongbao_id]])-save([lq_money $find_redpacket[lq_money]$goods_number_key,lq_num $find_redpacket[lq_num]1]); // 插入用户抢包记录 $redpack_log [ uid $user_id, money $goods_number_key, h_id $hongbao_id, lucky $find_redpacket[lucky], type $is_type, addtime time(), ]; $redpacket_user M(record)-add($redpack_log); /*添加用户抢包余额变动记录*/ $data_profit [ uid $user_id, money $user_money$goods_number_key, change $goods_number_key, type 5, addtime time(), ]; $add_profit M(profit)-add($data_profit); if (empty($add_money) || empty($redpacket_user) || empty($add_profit) || empty($lq_hongbao)) { $Modelr-rollback(); $return[status] 0; $return[msg] 抢包失败; $this-ajaxReturn($return); } $hongbao_num $redis-llen({$this-hongbao_key}); if (!$hongbao_num) { $save_redpacket M(hongbao)-where([id $hongbao_id])-save([status 2]); if (empty($save_redpacket)) { $Modelr-rollback(); $return[status] 0; $return[msg] 抢包失败; $this-ajaxReturn($return); } $redisDel$redis-del({$this-user_key}); } $Modelr-commit(); $return[status] 200; $return[msg] 红包金额 . $goods_number_key; $this-ajaxReturn($return); } else { $return[status] 0; $return[msg] 系统繁忙; $this-ajaxReturn($return); } } /** 获取区间内随机红包符合正态分布 * param $min 红包最小值 * param $max 红包最大值 * param $num 红包个数 * param $total 红包金额 * return array */ public function rand_section ($min,$max,$num,$total){ $data array(); if ($min * $num $total) { return array(); } if($max*$num $total){ return array(); } while ($num 1) { $num--; $kmix max($min, $total - $num * $max); $kmax min($max, $total - $num * $min); $kAvg $total / ($num 1); //获取最大值和最小值的距离之间的最小值 $kDis min($kAvg - $kmix, $kmax - $kAvg); //获取0到1之间的随机数与距离最小值相乘得出浮动区间这使得浮动区间不会超出范围 $r ((float)(rand(1, 10000) / 10000) - 0.5) * $kDis * 2; $k sprintf(%.2f, $kAvg $r); $total - $k; $data[] $k; } return $data; } /* * redis调试 */ public function order_num(){ $redis$this-connectRedis(); // $redis-flushall();//清空redis所有缓存数据 $a $redis-keys(*); print_r($a); } }转载于:https://www.cnblogs.com/zhang-bin/p/10137506.html
http://www.sadfv.cn/news/72887/

相关文章:

  • 网站内链优化中国新闻社是国企还是私企
  • 长沙做网站一般多少钱合适高端品牌网站建设的特点
  • 阿里云买了域名怎么建网站网上怎么开自己的网店呀
  • 深圳html5网站开发zimeiti wordpress
  • 网站的空间做简历用的网站
  • 网站建设的域名续费热点事件
  • 网站建立网站腾讯朋友圈广告怎么投放
  • 高职院校高水平专业建设网站已经有域名 怎么修改网站
  • 公司网站门户建设技术参数表google关键词分析工具
  • 酒店网站规划建设方案书深圳企业网站建设制作网络公司
  • 摄影 网站 模板网站建设怎么学
  • 网站做配置文件的作用网站权重如何查询
  • 热门网站排名平台公司和项目公司的区别
  • 做网站流量做分色找工作网站
  • 做社区网站怎么做西宁市解封最新消息今天
  • 哪些网站可以接兼职做网站开发逻辑图
  • 最好网站建设公司牡丹江出现一例
  • h5自适应网站模板泰安集团网站建设方案
  • 网站版式布局广州品牌策划公司有哪些
  • 网站建设合同黑客攻击游戏网站建设的策划
  • 小学校园网站建设要求WordPress修改评论者昵称
  • 网站页面设计技术参数郑州app制作开发
  • 做知乎网站要多少钱wordpress w3 total cache 编码错误
  • 个人网站的设计的现状亳州建设网站公司
  • 广州做网站建设的公司排名抖音企业推广费用
  • 湖南营销型网站建设优化营商环境条例心得体会
  • 四网一体网站建设方案带数据库的网站做
  • 百度免费收录网站什么网站可以做海报
  • 在天极网做网站有效果吗网站制作难点
  • 常德建设网站多少钱静态网站开发预期效果