zoujiajian 3 سال پیش
والد
کامیت
fbc32be23c
1فایلهای تغییر یافته به همراه31 افزوده شده و 0 حذف شده
  1. 31 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

+ 31 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

@@ -2,12 +2,14 @@ package com.cyksj.web.controller.manage;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.Method;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GroupsRelationMapper;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeSharedMapper;
+import com.cyksj.mapper.market.task.UserBindDetailMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.views.UserView;
 import com.cyksj.model.views.RenewalView;
@@ -17,13 +19,16 @@ import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
+import com.google.common.collect.Lists;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @author chan
@@ -101,4 +106,30 @@ public class CmsUserController{
     }
 
 
+    /**
+     * 批量发送 http://sms-api.luosimao.com/v1/send_batch.[json|xml]
+     */
+    private final UserBindDetailMapper bindDetailMapper;
+    @GetMapping("/batch/send/msg")
+    public Result<String> batchSendMsg() throws IOException, InterruptedException {
+        String apiKey = "key-246cd85eb5603c3d4924531e5d5c4edc";
+        String url = "http://sms-api.luosimao.com/v1/send_batch.json";
+        List<UserBindDetail> userBindDetails = bindDetailMapper.selectList(Wrappers.lambdaQuery(UserBindDetail.class)
+                .ne(UserBindDetail::getPhone, StrUtil.EMPTY));
+        List<String> collect = userBindDetails.stream().map(UserBindDetail::getPhone).collect(Collectors.toList());
+        List<List<String>> partition = Lists.partition(collect, 200);
+        System.out.println(partition.size());
+        for (List<String> list : partition) {
+                    cn.hutool.http.HttpRequest request = new cn.hutool.http.HttpRequest(url);
+        request.setMethod(Method.POST);
+        request.basicAuth("api", apiKey);
+            request.form("mobile_list", list.stream().collect(Collectors.joining(",")));
+        request.form("message", "银河录像局官网https://nf.video,公众号:银河录像局助手,95折优惠码:nf.video 回复“TD”退订【银河录像局】");
+        cn.hutool.http.HttpResponse execute = request.execute();
+        System.out.println(execute.body());
+        }
+
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+
+    }
 }