package com.newvideo.controller.parser; import com.newvideo.domain.*; import com.newvideo.service.imp.*; import com.newvideo.util.*; import com.newvideo.util.JuHe.VideoResouceUtil; import com.newvideo.util.email.MailSenderUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.PrintWriter; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @Controller public class UserParser { @Resource private SystemService systemService; @Resource private ConfigService configService; @Resource private UserService userService; @Resource private ShareService shareService; @Resource private SearchService searchService; @Resource private RecommendService recommendService; @Resource private CollectionService collectionService; @Resource private UserBannerService userBannerService; @Resource private VideoResouceUtil videoResouceUtil; @Resource private BanQuanService banQuanService; @Resource private VideoInfoService videoInfoService; @Resource private CategoryVideoService categoryVideoService; public void getUid(HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String device = request.getParameter("Device"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String channel = request.getParameter("Channel"); String imei = request.getParameter("Imei"); String mac = request.getParameter("Mac"); String lat = request.getParameter("Lat"); String lng = request.getParameter("Lng"); String version = request.getParameter("Version"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(device)) { out.print(JsonUtil.loadFalseJson("请上传Device")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); String uid = userService.getUid(device, system, imei, mac, lat, lng); UserInfo userInfo = userService.getUserInfo(uid); if (uid.equalsIgnoreCase("0")) { out.print(JsonUtil.loadFalseJson("获取uid失败")); return; } else { Map map = configService.getConfigAsMap(); ShareContent share = shareService.getShareContent(detailSystem.getId()); JSONObject object = new JSONObject(); object.put("Uid", uid); object.put("Portrait", userInfo.getPortrait()); object.put("Nickname", userInfo.getNickname()); object.put("TopIcon", map.get("top_icon")); object.put("ZiXun", map.get("zixun_url")); if (platform.equalsIgnoreCase("ios") && !"中国".equalsIgnoreCase(userInfo.getCountry()))// 正在审核的版本 object.put("CommentUrl", ""); else object.put("CommentUrl", share.getShareUrl()); object.put("IOSSlotID", ""); if (platform.equalsIgnoreCase("ios") && !"中国".equalsIgnoreCase(userInfo.getCountry())) { object.put("IOSDownLoad", "0");// 是否显示下载 0-不下载 1-下载 } else object.put("IOSDownLoad", "1");// 是否显示下载 0-不下载 1-下载 object.put("ShareContent", "业界良心!这是我用过最好的视频APP!最新的都有!"); if (share != null) { object.put("ShareContent", share.getShareContent()); object.put("ShareUrl", share.getShareUrl()); } object.put("WXShareIcon", map.get("wx_share_icon")); object.put("WXShareUrl", map.get("wx_share_url")); object.put("WXShareContent", map.get("wx_share_content")); object.put("TuiGuang", map.get("taobao_tuiguang")); object.put("SOHU_partner", detailSystem.getSohuPartner()); object.put("SOHU_key", detailSystem.getSohuKey()); if (packageName.contains("com.ys")) object.put("NoticeContent", map.get("play_notice_content_ys")); else if (packageName.contains("com.doudou")) { object.put("NoticeContent", map.get("play_notice_content_doudou")); } else object.put("NoticeContent", map.get("play_notice_content")); object.put("ShowMoreApp", map.get("show_more_app")); //广告控制 object.put("ShowAd", map.get("show_ad")); object.put("PPTVSO", map.get("pptvsourl")); object.put("COMMENT_ALERT", map.get("comment_alert")); object.put("evalueate", map.get("evalueate")); object.put("shopurl", map.get("shopurl")); object.put("adDownLoadNotify", Integer.parseInt(map.get("ad_download_notify")) <= Integer.parseInt(version)); out.print(JsonUtil.loadTrueJson(object.toString())); } } // 搜索 public void suggestSearch(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String key = request.getParameter("Key"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(key)) { out.print(JsonUtil.loadFalseJson("请上传Key")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } List list = searchService.suggestSearch(key, system); if (platform.equalsIgnoreCase("ios")) { if (Constant.IOSTest) { if (Integer.parseInt(version) == 1) { list = new ArrayList(); } } } JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } // 搜索 public void search(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String key = request.getParameter("Key"); String type = request.getParameter("Type"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String page = request.getParameter("Page"); String videoType = request.getParameter("VideoType"); String version = request.getParameter("Version"); String packageName = request.getParameter("Package"); String contentType = request.getParameter("ContentType"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(key)) { out.print(JsonUtil.loadFalseJson("请上传Key")); return; } if (StringUtil.isNullOrEmpty(type)) { out.print(JsonUtil.loadFalseJson("请上传Type")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { pageIndex = 1; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); UserInfo user1 = userService.getUserInfo(uid); if (Utils.isTest(request, user1, detailSystem.getId())) { detailSystem = systemService.getDetailSystemById(40 + ""); JSONObject object = new JSONObject(); object.put("count", 0); JSONArray array = new JSONArray(); object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } else { List resourceList = videoResouceUtil.getAvailableResourceIds(platform, Integer.parseInt(version)); String cacheMD5 = "0"; if (resourceList != null && resourceList.size() > 0) for (Long l : resourceList) cacheMD5 += "#" + l; cacheMD5 = StringUtil.Md5(cacheMD5); List list = (List) searchService.search(detailSystem.getId(), request.getRemoteAddr(), uid, key, pageIndex, (StringUtil.isNullOrEmpty(contentType) ? 0 : Integer.parseInt(contentType)), system, resourceList, cacheMD5); cacheMD5 = "0"; if (list != null) { for (VideoInfo info : list) { cacheMD5 += info.getId() + "#"; } } list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), cacheMD5); JSONObject object = new JSONObject(); object.put("count", Constant.isUpdate ? 19 + "" : list.size()); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { if (JuheVideoUtil.isNeedDelete((VideoInfo) list.get(i), detailSystem.getId())) { list.remove(i); i--; } } for (int i = 0; i < list.size(); i++) { ((VideoInfo) list.get(i)) .setPicture(VideoPictureUtil.getShowPicture((VideoInfo) list.get(i), platform, version)); array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } } // 猜你喜欢 public void guessLike(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String videoId = request.getParameter("VideoId"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version");// 版本 String packageName = request.getParameter("Package");// 版本 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } // DetailSystem ds = // systemService.getDetailSystemByPackage(packageName); // List resourceList = // videoResouceUtil.getAvailableResourceIds(platform, // Integer.parseInt(version)); // List list1 = StringUtil.isNullOrEmpty(videoId)? // recommendService.guessLikeList(ds.getId(), 4, resourceList, // CacheUtil.getMD5Long(resourceList)): // recommendService.guessLikeList(ds.getId(), 4, videoId, resourceList, // CacheUtil.getMD5Long(resourceList)); VideoInfo videoInfo = videoInfoService.getVideoInfo(videoId); List list1 = SolrUtil.search(videoInfo.getName(), 4, 1); List list = new ArrayList(); list.addAll(list1); if ("android".equalsIgnoreCase(platform) && Integer.parseInt(version) < 35) { if (list.size() > 3) list = list.subList(0, 3); } else if ("ios".equalsIgnoreCase(platform) && Integer.parseInt(version) < 15) { if (list.size() > 3) list = list.subList(0, 3); } JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { VideoInfo vi = list.get(i); if (vi.getPicture().contains("qiyi")) { vi.setPicture(vi.getPicture().replace(".jpg", "_260_360.jpg")); } String typeName = categoryVideoService.getTypeNameByVid(vi.getId()); VideoType vt = new VideoType(); vt.setName(typeName); vi.setVideoType(vt); String watchCount = vi.getWatchCount(); double dw = Double.parseDouble(watchCount); if (dw > 10000) { DecimalFormat df = new DecimalFormat("#.00"); String count = df.format(dw / 10000); vi.setWatchCount(count + "万观看"); } else { vi.setWatchCount(watchCount + "观看"); } array.add(StringUtil.outPutResultJson(vi)); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } // 获取热门搜索 public void getHotSearch(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); List list = searchService.getHotSearchList(detailSystem.getId()); JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } // 获取用户信息 public void getUserInfo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } UserData data = userService.getUserData(uid); out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(data))); } // 获取收藏的视频 public void getCollectedVideo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String page = request.getParameter("Page"); String pacheName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { out.print(JsonUtil.loadFalseJson("请上传Page")); return; } List list = collectionService.getCollectVideo(uid, pageIndex); JSONObject object = new JSONObject(); object.put("count", collectionService.getCollectVideoCount(uid) + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } // 搜藏送积分 public void getScoreCollect(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String videoId = request.getParameter("VideoId"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String type = request.getParameter("Type"); String thirdType = request.getParameter("ThirdType"); String platform = request.getParameter("Platform"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(videoId)) { out.print(JsonUtil.loadFalseJson("请上传VideoId")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(type)) { out.print(JsonUtil.loadFalseJson("请上传Type")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } if (type.equalsIgnoreCase("1")) {// 收藏 ScoreHelper helper = new ScoreHelper(); if (collectionService.isCollect(uid, videoId)) { helper.setScore("0"); } else { VideoInfo vf = new VideoInfo(); vf.setId(videoId); Collection c = new Collection(); c.setUser(new UserInfo(uid)); c.setVideo(vf); c.setThirdType(thirdType); c.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString()); collectionService.saveCollection(c); } JSONObject object = new JSONObject(); object.put("GetScore", helper.getScore()); object.put("TotalScore", helper.getTotalScore()); out.print(JsonUtil.loadTrueJson(object.toString())); } else// 取消收藏 { String[] videoIds = videoId.split(","); String[] thirdTypes = thirdType.split(","); collectionService.cancelCollect(uid, videoIds, thirdTypes); out.print(JsonUtil.loadTrueJson("")); } } public void getUserBanner(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String platform = request.getParameter("Platform"); String packageName = request.getParameter("Package"); if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(platform)) { out.print(JsonUtil.loadFalseJson("请上传Platform")); return; } DetailSystem detailSystem = systemService.getDetailSystemByPackage(packageName); List list = userBannerService.getUserBannerList(detailSystem.getId()); long count = list.size(); JSONObject object = new JSONObject(); object.put("count", count + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } public void updateUserInfo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String portrait = request.getParameter("Portrait"); String nickname = request.getParameter("Nickname");// 昵称 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } UserInfo user = userService.getUserInfo(uid); if (!StringUtil.isNullOrEmpty(portrait)) user.setPortrait(portrait); if (!StringUtil.isNullOrEmpty(nickname)) user.setNickname(nickname); userService.updateUserInfo(user); out.print(JsonUtil.loadTrueJson("")); } /** * 相关视频 * * @param request * @param response * @ */ public void getRelativeVideos(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String videoId = request.getParameter("VideoId"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform");// 包名 String version = request.getParameter("Version");// 包名 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(videoId)) { out.print(JsonUtil.loadFalseJson("请上传VideoId")); return; } List resourceList = videoResouceUtil.getAvailableResourceIds(platform, Integer.parseInt(version)); DetailSystem ds = systemService.getDetailSystemByPackage(packageName); List list = recommendService.getRelativeVideoList(ds.getId(), 4, videoId, resourceList, CacheUtil.getMD5Long(resourceList)); if ("android".equalsIgnoreCase(platform) && Integer.parseInt(version) < 35) { if (list.size() > 3) list = list.subList(0, 3); } else if ("ios".equalsIgnoreCase(platform) && Integer.parseInt(version) < 15) { if (list.size() > 3) list = list.subList(0, 3); } JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } /** * 大家都在看 * * @param request * @param response * @ */ public void getPeopleSeeVideos(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String videoId = request.getParameter("VideoId"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform");// 包名 String version = request.getParameter("Version");// 包名 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (StringUtil.isNullOrEmpty(videoId)) { out.print(JsonUtil.loadFalseJson("请上传VideoId")); return; } List resourceList = videoResouceUtil.getAvailableResourceIds(platform, Integer.parseInt(version)); DetailSystem ds = systemService.getDetailSystemByPackage(packageName); List list1 = recommendService.peopleSee(ds.getId(), 4, videoId, resourceList, CacheUtil.getMD5Long(resourceList)); List list = new ArrayList(); list.addAll(list1); if ("android".equalsIgnoreCase(platform) && Integer.parseInt(version) < 35) { if (list.size() > 3) list = list.subList(0, 3); } else if ("ios".equalsIgnoreCase(platform) && Integer.parseInt(version) < 15) { if (list.size() > 3) list = list.subList(0, 3); } JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { array.add(StringUtil.outPutResultJson(list.get(i))); } object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } /** * 注册 * * @param uid * @param request * @param out */ public void register(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); String account = request.getParameter("Email");// 邮箱 String pwd = request.getParameter("Pwd");// 密码 String nickName = request.getParameter("NickName");// 昵称 String code = request.getParameter("VerifyCode");// 验证码 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(account)) { out.print(JsonUtil.loadFalseJson("请上传Email")); return; } if (StringUtil.isNullOrEmpty(pwd)) { out.print(JsonUtil.loadFalseJson("请上传Pwd")); return; } if (StringUtil.isNullOrEmpty(code)) { out.print(JsonUtil.loadFalseJson("请上传VerifyCode")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (!code.equalsIgnoreCase(request.getSession().getAttribute(account) + "")) { out.print(JsonUtil.loadFalseJson("验证码错误")); return; } if (StringUtil.isNullOrEmpty(nickName)) nickName = "无名氏"; DetailSystem ds = systemService.getDetailSystemByPackage(packageName); // 注册 --用户名,昵称,密码 LoginUser user = new LoginUser(); user.setCreatetime(System.currentTimeMillis() + ""); user.setDetailsystem(ds.getId()); user.setDevice(device); user.setLoginType(3); user.setName(nickName); user.setOpenid(account); user.setPwd(StringUtil.Md5(pwd)); user.setPortrait(savePortrait(request)); String result = userService.registerByEmail(user); if (result.contains("成功")) out.print(JsonUtil.loadTrueJson("注册成功")); else out.print(JsonUtil.loadFalseJson(result)); } /** * 发送验证码 * * @param uid * @param request * @param out */ public void sendVerifyCode(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); final String account = request.getParameter("Email");// 邮箱 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(account)) { out.print(JsonUtil.loadFalseJson("请上传Email")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } final String code = StringUtil.getVerifyCode(); request.getSession().setAttribute(account, code); new Thread(new Runnable() { public void run() { boolean isS = MailSenderUtil.sendEmail(account, "buwanysdq@163.com", "weikou2014", "布丸社区注册验证码:" + code, "布丸社区注册验证码:" + code); } }).start(); out.print(JsonUtil.loadTrueJson("验证码发送成功")); } /** * 登录 * * @param uid * @param request * @param out */ public void login(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); String account = request.getParameter("Email");// 邮箱 String pwd = request.getParameter("Pwd");// 密码 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(account)) { out.print(JsonUtil.loadFalseJson("请上传Email")); return; } if (StringUtil.isNullOrEmpty(pwd)) { out.print(JsonUtil.loadFalseJson("请上传Pwd")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } // DetailSystem ds = // systemService.getDetailSystemByPackage(packageName); // 注册 --用户名,昵称,密码 LoginUser user = new LoginUser(); user.setDevice(device); user.setLoginType(3); user.setOpenid(account); user.setPwd(StringUtil.Md5(pwd)); user = userService.loginByEmail(user); if (user == null) out.print(JsonUtil.loadFalseJson("登录失败")); else out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(user))); } /** * 更改用户信息 * * @param uid * @param request * @param out */ public void updateLoginUserInfo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); String nickName = request.getParameter("NickName");// 昵称 String sex = request.getParameter("Sex");// 性别 0-女 1-男 String birthDay = request.getParameter("BirthDay");// 生日 String personalSign = request.getParameter("PersonalSign");// 个性签名 String loginUid = request.getParameter("LoginUid");// 个性签名 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(loginUid)) { out.print(JsonUtil.loadFalseJson("请上传LoginUid")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } // 注册 --用户名,昵称,密码 LoginUser user = userService.getLoginUser(loginUid); if (user != null) { if (!StringUtil.isNullOrEmpty(nickName)) user.setName(nickName); String potrait = savePortrait(request); if (!StringUtil.isNullOrEmpty(potrait)) user.setPortrait(potrait); if (!StringUtil.isNullOrEmpty(sex)) user.setSex(sex); if (!StringUtil.isNullOrEmpty(sign)) user.setSign(personalSign); if (!StringUtil.isNullOrEmpty(birthDay)) user.setBirthday(birthDay); userService.updateLoginUserInfo(user); } out.print(JsonUtil.loadTrueJson("修改成功")); } /** * 获取用户信息 * * @param uid * @param request * @param out */ public void getLoginUserInfo(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); String loginUid = request.getParameter("LoginUid");// 个性签名 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(loginUid)) { out.print(JsonUtil.loadFalseJson("请上传LoginUid")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } // 注册 --用户名,昵称,密码 LoginUser user = userService.getLoginUser(loginUid); if (user.getPortrait() != null && !user.getPortrait().startsWith("http")) user.setPortrait("http://" + Constant.WEBSITE + "/BuWan" + user.getPortrait()); out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(user))); } /** * 设置密码 * * @param uid * @param request * @param out */ public void setPwd(String uid, HttpServletRequest request, PrintWriter out) { String method = request.getParameter("Method"); String system = request.getParameter("System"); String sign = request.getParameter("Sign"); String packageName = request.getParameter("Package");// 包名 String platform = request.getParameter("Platform"); String version = request.getParameter("Version"); String device = request.getParameter("Device"); String email = request.getParameter("Email");// 个性签名 String pwd = request.getParameter("Pwd");// 密码 String verifyCode = request.getParameter("VerifyCode");// 验证码 if (StringUtil.isNullOrEmpty(method)) { out.print(JsonUtil.loadFalseJson("请上传Method")); return; } if (StringUtil.isNullOrEmpty(uid)) { out.print(JsonUtil.loadFalseJson("请上传Uid")); return; } if (StringUtil.isNullOrEmpty(system)) { out.print(JsonUtil.loadFalseJson("请上传System")); return; } if (StringUtil.isNullOrEmpty(email)) { out.print(JsonUtil.loadFalseJson("请上传Email")); return; } if (StringUtil.isNullOrEmpty(pwd)) { out.print(JsonUtil.loadFalseJson("请上传Pwd")); return; } if (StringUtil.isNullOrEmpty(verifyCode)) { out.print(JsonUtil.loadFalseJson("请上传VerifyCode")); return; } if (StringUtil.isNullOrEmpty(sign)) { out.print(JsonUtil.loadFalseJson("请上传Sign")); return; } if (!verifyCode.equalsIgnoreCase(request.getSession().getAttribute(email) + "")) { out.print(JsonUtil.loadTrueJson("验证码错误")); return; } // 注册 --用户名,昵称,密码 LoginUser user = userService.getLoginUserByOpenId(email); if (user == null) { out.print(JsonUtil.loadFalseJson("该用户不存在")); } else { user.setPwd(StringUtil.Md5(pwd)); userService.updateLoginUserInfo(user); out.print(JsonUtil.loadTrueJson("密码设置成功")); } } private String savePortrait(HttpServletRequest request) { String base64 = request.getParameter("Portrait"); if (StringUtil.isNullOrEmpty(base64)) return ""; String fileName = "portrait_" + System.currentTimeMillis() + ".jpg"; // 定义上传路径 String path = request.getSession().getServletContext().getRealPath("upload") + "/" + fileName; if (!new File(request.getSession().getServletContext().getRealPath("upload") + "/").exists()) new File(request.getSession().getServletContext().getRealPath("upload") + "/").mkdirs(); boolean isS = StringUtil.generateImageFromBase64(base64, path); if (!isS) return ""; // try { // String result = OSSManager.getInstance().uploadFile(new File(path), fileName); // if (!StringUtil.isNullOrEmpty(result)) // return "/upload/img/" + fileName; // } catch (IllegalStateException e) { // e.printStackTrace(); // } return ""; } public void getIPInfo(String uid, HttpServletRequest request, PrintWriter out) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } out.print(ip + "-----" + IPUtil.getIPContry(request.getRemoteAddr())); } }