FeeService.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace addons\AvoidTax\common\service;
  3. use addons\AvoidTax\common\enums\StatusEnum;
  4. use common\models\user\UserWithdrawLog;
  5. use addons\AvoidTax\common\models\TaxOrder;
  6. use addons\AvoidTax\common\models\TaxConfig;
  7. use addons\AvoidTax\common\models\TaxOrderLog;
  8. /**
  9. * FeeService class
  10. * @package addons\AvoidTax\common\service
  11. */
  12. class FeeService extends BaseService
  13. {
  14. /**
  15. * 手续费列表
  16. *
  17. * @param array $params
  18. * @return array
  19. */
  20. public function getOrderFeeList(array $params = [])
  21. {
  22. $page = $this->getPage($params);
  23. $limit = $this->getLimit($params);
  24. $data = TaxOrder::getPageList($page, $limit, function($model) use ($params) {
  25. $model->where(['mall_id' => $this->mall_id, 'sub_type' => TaxOrder::SUB_TYPE_TAX]);
  26. !empty($params['batch_num']) && $model->andWhere(['like', 'batch_num', $params['batch_num']]);
  27. !empty($params['order_sn']) && $model->andWhere(['like', 'order_sn', $params['order_sn']]);
  28. !empty($params['status']) && $model->andWhere(['=', 'status', $params['status']]);
  29. if (!empty($params['date'])) {
  30. $model->andWhere(['>=', 'created_at', strtotime($params['date'][0])]);
  31. $model->andWhere(['<=', 'created_at', strtotime($params['date'][1])]);
  32. }
  33. }, 'id desc');
  34. foreach ($data['list'] as $k => $v) {
  35. $data['list'][$k]['status_text'] = StatusEnum::getMap()[$v['status']];
  36. }
  37. // 导出列表
  38. $data['export_list'] = TaxOrder::fieldsList(TaxOrder::SUB_TYPE_TAX);
  39. return $data;
  40. }
  41. /**
  42. * 获取详情
  43. *
  44. * @param string $num
  45. * @return array
  46. */
  47. public function getOrderDetail(string $num)
  48. {
  49. $detail = TaxOrder::getOrderDetailByNum($num);
  50. $withdraw = $detail->withdraw;
  51. $detail = $detail->toArray();
  52. $detail['withdraw'] = $withdraw->toArray();
  53. return $detail;
  54. }
  55. /**
  56. * 重新提交
  57. *
  58. * @param integer $id
  59. * @return boolean
  60. */
  61. public function resub(int $id)
  62. {
  63. $order = TaxOrder::find()->where(['mall_id' => $this->mall_id, 'id' => $id])->one();
  64. if (empty($order)) {
  65. return $this->error('订单不存在');
  66. }
  67. $type = (new TaxConfigService(['mall_id' => $this->mall_id]))->getType();
  68. $service = new OrderService(['mall_id' => $this->mall_id]);
  69. // 自用版手续费打款
  70. if ($type == TaxConfig::PERSONAL) {
  71. $res = $service->transToTax(['batch_num' => $order->batch_num]);
  72. }
  73. // 服务商版手续费打款
  74. if ($type == TaxConfig::SERVICE) {
  75. $res = $service->bookTransToTax($order->batch_num);
  76. }
  77. return $res;
  78. }
  79. }