From a06001d130f3b088a1afbd7d7dc8616d209a9fd5 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 23 五月 2019 11:23:14 +0800 Subject: [PATCH] 更换头像时 清除用户的邀请图片 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java index f171e67..eb18dbb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.user; +import java.io.IOException; import java.io.InputStream; import java.io.Serializable; import java.math.BigDecimal; @@ -18,10 +19,12 @@ import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.Session; +import org.springframework.core.task.TaskExecutor; import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.NumberUtil; import org.yeshi.utils.tencentcloud.COSManager; @@ -47,6 +50,7 @@ import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionAuthRecordService; +import com.yeshi.fanli.service.inter.user.SpreadUserImgService; import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.inter.user.UserInfoService; @@ -63,6 +67,9 @@ @Service public class UserInfoServiceImpl implements UserInfoService { + @Resource(name = "taskExecutor") + private TaskExecutor executor; + @Resource private UserInfoDao userInfoDao; @@ -107,6 +114,11 @@ @Resource private TaoBaoUnionAuthRecordService taoBaoUnionAuthRecordService; + + @Resource + private SpreadUserImgService spreadUserImgService; + + public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, String appid) { List<UserInfo> list = null; @@ -907,4 +919,61 @@ return null; } + @Override + public void uploadPortrait(MultipartFile file, Long uid) throws UserInfoException, IOException { + + UserInfo userInfo = userInfoMapper.selectByPKey(uid); + if(userInfo == null) { + throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�"); + } + + String portrait = userInfo.getPortrait(); + if (portrait != null && portrait.trim().length() > 0 && portrait.contains("/img/user/")) { + COSManager.getInstance().deleteFile(portrait); + } + + + // 鏂囦欢瑙f瀽 + InputStream inputStream = file.getInputStream(); + String contentType = file.getContentType(); + String type = contentType.substring(contentType.indexOf("/") + 1); + + // 鏂囦欢璺緞 + String filePath="/img/user/"+UUID.randomUUID().toString().replace("-", "") + "." + type; + // 鎵ц涓婁紶 + String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); + + userInfo.setPortrait(fileLink); + userInfoMapper.updateByPrimaryKeySelective(userInfo); + + + executor.execute(new Runnable() { + @Override + public void run() { + try { + // 鍒犻櫎鍒嗕韩澶村儚淇℃伅 + spreadUserImgService.deleteImgUrl(uid); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + }); + + } + + + @Override + public void saveUserInfo(String nickName, Long uid) throws UserInfoException { + UserInfo userInfo = userInfoMapper.selectByPKey(uid); + if(userInfo == null) { + throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�"); + } + + userInfo.setNickName(nickName); + userInfoMapper.updateByPrimaryKeySelective(userInfo); + } } -- Gitblit v1.8.0