From 56481656c7de11cdca69c1a7dd69db176ffd9ecd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 08 五月 2021 12:49:30 +0800 Subject: [PATCH] 华为屏蔽金币任务中的看海量视频,新增广告平台概率控制 --- src/main/java/com/yeshi/buwan/service/imp/LoginUserServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 51 insertions(+), 4 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..7a2e145 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); } @@ -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