From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java
index 8a19755..c9a223a 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java
@@ -4,11 +4,13 @@
 import com.yeshi.buwan.dao.user.LoginUserExtraDao;
 import com.yeshi.buwan.domain.user.LoginUser;
 import com.yeshi.buwan.domain.user.LoginUserExtra;
-import com.yeshi.buwan.exception.LoginUserException;
-import com.yeshi.buwan.pptv.PPTVUtil;
+import com.yeshi.buwan.exception.user.LoginUserException;
+import com.yeshi.buwan.exception.PPTVException;
+import com.yeshi.buwan.videos.pptv.PPTVApiUtil;
+import com.yeshi.buwan.videos.pptv.PPTVUtil;
 import com.yeshi.buwan.service.inter.LoginUserService;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.StringUtil;
 import org.yeshi.utils.entity.wx.WeiXinUser;
 
 import javax.annotation.Resource;
@@ -28,6 +30,7 @@
     public void initExtra(LoginUserExtra extra) {
         if (extra.getCreateTime() == null)
             extra.setCreateTime(new Date());
+        extra.setPptvUid(PPTVUtil.getPPTVUid(extra.getId()));
         loginUserExtraDao.save(extra);
     }
 
@@ -73,7 +76,7 @@
             throw new LoginUserException("鎵嬫満鍙峰凡琚叾浠栬处鎴风粦瀹�");
         }
         user.setPhone(phone);
-        loginUserDao.update(user);
+        loginUserDao.updateSelective(user);
     }
 
     @Override
@@ -181,8 +184,20 @@
         extra.setDevice(user.getDevice());
         extra.setPptvUid(PPTVUtil.getPPTVUid(uid));
         //TODO 鍒濆鍖栭檮鍔犱俊鎭�
-        loginUserDao.update(user);
+        loginUserDao.updateSelective(user);
         loginUserExtraDao.save(extra);
+        return extra;
+    }
+
+    @Override
+    public LoginUserExtra initPPTVUid(String uid) {
+        LoginUserExtra extra = loginUserExtraDao.get(uid);
+        if (extra != null) {
+            LoginUserExtra update = new LoginUserExtra(uid);
+            update.setPptvUid(PPTVUtil.getPPTVUid(uid));
+            loginUserExtraDao.updateSelective(update);
+            extra.setPptvUid(update.getPptvUid());
+        }
         return extra;
     }
 
@@ -195,4 +210,36 @@
     public void updateSelectiveByPrimaryKey(LoginUserExtra extra) {
         loginUserExtraDao.updateSelective(extra);
     }
+
+    @Override
+    public String updatePPTVOpenId(String uid) throws PPTVException {
+        LoginUserExtra extra = getExtra(uid);
+        if (extra == null) {
+            extra = initExtra(uid);
+        }
+        String code = PPTVUtil.getPPTVCode(extra.getPptvUid());
+
+        boolean login = PPTVApiUtil.login(code);
+        if (!login) {
+            throw new PPTVException(101, "鐧诲綍澶辫触");
+        }
+
+        String openId = PPTVApiUtil.getOpenId(extra.getPptvUid());
+        if (StringUtil.isNullOrEmpty(openId)) {
+            throw new PPTVException(102, "openId鑾峰彇澶辫触");
+        }
+        LoginUserExtra update = new LoginUserExtra();
+        update.setId(uid);
+        update.setPptvOpenId(openId);
+        updateSelectiveByPrimaryKey(update);
+        return openId;
+    }
+
+    @Override
+    public void setUtdId(String uid, String utdId) {
+        LoginUserExtra update = new LoginUserExtra();
+        update.setId(uid);
+        update.setUtdId(utdId);
+        updateSelectiveByPrimaryKey(update);
+    }
 }

--
Gitblit v1.8.0