12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace app\common\model;
- use app\common\library\Redis;
- use think\Model;
- class GuideWx extends Model
- {
- // 表名
- protected $table = 'guide_wx';
-
- // 自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- // 定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
-
- // 追加属性
- protected $append = [
- 'state_text'
- ];
-
-
- public function getStateList()
- {
- return ['1' => __('开启'),'0' => __('关闭')];
- }
- /**
- * 随机返回一个导粉二维码图片
- * @param $admin_id
- * @return null|string
- */
- public function getGw($admin_id){
- $redis = Redis::instance();
- $key = 'GW:'.$admin_id;
- $gwRes = $redis->srandmember($key);
- if($redis->exists($key) && !empty($gwRes)){
- return json_decode($gwRes,true) ?:$gwRes; //随机返回一个元素
- }else{
- if($redis->exists($key) && empty($gwRes)){ //此处判断如果渠道商没有设置导粉号
- return null;
- }else{
- $result = $this->where(['admin_id'=>$admin_id,'state'=>'1'])->select();
- if($result){
- $redis->del($key);
- foreach($result as $val){
- $redis->sadd($key,json_encode($val,JSON_UNESCAPED_UNICODE));
- }
- $redis->expire($key,86400*2);
- $gwRes = $redis->srandmember($key);
- return json_decode($gwRes,true) ?:$gwRes; //随机返回一个元素
- }else{
- $redis->sadd($key,'');
- $redis->expire($key,86400*2);
- }
- }
- return null;
- }
- }
- public function getStateTextAttr($value, $data)
- {
- $value = $value ? $value : $data['state'];
- $list = $this->getStateList();
- return isset($list[$value]) ? $list[$value] : '';
- }
- }
|