From ad3ac53da1c3a11a96ae62d790aa61a81b9eab91 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 20 三月 2021 18:47:23 +0800 Subject: [PATCH] 完善APP首页顶部标签栏兼容,初步处理推送 --- src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 49 insertions(+), 2 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..2c27016 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.exception.user.LoginUserException; +import com.yeshi.buwan.exception.PPTVException; +import com.yeshi.buwan.pptv.PPTVApiUtil; import com.yeshi.buwan.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); } @@ -187,6 +190,18 @@ } @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; + } + + @Override public void updateSelectiveByPrimaryKey(LoginUser loginUser) { loginUserDao.updateSelective(loginUser); } @@ -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