$orderId])) $orderId = 'pk' . $msectime . mt_rand(10000, 99999); return $orderId; } /** * 创建订单 * @param $data * @return bool */ public static function order_create($data) { try { $data['order_id'] = self::getNewOrderId(); $data['pay_time'] = time(); $data['pay_type'] = 'integral'; $data['paid'] = 1; $rs = self::create($data); if ($rs) { User::where('uid', $data['uid'])->dec('integral', $data['pay_price'])->update(); UserBill::expend('积分兑换', $data['uid'], 'integral', 'pay', $data['pay_price'], $rs['id'], User::where('uid', $data['uid'])->value('integral'), "兑换商品,支付" . $data['pay_price'] . "积分!"); } return $rs; }catch (Exception $e) { return self::setErrorInfo('创建订单出错!'.$e->getMessage()); } } /** * 订单列表 * @param $where * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function lst($where) { $model = new self; if(isset($where['uid']) && $where['uid'] !=0) $model = $model->where('uid',$where['uid']); if(isset($where['data']) && $where['data'] !='') $model = $model->getModelTime($where,$model,"pay_time"); if(isset($where['paid']) && $where['paid'] >-1) $model = $model->where('paid',$where['paid']); if(isset($where['status']) && $where['status'] >-4) $model = $model->where('status',$where['status']); if(isset($where['key']) && $where['key'] !='') $model = $model->where('order_id','like',"%".$where['key']."%"); $model = $model->order('id desc'); $count = $model->value('count(id)')?:0; $data = $model->page($where['page'],$where['limit'])->select()->toArray(); return compact('count','data'); } /** * 获取系统订单列表 * @param $where * @return array */ public static function sys_lst($where) { $model = new self; if(isset($where['data']) && $where['data'] !='') $model = $model->getModelTime($where,$model,"add_time"); if(isset($where['paid']) && $where['paid'] >-1) $model = $model->where('paid',$where['paid']); if(isset($where['status']) && $where['status'] >-4) $model = $model->where('status',$where['status']); if(isset($where['key']) && $where['key'] !='') $model = $model->where('order_id','like',"%".$where['key']."%"); $model = $model->order('id desc'); return self::page($model, function ($v){ }, $where); } public static function sign($param) { $param['appid'] = self::$appid; $param['appsecret'] = self::$appsecret; ksort($param); $string = self::toUrlParams($param); $string = md5( $string ); //签名步骤四:所有字符转为大写 $param['sign'] = strtoupper( $string ); unset($param['appsecret']); return $param; } /** * @param $data * * @return string */ protected static function toUrlParams( $data ) { $str = ''; foreach( $data as $key => $value ) { if( $key != "sign" && !is_array( $value ) ) { $str .= '&' . $key . '=' . rawurldecode( $value ); } } $str = ltrim( $str, '&' ); return $str; } }