%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="java.sql.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String local_server_domain = "www.3dbizhi.com"; String default_redirect_url = "http://" + local_server_domain; // example: http://www.3dbizhi.com/myshare/download.jsp?cid=3&aid=1&pid=com.idddx.lwp.diyphoto.beautifulmoment&type=1&fpid=com.idddx.lwp.wing&flid=1&fpcid=myshare&pos=4&dfgp=1 // download operation channel String channel = request.getParameter("cid"); if (null != channel) { channel.trim(); } boolean valid_channel = true; int channel_id = 0; try { if (null != channel && channel.length() > 0) { channel_id = Integer.parseInt(channel); } else { valid_channel = false; } } catch (NumberFormatException e) { valid_channel = false; } //System.out.println("download channel=" + channel + ", channel_id=" + channel_id + ", valid_channel=" + valid_channel); // ads_id String ads = request.getParameter("aid"); if (null != ads) { ads.trim(); } boolean valid_ads = true; int ads_id = 0; try { if (ads != null && ads.length() > 0) { ads_id = Integer.parseInt(ads); } else { valid_ads = false; } } catch (NumberFormatException e) { valid_ads = false; } //System.out.println("download ads=" + ads + ", ads_id=" + ads_id + ", valid_ads=" + valid_ads); // destination product package name String package_name = request.getParameter("pid"); if (null != package_name) { package_name.trim(); } boolean valid_pid = true; if (null == package_name || package_name.length() <= 0) { package_name = null; valid_pid = false; } String type = request.getParameter("type"); if (null != type) { type.trim(); } boolean valid_type = true; int download_type = 1; try { if (type != null && type.length() > 0) { download_type = Integer.parseInt(type); } else { valid_type = false; } } catch (NumberFormatException e) { valid_type = false; } //String package_name = request.getParameter("pid"); //System.out.println("download package_name=" + package_name + ", valid_pid=" + valid_pid); // the source product where operation on String from_package_name = request.getParameter("fpid"); if (null != from_package_name) { from_package_name.trim(); } //System.out.println("download from_package_name=" + from_package_name); // from_language_id String from_language = request.getParameter("flid"); if (null != from_language) { from_language.trim(); } boolean valid_language = true; int from_language_id = 0; try { if (from_language != null && from_language.length() > 0) { from_language_id = Integer.parseInt(from_language); } else { valid_language = false; } } catch (NumberFormatException e) { valid_language = false; } //System.out.println("download from_language=" + from_language + ", from_language_id=" + from_language_id + ", valid_language=" + valid_language); // from_product_published_channel String from_publish_channel = request.getParameter("fpcid"); if (null != from_publish_channel) { from_publish_channel.trim(); } //System.out.println("download from_publish_channel=" + from_publish_channel); // the operation position in the channel String from_position = request.getParameter("pos"); if (null != from_position) { from_position.trim(); } //System.out.println("download from_position=" + from_position); // the operation position in the channel String download_from_googlepaly = request.getParameter("dfgp"); if (null != download_from_googlepaly) { download_from_googlepaly.trim(); } boolean valid_dfgp = true; int is_download_from_googlepaly = 0; try { if (download_from_googlepaly != null && download_from_googlepaly.length() > 0) { is_download_from_googlepaly = Integer.parseInt(download_from_googlepaly); } else { valid_dfgp = false; } } catch (NumberFormatException e) { valid_dfgp = false; } Connection conn = null; PreparedStatement stat = null; ResultSet rs = null; // example: http://www.3dbizhi.com/myshare/download.jsp?cid=3&aid=1&pid=com.idddx.lwp.diyphoto.beautifulmoment&type=1&fpid=com.idddx.lwp.wing&flid=1&fpcid=myshare&pos=4 // http://www.3dbizhi.com/myshare/download.jsp?cid=12&pid=com.idddx.appstore.myshare.cn.360page&pos=0,0&name try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String uri = "jdbc:mysql://121.199.62.183:3306/xiangwen_db"; conn = DriverManager.getConnection(uri, "hanchuan", "3145hanchuan"); String redirectUrl = ""; String sql; String redirect_channel = null; if (valid_pid || valid_ads) { if (valid_pid) {// download product if (38 == channel_id && package_name.equals("com.idddx.appstore.myshare.cn")) { // from lockscreen app main page redirectUrl = "http://www.3dbizhi.com/product_resources2/com.idddx.appstore.myshare.cn/channels/Myshare-LS-TG/MyShareStore_Myshare-LS-TG_20150104.apk"; download_type = 1; } else if (39 == channel_id && package_name.equals("com.idddx.appstore.myshare.cn")) { // from lockscreen app about page redirectUrl = "http://www.3dbizhi.com/product_resources2/com.idddx.appstore.myshare.cn/channels/Myshare-LS-About/MyShareStore_Myshare-LS-About_20150104.apk"; download_type = 1; } else if (package_name.equals("com.xw.magicfinger")) { if(29 == channel_id) { // from single wallpaper(recommend page) redirectUrl = "http://www.3dbizhi.com/product_resources2/com.xw.magicfinger/channels/Myshare-TJ/MagicFinger_Myshare-TJ_20141215.apk"; } else if(36 == channel_id) { // from appstore banner redirectUrl = "http://www.3dbizhi.com/product_resources2/com.xw.magicfinger/channels/MYshare-StoreBanner/MagicFinger_Myshare-StoreBanner_20141215.apk"; } else if(37 == channel_id) { // from appstore notifybar redirectUrl = "http://www.3dbizhi.com/product_resources2/com.xw.magicfinger/channels/Myshare-PUSH/MagicFinger_Myshare-PUSH_20141215.apk"; } else { redirectUrl = "http://www.3dbizhi.com/product_resources2/com.xw.magicfinger/channels/myshare/MagicFinger_Myshare_20141215.apk"; } redirect_channel = null; download_type = 1; } else if (package_name.equals("com.happyelements.miraclecn.he")) { redirectUrl = "http://downloadapk.miracle.happyelements.cn/apk/he/3dwallpaper2_1412031733_239_1411041011_1.6.0_224_prod.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("cn.opda.android.activity")) { redirectUrl = "http://www.3dbizhi.com/myshare/sin_wenzisuoping_mengxiang.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.xiangqu.app")) { redirectUrl = "http://www.3dbizhi.com/myshare/xiangqu_mengxiang.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.get5.store")) { redirectUrl = "http://store.Get5.com/dl?P=Get5&C=myshare"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.xh.yg.ttadp")) { redirectUrl = "http://www.3dbizhi.com/awesomeapp_resources/com.xh.yg.ttadp/ttadp.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.coolc.app.yuris")) { redirectUrl = "http://www.3dbizhi.com/awesomeapp_resources/com.coolc.app.yuris/yuris_2.604.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.idddx.appstore.myshare.cn.test")) { // if(!valid_language || (from_language_id == 2 || from_language_id == 3)) { // redirectUrl = "http://www.3dbizhi.com/myshare/MyShareStore_YingYongBao-Page_20140624.apk"; // } else { if (valid_type && 2 == download_type) { redirectUrl = "http://www.3dbizhi.com/product_resources2/com.idddx.appstore.myshare.cn/assets.zip"; } else { redirectUrl = "http://www.3dbizhi.com/myshare/MyShareStore_MoboMarket_20140624.apk"; } // } redirect_channel = null; download_type = 1; } else if (package_name.equals("com.idddx.appstore.myshare.cn.yyb")) { redirectUrl = "http://a.app.qq.com/o/simple.jsp?pkgname=com.idddx.appstore.myshare.cn"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.idddx.appstore.myshare.cn.360page")) { redirectUrl = "http://www.3dbizhi.com/myshare/store_360-Page.apk"; redirect_channel = null; download_type = 1; } else if (package_name.equals("com.idddx.appstore.myshare.cn.weilian")) { redirectUrl = "http://www.3dbizhi.com/myshare/MyShareStore_weilian_20140716.apk"; redirect_channel = null; download_type = 1; } else { // if (!valid_language || (from_language_id == 2 || from_language_id == 3)) { if ((package_name.equals("com.idddx.lwp.carriageknight.zeus") || package_name.equals("com.idddx.lwp.carriageknight.michelle") || package_name.equals("com.idddx.lwp.tracymcgrady") || package_name.equals("com.idddx.lwp.warriorgoddess.yaoji") || package_name.equals("com.idddx.lwp.journey.holy") || package_name.equals("com.idddx.lwp.journey.clear") || package_name.equals("com.idddx.lwp.journey.situmingyue") || package_name.equals("com.idddx.lwp.journey.amazing") || package_name.equals("com.idddx.lwp.warriorgoddess.houqing"))) { if (valid_type && 2 == download_type) { sql = "select product_url_domain, product_url_dir_prefix, product_relative_dir, product_res_package_url from product_info where product_flag=0 and product_package_name=?"; } else { download_type = 1; sql = "select product_url_domain, product_url_dir_prefix, product_relative_dir, product_download_url from product_info where product_flag=0 and product_package_name=?"; } stat = conn.prepareStatement(sql); stat.setString(1, package_name); rs = stat.executeQuery(); if (rs.next()) { String product_url_domain = rs.getString(1); if (null == product_url_domain || "" == product_url_domain || product_url_domain.equals("local")) { product_url_domain = local_server_domain; } String product_url_dir_prefix = rs.getString(2); String product_relative_dir = rs.getString(3); String product_download_url = rs.getString(4); redirectUrl = "http://" + product_url_domain; if (product_url_dir_prefix != null && product_url_dir_prefix.length() > 0) { redirectUrl += "/" + product_url_dir_prefix; } if (product_relative_dir != null && product_relative_dir.length() > 0) { redirectUrl += "/" + product_relative_dir; } if (product_download_url != null && product_download_url.length() > 0) { redirectUrl += "/" + product_download_url; } } } else { if (valid_type && 2 == download_type) { sql = "select product_url_domain, product_url_dir_prefix, product_relative_dir, product_res_package_url from product_info where product_flag=0 and (product_publish_status=1 or product_publish_in_gp=1) and product_package_name=?"; } else { sql = "select product_url_domain, product_url_dir_prefix, product_relative_dir, product_download_url from product_info where product_flag=0 and (product_publish_status=1 or product_publish_in_gp=1) and product_package_name=?"; download_type = 1; } stat = conn.prepareStatement(sql); stat.setString(1, package_name); rs = stat.executeQuery(); if (rs.next()) { String product_url_domain = rs.getString(1); if (null == product_url_domain || "" == product_url_domain || product_url_domain.equals("local")) { product_url_domain = local_server_domain; } String product_url_dir_prefix = rs.getString(2); String product_relative_dir = rs.getString(3); String product_download_url = rs.getString(4); redirectUrl = "http://" + product_url_domain; if (product_url_dir_prefix != null && product_url_dir_prefix.length() > 0) { redirectUrl += "/" + product_url_dir_prefix; } if (product_relative_dir != null && product_relative_dir.length() > 0) { redirectUrl += "/" + product_relative_dir; } if (product_download_url != null && product_download_url.length() > 0) { redirectUrl += "/" + product_download_url; } } } redirect_channel = "myshare"; // } else { // redirectUrl = "https://play.google.com/store/apps/details?id=" + package_name; // redirect_channel = "GooglePlay"; // download_type = 1; // } } valid_ads = false; } else {// download ads sql = "select ads_promote_clk_link from ads_promote_resource where ads_promote_id=?"; stat = conn.prepareStatement(sql); stat.setInt(1, ads_id); rs = stat.executeQuery(); if (rs.next()) { redirectUrl = rs.getString(1); } } } //System.out.println("download redirectUrl: " + redirectUrl); if (redirectUrl.length() <= 0) { redirectUrl = default_redirect_url; } else { sql = "insert into promote_download_record(from_positon,from_package_name,from_product_published_channel,product_package_name,download_time,redirect_channel"; if (valid_channel) { sql += ",channel_id"; } else { sql += ",note"; } if (valid_language) { sql += ",from_language_id"; } if (valid_ads) { sql += ",ads_id"; } if (valid_pid) { sql += ",download_type"; } sql += ") values(?,?,?,?,now(),?,?"; if (valid_language) { sql += ",?"; } if (valid_ads) { sql += ",?"; } if (valid_pid) { sql += ",?"; } sql += ")"; stat = conn.prepareStatement(sql); int i = 1; stat.setString(i++, from_position); stat.setString(i++, from_package_name); stat.setString(i++, from_publish_channel); stat.setString(i++, package_name); stat.setString(i++, redirect_channel); if (valid_channel) { stat.setInt(i++, channel_id); } else { stat.setString(i++, ("channel:" + channel)); } if (valid_language) { stat.setInt(i++, from_language_id); } if (valid_ads) { stat.setInt(i++, ads_id); } if (valid_pid) { stat.setInt(i++, download_type); } //System.out.println("download record sql: " + stat.toString()); stat.execute(); } String browserType = request.getHeader("User-Agent"); if(browserType != null && browserType.contains("MicroMessenger")) { out.println(""); out.println(""); out.println("
"); out.println("");
out.println("在浏览器中打开");
out.println(" ");
out.println("Open with Browser");
out.println("
");
out.println("