Area.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\api\controller;
  3. /**
  4. * ============================================================================
  5. * DSMall多用户商城
  6. * ============================================================================
  7. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  8. * 网站地址: http://www.csdeshang.com
  9. * ----------------------------------------------------------------------------
  10. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  11. * 不允许对程序代码以任何形式任何目的的再发布。
  12. * ============================================================================
  13. * 地区控制器
  14. */
  15. class Area extends MobileMall
  16. {
  17. public function initialize()
  18. {
  19. parent::initialize(); // TODO: Change the autogenerated stub
  20. }
  21. /**
  22. * @api {POST} api/Area/area_app 地区列表
  23. * @apiVersion 1.0.0
  24. * @apiGroup Area
  25. *
  26. * @apiSuccess {String} code 返回码,10000为成功
  27. * @apiSuccess {String} message 返回消息
  28. * @apiSuccess {Object} result 返回数据
  29. * @apiSuccess {Object[]} result.area_list 地区列表
  30. * @apiSuccess {String} result.area_list.area_name 地区名称
  31. * @apiSuccess {Int} result.area_list.area_id 地区ID
  32. * @apiSuccess {Object[]} result.area_list.child 子地区列表
  33. */
  34. public function area_app(){
  35. $cache_key = "api-area";
  36. $area_list = rcache($cache_key);
  37. if (empty($area_list)) {
  38. $area_model = model('area');
  39. $lev1 = $area_model->getTopLevelAreas();
  40. foreach ($lev1 as $k => $v) {
  41. $lev3 = $lev2[$k]['area_id'] = $area_model->GetChildName($k);
  42. foreach ($lev3 as $val) {
  43. $lev4[$k]['area_name'] = $v;
  44. $lev4[$k]['area_id'] = $k;
  45. $lev4[$k]['child'][$val['area_id']]['area_name'] = $val['area_name'];
  46. $lev4[$k]['child'][$val['area_id']]['area_id'] = $val['area_id'];
  47. $lev4[$k]['child'][$val['area_id']]['child'] = $area_model->GetChildName($val['area_id']);
  48. }
  49. }
  50. $area_list = array();
  51. foreach ($lev4 as $key => $val) {
  52. $val['child'] = array_values($val['child']);
  53. $area_list[] = $val;
  54. }
  55. wcache($cache_key,$area_list);
  56. }
  57. ds_json_encode(10000, '',array('area_list' => $area_list));
  58. }
  59. public function area_list(){
  60. $areas = model('area')->getAreas();
  61. ds_json_encode(10000, '',array('area_list' => $areas));
  62. }
  63. }