xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivity.javacopy from xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicity.java copy to xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivity.java
File was copied from xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicity.java @@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -25,7 +26,7 @@ @Accessors(chain = true) @TableName("xp_acticity") @ApiModel(value="XpActicity对象", description="活动管理") public class XpActicity { public class XpActivity implements Serializable { private static final long serialVersionUID = 1L; @@ -60,8 +61,5 @@ @ApiModelProperty(value = "图片") private String img; @ApiModelProperty(value = "是否第一次 1=是 0=否") private Boolean isFirst; } xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpActivityVo.java
File was renamed from xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActicity.java @@ -1,4 +1,4 @@ package com.xiaopeng.api.model.operation; package com.xiaopeng.api.vo.operation; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -23,9 +24,8 @@ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("xp_acticity") @ApiModel(value="XpActicity对象", description="活动管理") public class XpActicity { public class XpActivityVo implements Serializable { private static final long serialVersionUID = 1L; @@ -63,5 +63,4 @@ @ApiModelProperty(value = "是否第一次 1=是 0=否") private Boolean isFirst; } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
@@ -1,7 +1,8 @@ package com.xiaopeng.operation.controller; import com.xiaopeng.api.model.operation.XpActicity; import com.xiaopeng.api.model.operation.XpActivity; 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; @@ -61,19 +62,19 @@ */ @PostMapping("/logan/inner/acticity/findListToIds") @ApiOperation(value = "获取活动信息ids", tags = {"管理后台-活动首次进入情况"}) public R<XpActicity> firstEnter(HttpServletRequest request){ public R<XpActivity> firstEnter(HttpServletRequest request){ String uid = request.getHeader("XP-Uid"); ValueOperations<String, String> ops = redisTemplate.opsForValue(); XpActicity acticity = xpActicityService.activiting(); XpActicity ret = new XpActicity(); if (acticity !=null) { BeanUtils.copyBeanProp(ret, acticity); Duration duration = Duration.between(LocalDateTime.now(), acticity.getEndTime()); Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(acticity.getId()), uid),"1", duration); XpActivity activity = xpActicityService.activiting(); XpActivityVo ret = new XpActivityVo(); if (activity !=null) { 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); } return R.ok(acticity); return R.ok(activity); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpActicityMapper.java
@@ -1,7 +1,7 @@ package com.xiaopeng.operation.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xiaopeng.api.model.operation.XpActicity; import com.xiaopeng.api.model.operation.XpActivity; /** * <p> @@ -11,6 +11,6 @@ * @author mitao * @since 2026-02-03 */ public interface XpActicityMapper extends BaseMapper<XpActicity> { public interface XpActicityMapper extends BaseMapper<XpActivity> { } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/IXpActicityService.java
@@ -1,7 +1,7 @@ package com.xiaopeng.operation.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xiaopeng.api.model.operation.XpActicity; import com.xiaopeng.api.model.operation.XpActivity; import java.util.List; @@ -13,10 +13,10 @@ * @author mitao * @since 2026-02-03 */ public interface IXpActicityService extends IService<XpActicity> { public interface IXpActicityService extends IService<XpActivity> { List<String> findListToIds(String acticityName); XpActicity activiting(); XpActivity activiting(); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
@@ -1,7 +1,7 @@ package com.xiaopeng.operation.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.xiaopeng.api.model.operation.XpActicity; import com.xiaopeng.api.model.operation.XpActivity; import com.xiaopeng.operation.mapper.XpActicityMapper; import com.xiaopeng.operation.service.IXpActicityService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -20,25 +20,25 @@ * @since 2026-02-03 */ @Service public class XpActicityServiceImpl extends ServiceImpl<XpActicityMapper, XpActicity> implements IXpActicityService { public class XpActicityServiceImpl extends ServiceImpl<XpActicityMapper, XpActivity> implements IXpActicityService { @Override public List<String> findListToIds(String acticityName){ LambdaQueryWrapper<XpActicity> query = new LambdaQueryWrapper<>(); query.select(XpActicity::getId); query.eq(XpActicity::getDeleted, 0); query.like(XpActicity::getActicityName, acticityName); LambdaQueryWrapper<XpActivity> query = new LambdaQueryWrapper<>(); query.select(XpActivity::getId); query.eq(XpActivity::getDeleted, 0); query.like(XpActivity::getActicityName, acticityName); return listObjs(query, Object::toString); } @Override public XpActicity activiting() { LambdaQueryWrapper<XpActicity> query = new LambdaQueryWrapper<>(); public XpActivity activiting() { LambdaQueryWrapper<XpActivity> query = new LambdaQueryWrapper<>(); LocalDateTime now = LocalDateTime.now(); query.le(XpActicity::getStartTime, now) .ge(XpActicity::getEndTime, now); List<XpActicity> list = list(query); query.le(XpActivity::getStartTime, now) .ge(XpActivity::getEndTime, now); List<XpActivity> list = list(query); if(!list.isEmpty()){ return list.get(new Random().nextInt(list.size())); }