From d2a5cf32ffd598eb10b6699cc93f665c3c1cbbf8 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 17 七月 2024 17:34:21 +0800 Subject: [PATCH] 提交 --- server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 109 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 86 insertions(+), 23 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java index 0eb8606..2563448 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java @@ -52,6 +52,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; +import java.awt.image.BufferedImage; import java.io.InputStream; import java.util.*; import java.util.concurrent.Callable; @@ -623,22 +624,78 @@ @Override - public String getContentShareImg(Users loginUserInfo, ContentShareImgDto param){ + public String getContentShareImg(Users users, ContentShareImgDto param){ if(StringUtils.isBlank(param.getImgurl())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - String url = null; + + String shareFolder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.SHARES_FILE).getCode(); + String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode(); if(param.getType() == 1){ //澶氬浘甯︿簩缁寸爜涓嬭浇 - String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode(); - String folder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode(); + return dealShareImgWithUser(param,users,shareFolder,path); }else{ - //鍐呭鍒嗕韩娴锋姤鍥剧墖 + return dealShareImgNoUser(param,users,shareFolder,path); + } + } + private String dealShareImgWithUser(ContentShareImgDto param, Users users, String shareFolder, String path) { + BufferedImage img1 =GeneratePicUtil.getImgIO(param.getImgurl()); + if(img1 ==null){ + return param.getImgurl(); + } + /* if(img1.getWidth() <200 && img1.getHeight()<100){ + return param.getImgurl(); + } +*/ + String defualtHeader = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_HEADER_IMG).getCode(); + String imgurl =StringUtils.isNotBlank(users.getImgurl())?path+(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode())+users.getImgurl():defualtHeader; + String url =null; + //鍐呭鍒嗕韩娴锋姤鍥剧墖 + InputStream mpCode = Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(), + "userId="+users.getId()+"&articleId="+param.getArticleId(), + param.getPageUrl());//灏忕▼搴� + InputStream inputStream = GeneratePicUtil.generateShareWithUserImg( + img1 + ,mpCode + ,imgurl + ,StringUtils.defaultString(users.getName(),"-")); + TyyZosUtil obs = new TyyZosUtil( systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ENDPOINT).getCode(), + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_ID).getCode(), + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_KEY).getCode()); + String key = DateUtil.getNowShortDate()+"/"+UUID.randomUUID().toString() + ".jpg"; + String fileName =shareFolder+ key; + if (obs.uploadInputstreamObject(inputStream,systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.BUCKETNAME).getCode(), fileName)) { + url = path+fileName; + } + return url; + + } + + private String dealShareImgNoUser(ContentShareImgDto param, Users users, String shareFolder, String path) { + String url =null; + //鍐呭鍒嗕韩娴锋姤鍥剧墖 + InputStream mpCode = Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(), + "userId="+users.getId()+"&articleId="+param.getArticleId(), + param.getPageUrl());//灏忕▼搴� + + String title = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.SHARE_HAIBAO_HEADER_TITLE).getCode(); + InputStream inputStream = GeneratePicUtil.generateShareImg( + param.getImgurl() + ,mpCode + ,title); + TyyZosUtil obs = new TyyZosUtil( systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ENDPOINT).getCode(), + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_ID).getCode(), + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_KEY).getCode()); + String key = DateUtil.getNowShortDate()+"/"+UUID.randomUUID().toString() + ".jpg"; + String fileName =shareFolder+ key; + if (obs.uploadInputstreamObject(inputStream,systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.BUCKETNAME).getCode(), fileName)) { + url = path+fileName; } return url; } + @Override public String getUserCard(Users users){ String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode(); @@ -681,11 +738,32 @@ } @Override - public Users usersDetail(Long userId){ - Users users = usersMapper.selectById(userId); + public Users usersDetailByIamId(String iamId){ + Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getIamId,iamId).last("limit 1")); if(Objects.isNull(users)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } + if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�"); + } + getUsersDetail(users); + return users; + } + + @Override + public Users usersDetailById(Long id){ + Users users = usersMapper.selectById(id); + if(Objects.isNull(users)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�"); + } + getUsersDetail(users); + return users; + } + + public void getUsersDetail(Users users){ String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) + StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode()); if(StringUtils.isNotBlank(users.getImgurl())){ @@ -712,7 +790,6 @@ } } } - return users; } @@ -744,21 +821,7 @@ - @Override - public void updWxMiniToken(){ - DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); - ThreadContext.bind(manager); - String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_PERSONNEL).getCode(); - String appSecret = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_SECRET_PERSONNEL).getCode(); - //鐢熸垚寰俊token - String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret; - String response = Constants.doGet(url,null); - JSONObject json = JSONObject.parseObject(response); - SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_TOKEN_PERSONNEL); - systemDictData.setCode(json.getString("access_token")); - systemDictData.setUpdateTime(new Date()); - systemDictDataBiz.updateByIdNew(systemDictData); - } + } -- Gitblit v1.9.3