From 1be9f9fdb13f7c5cdcf29494cb72ced35cd7af10 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 16 七月 2024 22:18:04 +0800 Subject: [PATCH] 提交 --- server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 75 insertions(+), 15 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 a4a01e9..9ae75bf 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 @@ -29,6 +29,7 @@ import com.doumee.dao.system.model.SystemDictData; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.reqeust.EditUsersRequest; +import com.doumee.dao.web.reqeust.ContentShareImgDto; import com.doumee.dao.web.response.AccountResponse; import com.doumee.service.business.UsersService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -51,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; @@ -621,6 +623,78 @@ } + @Override + public String getContentShareImg(Users users, ContentShareImgDto param){ + if(StringUtils.isBlank(param.getImgurl())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + + 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){ + //澶氬浘甯︿簩缁寸爜涓嬭浇 + 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){ @@ -727,21 +801,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