diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/controller/MarketingDataWechatController.java b/cjy-project/src/main/java/com/cjy/marketingdata/controller/MarketingDataWechatController.java index 1ef64e08..c2db8342 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/controller/MarketingDataWechatController.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/controller/MarketingDataWechatController.java @@ -5,6 +5,7 @@ import com.cjy.marketingdata.VO.GetWechatVO; import com.cjy.marketingdata.domain.vo.WechatVO; import com.cjy.marketingdata.service.MarketingDataWechatService; import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -30,4 +31,11 @@ public class MarketingDataWechatController extends BaseController { List list = marketingDataWechatService.articleStatistics(getWechatVO); return getDataTable(list); } + @GetMapping("/getWeiBoViewOriginalText") + public AjaxResult getWeiBoViewOriginalText(String mid) { + + String returnValue =marketingDataWechatService.getWeiBoViewOriginalText(mid); + return AjaxResult.success(returnValue); + } + } diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/domain/dto/WeiBoAuthorizedDTO.java b/cjy-project/src/main/java/com/cjy/marketingdata/domain/dto/WeiBoAuthorizedDTO.java new file mode 100644 index 00000000..7219a091 --- /dev/null +++ b/cjy-project/src/main/java/com/cjy/marketingdata/domain/dto/WeiBoAuthorizedDTO.java @@ -0,0 +1,26 @@ +package com.cjy.marketingdata.domain.dto; + +/** + * @author liangjiawei + * @createDate 2023/7/20 + */ +public class WeiBoAuthorizedDTO { + private String uid; + private String accessToken; + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } +} diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/domain/vo/WechatVO.java b/cjy-project/src/main/java/com/cjy/marketingdata/domain/vo/WechatVO.java index 523c69f8..f4a9eae9 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/domain/vo/WechatVO.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/domain/vo/WechatVO.java @@ -5,10 +5,19 @@ package com.cjy.marketingdata.domain.vo; * @createDate 2023/7/12 */ public class WechatVO { + private String id; private String title; private String releaseTime; private String url; + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + public String getTitle() { return title; } diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/mapper/MarketingDataWechatMapper.java b/cjy-project/src/main/java/com/cjy/marketingdata/mapper/MarketingDataWechatMapper.java index a816167a..81669959 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/mapper/MarketingDataWechatMapper.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/mapper/MarketingDataWechatMapper.java @@ -1,6 +1,7 @@ package com.cjy.marketingdata.mapper; import com.cjy.marketingdata.VO.GetWechatVO; +import com.cjy.marketingdata.domain.dto.WeiBoAuthorizedDTO; import com.cjy.marketingdata.domain.vo.WechatVO; import org.apache.ibatis.annotations.Mapper; @@ -13,4 +14,10 @@ import java.util.List; @Mapper public interface MarketingDataWechatMapper { List articleStatistics(GetWechatVO getWechatVO); + List getWeiBoArticle(GetWechatVO getWechatVO); + + /** + * 获取微博授权信息 + */ + WeiBoAuthorizedDTO getWeiBoViewOriginalText(String mid); } diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/service/MarketingDataWechatService.java b/cjy-project/src/main/java/com/cjy/marketingdata/service/MarketingDataWechatService.java index 73c133ce..d383ee86 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/service/MarketingDataWechatService.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/service/MarketingDataWechatService.java @@ -11,4 +11,5 @@ import java.util.List; */ public interface MarketingDataWechatService { List articleStatistics(GetWechatVO getWechatVO); + String getWeiBoViewOriginalText(String mid); } diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingDataWechatServiceImpl.java b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingDataWechatServiceImpl.java index 18e91beb..b11e43f2 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingDataWechatServiceImpl.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingDataWechatServiceImpl.java @@ -1,6 +1,7 @@ package com.cjy.marketingdata.service.impl; import com.cjy.marketingdata.VO.GetWechatVO; +import com.cjy.marketingdata.domain.dto.WeiBoAuthorizedDTO; import com.cjy.marketingdata.domain.vo.WechatVO; import com.cjy.marketingdata.mapper.MarketingDataWechatMapper; import com.cjy.marketingdata.service.MarketingDataWechatService; @@ -24,8 +25,15 @@ public class MarketingDataWechatServiceImpl implements MarketingDataWechatServic if(getWechatVO.getType().equals("1")){ list=marketingDataWechatMapper.articleStatistics(getWechatVO); }else { - + list=marketingDataWechatMapper.getWeiBoArticle(getWechatVO); } return list; } + + @Override + public String getWeiBoViewOriginalText(String mid) { + WeiBoAuthorizedDTO weiBoAuthorizedDTO= marketingDataWechatMapper.getWeiBoViewOriginalText(mid); + String returnUrl="https://api.weibo.com/2/statuses/go?"+"access_token=" + weiBoAuthorizedDTO.getAccessToken() + "&uid=" + weiBoAuthorizedDTO.getUid()+"&id="+mid; + return returnUrl; + } } diff --git a/cjy-project/src/main/resources/mapper/marketingdata/MarketingWechatMapper.xml b/cjy-project/src/main/resources/mapper/marketingdata/MarketingWechatMapper.xml index 1810b1d0..89e28134 100644 --- a/cjy-project/src/main/resources/mapper/marketingdata/MarketingWechatMapper.xml +++ b/cjy-project/src/main/resources/mapper/marketingdata/MarketingWechatMapper.xml @@ -16,4 +16,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where t1.organ_code=#{organCode} order by t1.ref_date desc + + diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/WeiboTaskServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/WeiboTaskServiceImpl.java index dd17e3d5..3d23fb4b 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/WeiboTaskServiceImpl.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/WeiboTaskServiceImpl.java @@ -46,10 +46,10 @@ public class WeiboTaskServiceImpl implements WeiboTaskService { JSONObject json = new JSONObject(); try { json = WeiBoUtils.getWeiBoAccessToken(weiboConfig.getClientId().toString(), weiboConfig.getClientSecret(), weiboConfig.getRedirectUri(), code); - //如果是token过期就去update + //如果是重写授权 if (weiboTaskMapper.getWeiBoAuthorized(weiboConfig.getClientId().toString(), json.getString("uid")) == 1) { - weiboTaskMapper.updateWeiBoAuthorizedToekn(json.getString("access_token"), weiboConfig.getClientId().toString(), json.getString("uid")); + weiboTaskMapper.updateWeiBoAuthorizedToekn(weiboConfig.getClientId().toString(),json.getString("access_token"), json.getString("uid")); } else { //存到数据库中 diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/WeiBoUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/WeiBoUtils.java index 3868ad3e..4be7ee4b 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/WeiBoUtils.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/WeiBoUtils.java @@ -19,6 +19,10 @@ public class WeiBoUtils { private static String getWeiBoUserInfoByUidUrl = "https://api.weibo.com/2/users/show.json"; //批量获取指定微博的转发数评论数 private static String getWeiboArticleForwardCommentAttitudesUrl = "https://api.weibo.com/2/statuses/count.json"; + /** + * 查看原文 + */ + private static String getWeiBoViewOriginalTextUrl = "https://api.weibo.com/2/statuses/go"; /** * @param clientId @@ -62,4 +66,18 @@ public class WeiBoUtils { return response; } + + /** + * 查看原文 + * @param accessToken + * @param uid + * @param mid + * @return + */ + public static String getWeiboArticleForwardCommentAttitudes(String accessToken, String uid,String mid) { + String params = "access_token=" + accessToken + "&uid=" + uid+"&id="+mid; + String response = HttpUtils.sendGet(getWeiBoViewOriginalTextUrl, params); + + return response; + } } diff --git a/ruoyi-ui/src/api/picture/network-market/networkMarket.js b/ruoyi-ui/src/api/picture/network-market/networkMarket.js index 05a01c50..220054ee 100644 --- a/ruoyi-ui/src/api/picture/network-market/networkMarket.js +++ b/ruoyi-ui/src/api/picture/network-market/networkMarket.js @@ -76,3 +76,11 @@ export function articleStatistics(params) { }) } +//微信/微博 文章 +export function getWeiBoViewOriginalText(id) { + return request({ + url: 'marketingData/statistics/getWeiBoViewOriginalText?mid='+id, + method: 'get', + }) +} + diff --git a/ruoyi-ui/src/views/picture/network-market/network-article.vue b/ruoyi-ui/src/views/picture/network-market/network-article.vue index 1cb37778..b0b273a9 100644 --- a/ruoyi-ui/src/views/picture/network-market/network-article.vue +++ b/ruoyi-ui/src/views/picture/network-market/network-article.vue @@ -5,7 +5,7 @@
{{ item.title }} - 查看原文 +
@@ -22,6 +22,9 @@