AdvertisementOrderPostServiceImpl.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.cyksj.service.advertisement.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.cyksj.common.util.Jsons;
  7. import com.cyksj.common.util.StringUtil;
  8. import com.cyksj.mapper.advertisement.AdvertisementOrderPostMapper;
  9. import com.cyksj.model.entity.AdvertisementOrderPost;
  10. import com.cyksj.service.advertisement.AdvertisementOrderPostService;
  11. import com.cyksj.service.advertisement.postdata.AbstractPostDataService;
  12. import com.cyksj.service.advertisement.postdata.PostDataFactory;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.util.Assert;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. /**
  20. * @author chan
  21. * @date 2023/5/16 11:05 AM
  22. */
  23. @Service
  24. @Slf4j
  25. public class AdvertisementOrderPostServiceImpl extends ServiceImpl<AdvertisementOrderPostMapper, AdvertisementOrderPost> implements AdvertisementOrderPostService {
  26. @Override
  27. public void postData(Long orderId) throws Exception {
  28. AdvertisementOrderPost orderPost = this.getOne(Wrappers.lambdaQuery(AdvertisementOrderPost.class).eq(AdvertisementOrderPost::getOrderId, orderId).eq(AdvertisementOrderPost::getStatus, Boolean.FALSE));
  29. if (orderPost == null) {
  30. log.info("post 数据 不了存在 id:{}", orderId);
  31. return;
  32. }
  33. post(orderId, orderPost);
  34. }
  35. @Override
  36. public void savePostData(Long orderId, String callback, String callbackType) {
  37. if (AdvertisementOrderPost.Type.verify(callbackType) && StringUtils.isNotBlank(callback)) {
  38. log.info("订单数据回传添加记录:{},type:{},orderType:{}", orderId, callbackType);
  39. AdvertisementOrderPost.Type byType = AdvertisementOrderPost.Type.getByType(callbackType);
  40. this.save(new AdvertisementOrderPost().setCallback(callback).setEvenType(byType.getEvenType()).setOrderId(orderId).setType(byType));
  41. }
  42. }
  43. /**
  44. * 数据回传
  45. */
  46. private void post(Long orderId, AdvertisementOrderPost orderPost) throws Exception {
  47. AbstractPostDataService postStrategy = PostDataFactory.getPostStrategy(orderPost.getType().getType());
  48. Assert.notNull(postStrategy, "回传渠道类型不存在。");
  49. postStrategy.postData(orderId, orderPost.getCallback(), orderPost.getEvenType());
  50. }
  51. }