wangyishuai 2 lat temu
rodzic
commit
90d9b36d9d

+ 0 - 14
src/main/java/cn/efunbox/base/util/BaseConstant.java

@@ -3,20 +3,6 @@ package cn.efunbox.base.util;
 public class BaseConstant {
 
 
-    public static String BIZ_CODE = "1007";
-    public static String ORDER_BIZ_CODE = "1009";
-
-    public static String APP_CODE = "1007";
-
-    public static String MEMBER_ORDER_TYPE = "0";
-
-    public static String PAY_APP_CHANNEL = "yfklxt";
-
-    public static String SUBJECT_KEY = "cn:efunbox:ott:subject_";   //学前主题
-    public static String SCHEDULE_KEY = "cn:efunbox:ott:schedule_";   //小学课程
-
-    public static String VERIFICATION_CODE_PREFIX = "verify:code:mobile_";   //小学课程
-
     public static long WEEK_TIME = 7 * 24 * 60 * 60 * 1000;   //一周时间
 
 }

+ 0 - 238
src/main/java/cn/efunbox/base/util/PayCommonUtil.java

@@ -1,238 +0,0 @@
-package cn.efunbox.base.util;
-
-import com.alibaba.fastjson.JSONObject;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.TrustManager;
-import java.io.*;
-import java.net.ConnectException;
-import java.net.URL;
-import java.util.*;
-
-public class PayCommonUtil {
-    public static String CreateNoncestr(int length) {
-        String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-        String res = "";
-        for (int i = 0; i < length; i++) {
-            Random rd = new Random();
-            res += chars.indexOf(rd.nextInt(chars.length() - 1));
-        }
-        return res;
-    }
-
-    public static String CreateNoncestr() {
-        String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-        String res = "";
-        for (int i = 0; i < 16; i++) {
-            Random rd = new Random();
-            res += chars.charAt(rd.nextInt(chars.length() - 1));
-        }
-        return res;
-    }
-
-
-    /** 
-     * 是否签名正确,规则是:按参数名称a-z排序,遇到空值的参数不参加签名。 
-     * @return boolean 
-     */  
-    public static boolean isTenpaySign(SortedMap<Object, Object> packageParams,String signKey) {
-        StringBuffer sb = new StringBuffer();  
-        Set es = packageParams.entrySet();  
-        Iterator it = es.iterator();  
-        while(it.hasNext()) {  
-            Map.Entry entry = (Map.Entry)it.next();  
-            String k = (String)entry.getKey();  
-            String v = (String)entry.getValue();  
-            if(!"sign".equals(k) && null != v && !"".equals(v)) {  
-                sb.append(k + "=" + v + "&");  
-            }  
-        }  
-
-        sb.append("key=" + signKey);
-
-        //算出摘要  
-        String mysign = MD5.MD5Encode(sb.toString()).toLowerCase();
-        String tenpaySign = ((String)packageParams.get("sign")).toLowerCase();  
-
-        //System.out.println(tenpaySign + "    " + mysign);  
-        return tenpaySign.equals(mysign);  
-    }  
-
-
-    /**
-     * @Description:sign签名
-     * @param parameters 请求参数
-     * @return
-     */
-    public static String createSign(SortedMap<String,String> parameters,String signKey){
-        StringBuffer sb = new StringBuffer();
-        Set es = parameters.entrySet();
-        Iterator it = es.iterator();
-        while(it.hasNext()) {
-            Map.Entry<String,String> entry = (Map.Entry)it.next();
-            String k = entry.getKey();
-            String v = entry.getValue();
-            if(null != v && !"".equals(v) 
-                    && !"sign".equals(k) && !"key".equals(k)) {
-                sb.append(k + "=" + v + "&");
-            }
-        }
-        sb.append("key="+signKey);
-        String sign = MD5.MD5Encode(sb.toString()).toUpperCase();
-        return sign;
-    }
-    /**
-     * @Description:将请求参数转换为xml格式的string
-     * @param parameters  请求参数
-     * @return
-     */
-    public static String getRequestXml(SortedMap<String,String> parameters){
-        StringBuffer sb = new StringBuffer();
-        sb.append("<xml>");
-        Set es = parameters.entrySet();
-        Iterator it = es.iterator();
-        while(it.hasNext()) {
-            Map.Entry<String,String> entry = (Map.Entry)it.next();
-            String k = entry.getKey();
-            String v = entry.getValue();
-            if ("attach".equalsIgnoreCase(k)||"body".equalsIgnoreCase(k)) {
-                sb.append("<"+k+">"+"<![CDATA["+v+"]]></"+k+">");
-            }else {
-                sb.append("<"+k+">"+v+"</"+k+">");
-            }
-        }
-        sb.append("</xml>");
-        return sb.toString();
-    }
-    /**
-     * @Description:返回给微信的参数
-     * @param return_code 返回编码
-     * @param return_msg  返回信息
-     * @return
-     */
-    public static String setXML(String return_code, String return_msg) {
-        return "<xml><return_code><![CDATA[" + return_code
-                + "]]></return_code><return_msg><![CDATA[" + return_msg
-                + "]]></return_msg></xml>";
-    }
-
-
-    /**
-     * 发送https请求
-     * @param requestUrl 请求地址
-     * @param requestMethod 请求方式(GET、POST)
-     * @param outputStr 提交的数据
-     * @return 返回微信服务器响应的信息
-     */
-    public static String httpsRequest(String requestUrl, String requestMethod, String outputStr) {
-        try {
-            // 创建SSLContext对象,并使用我们指定的信任管理器初始化
-            TrustManager[] tm = { new MyX509TrustManager() };
-            SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
-            sslContext.init(null, tm, new java.security.SecureRandom());
-            // 从上述SSLContext对象中得到SSLSocketFactory对象
-            SSLSocketFactory ssf = sslContext.getSocketFactory();
-            URL url = new URL(requestUrl);
-            HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
-            //conn.setSSLSocketFactory(ssf);
-            conn.setDoOutput(true);
-            conn.setDoInput(true);
-            conn.setUseCaches(false);
-            // 设置请求方式(GET/POST)
-            conn.setRequestMethod(requestMethod);
-            conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); 
-            // 当outputStr不为null时向输出流写数据
-            if (null != outputStr) {
-                OutputStream outputStream = conn.getOutputStream();
-                // 注意编码格式
-                outputStream.write(outputStr.getBytes("UTF-8"));
-                outputStream.close();
-            }
-            // 从输入流读取返回内容
-            InputStream inputStream = conn.getInputStream();
-            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
-            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
-            String str = null;
-            StringBuffer buffer = new StringBuffer();
-            while ((str = bufferedReader.readLine()) != null) {
-                buffer.append(str);
-            }
-            // 释放资源
-            bufferedReader.close();
-            inputStreamReader.close();
-            inputStream.close();
-            inputStream = null;
-            conn.disconnect();
-            return buffer.toString();
-        } catch (ConnectException ce) {
-//          log.error("连接超时:{}", ce);
-        } catch (Exception e) {
-//          log.error("https请求异常:{}", e);
-        }
-        return null;
-    }
-
-    /**
-     * 发送https请求
-     * 
-     * @param requestUrl 请求地址
-     * @param requestMethod 请求方式(GET、POST)
-     * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
-     */
-     public static JSONObject httpsRequest(String requestUrl, String requestMethod) {
-            JSONObject jsonObject = null;
-            try {
-                    // 创建SSLContext对象,并使用我们指定的信任管理器初始化
-                    TrustManager[] tm = { new MyX509TrustManager() };
-                    SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
-                    sslContext.init(null, tm, new java.security.SecureRandom());
-                    // 从上述SSLContext对象中得到SSLSocketFactory对象
-                    SSLSocketFactory ssf = sslContext.getSocketFactory();
-                    URL url = new URL(requestUrl);
-                    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
-                    //conn.setSSLSocketFactory(ssf);
-                    conn.setDoOutput(true);
-                    conn.setDoInput(true);
-                    conn.setUseCaches(false);
-                    conn.setConnectTimeout(3000);
-                    // 设置请求方式(GET/POST)
-                    conn.setRequestMethod(requestMethod);
-                    //conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); 
-                    // 当outputStr不为null时向输出流写数据
-                    // 从输入流读取返回内容
-                    InputStream inputStream = conn.getInputStream();
-                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
-                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
-                    String str = null;
-                    StringBuffer buffer = new StringBuffer();
-                    while ((str = bufferedReader.readLine()) != null) {
-                            buffer.append(str);
-                    }
-                    // 释放资源
-                    bufferedReader.close();
-                    inputStreamReader.close();
-                    inputStream.close();
-                    inputStream = null;
-                    conn.disconnect();
-                    jsonObject = JSONObject.parseObject(buffer.toString());
-            } catch (ConnectException ce) {
-//                    log.error("连接超时:{}", ce);
-            } catch (Exception e) {
-                    System.out.println(e);
-//                    log.error("https请求异常:{}", e);
-            }
-            return jsonObject;
-}
-
-    public static String urlEncodeUTF8(String source){
-        String result = source;
-        try {
-            result = java.net.URLEncoder.encode(source,"utf-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        }
-        return result;
-    }
-}

+ 0 - 212
src/main/java/cn/efunbox/base/util/SmsUtil.java

@@ -1,212 +0,0 @@
-package cn.efunbox.base.util;
-
-import cn.efunbox.base.result.ApiCode;
-import cn.efunbox.base.result.ApiResult;
-import com.alibaba.fastjson.JSON;
-import com.aliyuncs.DefaultAcsClient;
-import com.aliyuncs.IAcsClient;
-import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
-import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
-import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
-import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
-import com.aliyuncs.exceptions.ClientException;
-import com.aliyuncs.profile.DefaultProfile;
-import com.aliyuncs.profile.IClientProfile;
-import lombok.extern.slf4j.Slf4j;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * Created on 17/6/7.
- * 短信API产品的DEMO程序,工程中包含了一个SmsDemo类,直接通过
- * 执行main函数即可体验短信产品API功能(只需要将AK替换成开通了云通信-短信产品功能的AK即可)
- * 工程依赖了2个jar包(存放在工程的libs目录下)
- * 1:aliyun-java-sdk-core.jar
- * 2:aliyun-java-sdk-dysmsapi.jar
- *
- * 备注:Demo工程编码采用UTF-8
- * 国际短信发送请勿参照此DEMO
- */
-@Slf4j
-public class SmsUtil {
-
-    // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
-    static final String accessKeyId = "LTAIKVC7LxUTi9tO";
-    static final String accessKeySecret = "4mZUJGWfwbBZUkmYjVJJTAF6uNEKgf";
-    
-
-    public static ApiResult sendSms(String phone) {
-
-        //可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-
-        //初始化acsClient,暂不支持region化
-        DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret);
-        IAcsClient acsClient = new DefaultAcsClient(profile);
-
-        //组装请求对象-具体描述见控制台-文档部分内容
-        SendSmsRequest request = new SendSmsRequest();
-
-        //必填:待发送手机号
-        request.setPhoneNumbers(phone);
-        //必填:短信签名-可在短信控制台中找到
-        request.setSignName("义方快乐学堂");
-        //必填:短信模板-可在短信控制台中找到
-        request.setTemplateCode("SMS_92260012");
-        String code=Code();
-        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-        request.setTemplateParam("{\"code\":"+code+"}");
-
-        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
-        //request.setSmsUpExtendCode("90997");
-
-        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
-        request.setOutId("yourOutId");
-
-        //hint 此处可能会抛出异常,注意catch
-        SendSmsResponse sendSmsResponse = null;
-        try {
-            sendSmsResponse = acsClient.getAcsResponse(request);
-        } catch (ClientException e) {
-            e.printStackTrace();
-        }
-        log.info("sendSms response : {}", JSON.toJSONString(sendSmsResponse));
-
-        if ("OK".equalsIgnoreCase(sendSmsResponse.getCode())) {
-            return ApiResult.ok(code);
-        }
-
-        return ApiResult.error(ApiCode.SIGN);
-    }
-
-
-    public static QuerySendDetailsResponse querySendDetails(String bizId, String phone) throws ClientException {
-
-        //可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-
-        //初始化acsClient,暂不支持region化
-        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
-        IAcsClient acsClient = new DefaultAcsClient(profile);
-
-        //组装请求对象
-        QuerySendDetailsRequest request = new QuerySendDetailsRequest();
-        //必填-号码
-        request.setPhoneNumber(phone);
-        //可选-流水号
-        request.setBizId(bizId);
-        //必填-发送日期 支持30天内记录查询,格式yyyyMMdd
-        SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
-        request.setSendDate(ft.format(new Date()));
-        //必填-页大小
-        request.setPageSize(10L);
-        //必填-当前页码从1开始计数
-        request.setCurrentPage(1L);
-
-        //hint 此处可能会抛出异常,注意catch
-        QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
-
-        return querySendDetailsResponse;
-    }
-
-    /**
-     * 验证码的生成
-     * @return
-     */
-    public static String Code(){
-        return String.valueOf((int)(Math.random()*9000)+1000);
-    }
-    
-    public static void main(String[] args) throws ClientException, InterruptedException {
-
-        for(int i = 0; i< 1000; i++){
-            System.out.println(Code());
-        }
-
-//    	String phone="18611822573";
-//    	System.out.println(Code());
-//        //发短信
-////        SendSmsResponse response = sendSms(phone);
-//        String response = sendSms(phone);
-
-
-//        System.out.println("短信接口返回的数据----------------");
-//        System.out.println("Code=" + response.getCode());
-//        System.out.println("Message=" + response.getMessage());
-//        System.out.println("RequestId=" + response.getRequestId());
-//        System.out.println("BizId=" + response.getBizId());
-//
-//        Thread.sleep(3000L);
-//       // String phone="";
-//        //查明细
-//        if(response.getCode() != null && response.getCode().equals("OK")) {
-//            QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId(),phone);
-//            System.out.println("短信明细查询接口返回数据----------------");
-//            System.out.println("Code=" + querySendDetailsResponse.getCode());
-//            System.out.println("Message=" + querySendDetailsResponse.getMessage());
-//            int i = 0;
-//            for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs())
-//            {
-//                System.out.println("SmsSendDetailDTO["+i+"]:");
-//                System.out.println("Content=" + smsSendDetailDTO.getContent());
-//                System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());
-//                System.out.println("OutId=" + smsSendDetailDTO.getOutId());
-//                System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());
-//                System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());
-//                System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());
-//                System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());
-//                System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());
-//            	String regEx="[^0-9]";
-//            	Pattern p = Pattern.compile(regEx);
-//            	Matcher m = p.matcher(smsSendDetailDTO.getContent());
-//            	String sign = m.replaceAll("").trim();
-//            	System.out.println("验证码-===="+sign);
-//            }
-//            System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());
-//            System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());
-//        }
-
-    }
-
-    public static void sendRegisterSms(String mobileNo) {
-        //可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-
-        //初始化acsClient,暂不支持region化
-        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
-        IAcsClient acsClient = new DefaultAcsClient(profile);
-
-        //组装请求对象-具体描述见控制台-文档部分内容
-        SendSmsRequest request = new SendSmsRequest();
-
-        //必填:待发送手机号
-        request.setPhoneNumbers(mobileNo);
-        //必填:短信签名-可在短信控制台中找到
-        request.setSignName("学有义方");
-        //必填:短信模板-可在短信控制台中找到
-        request.setTemplateCode("SMS_218279684");
-//        String code=Code();
-        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-//        request.setTemplateParam("{\"name\":\"Tom\", \"code\":"+code+"}");
-
-        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
-        //request.setSmsUpExtendCode("90997");
-
-        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
-        request.setOutId("yourOutId");
-
-        //hint 此处可能会抛出异常,注意catch
-        SendSmsResponse sendSmsResponse = null;
-        try {
-            sendSmsResponse = acsClient.getAcsResponse(request);
-        } catch (ClientException e) {
-            e.printStackTrace();
-        }
-        log.info("sendSms response : {}", JSON.toJSONString(sendSmsResponse));
-
-    }
-}

+ 0 - 72
src/main/java/cn/efunbox/base/util/WxApiUtil.java

@@ -1,72 +0,0 @@
-package cn.efunbox.base.util;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-
-@Slf4j
-public class WxApiUtil {
-
-	private static String appId = "wxf05800eea975a68b";
-	private static String appSecret = "f0b98db85fab75286aba3971270985db";
-	private static String accessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={APPID}&secret={SECRET}&code={CODE}&grant_type=authorization_code";
-	private static String userInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token={ACCESS_TOKEN}&openid={OPENID}&lang=zh_CN";
-
-	/**
-	 * 请求微信时的错误标志字段
-	 */
-	public static final String WEIXIN_ERROR_CODE_FIELD = "errcode";
-
-	/**
-	 * 请求微信时,成功标志字段
-	 */
-	public static final int WEIXIN_SUCCESS_CODE = 0;
-
-	public static boolean isWeixinRequestSuccess(JSONObject jsonObj) {
-		if (jsonObj == null || (jsonObj.containsKey(WEIXIN_ERROR_CODE_FIELD)
-				&& jsonObj.getIntValue(WEIXIN_ERROR_CODE_FIELD) != WEIXIN_SUCCESS_CODE)) {
-			return false;
-		}
-		return true;
-	}
-
-
-	public static JSONObject getWXAccessInfo(String code) {
-		String requestUrl = accessTokenUrl.replace("{APPID}", appId).replace("{SECRET}", appSecret).replace("{CODE}", code);
-		log.info("find wx access token requestUrl=="+requestUrl);
-		String resp = HttpUtils.doRequest(requestUrl, "GET");
-		JSONObject jsonObject = JSONObject.parseObject(resp);
-		log.info("find wx access token resp:"+jsonObject.toString());
-		if (WxApiUtil.isWeixinRequestSuccess(jsonObject)) {
-			return jsonObject;
-		}
-		return null;
-	}
-
-	public static JSONObject getWxUserInfo(JSONObject accessObject) {
-
-
-		String openid = accessObject.getString("openid");
-		String access_token = accessObject.getString("access_token");
-		if (StringUtils.isEmpty(openid) || StringUtils.isEmpty(access_token)) {
-			return null;
-		}
-		JSONObject jsonObject = requestWxUserInfo(openid, access_token);
-		log.info("requestWxUserInfo: {}", JSON.toJSONString(jsonObject));
-		if (!WxApiUtil.isWeixinRequestSuccess(jsonObject)) {
-			return null;
-		}
-		return jsonObject;
-
-	}
-
-
-	public static JSONObject requestWxUserInfo(String openid, String accessToken) {
-		String requestUrl = userInfoUrl.replace("{ACCESS_TOKEN}", accessToken).replace("{OPENID}", openid);
-		String resp = HttpUtils.doRequest(requestUrl, "GET");
-		JSONObject jsonObject = JSONObject.parseObject(resp);
-		return jsonObject;
-	}
-	
-}