开通创建签名审核,
    1依赖jar包

    1. <!-- 阿里云-短信服务SMS -->
    2. <dependency>
    3. <groupId>com.aliyun</groupId>
    4. <artifactId>dysmsapi20170525</artifactId>
    5. <version>2.0.8</version>
    6. </dependency>

    2工具类

    1. package com.feri.sq.utils;
    2. import com.aliyun.dysmsapi20170525.Client;
    3. import com.aliyun.tea.*;
    4. import com.aliyun.dysmsapi20170525.*;
    5. import com.aliyun.dysmsapi20170525.models.*;
    6. import com.aliyun.teaopenapi.*;
    7. import com.aliyun.teaopenapi.models.*;
    8. import com.feri.sq.config.SystemConfig;
    9. /**
    10. * @author Feri
    11. * @date 2021/12/31 10:06
    12. * @description:TODO
    13. */
    14. public class AliSmsUtils {
    15. private static Client client;
    16. //完成初始化
    17. static {
    18. Config config = new Config()
    19. // 您的AccessKey ID
    20. .setAccessKeyId(SystemConfig.ALI_KEY)
    21. // 您的AccessKey Secret
    22. .setAccessKeySecret(SystemConfig.ALI_SEC);
    23. // 访问的域名
    24. config.endpoint = "dysmsapi.aliyuncs.com";
    25. try {
    26. client=new Client(config);
    27. } catch (Exception e) {
    28. e.printStackTrace();
    29. }
    30. }
    31. /**
    32. * 发送验证码
    33. * @param code 验证码
    34. * @param phone 手机号
    35. * @param temcode 模板code*/
    36. public static boolean sendCode(String temcode,String phone,int code){
    37. //1.准备请求参数
    38. SendSmsRequest sendSmsRequest = new SendSmsRequest()
    39. .setPhoneNumbers(phone)
    40. .setSignName("来自邢朋辉的短信")
    41. .setTemplateCode(temcode)
    42. .setTemplateParam("{\"code\":"+code+"}");
    43. try {
    44. //2.发送短信,获取响应结果
    45. SendSmsResponse response=client.sendSms(sendSmsRequest);
    46. //3.返回结果
    47. return response.getBody().code.equals("OK");
    48. } catch (Exception e) {
    49. e.printStackTrace();
    50. }
    51. return false;
    52. }
    53. }

    jedis工具类

    1. package com.feri.sq.utils;
    2. import redis.clients.jedis.GeoRadiusResponse;
    3. import redis.clients.jedis.GeoUnit;
    4. import redis.clients.jedis.Jedis;
    5. import java.util.List;
    6. import java.util.Map;
    7. /**
    8. * @author Feri
    9. * @date 2021/12/30 14:01
    10. * @description:TODO Java操作Redis
    11. */
    12. public class JedisUtils {
    13. private static Jedis jedis;
    14. static {
    15. //完成实例化,连接Redis服务器
    16. jedis=new Jedis("49.235.88.52",6380);
    17. //jedis.auth("zzjava");
    18. }
    19. //新增
    20. /**
    21. * String类型 新增*/
    22. public static void addString(String key,String value,long seconds){
    23. jedis.setex(key, seconds, value);
    24. }
    25. public static void addString(String key,String value){
    26. jedis.set(key, value);
    27. }
    28. public static void addHash(String key,String field,String value){
    29. jedis.hset(key, field, value);
    30. }
    31. public static void addHash(String key, Map<String,String> map){
    32. jedis.hmset(key, map);
    33. }
    34. public static void addList(String key,String value){
    35. jedis.lpush(key,value);
    36. }
    37. public static void addGeo(String key,double lon,double lat,String address){
    38. jedis.geoadd(key, lon, lat, address);
    39. }
    40. //查询
    41. public static String getString(String key){
    42. return jedis.get(key);
    43. }
    44. //校验
    45. public static boolean exists(String... keys){
    46. return jedis.exists(keys)>0;
    47. }
    48. public static boolean existsHash(String key,String field){
    49. return jedis.hexists(key, field);
    50. }
    51. //删除
    52. public static void delKey(String key){
    53. jedis.del(key);
    54. }
    55. public static void delHash(String key,String field){
    56. jedis.hdel(key,field);
    57. }
    58. //geo操作
    59. public static double geodist(String key,String address1,String address2){
    60. return jedis.geodist(key, address1, address2, GeoUnit.M);
    61. }
    62. public static List<GeoRadiusResponse> georadius(String key, double lon, double lat, double radius){
    63. return jedis.georadius(key,lon,lat,radius,GeoUnit.M);
    64. }
    65. //系统命令
    66. public static void expire(String key,long seconds){
    67. jedis.expire(key, seconds);
    68. }
    69. public static long ttl(String key){
    70. return jedis.ttl(key);
    71. }
    72. public static void main(String[] args) {
    73. //String类型
    74. jedis.set("str2112","Hello Word");//新增或修改
    75. System.err.println(jedis.get("str2112"));//获取
    76. System.err.println(jedis.strlen("str2112"));//长度
    77. //List类型
    78. jedis.lpush("list2112","1","2","3");
    79. jedis.rpush("list2112","a","b","c");
    80. //321abc
    81. System.err.println(jedis.lrange("list2112",0,jedis.llen("list2112")-1));
    82. System.err.println(jedis.lpop("list2112"));
    83. System.err.println(jedis.rpop("list2112"));
    84. //Hash类型
    85. jedis.hset("hash2112","1","www");
    86. System.err.println(jedis.hget("hash2112","1"));
    87. System.err.println(jedis.hexists("hash2112","1"));
    88. //Set类型
    89. jedis.sadd("set2112","w","e","r");
    90. System.err.println(jedis.smembers("set2112"));
    91. System.err.println(jedis.sismember("set2112","w"));
    92. }
    93. }

    oss工具类

    package com.feri.sq.utils;
    
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    import com.feri.sq.config.SystemConfig;
    
    import java.io.ByteArrayInputStream;
    import java.util.Date;
    
    /**
     * @author Feri
     * @date 2021/12/28 16:30
     * @description:TODO 阿里云-对象存储-OSS
     */
    public class AliOssUtils {
        // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
        static String endpoint = "oss-cn-beijing.aliyuncs.com";
    
        static String bucket="data2112";
    
        // 创建OSSClient实例。
        public static OSS ossClient ;
        static {
            ossClient= new OSSClientBuilder().build(endpoint, SystemConfig.ALI_KEY, SystemConfig.ALI_SEC);
        }
        /**
         * 实现资源上传,并获取访问路径*/
        public static String upload(String obj, byte[] data, Date date){
            //1.实现资源上传
            ossClient.putObject(bucket,obj,new ByteArrayInputStream(data));
            //2.生成访问路径
            return ossClient.generatePresignedUrl(bucket,obj,date).toString();
        }
        /**
         * 实现资源的删除*/
        public static boolean delete(String obj){
            try{
                ossClient.deleteObject(bucket,obj);
                return true;
            }catch (Exception e){
                return false;
            }
        }
        /**
         * 验证资源是否存在*/
        public static boolean exists(String obj){
            return ossClient.doesObjectExist(bucket,obj);
        }
        /**
         * 创建对象的访问链接*/
        public static String createUrl(String obj,Date date){
            return ossClient.generatePresignedUrl(bucket,obj,date).toString();
        }
    }
    

    随机数工具类

    package com.feri.sq.utils;
    
    import java.util.Random;
    
    /**
     * @author Feri
     * @date 2021/12/31 10:20
     * @description:TODO
     */
    public class NumUtils {
        /**
         * 随机生成指定位数的数字*/
        public static int createNum(int len){
            Random random=new Random();
            return random.nextInt((int)(Math.pow(10,len)-Math.pow(10,len-1)))
                    +(int)Math.pow(10,len-1);
        }
    }
    

    非空校验工具类

    package com.feri.sq.utils;
    
    /**
     * @author Feri
     * @date 2021/12/31 11:40
     * @description:TODO
     */
    public class StringUtils {
    
        /**
         * 对字符串进行非空校验*/
        public static boolean isNotEmpty(String... strs){
            boolean r=true;
            for(String s:strs){
                if(s==null || s.length()==0){
                    r=false;
                    break;
                }
            }
            return r;
        }
    }
    

    image.png