Settlement.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\store\shop\controller;
  11. use app\model\order\OrderCommon as OrderCommonModel;
  12. use app\model\store\Store;
  13. use app\shop\controller\BaseShop;
  14. use addon\store\model\Settlement as SettlementModel;
  15. /**
  16. * 门店结算控制器
  17. */
  18. class Settlement extends BaseShop
  19. {
  20. /**
  21. * 门店结算列表
  22. */
  23. public function index()
  24. {
  25. if (request()->isAjax()) {
  26. $model = new SettlementModel();
  27. $page = input('page', 1);
  28. $page_size = input('page_size', PAGE_LIST_ROWS);
  29. $store_id = input('store_id', '');
  30. if (!empty($store_id)) {
  31. $condition[] = [ 'store_id', '=', $store_id ];
  32. }
  33. $condition[] = [ 'site_id', '=', $this->site_id ];
  34. $start_time = input('start_time', '');
  35. $end_time = input('end_time', '');
  36. if (!empty($start_time) && empty($end_time)) {
  37. $condition[] = [ 'start_time', '>=', $start_time ];
  38. } elseif (empty($start_time) && !empty($end_time)) {
  39. $condition[] = [ 'end_time', '<=', $end_time ];
  40. } elseif (!empty($start_time) && !empty($end_time)) {
  41. $condition[] = [ 'start_time', '>=', $start_time ];
  42. $condition[] = [ 'end_time', '<=', $end_time ];
  43. }
  44. $order = 'id desc';
  45. $field = 'id,settlement_no,site_id,site_name,store_name,order_money,shop_money,refund_platform_money,platform_money,refund_shop_money,
  46. refund_money,create_time,commission,is_settlement,offline_refund_money,offline_order_money,start_time,end_time, store_commission, withdraw_id';
  47. $list = $model->getStoreSettlementPageList($condition, $page, $page_size, $order, $field);
  48. return $list;
  49. }
  50. //门店列表
  51. $store_model = new Store();
  52. $store_list = $store_model->getStoreList([ [ 'site_id', '=', $this->site_id ] ]);
  53. $this->assign('store_list', $store_list[ 'data' ]);
  54. return $this->fetch('settlement/index');
  55. }
  56. /**
  57. * 已结算
  58. * @return array
  59. */
  60. public function settlement()
  61. {
  62. if (request()->isAjax()) {
  63. $remark = input('remark', '');
  64. $settlement_id = input('settlement_id', 0);
  65. if (empty($remark)) {
  66. return error(-1, '请填写备注!');
  67. }
  68. $settlement_model = new SettlementModel();
  69. $res = $settlement_model->editSettlement([ 'is_settlement' => 1, 'remark' => $remark ], [ [ 'id', '=', $settlement_id ] ]);
  70. return $res;
  71. }
  72. }
  73. /**
  74. * detail 结算详情
  75. */
  76. public function detail()
  77. {
  78. $settlement_id = input('settlement_id', 0);
  79. $order_model = new OrderCommonModel();
  80. if (request()->isAjax()) {
  81. $condition[] = [ 'store_settlement_id', '=', $settlement_id ];
  82. $page = input('page', 1);
  83. $page_size = input('page_size', PAGE_LIST_ROWS);
  84. $field = 'order_id,order_no,pay_type,order_money,pay_type_name,order_status,refund_money,commission,finish_time,store_commission';
  85. $list = $order_model->getOrderPageList($condition, $page, $page_size, 'finish_time desc', $field);
  86. return $list;
  87. }
  88. $settlement_model = new SettlementModel();
  89. $settlement_info = $settlement_model->getSettlementInfo([ [ 'id', '=', $settlement_id ] ]);
  90. $store_model = new Store();
  91. $store_info = $store_model->getStoreInfo([ [ 'store_id', '=', $settlement_info[ 'data' ][ 'store_id' ] ] ], 'create_time');
  92. $this->assign('store_info', $store_info[ 'data' ]);
  93. $this->assign('info', $settlement_info[ 'data' ]);
  94. return $this->fetch('settlement/detail');
  95. }
  96. }