springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java
@@ -2,13 +2,17 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.constants.UserConstants; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.HttpClientUtil; import com.panzhihua.common.utlis.StringUtils; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; @@ -16,11 +20,15 @@ import java.net.URL; import java.nio.charset.Charset; import java.util.*; import java.util.concurrent.TimeUnit; @Slf4j @RestController @RequestMapping("/official") public class WxOfficialApi { @Resource private StringRedisTemplate stringRedisTemplate; //公众号appid private List<String> appidList = new ArrayList<String>(){{this.add("wx7c733ebbf6c55ecf");this.add("wxc94f0cddf13577d5");}}; @@ -147,7 +155,24 @@ String url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + token; String result = getActicle(url); log.info("通过token获取文章列表成功,返回结果:" + result); resultList.add(JSON.parseObject(result)); JSONObject resultJson = JSON.parseObject(result); if(resultJson != null){ List<JSONObject> itemList = JSON.parseArray(resultJson.getString("item"),JSONObject.class); if(!itemList.isEmpty()){ for (JSONObject object : itemList) { String mediaId = object.getString("media_id"); JSONObject contentJson = JSON.parseObject(object.getString("content")); List<JSONObject> newsItemList = JSON.parseArray(contentJson.getString("news_item"),JSONObject.class); String newsUrl = newsItemList.get(0).getString(url); newsItemList.get(0).put("news_id",mediaId); ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); valueOperations.set(UserConstants.NEWS_ID + mediaId, newsUrl + "", 2, TimeUnit.DAYS); } } } resultList.add(resultJson); }catch (Exception e){ log.error("通过token获取文章列表失败,错误原因:" + e.getMessage()); } @@ -156,4 +181,19 @@ return R.ok(resultList); } @ApiOperation(value = "获取公众号文章链接") @GetMapping(value = "/get/noToken") public R getDiscuss(@RequestParam("mediaId") Long mediaId){ String key = UserConstants.NEWS_ID + mediaId; Boolean hasKey = stringRedisTemplate.hasKey(key); if (!hasKey) { return R.fail("未找到该文章的链接地址"); } ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); String url = valueOperations.get(key); return R.ok(url); } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/UserConstants.java
@@ -13,4 +13,5 @@ public static final String LOGOUT_TOKEN = "logout:"; public static final String LOGIN_USER_INFO = "login_user_info:"; public static final String PHONE_PUT="phone_put:"; public static final String NEWS_ID="news_media_id:"; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoVO.java
@@ -149,6 +149,9 @@ @ApiModelProperty(value = "参加活动奖励金额") private BigDecimal activityAmount; @ApiModelProperty(value = "活动奖励金额") private BigDecimal activityMoney; @ApiModelProperty(value = "随手拍活动id") private Long activityId; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActEasyPhotoDAO.java
@@ -45,6 +45,7 @@ "p.is_report, " + "p.is_publicity, " + "p.activity_type, " + "p.activity_id, " + "p.activity_amount, " + "p.examine_at " + "FROM " + @@ -114,6 +115,7 @@ "p.is_publicity, " + "p.activity_type, " + "p.activity_amount, " + "p.activity_id, " + "p.examine_at " + "FROM " + "com_act_easy_photo p " + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -88,13 +88,13 @@ //查询随手拍活动 ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId()); if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getGoodReward()); comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getExcellentReward()); comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getOrdinaryReward()); comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getCommonlyReward()); comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward()); } } });