WechatGroupGzh.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace App\Http\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use DB;
  5. use Illuminate\Support\Facades\Redis;
  6. class WechatGroupGzh extends Model
  7. {
  8. protected $table = 'wechat_group_gzhs';
  9. protected $guarded = ['id'];
  10. static function getAllList()
  11. {
  12. $all = self::all();
  13. return $all;
  14. }
  15. static function save_group_gzh($insert_data){
  16. $origin_group_gzh = self::get_group_gzh($insert_data['appid'],$insert_data['group_nick']);
  17. // v('$origin_group_gzh');v($origin_group_gzh);
  18. if(empty($origin_group_gzh)){
  19. v('group_gzh_not_exist:'.$insert_data['appid']);
  20. $data = array();
  21. $data['group_nick'] = isset($insert_data['group_nick'])?$insert_data['group_nick']:'';
  22. $data['appid'] = isset($insert_data['appid'])?$insert_data['appid']:'';
  23. $data['status'] = 1;
  24. v('save_data');v($data);
  25. $result = self::firstOrCreate($data);
  26. return $result;
  27. }else{
  28. v('group_gzh_exist:'.$insert_data['appid']);
  29. }
  30. }
  31. static function get_group_gzh($appid,$group_nick){
  32. $group_gzh = self::where('appid',$appid)->where('group_nick',$group_nick)->first();
  33. return $group_gzh;
  34. }
  35. static function get_wechat_group_gzh($appid){
  36. // 从redis取
  37. $redis_group_gzh = Redis::get('wechat_group_gzh:appid:'.$appid);
  38. $group_gzh = '';
  39. if(!empty($redis_group_gzh)){
  40. $group_gzh = json_decode($redis_group_gzh);
  41. }else{
  42. $group_gzh = self::where('appid',$appid)->where('status',1)->first();
  43. v('redis_group_gzh_set:'.$appid);
  44. // 重要判断,否则新号有bug
  45. if(!empty($group_gzh)){
  46. Redis::set('wechat_group_gzh:appid:'.$appid,json_encode($group_gzh));
  47. }
  48. }
  49. $group_nick = isset($group_gzh->group_nick)?$group_gzh->group_nick:'';
  50. $result = array('group'=>null,'group_api'=>null);
  51. if(!empty($group_gzh)){
  52. $group = Redis::get('wechat_group:group_nick:'.$group_nick);
  53. if(empty($group)){
  54. $group = WechatGroup::get_group($group_nick);
  55. Redis::set('wechat_group:group_nick:'.$group_nick,json_encode($group));
  56. v('redis_group_set:'.json_encode($group));
  57. }else{
  58. $group = objectToArray(json_decode($group));
  59. }
  60. $group_api = Redis::get('wechat_group_api:group_nick:'.$group_nick);
  61. if(empty($group_api)){
  62. $group_api = WechatGroupApi::get_group_api($group_nick);
  63. Redis::set('wechat_group_api:group_nick:'.$group_nick,json_encode($group_api));
  64. v('redis_group_api_set:'.json_encode($group_api));
  65. }else{
  66. $group_api = objectToArray(json_decode($group_api));
  67. }
  68. $result['group'] = $group;
  69. $result['group_api'] = $group_api;
  70. }
  71. // $result['group']['domain'] = 'http://api.zsy.com/api/';
  72. // v('$get_wechat_group_gzh');v($result);
  73. return $result;
  74. }
  75. }