UserAddress.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\wap\model\user;
  12. use basic\ModelBasic;
  13. use traits\ModelTrait;
  14. /**收货地址表
  15. * Class UserAddress
  16. * @package app\wap\model\user
  17. */
  18. class UserAddress extends ModelBasic
  19. {
  20. use ModelTrait;
  21. protected $insert = ['add_time'];
  22. protected function setAddTimeAttr()
  23. {
  24. return time();
  25. }
  26. public static function setDefaultAddress($id, $uid)
  27. {
  28. self::beginTrans();
  29. $res1 = self::where('uid', $uid)->update(['is_default' => 0]);
  30. $res2 = self::where('id', $id)->where('uid', $uid)->update(['is_default' => 1]);
  31. $res = $res1 !== false && $res2 !== false;
  32. self::checkTrans($res);
  33. return $res;
  34. }
  35. public static function userValidAddressWhere($model = null, $prefix = '')
  36. {
  37. if ($prefix) $prefix .= '.';
  38. $model = self::getSelfModel($model);
  39. return $model->where("{$prefix}is_del", 0);
  40. }
  41. public static function getUserValidAddressList($uid, $field = '*')
  42. {
  43. return self::userValidAddressWhere()->where('uid', $uid)->order('add_time DESC')->field($field)->select()->toArray() ?: [];
  44. }
  45. public static function getUserDefaultAddress($uid, $field = '*')
  46. {
  47. return self::userValidAddressWhere()->where('uid', $uid)->where('is_default', 1)->field($field)->find();
  48. }
  49. }