xuhy
2026-03-11 ef32f6913325bb593d537b4ff433545f73ecb79a
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
@@ -16,8 +16,10 @@
import com.xiaopeng.api.dto.account.UserResourcesDto;
import com.xiaopeng.api.feignClient.account.UserResourcesClient;
import com.xiaopeng.api.feignClient.account.XpAppUserClient;
import com.xiaopeng.api.feignClient.operation.XpCouponClient;
import com.xiaopeng.api.feignClient.operation.XpOpenCityClient;
import com.xiaopeng.api.model.account.XpAppUserCoupon;
import com.xiaopeng.api.model.operation.XpCoupon;
import com.xiaopeng.api.vo.account.UserCouponVo;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
@@ -48,12 +50,14 @@
    private final IXpAppUserCouponService xpAppUserCouponService;
    private final XpOpenCityClient xpOpenCityClient;
    private final UserResourcesClient userResourcesClient;
    private final XpCouponClient xpCouponClient;
    public XpAppUserCouponController(IXpAppUserCouponService xpAppUserCouponService, XpOpenCityClient xpOpenCityClient, UserResourcesClient userResourcesClient) {
    public XpAppUserCouponController(IXpAppUserCouponService xpAppUserCouponService, XpOpenCityClient xpOpenCityClient, UserResourcesClient userResourcesClient, XpCouponClient xpCouponClient) {
        this.xpAppUserCouponService = xpAppUserCouponService;
        this.xpOpenCityClient = xpOpenCityClient;
        this.userResourcesClient = userResourcesClient;
        this.xpCouponClient = xpCouponClient;
    }
@@ -71,7 +75,7 @@
        UserCouponVo userCouponVo = new UserCouponVo();
        // 获取用户所有优惠券
        List<XpAppUserCoupon> couponList = xpAppUserCouponService.list(new LambdaQueryWrapper<XpAppUserCoupon>().eq(XpAppUserCoupon::getStatus, 1).eq(XpAppUserCoupon::getAppUserId,dto.getUserId()).apply("FIND_IN_SET({0}, open_city_id)", dto.getOpenCityId()) );
        List<XpAppUserCoupon> couponList = xpAppUserCouponService.list(new LambdaQueryWrapper<XpAppUserCoupon>().eq(XpAppUserCoupon::getStatus, 1).eq(XpAppUserCoupon::getAppUserId,dto.getUserId()).apply("(FIND_IN_SET({0}, open_city_id) or open_city_id='0')", dto.getOpenCityId()) );
        if(couponList.isEmpty()){
            return R.ok(userCouponVo);
        }
@@ -175,6 +179,11 @@
                    vo.setApplicableCities(r.getData());
                }
            }
            R<XpCoupon> coupon1 = xpCouponClient.getCouponById(coupon.getCouponId());
            if(coupon1!=null){
                XpCoupon xpCoupon = coupon1.getData();
                vo.setCouponDesc(xpCoupon.getCouponDescription());
            }
            return R.ok(vo);
        }
        return R.ok(null);