| | |
| | | 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; |
| | |
| | | |
| | | |
| | | @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(); |
| | |
| | | |
| | | |
| | | |
| | | @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); |
| | | } |
| | | |
| | | |
| | | } |
| | | |