| | |
| | | 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; |
| | |
| | | @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); |
| | | } |
| | | |
| | | |