UserAddress.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace app\admin\model\user;
  3. use crmeb\basic\BaseModel;
  4. use crmeb\traits\ModelTrait;
  5. class UserAddress extends BaseModel
  6. {
  7. /**
  8. * 数据表主键
  9. * @var string
  10. */
  11. protected $pk = 'id';
  12. /**
  13. * 模型名称
  14. * @var string
  15. */
  16. protected $name = 'user_address';
  17. use ModelTrait;
  18. protected $insert = ['add_time'];
  19. protected function setAddTimeAttr()
  20. {
  21. return time();
  22. }
  23. public static function setDefaultAddress($id, $uid)
  24. {
  25. self::beginTrans();
  26. $res1 = self::where('uid', $uid)->update(['is_default' => 0]);
  27. $res2 = self::where('id', $id)->where('uid', $uid)->update(['is_default' => 1]);
  28. $res = $res1 !== false && $res2 !== false;
  29. self::checkTrans($res);
  30. return $res;
  31. }
  32. public static function userValidAddressWhere($model = null, $prefix = '')
  33. {
  34. if ($prefix) $prefix .= '.';
  35. $model = self::getSelfModel($model);
  36. return $model->where("{$prefix}is_del", 0);
  37. }
  38. public static function getUserValidAddressList($uid, $field = '*')
  39. {
  40. return self::userValidAddressWhere()->where('uid', $uid)->order('add_time DESC')->field($field)->select()->toArray() ?: [];
  41. }
  42. public static function getUserDefaultAddress($uid, $field = '*')
  43. {
  44. return self::userValidAddressWhere()->where('uid', $uid)->where('is_default', 1)->field($field)->find();
  45. }
  46. }