Helius
2021-08-04 84a3ef10e4219ad844e6ea86af65d8dec84f28d4
gc-user/src/test/java/SpringTest.java
@@ -1,8 +1,11 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.StrFormatter;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.xzx.gc.GcUserApplication;
import com.xzx.gc.common.Result;
@@ -10,9 +13,11 @@
import com.xzx.gc.common.constant.Constants;
import com.xzx.gc.common.utils.RedisUtil;
import com.xzx.gc.common.utils.gdmap.GdTraceUtil;
import com.xzx.gc.common.utils.wxpay.WxUtil;
import com.xzx.gc.entity.*;
import com.xzx.gc.user.mapper.UserBatchMapper;
import com.xzx.gc.user.service.*;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +25,8 @@
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -28,9 +35,10 @@
import java.util.stream.Collectors;
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {GcUserApplication.class})
@ActiveProfiles(profiles = {"temp"})
@ActiveProfiles(profiles = {"xc"})
public class SpringTest {
@@ -211,6 +219,42 @@
    }
    @Autowired
    private WxUtil wxUtil;
    @Test
    public void acodeTest() {
        String path = "pages/login/login?poster=18390984915&chiefId=YH1417670707298828288";
        String imgPath = "/Users/helius/Desktop/YH1417670707298828288_acode.jpg";
        String url = StrFormatter.format("https://api.weixin.qq.com/wxa/getwxacode?access_token={}", wxUtil.getAccessToken());
        cn.hutool.json.JSONObject obj = JSONUtil.createObj();
        obj.put("path", path);
        //最小 280px,最大 1280px
        obj.put("width", "800px");
        obj.put("auto_color", false);
        cn.hutool.json.JSONObject obj2 = JSONUtil.createObj();
        obj2.put("r", 0);
        obj2.put("g", 0);
        obj2.put("b", 0);
        obj.put("line_color", obj2);
        //是否需要透明底色,为 true 时,生成透明底色的小程序码
        obj.put("is_hyaline", false);
        try {
            InputStream inputStream = HttpRequest.post(url).body(obj.toString(), "application/json").execute().bodyStream();
            File file = new File(imgPath);
            FileUtil.writeFromStream(inputStream, file);
            long uploadUrl = FileUtil.size(file);
            //小于10kb重新生成
            if(uploadUrl<= Constants.MIN_FILE_SIZE){
                log.error("生成微信小程序码失败:图片大小异常:{}",uploadUrl);
            }
        } catch (Exception e) {
            log.error("生成微信小程序码失败",e);
        }
    }
}