PlusPay.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace app\api\model\service;
  3. use think\Model;
  4. class PlusPay extends Model
  5. {
  6. // 表名
  7. protected $name = 'service_plus_pay';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'int';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. public static function handlePlus($id)
  14. {
  15. $info = self::where(['id'=>$id,'is_update'=>0,'state'=>1])->field('id,user_id,plus_id')->find();
  16. if(!$info)
  17. {
  18. return false;
  19. }
  20. $plusConfig = PlusConfig::where(['id'=>$info['plus_id']])->field('name,daynums,discount')->find();
  21. if(!$plusConfig)
  22. {
  23. return false;
  24. }
  25. $userInfo = UserInfo::where(['user_id'=>$info['user_id']])->field('is_plus,discount,plusname,plustime')->find();
  26. if($userInfo['is_plus'] == 0){
  27. $data['is_plus'] = 1;
  28. $data['plustime'] = time()+86400*$plusConfig['daynums'];
  29. }else{
  30. $data['plustime'] = $userInfo['plustime']+86400*$plusConfig['daynums'];
  31. }
  32. if($userInfo['discount']>$plusConfig['discount'])
  33. {
  34. $data['discount'] = $plusConfig['discount'];
  35. $data['plusname'] = $plusConfig['name'];
  36. }
  37. UserInfo::where(['user_id'=>$info['user_id']])->update($data);
  38. return true;
  39. }
  40. }