50], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'fx_uid' => 'Fx Uid', 'total_money' => 'Total Money', 'order_id' => 'Order ID', 'status' => 'Status', 'delete_flag' => 'Delete Flag', 'create_time' => 'Create Time', 'update_time' => 'Update Time', 'update_user' => 'Update User', ]; } public function finishCommission() { $cnt = 0; $count = 0; //1.找出今天-完成日期大于3天的订单号,且佣金待结算 $LogOrder = self::find()->select(['GROUP_CONCAT(a.order_id) as order_arr']) ->from('order_main as a') ->leftJoin('fx_commission_info as b', 'a.order_id=b.order_id') ->where(['and', ['=', 'order_status', 3], ['>', 'DATEDIFF(current_date,end_date)', 2], ['=', 'a.delete_flag', 0], ['=', 'b.`status`', 1]]) ->asArray() ->all(); $uptOrder = explode(',', $LogOrder[0]['order_arr']); if (empty($uptOrder['0']) == false) { //2.佣金表待结算变已结算 $count = self::updateAll(['status' => 2], ['and', ['=', 'status', 1], ['in', 'order_id', $uptOrder]]); //3.不同用户的账户表分别更新 //查出需要更新的分销账户及佣金金额 $fx_user = self::find()->select(['fx_uid', 'SUM(total_money) as money']) ->from(self::tableName()) ->where(['and', ['in', 'order_id', $uptOrder], ['=', 'delete_flag', 0]]) ->groupBy('fx_uid') ->asArray() ->all(); if (count($fx_user) != 0) { $fx_user_account = new FxUserAccount(); foreach ($fx_user as $val) { $available_commission = $val['money']; $fx_uid = $val['fx_uid']; $array = ['available_commission' => new Expression("available_commission +$available_commission"), 'total_commission' => new Expression("total_commission +$available_commission")]; $cnt += $fx_user_account::updateAll($array, ['and', ['=', 'fx_uid', $fx_uid]]); } } foreach ($uptOrder as $val) { Util::interfaceZzcx(['type' => 3, 'order_id' => $val], '/zzcx/interfaces/order/send-wx-msg', 1); } Util::addOrderLog(0, 0, implode('-', $uptOrder), '佣金结算', 7); } return ['order_list' => $LogOrder[0]['order_arr'], 'count' => $count, 'cnt' => $cnt]; } /** * Function Description:佣金明细 * Function Name: getInfoAdmin * @param $order_id * * @return array|\yii\db\ActiveRecord[] * * @author 娄梦宁 */ public function getInfoAdmin($order_id) { $result = self::find() ->from('order_info a') ->innerJoin('order_main c', 'a.order_id = c.order_id') ->leftJoin('prod_main b', 'a.prod_id=b.prod_id') ->select(['b.prod_name', 'a.unit_price prod_single_price', 'a.count prod_count', 'a.commission' // update fuhc add b.commission on 2017-05-26 // '(select TRUNCATE(total_money/c.prod_cnt,0)*a.count from fx_commission_info where order_id =a.order_id ) as commission' ]) ->where(['and', ['=', 'a.order_id', $order_id], ['!=', 'a.count', 0]]) ->asArray() ->all(); return $result; } /** * Des:根据订单ID获取佣金详细 * Name: getInfoByOrderId * @param $oder_id * @return array * @author 倪宗锋 */ public function getInfoByOrderId($oder_id) { $orderInfo = self::find() ->from(static::tableName()) ->where(['=', 'order_id', $oder_id]) ->asArray() ->one(); return $orderInfo; } /** * Des:修改单状态 * Name: editStatus * @param $oder_id * @param $status * @return int * @author 倪宗锋 */ public function editStatus($oder_id, $status) { $flag = self::updateAll(['status' => $status], ['=', 'order_id', $oder_id]); return $flag; } }