isNewRecord) { $this->created_at = date('Y-m-d H:i:s'); } else { $this->updated_at = date('Y-m-d H:i:s'); } return true; } return false; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', ]; } public static function addAllianceCouponSettleLog($order, $order_type) { if (!in_array($order_type, [1, 2])) return false; $store = Store::findOne($order->store_id); if ($order->take_price <= 0 || $store->small_model_proportion >= 100) return false; $settle_type = Option::get('alliance_coupon_settle_type', $order->store_id, 'store', 3)['value']; $settle = null; if ($settle_type != 0 && $settle_type != 1) { $settle = AllianceCouponSettle::find()->where(['store_id' => $order->store_id, 'is_settle' => 0, 'is_delete' => 0])->one(); } if (!$settle) { $settle = new AllianceCouponSettle(); $settle->store_id = $order->store_id; $settle->settle_no = OrderNo::getOrderNo(OrderNo::ALLIANCE_COUPON_SETTLE); $settle->price = 0; } $price = $order->take_price * ($store->small_model_proportion / 100); $add_price = $order->take_price - $price; $settle->price += $add_price; if (!$settle->save()) { ActionLog::addLog(1, 'addAllianceCouponSettleLog', $settle->getErrorSummary(false)[0]); } $detail = new AllianceCouponSettleDetail(); $detail->order_id = $order->id; $detail->store_id = $order->store_id; $detail->price = $add_price; $detail->take_price = $order->take_price; $detail->rl_rate = $store->small_model_proportion; $detail->order_type = $order_type; $detail->settle_id = $settle->id; if (!$detail->save()) { ActionLog::addLog(1, 'addAllianceCouponSettleLog', $detail->getErrorSummary(false)[0]); } if ($settle_type == 1 && $detail->take_price > 0) { $form = new HuifuForm(); $res = $form->actionHuifuyunpan($settle->id); switch ($res['code']) { case 0: $settle->settled_at = date('Y-m-d H:i:s'); $settle->is_settle = 1; break; case 1: $settle->unusually_condition = 1; $settle->unusually_msg = $res['msg']; break; case 3: $settle->unusually_condition = 1; $settle->settle_type = 3; $settle->unusually_msg = $res['msg']; break; default: $settle->unusually_condition = 1; $settle->settle_type = 3; $settle->unusually_msg = '打款状态不明,请检查是否打款成功'; break; } if (!$settle->save()) { ActionLog::addLog(1, 'addAllianceCouponSettleLog', $settle->getErrorSummary(false)[0]); } } return true; } }