Sellerbill.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\api\controller;
  3. /**
  4. *
  5. *
  6. * ----------------------------------------------------------------------------
  7. *
  8. * 卖家账单控制器
  9. */
  10. class Sellerbill extends MobileSeller
  11. {
  12. public function initialize()
  13. {
  14. parent::initialize(); // TODO: Change the autogenerated stub
  15. }
  16. /**
  17. * @api {POST} api/Sellerbill/bill_list 获取结算列表
  18. * @apiVersion 1.0.0
  19. * @apiGroup Sellerbill
  20. *
  21. * @apiHeader {String} X-DS-KEY 卖家授权token
  22. *
  23. * @apiParam {String} ob_no 结算单号
  24. * @apiParam {String} bill_state 结算状态 1已出账 2店家已确认 3平台已审核 4结算完成
  25. * @apiParam {String} page 页码
  26. * @apiParam {String} per_page 每页显示数量
  27. *
  28. * @apiSuccess {String} code 返回码,10000为成功
  29. * @apiSuccess {String} message 返回消息
  30. * @apiSuccess {Object} result 返回数据
  31. * @apiSuccess {Object[]} result.bill_list (返回字段参考orderbill表)
  32. * @apiSuccess {Int} result.page_total 总页数
  33. * @apiSuccess {Boolean} result.hasmore 是否有更多 true是false否
  34. */
  35. public function bill_list()
  36. {
  37. $bill_model = model('bill');
  38. $condition = array();
  39. $condition[] = array('ob_store_id', '=', $this->store_info['store_id']);
  40. if (preg_match('/^\d+$/', input('post.ob_no'))) {
  41. $condition[] = array('ob_no', '=', intval(input('post.ob_no')));
  42. }
  43. if (is_numeric(input('post.bill_state'))) {
  44. $condition[] = array('ob_state', '=', intval(input('post.bill_state')));
  45. }
  46. $bill_list = $bill_model->getOrderbillList($condition, '*', $this->pagesize, 'ob_state asc,ob_no asc');
  47. foreach ($bill_list as $k => $v) {
  48. $bill_list[$k]['ob_time'] = date('Y-m-d', $v['ob_startdate']) . ' ~ ' . date('Y-m-d', $v['ob_enddate']);
  49. $bill_list[$k]['ob_states'] = get_bill_state($v['ob_state']);
  50. }
  51. $result = array_merge(array('bill_list' => $bill_list), mobile_page($bill_model->page_info));
  52. ds_json_encode(10000, lang('ds_common_op_succ'), $result);
  53. }
  54. /**
  55. * @api {POST} api/Sellerbill/confirm_bill 确认结算信息
  56. * @apiVersion 1.0.0
  57. * @apiGroup Sellerbill
  58. *
  59. * @apiHeader {String} X-DS-KEY 卖家授权token
  60. *
  61. * @apiParam {String} ob_no 结算单号
  62. * @apiParam {String} ob_seller_content 店铺备注
  63. *
  64. * @apiSuccess {String} code 返回码,10000为成功
  65. * @apiSuccess {String} message 返回消息
  66. * @apiSuccess {Object} result 返回数据
  67. */
  68. public function confirm_bill()
  69. {
  70. $ob_no = input('param.ob_no');
  71. if (!$ob_no) {
  72. ds_json_encode(10001, lang('param_error'));
  73. }
  74. $bill_model = model('bill');
  75. $condition = array();
  76. $condition[] = array('ob_no', '=', $ob_no);
  77. $condition[] = array('ob_store_id', '=', session('store_id'));
  78. $condition[] = array('ob_state', '=', BILL_STATE_CREATE);
  79. $bill_info = $bill_model->getOrderbillInfo($condition);
  80. if (!$bill_info) {
  81. ds_json_encode(10001, lang('bill_is_not_exist'));
  82. }
  83. $update = $bill_model->editOrderbill(array('ob_state' => BILL_STATE_STORE_COFIRM), $condition);
  84. if ($update) {
  85. ds_json_encode(10000, lang('ds_common_op_succ'));
  86. } else {
  87. ds_json_encode(10001, lang('ds_common_op_fail'));
  88. }
  89. }
  90. }