123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- namespace app\common\model;
- use app\common\library\Redis;
- use app\main\constants\PayConstants;
- use think\Model;
- class AdminKl extends Model
- {
- // 表名
- protected $table = 'admin_kl';
- // 自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- // 定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
- protected $updateFields = ['vip_num', 'normal_num', 'is_blacklist', 'agent_vip_num', 'agent_normal_num', 'agent_is_blacklist', 'kl_rate',];
- /**
- * 获取KL账号信息
- * @param $admin_id
- * @param $business_line
- * @return array|null
- */
- public function getAdminKl($admin_id, $business_line = PayConstants::BUSINESS_APP)
- {
- if (empty($admin_id)) return null;
- $redis = Redis::instance();
- $key = implode(':', ['AdminKl', $business_line, $admin_id]);
- $admin_info = [];
- if ($redis->exists($key)) {
- $admin_info = $redis->hgetall($key);
- } else {
- $db_data = $this->where(['admin_id' => $admin_id, 'business_line' => $business_line])->find();
- if (!empty($db_data)) {
- $db_data = $db_data->toArray();
- $redis->hmset($key, $db_data);
- $redis->expire($key, 86400);
- $admin_info = $db_data;
- }
- }
- if (!$admin_info) {
- $kl = new \app\main\model\object\AdminKl();
- $kl->admin_id = $admin_id;
- $kl->business_line = $business_line;
- $admin_info = $kl->toArray();
- $admin_info = array_merge([
- 'vip_num' => 0,
- 'normal_num' => 0,
- 'is_blacklist' => 0,
- 'agent_vip_num' => 0,
- 'agent_normal_num' => 0,
- 'agent_is_blacklist' => 0,
- 'kl_rate' => 0,
- ], $admin_info);
- }
- return $admin_info;
- }
- /**
- * 更新缓存
- * @param $admin_id
- * @param $business_line
- */
- public function resetCache($admin_id, $business_line = PayConstants::BUSINESS_APP)
- {
- $key = implode(':', ['AdminKl', $business_line, $admin_id]);
- Redis::instance()->del($key);
- $this->getAdminKl($admin_id, $business_line);
- }
- /**
- * @param \app\main\model\object\AdminKl $adminKl
- * @return array
- */
- public function checkExistsParams(\app\main\model\object\AdminKl $adminKl)
- {
- return [
- 'admin_id' => $adminKl->admin_id,
- 'business_line' => $adminKl->business_line,
- ];
- }
- /**
- * @param \app\main\model\object\AdminKl $adminKl
- * @return array
- */
- public function getUpdateParams(\app\main\model\object\AdminKl $adminKl)
- {
- $update = [];
- foreach ($this->updateFields as $field) {
- if ($adminKl->{$field} !== null) {
- $update[$field] = $adminKl->{$field};
- }
- }
- return $update;
- }
- }
|