TicketOrder.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class TicketOrder extends Model
  5. {
  6. protected $name = 'ticket_order';
  7. /**
  8. * 取单条订单信息
  9. * @access public
  10. * @author csdeshang
  11. * @param type $condition 条件
  12. * @param type $fields 字段
  13. * @return type
  14. */
  15. public function detail($condition = [], $fields = '*')
  16. {
  17. $order_info = $this->field($fields)->where($condition)->find();
  18. if (empty($order_info)) {
  19. return [];
  20. }
  21. if (isset($order_info['order_state'])) {
  22. $state_desc = $this->_state($order_info['order_state']);
  23. $order_info['state_desc'] = $state_desc[0];
  24. $order_info['order_state_text'] = $state_desc[1];
  25. }
  26. if (isset($order_info['payment_code'])) {
  27. $order_info['payment_name'] = get_order_payment_name($order_info['payment_code']);
  28. }
  29. return $order_info;
  30. }
  31. /**
  32. * 更改订单信息
  33. * @access public
  34. * @author csdeshang
  35. * @param type $data 数据
  36. * @param type $condition 条件
  37. * @param type $limit 限制
  38. * @return type
  39. */
  40. public function edit($data, $condition, $limit = 0)
  41. {
  42. return $this->where($condition)->limit($limit)->update($data);
  43. }
  44. /**
  45. * 取得订单状态文字输出形式
  46. * @access public
  47. * @author csdeshang
  48. * @param type $order_state 订单状态
  49. * @return type
  50. */
  51. private function _state($order_state)
  52. {
  53. switch ($order_state) {
  54. case ORDER_STATE_CANCEL:
  55. $order_state = '<span style="color:#999">已取消</span>';
  56. $order_state_text = '已取消';
  57. break;
  58. case ORDER_STATE_NEW:
  59. $order_state = '<span style="color:#36C">待付款</span>';
  60. $order_state_text = '待付款';
  61. break;
  62. case ORDER_STATE_PAY:
  63. $order_state = '<span style="color:#999">已支付</span>';
  64. $order_state_text = '已支付';
  65. break;
  66. case ORDER_STATE_SUCCESS:
  67. $order_state = '<span style="color:#999">已完成</span>';
  68. $order_state_text = '已完成';
  69. break;
  70. }
  71. return [$order_state, $order_state_text];;
  72. }
  73. }