admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
@@ -1,152 +1,152 @@
package com.yeshi.fanli.controller.web;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.StringUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
@Controller
@RequestMapping("api/web/v1/shareHotGoods")
public class ShareHotGoodsController {
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private ShareHotGoodsService shareHotGoodsService;
   @Resource
   private HongBaoManageService hongBaoManageService;
   /**
    * 拉取备选商品
    *
    * @param callback
    * @param acceptData
    * @param kw
    * @param out
    */
   @RequestMapping(value = "listPreGoods", method = RequestMethod.GET)
   public void listPreGoods(String callback, AcceptData acceptData, String kw, Integer page, PrintWriter out) {
      // 大淘客数据,更新
      List<TaoBaoGoodsBrief> list = shareHotGoodsService.listPreGoods(page);
      JSONArray array = new JSONArray();
      Gson gson = new Gson();
      for (TaoBaoGoodsBrief goods : list) {
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, "100", null)));
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 设置分享商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "setShareGoods", method = RequestMethod.GET)
   public void setShareGoods(String callback, AcceptData acceptData, String ids, String day, PrintWriter out) {
      // 大淘客数据,更新
      JSONArray array = JSONArray.fromObject(ids);
      if (StringUtil.isNullOrEmpty(day)) {
         day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
      }
      int count = 0;
      for (int i = 0; i < array.size(); i++) {
         // 获取商品详情
         TaoBaoGoodsBrief goods = null;
         try {
            goods = TaoKeApiUtil.searchGoodsDetail(array.optLong(i));
         } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
         }
         if (goods != null && goods.getCouponAmount() != null
               && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
            if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) {
               count++;
               goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods).getGoods();
               shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods));
            }
         }
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功:" + count)));
   }
   /**
    * 获取已经选择的商品
    *
    * @param callback
    * @param acceptData
    * @param day
    * @param out
    */
   @RequestMapping(value = "listSelectedGoods", method = RequestMethod.GET)
   public void listSelectedGoods(String callback, AcceptData acceptData, String day, PrintWriter out) {
      if (StringUtil.isNullOrEmpty(day)) {
         day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
      }
      // 最多30个商品
      List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day, 30);
      JSONArray array = new JSONArray();
      for (ShareHotGoods sh : listGoods) {
         TaoBaoGoodsBriefExtra item = TaoBaoUtil.getTaoBaoGoodsBriefExtra(sh.getGoods(), 100 + "", null);
         if (!StringUtil.isNullOrEmpty(item.getPictUrlWhite()))
            item.setPictUrl(item.getPictUrlWhite());
         item.setAuctionUrl(sh.getId());
         array.add(item);
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 删除选择的商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "deleteSelectedGoods", method = RequestMethod.GET)
   public void deleteSelectedGoods(String callback, AcceptData acceptData, String ids, PrintWriter out) {
      JSONArray array = JSONArray.fromObject(ids);
      for (int i = 0; i < array.size(); i++) {
         String id = array.optString(i);
         shareHotGoodsService.deleteById(id);
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("")));
   }
}
package com.yeshi.fanli.controller.web;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.StringUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
@Controller
@RequestMapping("api/web/v1/shareHotGoods")
public class ShareHotGoodsController {
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private ShareHotGoodsService shareHotGoodsService;
   @Resource
   private HongBaoManageService hongBaoManageService;
   /**
    * 拉取备选商品
    *
    * @param callback
    * @param acceptData
    * @param kw
    * @param out
    */
   @RequestMapping(value = "listPreGoods", method = RequestMethod.GET)
   public void listPreGoods(String callback, AcceptData acceptData, String kw, Integer page, PrintWriter out) {
      // 大淘客数据,更新
      List<TaoBaoGoodsBrief> list = shareHotGoodsService.listPreGoods(page);
      JSONArray array = new JSONArray();
      Gson gson = new Gson();
      for (TaoBaoGoodsBrief goods : list) {
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, "100", null)));
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 设置分享商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "setShareGoods", method = RequestMethod.GET)
   public void setShareGoods(String callback, AcceptData acceptData, String ids, String day, PrintWriter out) {
      // 大淘客数据,更新
      JSONArray array = JSONArray.fromObject(ids);
      if (StringUtil.isNullOrEmpty(day)) {
         day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
      }
      int count = 0;
      for (int i = 0; i < array.size(); i++) {
         // 获取商品详情
         TaoBaoGoodsBrief goods = null;
         try {
            goods = TaoKeApiUtil.searchGoodsDetail(array.optString(i));
         } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
         }
         if (goods != null && goods.getCouponAmount() != null
               && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
            if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) {
               count++;
               goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods).getGoods();
               shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods));
            }
         }
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功:" + count)));
   }
   /**
    * 获取已经选择的商品
    *
    * @param callback
    * @param acceptData
    * @param day
    * @param out
    */
   @RequestMapping(value = "listSelectedGoods", method = RequestMethod.GET)
   public void listSelectedGoods(String callback, AcceptData acceptData, String day, PrintWriter out) {
      if (StringUtil.isNullOrEmpty(day)) {
         day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
      }
      // 最多30个商品
      List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day, 30);
      JSONArray array = new JSONArray();
      for (ShareHotGoods sh : listGoods) {
         TaoBaoGoodsBriefExtra item = TaoBaoUtil.getTaoBaoGoodsBriefExtra(sh.getGoods(), 100 + "", null);
         if (!StringUtil.isNullOrEmpty(item.getPictUrlWhite()))
            item.setPictUrl(item.getPictUrlWhite());
         item.setAuctionUrl(sh.getId());
         array.add(item);
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 删除选择的商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "deleteSelectedGoods", method = RequestMethod.GET)
   public void deleteSelectedGoods(String callback, AcceptData acceptData, String ids, PrintWriter out) {
      JSONArray array = JSONArray.fromObject(ids);
      for (int i = 0; i < array.size(); i++) {
         String id = array.optString(i);
         shareHotGoodsService.deleteById(id);
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("")));
   }
}