| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace app\controller\api;
- use app\extra\basic\Base;
- use app\middleware\WxMiddleware;
- use app\model\saas\SaasUserOpen;
- use LinFly\Annotation\Route\Controller;
- use LinFly\Annotation\Route\Route;
- use LinFly\Annotation\Route\Middleware;
- use support\Request;
- use support\Response;
- #[Controller(prefix: "/wx_api/user"),Middleware(WxMiddleware::class)]
- class User extends Base
- {
- #[Route(path: "data",methods: "get")]
- public function getUserData(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "shop.require" => trans("empty.require"),
- ],$request->method());
- if (!is_array($param)) return error($param);
- $user = $request->user;
- if (empty($user)) return errorTrans("empty.data");
- $member = (new SaasUserOpen)->where("openid",$user['openid'])->with(['vip' => function($query) use($param){
- $query->where("shop_id",$param['shop'])->field("openid,shop_id,ROUND(balance/100,2) as f_balance,ROUND(total_balance/100,2) as f_total_balance,ROUND(total_consume/100,2) as f_total_consume,card_no");
- }])->field("openid,headimg,nickname")->append(["coupon"])->withAttr(['coupon' => function(){
- return 0;
- }])->findOrEmpty();
- return success("ok",$member->toArray());
- } catch (\Throwable $th) {
- return error($th->getMessage());
- }
- }
- }
|