MemberMiniapp.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. *
  7. * 用户管理 Table<ai_member_miniapp>
  8. */
  9. namespace app\common\model;
  10. use think\Model;
  11. use app\common\model\Member;
  12. use util\Util;
  13. class MemberMiniapp extends Model{
  14. protected $pk = 'id';
  15. /**
  16. * 关联应用
  17. *
  18. * @return void
  19. */
  20. public function miniapp(){
  21. return $this->hasOne('Miniapp','id','miniapp_id');
  22. }
  23. /**
  24. * 应用后台所属管理员
  25. * @return void
  26. */
  27. public function member(){
  28. return $this->hasOne('Member','id','member_id');
  29. }
  30. /**
  31. * 应用绑定的用户端口创始人
  32. * @return void
  33. */
  34. public function user(){
  35. return $this->hasOne('User','id','uid');
  36. }
  37. /**
  38. * 用户购买的应用
  39. * @return void
  40. */
  41. public function order(){
  42. return $this->hasOne('MemberMiniappOrder','id','miniapp_order_id');
  43. }
  44. /**
  45. * 用户小程序列表
  46. */
  47. public static function lists(array $param = [],$pages = []){
  48. return self::view('member_miniapp','*')
  49. ->view('member','phone_id','member.id = member_miniapp.member_id')
  50. ->view('miniapp','types,miniapp_dir,is_wechat_pay,is_alipay_pay,is_lock as miniapp_lack,is_openapp,template_id','miniapp.id = member_miniapp.miniapp_id')
  51. ->view('member_miniapp_order', 'update_var', 'member_miniapp.miniapp_order_id = member_miniapp_order.id')
  52. ->where($param)
  53. ->where(['miniapp.is_lock' => 0])
  54. ->order('id desc')
  55. ->paginate(10,false,['query' => $pages]);
  56. }
  57. /**
  58. * 后台添加编辑
  59. * @param array $param 数组
  60. */
  61. public static function edit(array $param){
  62. $data['member_id'] = $param['member_id'];
  63. $data['appname'] = $param['appname'];
  64. $data['update_time'] = time();
  65. if(isset($param['id']) && $param['id'] > 0){
  66. return self::where('id',$param['id'])->update($data);
  67. }else{
  68. $data['miniapp_id'] = $param['miniapp_id'];
  69. $data['miniapp_order_id'] = $param['miniapp_order_id'];
  70. $data['create_time'] = time();
  71. $last_id = self::insertGetId($data);
  72. return self::where('id',$last_id)->update(['service_id' => uuid(3,true,$last_id)]);
  73. }
  74. }
  75. /**
  76. * 用户添加编辑
  77. * @param array $param 数组
  78. */
  79. public static function editer(array $param){
  80. $data = Util::array_remove_empty($param);
  81. $data['update_time'] = time();
  82. return self::where('id',$param['id'])->update($data);
  83. }
  84. /**
  85. * 锁定用户
  86. * @param integer $id
  87. */
  88. public static function lock(int $id){
  89. $result = self::where(['id' => $id])->find();
  90. $result->is_lock = $result->is_lock ? 0 : 1;
  91. if($result->is_lock == 0){
  92. $member = Member::where(['id' => $result->member_id])->field('is_lock')->find();
  93. if($member->is_lock == 1){
  94. return false;
  95. }
  96. }
  97. return $result->save();
  98. }
  99. }