BizUtils.java 2.24 KB
Newer Older
1 2
package com.tanpu.community.util;

张辰's avatar
张辰 committed
3
import com.tanpu.biz.common.enums.RelTypeEnum;
4 5
import com.tanpu.community.api.beans.qo.ThemeContentQo;
import com.tanpu.community.api.beans.qo.ThemeQo;
张辰's avatar
张辰 committed
6
import org.apache.commons.codec.binary.Base64;
7 8 9 10 11 12 13 14 15 16 17 18 19

import java.util.ArrayList;
import java.util.List;

public class BizUtils {

    public static <T> List<T> subList(List<T> list, int start, int size) {
        if (list.isEmpty() || start >= list.size() || start < 0) {
            return new ArrayList<>();
        }
        int realEnd = Math.min(start + size, list.size());
        return list.subList(start, realEnd);
    }
20

21
    public static String getThemeContent(String[] keywords, ThemeQo theme) {
22 23
        for (ThemeContentQo paragraph : theme.content) {
            if (paragraph.getType().equals(RelTypeEnum.TEXT.type)) {
24 25 26 27 28 29 30 31 32 33 34 35
                for (String keyword : keywords) {
                    int idx = paragraph.getValue().indexOf(keyword);

                    if (idx == -1) {
                        continue;
                    } else if (idx < 30) {
                        // 如果关键词在段落偏头部的部分,则全部返回给前端,前端自由展示
                        return paragraph.getValue();
                    } else {
                        // 否则,保留关键词 向前20个字符
                        return "..." + paragraph.getValue().substring(idx - 20);
                    }
36 37 38 39 40
                }
            }
        }
        return "";
    }
刘基明's avatar
刘基明 committed
41 42 43 44 45 46 47 48 49 50 51

    public static String formatCountNumber(Integer number) {
        if (number < 10000) {
            return number.toString();
        } else {
            double d = number * 1.0 / 10000;
            return String.format("%.1f",d)+"w";
        }
    }

    public static void main(String[] args) {
张辰's avatar
张辰 committed
52 53
        String sk = "59V9ke9txaIFzWxHFKTb1eoOOpmKpJ";
        String policy = "{\"expiration\":\"2021-07-30T12:00:00.000Z\",\"conditions\":[[\"content-length-range\",0,1024*1024*1024]]}";
张辰's avatar
张辰 committed
54
        System.out.println(policy);
张辰's avatar
张辰 committed
55 56 57 58 59 60
        String encodePolicy = new String(Base64.encodeBase64(policy.getBytes()));

        String sign = com.aliyun.oss.common.auth.ServiceSignature.create().computeSignature(sk, encodePolicy);

        System.out.println(encodePolicy);
        System.out.println(sign);
刘基明's avatar
刘基明 committed
61
    }
62
}