From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 102 +++++++++++++++++++++++++++++++------------------- 1 files changed, 63 insertions(+), 39 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 eb18dbb..bf2e8fe 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.File; import java.io.IOException; import java.io.InputStream; import java.io.Serializable; @@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import org.yeshi.utils.FileUtil; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.NumberUtil; import org.yeshi.utils.tencentcloud.COSManager; @@ -38,18 +40,23 @@ import com.yeshi.fanli.dao.mybatis.share.ShareMapper; import com.yeshi.fanli.dao.user.UserInfoDao; import com.yeshi.fanli.entity.bus.user.BindingAccount; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum; import com.yeshi.fanli.entity.bus.user.InviteUser; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.WeiXinUser; import com.yeshi.fanli.entity.system.BusinessSystem; import com.yeshi.fanli.exception.ThreeSaleException; +import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException; import com.yeshi.fanli.exception.user.UserInfoException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; 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.BindingAccountService; +import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; import com.yeshi.fanli.service.inter.user.SpreadUserImgService; import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; @@ -64,12 +71,14 @@ import com.yeshi.fanli.util.wx.WXLoginUtil; import com.yeshi.fanli.vo.user.UserInfoVO; +import net.coobird.thumbnailator.Thumbnails; + @Service public class UserInfoServiceImpl implements UserInfoService { @Resource(name = "taskExecutor") private TaskExecutor executor; - + @Resource private UserInfoDao userInfoDao; @@ -114,11 +123,15 @@ @Resource private TaoBaoUnionAuthRecordService taoBaoUnionAuthRecordService; - + @Resource private SpreadUserImgService spreadUserImgService; - - + + @Resource + private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; + + @Resource + private BindingAccountService bindingAccountService; public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, String appid) { List<UserInfo> list = null; @@ -713,17 +726,23 @@ userInfoVO.setLastLoginTime(null); } - /* - * 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦� String wxUnionId = userInfoVO.getWxUnionId(); if - * (wxUnionId == null || wxUnionId.trim().length() == 0) { - * userInfoVO.setWxName(null); } - * - * String taoBaoUid = userInfoVO.getTaoBaoUid(); if (taoBaoUid == null - * || taoBaoUid.trim().length() == 0) { userInfoVO.setTbName(null); } - */ + + //鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦� + String wxUnionId = userInfoVO.getWxUnionId(); + if (wxUnionId == null || wxUnionId.trim().length() == 0) { + userInfoVO.setWxName(null); + } + + // 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛� + String taoBaoUid = userInfoVO.getTaoBaoUid(); + String tbSpecialId = userInfoVO.getTbSpecialId(); + String tbRelationId = userInfoVO.getTbRelationId(); + if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(tbSpecialId) || StringUtil.isNullOrEmpty(tbRelationId)) { + userInfoVO.setTbName(null); + userInfoVO.setTaoBaoUid(null); + } Long uid = userInfoVO.getId(); - /* 缁戝畾鏀舵璐﹀彿淇℃伅 */ List<BindingAccount> account = bindingAccountMapper.selectByUid(uid); if (account != null && account.size() > 0) { @@ -921,38 +940,44 @@ @Override public void uploadPortrait(MultipartFile file, Long uid) throws UserInfoException, IOException { - + UserInfo userInfo = userInfoMapper.selectByPKey(uid); - if(userInfo == null) { + 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 targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis() + + ".jpg"; + Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath); + // 鎵ц涓婁紶 - String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); - + String filePath = "/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg"; + String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl(); + + // 鍒犻櫎鏈湴鍥剧墖 + if (new File(targetPath).exists()) { + new File(targetPath).delete(); + } + + // 鍘熷ご鍍� + String portrait = userInfo.getPortrait(); + + // 鏇存柊淇℃伅 userInfo.setPortrait(fileLink); userInfoMapper.updateByPrimaryKeySelective(userInfo); - - + + // 鍒犻櫎鍘熷ご鍍� + if (!StringUtil.isNullOrEmpty(portrait) && portrait.contains("/img/user/")) { + COSManager.getInstance().deleteFile(portrait); + } + executor.execute(new Runnable() { @Override public void run() { try { // 鍒犻櫎鍒嗕韩澶村儚淇℃伅 - spreadUserImgService.deleteImgUrl(uid); + spreadUserImgService.deleteImgUrl(uid); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -962,18 +987,17 @@ } } }); - } - - + @Override public void saveUserInfo(String nickName, Long uid) throws UserInfoException { UserInfo userInfo = userInfoMapper.selectByPKey(uid); - if(userInfo == null) { + if (userInfo == null) { throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�"); } - + userInfo.setNickName(nickName); userInfoMapper.updateByPrimaryKeySelective(userInfo); } + } -- Gitblit v1.8.0