| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | <?php/** * * @file:OrdersController.php * @Date: 2023/5/23 * @Time: 10:15 */namespace Modules\Channel\Http\Controllers;use Catch\Base\CatchController;use Illuminate\Http\Request;use Modules\Channel\Models\UserHasMiniprograms;use Modules\Channel\Services\Order\OrderService;use Modules\User\Http\Controllers\UserTrait;class OrdersController extends CatchController{    use UserTrait;    /**     *  订单列表     * name: orderList     * @param Request $request     * date 2023/05/23 10:22     */    public function orderList(Request $request)    {        $param = $request->all();        $userContext = $this->getUserContext(null);        if (getProp($param, 'puser_id')) {            $param['puser_id'] = $param['puser_id'];        }        if (getProp($param, 'user_id')) {            $param['user_id'] = $param['user_id'];        }        // 公司账户处理        if ($userContext['loginUserRoles']->contains('company')) {            $param['puser_id'] = $userContext['operateUser']->id;        }        // 投手处理        if ($userContext['loginUserRoles']->contains('optimizer')) {            $param['user_id'] = $userContext['operateUser']->id;        }        $list = OrderService::getOrderList($param);        if (!$list->isEmpty()) {            foreach ($list as $val) {                if ($userContext['loginUserRoles']->contains('company')) {                    $val->total_count = $val->caompany_count;                }                if (getProp($param, 'user_id')) {                    $val->total_count = $val->promotion_count;                }                unset($val->caompany_count, $val->promotion_count, $val->pay_product_id, $val->create_ip, $val->transaction_id);                unset($val->third_orderid, $val->pay_merchant_sourcem, $val->video_id, $val->video_series_sequence, $val->updated_at);            }        }        return $list;    }    /**     *  订单小程选择列表     * name: userUseList     * @param Request $request     * @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection|UserHasMiniprograms[]     * date 2023/05/23 17:35     */    public function userUseList(Request $request)    {        $uid = $request->input("user_id", 0);        if (!$uid) {            $uid = $this->getCurrentUser()->id;        }        $name = $request->input("name", "");        $limit =  $request->input("limit", 20);        return OrderService::userUseProgramsList($uid,$name,$limit);    }    /**     *  订单优化师列选择项     * name: promotionsUsers     * @param Request $request     * date 2023/05/26 09:12     */    public function promotionsUsers(Request $request){        $name = $request->input('name');        $pid = $request->input('user_id');        $limit = $request->input('limit',20);        $miniprogram_id = $request->input('miniprogram_id',0);        $userContext = $this->getUserContext(null);        // 公司账户处理        if ($userContext['loginUserRoles']->contains('company')) {            $pid = $userContext['operateUser']->id;        }        // 投手处理        if ($userContext['loginUserRoles']->contains('optimizer')) {            return [['user_id' => $userContext['operateUser']->id,'name' => $userContext['operateUser']->username]];        }        return  OrderService::promotionsUsers($pid,$name,$miniprogram_id,$limit);    }    /**     *  订单列表推广选择项     * name: promotionsOptions     * @param Request $request     * @return \Illuminate\Support\Collection     * date 2023/05/26 15:42     */    public function promotionsOptions(Request $request)    {        $title = $request->input('name');        $uid = $request->input("user_id", 0);        $miniprogram_id = $request->input('miniprogram_id',0);        if (!$uid) {            $uid = $this->getCurrentUser()->id;        }        $limit =  $request->input("limit", 20);        return OrderService::promotionsOptions($uid, $title,$miniprogram_id,$limit);    }    /**     *  订单充值类型选择项     * name: orderTypes     * @return \string[][]     * date 2023/05/26 15:43     */    public function orderTypes()    {        return OrderService::getOrderType();    }    /**     *  订单支付状态现在项     * name: orderStatus     * @return \string[][]     * date 2023/05/26 15:43     */    public function orderStatus()    {        return OrderService::getOrderPayType();    }}
 |