From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5PushController.java | 334 +++++++++++++++++++++++++++--------------------------- 1 files changed, 167 insertions(+), 167 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5PushController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5PushController.java index 7f395c3..06a61f6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5PushController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5PushController.java @@ -1,167 +1,167 @@ -package com.yeshi.fanli.controller.apph5; - -import java.io.PrintWriter; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.core.task.TaskExecutor; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.taobao.TbImgUtil; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.goods.CommonGoods; -import com.yeshi.fanli.entity.push.DeviceActive; -import com.yeshi.fanli.entity.push.PushGoods; -import com.yeshi.fanli.entity.push.PushGoodsGroup; -import com.yeshi.fanli.entity.push.PushGoodsRecord; -import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; -import com.yeshi.fanli.service.inter.push.DeviceActiveService; -import com.yeshi.fanli.service.inter.push.PushGoodsGroupService; -import com.yeshi.fanli.service.inter.push.PushGoodsRecordService; -import com.yeshi.fanli.service.inter.push.PushGoodsService; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.taobao.TaoBaoUtil; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * 浠婃棩鎺ㄩ�� - * - * @author Administrator - * - */ -@Controller -@RequestMapping("api/apph5/v1/push") -public class AppH5PushController { - - @Resource(name = "taskExecutor") - private TaskExecutor executor; - - @Resource - private HongBaoManageService manageService; - - @Resource - private PushGoodsService pushGoodsService; - - @Resource - private PushGoodsGroupService pushGoodsGroupService; - - @Resource - private DeviceActiveService deviceActiveService; - - @Resource - private PushGoodsRecordService pushGoodsRecordService; - - @Resource - private HongBaoManageService hongBaoManageService; - - /** - * 鎺ㄩ�佸晢鍝佽鎯呴〉 - * - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "getpushgoods") - public void getPushGoodsDetail(String callback, AcceptData acceptData, String deviceToken, Long id, PrintWriter out) { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶆纭�")); - return; - } - - try { - PushGoods pushGoods = pushGoodsService.selectByPrimaryKey(id); - if (pushGoods == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("姝ゆ帹閫佽褰曞凡涓嶅瓨鍦�")); - return; - } - - JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) - .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - - List<PushGoodsGroup> list = pushGoodsGroupService.getAllInfoByPushId(id); - - if (list != null && list.size() > 0) { - - Map<String, String> map = manageService.convertMap(acceptData.getSystem()); - BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem()); - - for (PushGoodsGroup pushGoodsGroup : list) { - CommonGoods commonGoods = pushGoodsGroup.getCommonGoods(); - if (commonGoods == null) { - continue; - } - - TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); - int biz30day = goodsBrief.getBiz30day(); - if (biz30day >= 10000) { - double sales = biz30day; - String salesCountMidea = String.format("%.1f", sales / 10000); - goodsBrief.setSalesCount(salesCountMidea + "涓�"); - } else { - goodsBrief.setSalesCount(biz30day + ""); - } - - // 鏀瑰彉鍥剧墖灏哄 - String pictUrl = commonGoods.getPicture(); - if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { - commonGoods.setPicture(TbImgUtil.getTBSize320Img(pictUrl)); - } - - array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null))); - } - } - - JSONObject data = new JSONObject(); - data.put("title", pushGoods.getTitle()); - data.put("content", pushGoods.getContent()); - data.put("result_list", array); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(), - deviceToken, acceptData.getPlatform()); - - // 鍒楄〃鍙傛暟銆佽澶囧弬鏁颁俊鎭笉涓虹┖ - if (deviceActive != null) { - // 璁板綍璁块棶淇℃伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - - List<PushGoodsRecord> listRecord = pushGoodsRecordService.listByPushIdAndDeviceId( - pushGoods.getId(), deviceActive.getId()); - if (listRecord == null || listRecord.size() == 0) { - PushGoodsRecord pushGoodsRecord = new PushGoodsRecord(); - - pushGoodsRecord.setCreateTime(new Date()); - pushGoodsRecord.setPushGoods(pushGoods); - pushGoodsRecord.setDeviceActive(deviceActive); - pushGoodsRecordService.insert(pushGoodsRecord); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - -} +package com.yeshi.fanli.controller.apph5; + +import java.io.PrintWriter; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.core.task.TaskExecutor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.taobao.TbImgUtil; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.goods.CommonGoods; +import com.yeshi.fanli.entity.push.DeviceActive; +import com.yeshi.fanli.entity.push.PushGoods; +import com.yeshi.fanli.entity.push.PushGoodsGroup; +import com.yeshi.fanli.entity.push.PushGoodsRecord; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.push.DeviceActiveService; +import com.yeshi.fanli.service.inter.push.PushGoodsGroupService; +import com.yeshi.fanli.service.inter.push.PushGoodsRecordService; +import com.yeshi.fanli.service.inter.push.PushGoodsService; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +/** + * 浠婃棩鎺ㄩ�� + * + * @author Administrator + * + */ +@Controller +@RequestMapping("api/apph5/v1/push") +public class AppH5PushController { + + @Resource(name = "taskExecutor") + private TaskExecutor executor; + + @Resource + private HongBaoManageService manageService; + + @Resource + private PushGoodsService pushGoodsService; + + @Resource + private PushGoodsGroupService pushGoodsGroupService; + + @Resource + private DeviceActiveService deviceActiveService; + + @Resource + private PushGoodsRecordService pushGoodsRecordService; + + @Resource + private HongBaoManageService hongBaoManageService; + + /** + * 鎺ㄩ�佸晢鍝佽鎯呴〉 + * + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "getpushgoods") + public void getPushGoodsDetail(String callback, AcceptData acceptData, String deviceToken, Long id, PrintWriter out) { + + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶆纭�")); + return; + } + + try { + PushGoods pushGoods = pushGoodsService.selectByPrimaryKey(id); + if (pushGoods == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("姝ゆ帹閫佽褰曞凡涓嶅瓨鍦�")); + return; + } + + JSONArray array = new JSONArray(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + List<PushGoodsGroup> list = pushGoodsGroupService.getAllInfoByPushId(id); + + if (list != null && list.size() > 0) { + + Map<String, String> map = manageService.convertMap(acceptData.getSystem()); + BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem()); + + for (PushGoodsGroup pushGoodsGroup : list) { + CommonGoods commonGoods = pushGoodsGroup.getCommonGoods(); + if (commonGoods == null) { + continue; + } + + TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods); + int biz30day = goodsBrief.getBiz30day(); + if (biz30day >= 10000) { + double sales = biz30day; + String salesCountMidea = String.format("%.1f", sales / 10000); + goodsBrief.setSalesCount(salesCountMidea + "涓�"); + } else { + goodsBrief.setSalesCount(biz30day + ""); + } + + // 鏀瑰彉鍥剧墖灏哄 + String pictUrl = commonGoods.getPicture(); + if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { + commonGoods.setPicture(TbImgUtil.getTBSize320Img(pictUrl)); + } + + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null))); + } + } + + JSONObject data = new JSONObject(); + data.put("title", pushGoods.getTitle()); + data.put("content", pushGoods.getContent()); + data.put("result_list", array); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(), + deviceToken, acceptData.getPlatform()); + + // 鍒楄〃鍙傛暟銆佽澶囧弬鏁颁俊鎭笉涓虹┖ + if (deviceActive != null) { + // 璁板綍璁块棶淇℃伅 + executor.execute(new Runnable() { + @Override + public void run() { + try { + + List<PushGoodsRecord> listRecord = pushGoodsRecordService.listByPushIdAndDeviceId( + pushGoods.getId(), deviceActive.getId()); + if (listRecord == null || listRecord.size() == 0) { + PushGoodsRecord pushGoodsRecord = new PushGoodsRecord(); + + pushGoodsRecord.setCreateTime(new Date()); + pushGoodsRecord.setPushGoods(pushGoods); + pushGoodsRecord.setDeviceActive(deviceActive); + pushGoodsRecordService.insert(pushGoodsRecord); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} -- Gitblit v1.8.0