xuhy
2024-08-17 c0e2849274aa58d8075359ca9a9006c0627aa0e8
支付宝小程序登录
15个文件已修改
2个文件已删除
1个文件已添加
486 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/query/ChangeUserQuery.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/Constant/AliConstant.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/JsonUtils.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/WxAppletTools.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/WxCaffineCache.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/query/ChangeUserQuery.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.api.query;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "用户选择列表Query")
public class ChangeUserQuery extends BasePage {
    @ApiModelProperty(value = "用户名称")
    private String nickName;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -16,6 +16,7 @@
import com.ruoyi.other.api.domain.TUserSite;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.dto.IndexDto;
import com.ruoyi.system.domain.vo.UserRoleVO;
import com.ruoyi.system.api.model.*;
@@ -110,6 +111,15 @@
    }
    /**
     * 获取用户选择列表
     */
    @PostMapping("/getChangeUserList")
    @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"})
    public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) {
        return AjaxResult.success(userService.getChangeUserList(query));
    }
    /**
     * 新增用户
     */
    @Log(title = "用户管理", businessType = BusinessType.INSERT)
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.query.GetSysUserList;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.system.api.domain.SysUser;
@@ -139,4 +140,12 @@
    List<Long> getSysUserFromPhone(@Param("phoneNumber") String phoneNumber);
    void deleteSysUser(@Param("userIds") ArrayList<Integer> userIds);
    /**
     * 获取用户选择列表
     * @param pageInfo
     * @param query
     * @return
     */
    List<SysUser> getChangeUserList(@Param("pageInfo")PageInfo<SysUser> pageInfo,@Param("query") ChangeUserQuery query);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.query.GetSysUserList;
/**
@@ -218,4 +219,10 @@
    void deleteSysUser(ArrayList<Integer> userIds);
    /**
     * 获取用户选择列表
     * @param query
     * @return
     */
    PageInfo<SysUser> getChangeUserList(ChangeUserQuery query);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -15,6 +15,7 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
@@ -609,4 +610,11 @@
        this.baseMapper.deleteSysUser(userIds);
    }
    @Override
    public PageInfo<SysUser> getChangeUserList(ChangeUserQuery query) {
        PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
        List<SysUser> list = this.baseMapper.getChangeUserList(pageInfo, query);
        return pageInfo.setRecords(list);
    }
}
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -155,8 +155,23 @@
    <select id="getSysUserFromPhone" resultType="java.lang.Long">
        select user_id from sys_user  where phonenumber =#{phoneNumber}
    </select>
    <select id="getChangeUserList" resultType="com.ruoyi.system.api.domain.SysUser">
        select
            user_id AS userId,
            nick_name AS nickName,
            create_time AS createTime,
            remark AS remark
        from sys_user
        <where>
            <if test="query.nickName != null and query.nickName != ''">
                AND nick_name LIKE concat('%',#{query.nickName},'%')
            </if>
            AND del_flag = '0'
        </where>
        ORDER BY create_time DESC
    </select>
    <insert id="insertUser" parameterType="com.ruoyi.system.api.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
    <insert id="insertUser" parameterType="com.ruoyi.system.api.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
         insert into sys_user(
             <if test="userId != null and userId != 0">user_id,</if>
             <if test="deptId != null and deptId != 0">dept_id,</if>
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/Constant/AliConstant.java
@@ -6,5 +6,8 @@
     * 支付宝配置
     */
    public static final String GRANT_TYPE = "authorization_code";
    /**
     * 获取token接口地址
     */
    public static final String LOGIN_SERVER_URL = "https://openapi.alipay.com/gateway.do";
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java
@@ -1,6 +1,14 @@
package com.ruoyi.account.ali.tools;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
import com.alipay.api.request.AlipayUserUserinfoShareRequest;
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
import com.alipay.api.response.AlipayUserUserinfoShareResponse;
import com.ruoyi.account.ali.Constant.AliConstant;
import com.ruoyi.account.ali.model.AliProperties;
import lombok.extern.slf4j.Slf4j;
@@ -13,8 +21,14 @@
@Slf4j
public class AliAppletTools {
    private static final String SERVER_URL = "https://openapi.alipay.com/gateway.do";
    //设置连接池中的最大可缓存的空闲连接数
    private static final Integer MaxIdleConnections = 5;
    //连接超时,单位:毫秒,默认3000
    private static final Integer ConnectTimeout = 3000;
    //读取超时,单位:毫秒,默认15000
    private static final Integer ReadTimeout = 15000;
    //空闲连接存活时间,单位:毫秒,默认10000L
    private static final Long KeepAliveDuration = 10000L;
    private AliProperties aliProperties;
    public AliAppletTools(AliProperties aliProperties) {
@@ -22,15 +36,57 @@
    }
    /**
     * 支付宝小程序授权登录接口
     * @param code
     * @return
     */
    public AlipaySystemOauthTokenResponse login(String code) {
        try {
            // 初始化SDK
            AlipayClient alipayClient = new DefaultAlipayClient(new AliAppletTools(aliProperties).getAlipayConfig(AliConstant.LOGIN_SERVER_URL));
            // 构造请求参数以调用接口
            AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
            // 设置授权码
            request.setCode(code);
            // 设置授权方式
            request.setGrantType(AliConstant.GRANT_TYPE);
            return alipayClient.execute(request);
        } catch (AlipayApiException e) {
            throw new RuntimeException(e);
        }
    }
    /**
     * 支付宝小程序授权获取手机号
     * @return
     */
    public AlipayUserUserinfoShareResponse getUserInfo(String accessToken) {
        try {
            // 初始化SDK
            AlipayClient alipayClient = new DefaultAlipayClient(new AliAppletTools(aliProperties).getAlipayConfig(AliConstant.LOGIN_SERVER_URL));
            //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.user.userinfo.share
            AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();
            //授权类接口执行API调用时需要带上accessToken
            return alipayClient.execute(request,accessToken);
        } catch (AlipayApiException e) {
            throw new RuntimeException(e);
        }
    }
    /**
     * 初始化支付宝配置
     * @return
     */
    public AlipayConfig getAlipayConfig() {
    public AlipayConfig getAlipayConfig(String serverUrl) {
        AlipayConfig alipayConfig = new AlipayConfig();
        alipayConfig.setServerUrl(SERVER_URL);
        alipayConfig.setServerUrl(serverUrl);
        alipayConfig.setAppId(aliProperties.getAppId());
        alipayConfig.setPrivateKey(aliProperties.getPrivateKey());
        alipayConfig.setAlipayPublicKey(aliProperties.getAlipayPublicKey());
        alipayConfig.setMaxIdleConnections(MaxIdleConnections);
        alipayConfig.setConnectTimeout(ConnectTimeout);
        alipayConfig.setReadTimeout(ReadTimeout);
        alipayConfig.setKeepAliveDuration(KeepAliveDuration);
        return alipayConfig;
    }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
@@ -7,6 +7,7 @@
import com.alipay.api.diagnosis.DiagnosisUtils;
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
import com.alipay.api.response.AlipayUserUserinfoShareResponse;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.account.ali.Constant.AliConstant;
@@ -48,44 +49,23 @@
    private AliProperties aliProperties;
    @Autowired
    private TAppUserService appUserService;
    @Autowired
    private TokenService tokenService;
    @ApiOperation(value = "通过code获得openid",tags = {"支付宝小程序登录"})
    @GetMapping("/openIdByJsCode")
    public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestParam(name = "code")@ApiParam(value = "code", required = true) String code) throws AlipayApiException {
    public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestParam(name = "code")@ApiParam(value = "code", required = true) String code){
        log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", code);
        // 初始化SDK
        AlipayClient alipayClient = new DefaultAlipayClient(new AliAppletTools(aliProperties).getAlipayConfig());
        // 构造请求参数以调用接口
        AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
        // 设置授权码
        request.setCode(code);
        // 设置授权方式
        request.setGrantType(AliConstant.GRANT_TYPE);
        AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
        TAppUser appUser = null;
        // 登录
        AlipaySystemOauthTokenResponse response = new AliAppletTools(aliProperties).login(code);
        if (response.isSuccess()) {
            String openId = response.getOpenId();
            appUser = appUserService.getOne(Wrappers.lambdaQuery(TAppUser.class).eq(TAppUser::getAliOpenid, openId).last("limit 1"));
            if (Objects.isNull(appUser)) {
                appUser = new TAppUser();
                appUser.setWxOpenid(openId);
                appUserService.save(appUser);
            }
            log.info("支付宝小程序登录调用成功");
            // 获取用户信息
            AlipayUserUserinfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken());
            log.info("获取支付宝用户信息:{}", userInfo);
            // 用户信息封装
            return AjaxResult.ok(appUserService.aliLogin(response,userInfo));
        } else {
             String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
             log.warn("诊断结果:{}",diagnosisUrl);
             throw new ServiceException("支付宝小程序登录失败");
        }
        LoginUserApplet loginUserApplet = new LoginUserApplet();
        if(ObjectUtils.isNotNull(appUser)){
            loginUserApplet.setUserId(appUser.getId());
        }
        HashMap<String, Object> tokenInfos = new HashMap<>();
        tokenInfos.put("token",tokenService.createTokenApplet(loginUserApplet));
        tokenInfos.put("info",loginUserApplet);
        return AjaxResult.ok(tokenInfos);
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -71,7 +71,7 @@
    public AjaxResult<List<TAppUserCar>> carList() {
        // todo 用户id
        List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>()
                .eq("app_user_id",tokenService.getLoginUserApplet().getUserid() ));
                .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()));
        return AjaxResult.ok(appUserId);
    }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -62,6 +62,6 @@
        }
        AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
        appletUserDecodeData.setOpenId(openid);
        return AjaxResult.ok(appUserService.login(appletUserDecodeData));
        return AjaxResult.ok(appUserService.wxLogin(appletUserDecodeData));
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java
@@ -1,5 +1,7 @@
package com.ruoyi.account.service;
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
import com.alipay.api.response.AlipayUserUserinfoShareResponse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
@@ -21,6 +23,19 @@
     * @param appletUserDecodeData
     * @return
     */
    Map<String, Object> login(AppletUserDecodeData appletUserDecodeData);
    Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData);
    /**
     * 支付宝小程序登录用户封装
     * @param userInfo
     * @return
     */
    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,AlipayUserUserinfoShareResponse userInfo);
    /**
     * 封装用户信息和token
     * @param appUser
     * @return
     */
    Map<String, Object> getUserInfo(TAppUser appUser);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.account.service.impl;
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
import com.alipay.api.response.AlipayUserUserinfoShareResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -32,27 +34,22 @@
    @Autowired
    private TokenService tokenService;
    @Override
    public Map<String, Object> login(AppletUserDecodeData appletUserDecodeData) {
    public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) {
        // 通过手机号查询用户,是否已存在手动导入用户
        TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
                .isNull(TAppUser::getWxOpenid)
                .last("LIMIT 1"));
        LambdaQueryWrapper<TAppUser> wrapper = Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getWxOpenid, appletUserDecodeData.getOpenId());
        if(Objects.isNull(appUser)){
            // 先使用openId和当前手机号进行查询
            wrapper.eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
                    .last("LIMIT 1");
            appUser = this.getOne(wrapper);
            appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                    .eq(TAppUser::getWxOpenid, appletUserDecodeData.getOpenId())
                    .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
                    .last("LIMIT 1"));
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(appletUserDecodeData.getPhoneNumber());
            }
        }else {
            wrapper.last("LIMIT 1");
            // 删除小程序原有授权用户
            this.remove(wrapper);
        }
        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
        appUser.setCity(appletUserDecodeData.getCity());
@@ -60,6 +57,38 @@
        appUser.setProvince(appletUserDecodeData.getProvince());
        appUser.setWxOpenid(appletUserDecodeData.getOpenId());
        this.saveOrUpdate(appUser);
        return this.getUserInfo(appUser);
    }
    @Override
    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserUserinfoShareResponse userInfo) {
        // 通过手机号查询用户,是否已存在手动导入用户
        TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone, userInfo.getMobile())
                .isNull(TAppUser::getAliOpenid)
                .last("LIMIT 1"));
        if(Objects.isNull(appUser)){
            // 先使用openId和当前手机号进行查询
            appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                    .eq(TAppUser::getAliOpenid, response.getOpenId())
                    .eq(TAppUser::getPhone, userInfo.getMobile())
                    .last("LIMIT 1"));
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(userInfo.getMobile());
            }
        }
        appUser.setAvatar(userInfo.getAvatar());
        appUser.setCity(userInfo.getCity());
        appUser.setName(userInfo.getNickName());
        appUser.setProvince(userInfo.getProvince());
        appUser.setAliOpenid(response.getOpenId());
        this.saveOrUpdate(appUser);
        return this.getUserInfo(appUser);
    }
    @Override
    public Map<String, Object> getUserInfo(TAppUser appUser) {
        LoginUserApplet loginUserApplet = new LoginUserApplet();
        if(ObjectUtils.isNotNull(appUser)){
            loginUserApplet.setUserId(appUser.getId());
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/JsonUtils.java
File was deleted
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/WxAppletTools.java
@@ -58,12 +58,6 @@
    private RestTemplate wxRestTemplate;
    private WxCacheTemplate<String> wxCacheTemplate;
    public WxAppletTools(RestTemplate wxRestTemplate, WeixinProperties wxConfig, WxCaffineCache wxCacheTemplate) {
        this.wxRestTemplate = wxRestTemplate;
        this.wxCacheTemplate = wxCacheTemplate;
        this.wxConfig = wxConfig;
    }
    public WxAppletTools(RestTemplate wxRestTemplate, WeixinProperties wxConfig) {
        this.wxRestTemplate = wxRestTemplate;
        this.wxConfig = wxConfig;
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/tools/WxCaffineCache.java
File was deleted
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
@@ -30,8 +30,9 @@
        FROM t_accounting_strategy
        <where>
            <if test="query.name != null and query.name != ''">
                AND  `name` LIKE concat('%',#{query.name}, '%')
                AND `name` LIKE concat('%',#{query.name}, '%')
            </if>
            AND site_id IS NULL
            AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -47,7 +47,7 @@
    @PostMapping(value = "/getCar")
    public R<Long> getCar() {
        List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>()
                .eq(TChargingOrder::getAppUserId, tokenService.getLoginUserApplet().getUserid())
                .eq(TChargingOrder::getAppUserId, tokenService.getLoginUserApplet().getUserId())
                .isNotNull(TChargingOrder::getAppUserCarId));
        if (!list.isEmpty()){
            // 最近使用的车辆id