Refundorder.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace app\admin\controller\service\order;
  3. use app\common\controller\Backend;
  4. use think\Db;
  5. /**
  6. * 订单退款管理
  7. *
  8. * @icon fa fa-circle-o
  9. */
  10. class Refundorder extends Backend
  11. {
  12. /**
  13. * Refundorder模型对象
  14. * @var \app\admin\model\service\order\Refundorder
  15. */
  16. protected $model = null;
  17. public function _initialize()
  18. {
  19. parent::_initialize();
  20. $this->model = new \app\admin\model\service\order\Refundorder;
  21. $this->view->assign("stateList", $this->model->getStateList());
  22. }
  23. public function index()
  24. {
  25. //设置过滤方法
  26. $this->request->filter(['strip_tags', 'trim']);
  27. if (false === $this->request->isAjax()) {
  28. return $this->view->fetch();
  29. }
  30. //如果发送的来源是 Selectpage,则转发到 Selectpage
  31. if ($this->request->request('keyField')) {
  32. return $this->selectpage();
  33. }
  34. [$where, $sort, $order, $offset, $limit] = $this->buildparams();
  35. $list = $this->model
  36. ->where($where)
  37. ->order($sort, $order)
  38. ->paginate($limit);
  39. foreach ($list as &$val)
  40. {
  41. $val->user = db('user')->where('id',$val->user_id)->field('avatar,nickname,mobile')->find();
  42. $order = db('service_order')->where(['id'=>$val->order_id])->find();
  43. $val->address = db('service_order_address')->where('order_id',$val->order_id)->field('name,sex,mobile,province,city,district,area,address')->find();
  44. $val->detail = db('service_order_detail')->where('order_id',$val->order_id)->field('name,image,sku_name,num,price,sumprice')->find();
  45. $val->skill = $order['skill_id']?db('service_skill')->field('name,mobile,image')->where('id',$order['skill_id'])->find():'';
  46. $val->shop = $order['shop_id']?db('service_shop')->where('id',$order['shop_id'])->field('name,abbr,logo_image,leader_name,leader_mobile')->find():'';
  47. $val->create_time = date("Y-m-d H:i",$val->createtime);
  48. $val->order = $order;
  49. }
  50. $result = ['total' => $list->total(), 'rows' => $list->items()];
  51. return json($result);
  52. }
  53. public function refund($ids)
  54. {
  55. if($this->request->isPost())
  56. {
  57. $params = input('post.','');
  58. $row = $this->model->where('id',$params['id'])->find();
  59. $row->state != 0 && $this->error('请勿重复审核');
  60. $this->model->where(['id'=>$params['id']])->update(['note'=>$params['note'],'state'=>-1]);
  61. \app\admin\model\service\order\Order::where('id',$row->order_id)->update(['is_service'=>-1]);
  62. $order = \app\admin\model\service\order\Order::where('id',$row->order_id)->field('id,user_id,shop_id,skill_id')->find();
  63. \app\api\model\service\OrderLog::create(['user_id'=>$order['user_id'],'order_id'=>$order['id'],'type'=>10,'content'=>'申请退款已拒绝']);
  64. $userOpenid = \app\api\model\service\UserInfo::getOpenid($order['user_id'],0);
  65. \app\api\model\service\Order::createRefundTemplateParams(['id'=>$order['id'],'state'=>-1,'note'=>$params['note'],'type'=>0,'templateAttr'=>'user_sales_template','openid'=>$userOpenid]);
  66. $this->success('订单状态已更新');
  67. }
  68. $this->assign(['id'=>$ids]);
  69. return $this->view->fetch();
  70. }
  71. }