From 69b43a3a8502d14039f544885ff037ef3f5b89e6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 五月 2019 17:32:39 +0800 Subject: [PATCH] 增加接口监控报警,增加违规订单处理,增加接口请求时间大于2s的统计 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 96 insertions(+), 21 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 9d92fbd..0f5ba56 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 @@ -40,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; @@ -73,7 +78,7 @@ @Resource(name = "taskExecutor") private TaskExecutor executor; - + @Resource private UserInfoDao userInfoDao; @@ -118,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; @@ -925,43 +934,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 targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis() + ".jpg"; + String targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis() + + ".jpg"; Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath); - + // 鎵ц涓婁紶 - String filePath="/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg"; - String fileLink= COSManager.getInstance().uploadFile(new File(targetPath), 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); @@ -972,16 +982,81 @@ } }); } - - + @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); } + + @Override + public void forbiddenUser(Long uid, String reason) { + UserInfo currentInfo = userInfoService.selectByPKey(uid); + if (currentInfo == null) { + return; + } + if (currentInfo.getState() != UserInfo.STATE_NORMAL) { + return; + } + + currentInfo.setState(UserInfo.STATE_FORBIDDEN); + currentInfo.setStateDesc(reason); + userInfoService.updateByPrimaryKeySelective(currentInfo); + + // 鍔犲叆灏佺鐨勮处鍙峰垪琛� + ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); + forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId); + forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getWxUnionId()); + forbiddenUserIdentifyCode.setBeiZhu(currentInfo.getWxName()); + try { + forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); + } catch (ForbiddenUserIdentifyCodeException e) { + e.printStackTrace(); + } + + // 鐢佃瘽鍙风爜 + forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); + forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.phone); + forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getPhone()); + try { + forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); + } catch (ForbiddenUserIdentifyCodeException e) { + e.printStackTrace(); + } + + // 娣樺疂 + UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(uid); + if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) { + forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); + forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid); + forbiddenUserIdentifyCode.setIdentifyCode(taoBao.getTaoBaoUid()); + try { + forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); + } catch (ForbiddenUserIdentifyCodeException e) { + e.printStackTrace(); + } + } + + // 鏌ヨ鏀粯瀹濈粦瀹� + List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(uid); + if (list != null) { + for (BindingAccount ba : list) { + forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); + forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount); + forbiddenUserIdentifyCode.setIdentifyCode(ba.getAccount()); + forbiddenUserIdentifyCode.setBeiZhu(ba.getName()); + try { + forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); + } catch (ForbiddenUserIdentifyCodeException e) { + e.printStackTrace(); + } + } + } + + } } -- Gitblit v1.8.0