Commit cc2c1803 authored by hujun's avatar hujun

优化查询

parent 81d0ca3c
......@@ -227,42 +227,48 @@ class OfficePayLog extends Basic
$m_pay_adjustment = new OfficeOPayLogAdjustment();
$m_refund = new OfficeORefundModel();
foreach ($list as $k => $v) {
$list[$k]['source_id'] = $list[$k]['is_adjustment'] = '';
if ($v['source'] == 2) {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['new_paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$adjustment_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['is_adjustment'] = $adjustment_id ? 1 : 0;
} else {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$list[$k]['is_adjustment'] = $source_id ? 1 : 0;
}
$num = $m_refund->getFind('id', ['pay_log_id' => $v['id'], 'is_del' => 0]);
if ($num['id'] > 0) {
$list[$k]['is_refund'] = 1;
} else {
$list[$k]['is_refund'] = 0;
}
foreach($list as $v) {
$pay_id_array[] = $v['id'];
}
if (isset($pay_id_array)) {
$refund_pay_id = $m_refund->getFieldColumn('pay_log_id', ['pay_log_id'=>['in',$pay_id_array ]]);
foreach($list as $key => $value) {
if ($value['type'] != 10 && $value['type'] != 30) {
$list[$key]['bargain_id'] = empty($v['bargain_id']) ? '' : $v['bargain_id'];
} else {
$list[$key]['bargain_id'] = '';
}
if ($v['type'] != 10 && $v['type'] != 30) {
$list[$k]['bargain_id'] = empty($v['bargain_id']) ? '' : $v['bargain_id'];
} else {
$list[$k]['bargain_id'] = '';
}
if (!empty($v['income_time'])) {
$income_time = date('Y-m-d H:i:s', strtotime($v['income_time']));
if ($income_time == $v['income_time']) {
$list[$key]['income_time'] = $income_time;
} else {
$list[$key]['income_time'] = '';
}
}
if (!empty($v['income_time'])) {
$income_time = date('Y-m-d H:i:s', strtotime($v['income_time']));
if ($income_time == $v['income_time']) {
$list[$k]['income_time'] = $income_time;
$list[$key]['source_id'] = $list[$key]['is_adjustment'] = '';
if ($v['source'] == 2) {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['new_paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$adjustment_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['is_adjustment'] = $adjustment_id ? 1 : 0;
} else {
$list[$k]['income_time'] = '';
$source_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$list[$key]['is_adjustment'] = $source_id ? 1 : 0;
}
}
$list[$k]['pay_type_num'] = $v['pay_type'];
$list[$k]['type_num'] = $v['type'];
if (in_array($value['id'], $refund_pay_id)) {
$is_refund = 1;
} else {
$is_refund = 0;
}
$list[$key]['is_refund'] = $is_refund;
$list[$key]['pay_type_num'] = $value['pay_type'];
$list[$key]['type_num'] = $value['type'];
}
}
$data['list'] = $list;
......
......@@ -317,48 +317,55 @@ class PayLog extends Basic
$m_pay_adjustment = new OPayLogAdjustment();
$m_refund = new ORefundModel();
$m_open = new OPayLogOpen();
foreach ($list as $k => $v) {
$list[$k]['source_id'] = $list[$k]['is_adjustment'] = '';
if ($v['source'] == 2) {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['new_paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$adjustment_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['is_adjustment'] = $adjustment_id ? 1 : 0;
} else {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$k]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$list[$k]['is_adjustment'] = $source_id ? 1 : 0;
}
$num = $m_refund->getFind('id', ['pay_log_id' => $v['id'], 'is_del' => 0]);
if ($num['id'] > 0) {
$list[$k]['is_refund'] = 1;
} else {
$list[$k]['is_refund'] = 0;
}
if ($v['type'] != 10 && $v['type'] != 30) {
$list[$k]['bargain_id'] = empty($v['bargain_id']) ? '' : $v['bargain_id'];
} else {
$list[$k]['bargain_id'] = '';
}
foreach($list as $v) {
$pay_id_array[] = $v['id'];
}
if (!empty($v['income_time'])) {
$income_time = date('Y-m-d H:i:s', strtotime($v['income_time']));
if ($income_time == $v['income_time']) {
$list[$k]['income_time'] = $income_time;
if (isset($pay_id_array)) {
$open_pay_id = $m_open->getFieldColumn('pay_log_id', ['pay_log_id'=> ['in', $pay_id_array]]);
$refund_pay_id = $m_refund->getFieldColumn('pay_log_id', ['pay_log_id'=>['in',$pay_id_array ]]);
foreach($list as $key => $value) {
if ($value['type'] != 10 && $value['type'] != 30) {
$list[$key]['bargain_id'] = empty($v['bargain_id']) ? '' : $v['bargain_id'];
} else {
$list[$k]['income_time'] = '';
$list[$key]['bargain_id'] = '';
}
}
$list[$k]['pay_type_num'] = $v['pay_type'];
$list[$k]['type_num'] = $v['type'];
if (!empty($v['income_time'])) {
$income_time = date('Y-m-d H:i:s', strtotime($v['income_time']));
if ($income_time == $v['income_time']) {
$list[$key]['income_time'] = $income_time;
} else {
$list[$key]['income_time'] = '';
}
}
if (empty($v['is_open'])) {
$is_check = $m_open->getFieldOneValue('id', ['pay_log_id' => $v['id'], 'is_del' => 0]);
$list[$k]['is_check'] = $is_check > 0 ? 1 : 0;
} else {
$list[$k]['is_check'] = 0;
$list[$key]['source_id'] = $list[$key]['is_adjustment'] = '';
if ($v['source'] == 2) {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['new_paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$adjustment_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['is_adjustment'] = $adjustment_id ? 1 : 0;
} else {
$source_id = $m_pay_adjustment->getFieldColumn('id', ['paylog_id' => $v['id'], 'is_del' => 0]);
$list[$key]['source_id'] = empty($source_id) ? 0 : implode(',', $source_id);
$list[$key]['is_adjustment'] = $source_id ? 1 : 0;
}
if (in_array($value['id'], $refund_pay_id)) {
$is_refund = 1;
} else {
$is_refund = 0;
}
if (in_array($value['id'], $open_pay_id)) {
$is_check = 1;
} else {
$is_check = 0;
}
$list[$key]['is_refund'] = $is_refund;
$list[$key]['is_check'] = $is_check;
$list[$key]['pay_type_num'] = $value['pay_type'];
$list[$key]['type_num'] = $value['type'];
}
}
......
......@@ -150,4 +150,15 @@ class OPayLogOpen extends BaseModel
->where($params)
->find();
}
/**
* @param $field
* @param $params
* @return int|mixed
*/
public function getFieldColumn($field,$params) {
$params['is_del'] = 0;
return $this->db_->where($params)
->column($field);
}
}
\ No newline at end of file
......@@ -354,4 +354,15 @@ class OfficeORefundModel extends BaseModel{
->where($where)
->find();
}
/**
* @param $field
* @param $params
* @return int|mixed
*/
public function getFieldColumn($field,$params) {
$params['is_del'] = 0;
return $this->db_->where($params)
->column($field);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment