From 007055d472637dec702b60f025480e266e1a746d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 四月 2023 16:01:46 +0800
Subject: [PATCH] IOS头像上传优化

---
 src/main/java/com/yeshi/buwan/controller/parser/UserParser.java |   80 +++++++++++++++++++++++++++++++++------
 1 files changed, 67 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
index f41aa54..1586f95 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
@@ -2,8 +2,8 @@
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
-import com.yeshi.buwan.domain.*;
 import com.yeshi.buwan.domain.Collection;
+import com.yeshi.buwan.domain.*;
 import com.yeshi.buwan.domain.solr.SolrAlbumVideo;
 import com.yeshi.buwan.domain.solr.SolrShortVideo;
 import com.yeshi.buwan.domain.system.DetailSystem;
@@ -18,9 +18,8 @@
 import com.yeshi.buwan.exception.SMSException;
 import com.yeshi.buwan.exception.user.LoginUserException;
 import com.yeshi.buwan.exception.user.RegisterUserException;
-import com.yeshi.buwan.service.inter.SMSService;
-import com.yeshi.buwan.videos.pptv.PPTVUtil;
 import com.yeshi.buwan.service.imp.*;
+import com.yeshi.buwan.service.inter.SMSService;
 import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
 import com.yeshi.buwan.service.inter.system.SystemConfigService;
 import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager;
@@ -29,7 +28,6 @@
 import com.yeshi.buwan.util.*;
 import com.yeshi.buwan.util.JuHe.VideoResourceUtil;
 import com.yeshi.buwan.util.annotation.RequireUid;
-import com.yeshi.buwan.util.email.MailSenderUtil;
 import com.yeshi.buwan.util.factory.VideoInfoFactory;
 import com.yeshi.buwan.util.factory.vo.UserInfoVOFactory;
 import com.yeshi.buwan.util.log.LoggerUtil;
@@ -37,6 +35,7 @@
 import com.yeshi.buwan.util.video.VideoCategoryConstant;
 import com.yeshi.buwan.util.video.VideoConstant;
 import com.yeshi.buwan.util.video.VideoUtil;
+import com.yeshi.buwan.videos.pptv.PPTVUtil;
 import com.yeshi.buwan.vo.AcceptData;
 import com.yeshi.buwan.vo.video.VideoListResultVO;
 import net.sf.json.JSONArray;
@@ -44,6 +43,9 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
+import org.yeshi.utils.exception.MailSendException;
+import org.yeshi.utils.mail.EmailApiUtil;
+import org.yeshi.utils.mail.EmailInfo;
 import redis.clients.jedis.Jedis;
 
 import javax.annotation.Resource;
@@ -58,6 +60,8 @@
 public class UserParser {
 
     Logger searchKeyLogger = LoggerFactory.getLogger("searchKey");
+
+    Logger logger = LoggerFactory.getLogger(UserParser.class);
 
 
     @Resource
@@ -791,6 +795,32 @@
                         break;
                 }
             }
+            if (map.get(0) == null) {
+                //濡傛灉娌℃湁鐑悳姒滃氨濉厖鎵�鏈夋鍗曠殑鍓嶅嚑涓暟鎹�
+                List<String> list = new ArrayList<>();
+                Type type = new TypeToken<List<String>>() {
+                }.getType();
+
+                for (int i = 1; i < 5; i++) {
+                    if (map.get(i) != null) {
+                        JSONObject json = map.get(i);
+                        String key = json.keySet().iterator().next() + "";
+                        JSONArray array = json.optJSONArray(key);
+                        List<String> keys = new Gson().fromJson(array.toString(), type);
+                        if (keys.size() > 3) {
+                            list.addAll(keys.subList(0, 3));
+                        } else {
+                            list.addAll(keys);
+                        }
+                    }
+                }
+                if (list.size() > 10) {
+                    list = list.subList(0, 10);
+                }
+                JSONObject data = new JSONObject();
+                data.put("鐑悳姒�", list);
+                map.put(0, data);
+            }
         }
 
         JSONObject data = new JSONObject();
@@ -869,7 +899,11 @@
                 VideoInfo vf = new VideoInfo();
                 vf.setId(videoId);
                 Collection c = new Collection();
-                c.setUser(new UserInfo(acceptData.getUid()));
+                if (!StringUtil.isNullOrEmpty(acceptData.getUid())) {
+                    c.setUser(new UserInfo(acceptData.getUid()));
+                } else {
+                    c.setUser(new UserInfo("1"));
+                }
                 if (!StringUtil.isNullOrEmpty(loginUid)) {
                     c.setLoginUser(new LoginUser(loginUid));
                 }
@@ -1160,7 +1194,7 @@
         }
 
         final String code = StringUtil.getVerifyCode();
-        request.getSession().setAttribute(account, code);
+
         // new Thread(new Runnable() {
         // public void run() {
         // for (int i = 0; i < 3; i++) {
@@ -1173,12 +1207,26 @@
             content = title;
         }
 
-        boolean isS = MailSenderUtil.sendEmail(account, "app_yzm_zc@163.com", "KZKSRTEMDWEQRAQR", title,
-                content);
+        System.out.println(content);
+
+        EmailInfo emailInfo = new EmailInfo();
+        emailInfo.setToEmail(account);
+        emailInfo.setTitle(title);
+        emailInfo.setFromEmail("app_yzm_zc@163.com");
+        emailInfo.setFormEmailPwd("KZKSRTEMDWEQRAQR");
+        emailInfo.setContent(content);
+        emailInfo.setApp("褰辫");
+        try {
+            EmailApiUtil.sendEmail(emailInfo);
+            request.getSession().setAttribute(account, code);
+            out.print(JsonUtil.loadTrueJson("楠岃瘉鐮佸彂閫佹垚鍔�"));
+        } catch (MailSendException e) {
+            e.printStackTrace();
+            out.print(JsonUtil.loadFalseJson("楠岃瘉鐮佸彂閫佸け璐�"));
+        }
         // }
 
         // }).start();
-        out.print(JsonUtil.loadTrueJson("楠岃瘉鐮佸彂閫佹垚鍔�"));
     }
 
 
@@ -1196,12 +1244,13 @@
         }
 
         try {
-            smsService.sendLoginVCode(phone, 6,acceptData.getDetailSystem().getId(),acceptData.getVersion());
+            smsService.sendLoginVCode(phone, 6, acceptData.getDetailSystem().getId(), acceptData.getVersion());
         } catch (SMSException e) {
             e.printStackTrace();
             out.print(JsonUtil.loadFalseJson(e.getMessage()));
             return;
         } catch (Exception e) {
+            logger.error("鐭俊鍙戦�佸嚭閿�", e);
             out.print(JsonUtil.loadFalseJson("鐭俊鍙戦�佸嚭閿欙紝璇风◢鍚庡啀璇�"));
             return;
         }
@@ -1266,7 +1315,7 @@
             return;
         }
 
-        if (!smsService.verifyLoginVCode(account, vcode,acceptData.getDetailSystem().getId(),acceptData.getVersion())) {
+        if (!smsService.verifyLoginVCode(account, vcode, acceptData.getDetailSystem().getId(), acceptData.getVersion())) {
             out.print(JsonUtil.loadFalseJson("楠岃瘉鐮侀敊璇�"));
             return;
         }
@@ -1446,13 +1495,14 @@
     public static String savePortrait(String base64, HttpSession session) {
         if (StringUtil.isNullOrEmpty(base64))
             return "";
+        base64 = base64.replace("\r\n","");
 
         String fileName = "portrait_" + System.currentTimeMillis() + ".jpg";
         // 瀹氫箟涓婁紶璺緞
         String path = session.getServletContext().getRealPath("upload") + "/" + fileName;
         if (!new File(session.getServletContext().getRealPath("upload") + "/").exists())
             new File(session.getServletContext().getRealPath("upload") + "/").mkdirs();
-        boolean isS = StringUtil.generateImageFromBase64(base64, path);
+        boolean isS = StringUtil.generateImageFromBase64(base64.replace("\n", ""), path);
         if (!isS)
             return "";
 
@@ -1483,7 +1533,11 @@
         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
             ip = request.getRemoteAddr();
         }
-        out.print(ip + "-----" + IPUtil.getIPContry(request.getRemoteAddr()));
+        try {
+            out.print(ip + "-----" + new Gson().toJson(IPUtil.getLocalIPInfo(request.getRemoteAddr())));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
     }
 

--
Gitblit v1.8.0