puzhibing
2026-04-25 1040311651f6b21e4742574ecdd3b144c19bce53
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
@@ -7,10 +7,8 @@
import com.xiaopeng.api.model.operation.XpActivity;
import com.xiaopeng.api.model.operation.XpCoupon;
import com.xiaopeng.api.query.operation.XpActivityPageListQuery;
import com.xiaopeng.api.vo.operation.XpActivityVo;
import com.xiaopeng.common.core.constant.CacheConstants;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.utils.bean.BeanUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.service.IXpActicityCouponService;
import com.xiaopeng.operation.service.IXpActicityService;
@@ -83,20 +81,18 @@
    @GetMapping("/api/v1/mini-program/acticity/firstEnter")
    @ApiOperation(value = "获取是否第一次推送活动", tags = {"小程序-首页活动"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<XpActivityVo> firstEnter(HttpServletRequest request){
    public R<XpActivity> firstEnter(HttpServletRequest request){
        String uid = request.getHeader("XP-Uid");
        ValueOperations<String, String> ops = redisTemplate.opsForValue();
        XpActivity activity = service.activiting(Long.valueOf(uid));
        XpActivityVo ret = new XpActivityVo();
        if (activity !=null) {
            List<XpActicityCoupon> cps = couponService.lambdaQuery().eq(XpActicityCoupon::getActivityId, activity.getId()).list();
            BeanUtils.copyBeanProp(ret, activity);
            Duration duration = Duration.between(LocalDateTime.now(), activity.getEndTime());
            Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(activity.getId()), uid),"1", duration);
            ret.setIsFirst(isFirst);
            ret.setCoupons(cps);
            activity.setIsFirst(isFirst);
            activity.setCoupons(cps);
        }
        return R.ok(ret);
        return R.ok(activity);
    }