AddressService.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace app\common\modules\address\services;
  3. use app\backend\modules\refund\models\RefundApply;
  4. use app\backend\modules\refund\services\RefundOperationService;
  5. use app\common\events\order\AfterOrderRefundedEvent;
  6. use app\common\exceptions\AdminException;
  7. use app\common\models\Address;
  8. use app\common\models\finance\Balance;
  9. use app\common\models\PayType;
  10. use app\common\services\credit\ConstService;
  11. use app\common\services\finance\BalanceChange;
  12. use app\common\services\PayFactory;
  13. use app\frontend\modules\finance\services\BalanceService;
  14. use Illuminate\Support\Facades\DB;
  15. /**
  16. * Created by PhpStorm.
  17. * Author: 芸众商城 www.yunzshop.com
  18. * Date: 2017/5/10
  19. * Time: 下午4:29
  20. */
  21. class AddressService
  22. {
  23. public static function makeTree()
  24. {
  25. ini_set("max_execution_time", "120");
  26. $provinces = Address::where('level', 1)->get();
  27. $cities = Address::where('level', 2)->get();
  28. $districts = Address::where('level', 3)->get();
  29. $cities->each(function ($c) use ($districts) {
  30. // 获取对应的县 转成数组
  31. $ds = $districts->where('parentid', $c->id)->map(function ($d) {
  32. return [
  33. 'n' => $d->areaname,
  34. 'v' => $d->id,
  35. ];
  36. })->values()->toArray();
  37. //$dArr =
  38. // 城市
  39. $c['c'] = $ds;
  40. });
  41. $provinces->each(function ($p) use ($cities) {
  42. $p->c = $cities->where('parentid', $p->id)->map(function ($c) {
  43. return [
  44. 'n' => $c->areaname,
  45. 'v' => $c->id,
  46. 'c' => $c->c,
  47. ];
  48. })->values()->toArray();
  49. });
  50. $result = $provinces->map(function ($p) {
  51. return [
  52. 'n' => $p->areaname,
  53. 'v' => $p->id,
  54. 'c' => $p->c,
  55. ];
  56. });
  57. echo '/* ydui-district v1.1.0 by YDCSS (c) 2017 Licensed ISC */
  58. !function(){var district='.$result->toJson().';if(typeof define==="function"){define(district)}else{window.YDUI_DISTRICT=district}}();';
  59. }
  60. }