From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 75 insertions(+), 16 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java index 12ef941..7212b8b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java @@ -1,5 +1,7 @@ package com.yeshi.fanli.service.impl.user; +import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -9,12 +11,15 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.UUID; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import org.yeshi.utils.DateUtil; +import org.yeshi.utils.FileUtil; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.entity.FileUploadResult; import org.yeshi.utils.tencentcloud.COSManager; @@ -34,6 +39,7 @@ import com.yeshi.fanli.entity.bus.user.UserRank; import com.yeshi.fanli.entity.bus.user.UserRankRecord; import com.yeshi.fanli.entity.bus.user.WeiXinUser; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.user.ThreeSaleException; import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; @@ -47,6 +53,7 @@ import com.yeshi.fanli.service.inter.user.UserRankService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.InviteCodeFilterUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.account.UserUtil; @@ -54,6 +61,8 @@ import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.wx.WXLoginUtil; import com.yeshi.fanli.vo.user.UserInfoExtraVO; + +import net.coobird.thumbnailator.Thumbnails; @Service public class UserInfoExtraServiceImpl implements UserInfoExtraService { @@ -100,10 +109,10 @@ } // 绛夌骇瀵圭収琛� - String contrast = configService.get("user_rank_contrast"); + String contrast = configService.get(ConfigKeyEnum.userRankContrast.getKey()); extraVO.setRankContrast(contrast); // 鐗瑰埆鎻愰啋 - String rankTip = configService.get("user_rank_tip"); + String rankTip = configService.get(ConfigKeyEnum.userRankTip.getKey()); extraVO.setRankTip(rankTip); Integer rankOrderNum = extraVO.getRankOrderNum(); @@ -372,10 +381,11 @@ userInfoExtraMapper.insertSelective(userInfoExtra); } - // 鍙戦�佹縺娲绘垚鍔熸秷鎭� - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive, - new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date()))); - producer.send(message); + if (!Constant.IS_TEST) { // 鍙戦�佹縺娲绘垚鍔熸秷鎭� + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive, + new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date()))); + producer.send(message); + } return mycode; } @@ -440,7 +450,7 @@ LogHelper.test("寰俊澶村儚涓嬭浇澶辫触: " + weiXinUser.getUnionid() + " " + headimgurl); } else { FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String.format( - "/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + "")); + FilePathEnum.userWXPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + "")); if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) { headimgurl = result.getUrl(); } else { @@ -489,10 +499,12 @@ userInfoExtra.setCreateTime(new Date()); userInfoExtraMapper.insertSelective(userInfoExtra); } - // 鍙戦�佹縺娲绘垚鍔熸秷鎭� - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive, - new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date()))); - producer.send(message); + + if (!Constant.IS_TEST) { // 鍙戦�佹縺娲绘垚鍔熸秷鎭� + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive, + new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date()))); + producer.send(message); + } } @Override @@ -557,7 +569,7 @@ LogHelper.test("寰俊澶村儚涓嬭浇澶辫触: " + weiXinUser.getUnionid() + " " + headimgurl); } else { FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String.format( - "/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + "")); + FilePathEnum.userWXPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + "")); if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) { headimgurl = result.getUrl(); } else { @@ -607,6 +619,12 @@ } else { userInfoExtra.setCreateTime(new Date()); userInfoExtraMapper.insertSelective(userInfoExtra); + } + + if (!Constant.IS_TEST) { // 鍙戦�佹縺娲绘垚鍔熸秷鎭� + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive, + new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date()))); + producer.send(message); } } @@ -839,9 +857,50 @@ update.setInviteCodeVip(inviteCodeVip); update.setUpdateTime(new Date()); userInfoExtraMapper.updateByPrimaryKeySelective(update); - //鍙戦�侀個璇风爜鏇存敼鎴愬姛鐨勬秷鎭� - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userInfoUpdate, - new Gson().toJson(new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.inviteCode, inviteCodeVip, new Date()))); - producer.send(message); + + if(!Constant.IS_TEST) { //鍙戦�侀個璇风爜鏇存敼鎴愬姛鐨勬秷鎭� + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userInfoUpdate, + new Gson().toJson(new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.inviteCode, inviteCodeVip, new Date()))); + producer.send(message); + } + } + + + @Override + public void uploadERCode(MultipartFile file, Long uid) { + UserInfoExtra extra = userInfoExtraMapper.getInfoExtraByUid(uid); + if (extra == null) + return; + + // 鍘嬬缉 + String targetPath = FileUtil.getCacheDir() + "/erCode_" + uid + "_" + System.currentTimeMillis()+ ".jpg"; + try { + Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath); + } catch (IOException e) { + LogHelper.errorDetailInfo(e); + return; + } + + // 鎵ц涓婁紶 + String filePath = FilePathEnum.userERcode.getPath() + 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 erCode = extra.getErCode(); + + UserInfoExtra update = new UserInfoExtra(); + update.setId(extra.getId()); + update.setErCode(fileLink); + userInfoExtraMapper.updateByPrimaryKeySelective(update); + + // 鍘熶簩缁寸爜 + if (!StringUtil.isNullOrEmpty(erCode)) { + COSManager.getInstance().deleteFile(erCode); + } } } -- Gitblit v1.8.0