| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package com.cyksj.web.controller.channel;
- import cn.hutool.core.util.StrUtil;
- import com.cyksj.common.exception.BusinessRuntimeException;
- import com.cyksj.common.util.Jsons;
- import com.cyksj.dto.Result;
- import com.cyksj.enums.GatewayResponse;
- import com.cyksj.mapper.channel.ChannelPopularizeMapper;
- import com.cyksj.mapper.channel.ChannelPopularizeVisitMapper;
- import com.cyksj.mapper.channel.MoviesVisitRecordMapper;
- import com.cyksj.mapper.manage.coupon.CouponSkuMapper;
- import com.cyksj.model.entity.ChannelPopularizeVisit;
- import com.cyksj.model.entity.MoviesVisitRecord;
- import com.cyksj.model.views.ChannelPopularizeFrontView;
- import com.cyksj.model.views.CouponTfPopularizeView;
- import com.cyksj.web.util.StpUserUtil;
- import com.ejlchina.searcher.BeanSearcher;
- import com.ejlchina.searcher.param.Operator;
- import com.ejlchina.searcher.util.MapBuilder;
- import com.ejlchina.searcher.util.MapUtils;
- import lombok.RequiredArgsConstructor;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * @author chan
- * @date 2022/12/13 2:36 PM
- */
- @RequestMapping("/applets/channel")
- @RestController
- @RequiredArgsConstructor
- public class ChannelController {
- private final ChannelPopularizeVisitMapper channelPopularizeVisitMapper;
- private final ChannelPopularizeMapper popularizeMapper;
- private final MoviesVisitRecordMapper moviesVisitRecordMapper;
- private final BeanSearcher beanSearcher;
- private final CouponSkuMapper couponSkuMapper;
- @GetMapping("/get/{id}")
- public Result<ChannelPopularizeFrontView> getById(@PathVariable Long id, Boolean isLogin) {
- ChannelPopularizeFrontView channelPopularize = beanSearcher.searchFirst(ChannelPopularizeFrontView.class, MapUtils.builder()
- .put("id", String.format("id = %s", id))
- .build());
- if (channelPopularize == null) {
- throw BusinessRuntimeException.getInstance("该链接不存在!");
- }
- if (StrUtil.isNotBlank(channelPopularize.getCouponIds())) {
- try {
- List<Long> couponIds = Jsons.parseList(channelPopularize.getCouponIds(), Long.class);
- Long userId = (isLogin != null && !isLogin) ? null : StpUserUtil.getLoginIdAsLong();
- MapBuilder builder = MapUtils.builder().field(CouponTfPopularizeView::getCouponId, couponIds).op(Operator.InList);
- if (userId != null) {
- builder.put("user_id", String.format("and cu.user_id = %s", userId));
- }
- List<CouponTfPopularizeView> couponTfPopularizeViews = beanSearcher.searchAll(CouponTfPopularizeView.class, builder.build());
- couponTfPopularizeViews.forEach(data -> {
- String str = couponSkuMapper.selectGoodsSkuStr(data.getCouponId());
- data.setGoodsSkuStr(str.replaceAll(",", "/").replaceAll(";", ""));
- });
- channelPopularize.setCoupons(couponTfPopularizeViews);
- } catch (Exception e) {
- System.out.println(e.getMessage());
- }
- }
- ChannelPopularizeVisit channelPopularizeVisit = new ChannelPopularizeVisit();
- channelPopularizeVisit.setPopularizeId(id);
- channelPopularizeVisitMapper.insert(channelPopularizeVisit);
- return GatewayResponse.SUCCESS.newBuilder().toResult(channelPopularize);
- }
- /**
- * 记录银河电影浏览量
- */
- @PostMapping("/movies/record/")
- public Result<String> moviesVisitRecord() {
- MoviesVisitRecord moviesVisitRecord = new MoviesVisitRecord();
- moviesVisitRecord.setType(MoviesVisitRecord.Type.movies);
- moviesVisitRecordMapper.insert(moviesVisitRecord);
- return GatewayResponse.SUCCESS.newBuilder().toResult();
- }
- }
|