admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/web/TLJFreeBuyGoodsController.java
@@ -1,145 +1,145 @@
package com.yeshi.fanli.controller.web;
import java.io.PrintWriter;
import java.math.BigDecimal;
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.TLJFreeBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.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.TLJFreeBuyGoodsService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.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/tljFreeBuyGoods")
public class TLJFreeBuyGoodsController {
   @Resource
   private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
   @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 = tljFreeBuyGoodsService.listPreGoods(kw, page);
      JSONArray array = new JSONArray();
      Gson gson = new Gson();
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      for (TaoBaoGoodsBrief goods : list) {
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, fanLiRate.toString(), null)));
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 设置免单商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "setFreeGoods", 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) {
            // 券后价  1-2元
            BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
            if (couplePrice.compareTo(new BigDecimal(1.0)) >= 0 && couplePrice.compareTo(new BigDecimal(2.0)) <= 0) {
               count++;
               tljFreeBuyGoodsService.addGoods(new TLJFreeBuyGoods(day, 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");
      }
      // 最多10个商品
      List<TLJFreeBuyGoods> listGoods = tljFreeBuyGoodsService.listByDay(day, 100);
      JSONArray array = new JSONArray();
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      for (TLJFreeBuyGoods sh : listGoods) {
         TaoBaoGoodsBriefExtra item = TaoBaoUtil.getTaoBaoGoodsBriefExtra(sh.getGoods(), fanLiRate.toString(), 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);
         tljFreeBuyGoodsService.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.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.TLJFreeBuyGoods;
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.TLJFreeBuyGoodsService;
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/tljFreeBuyGoods")
public class TLJFreeBuyGoodsController {
   @Resource
   private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
   @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 = tljFreeBuyGoodsService.listPreGoods(kw, page);
      JSONArray array = new JSONArray();
      Gson gson = new Gson();
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(acceptData.getSystem());
      for (TaoBaoGoodsBrief goods : list) {
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, fanLiRate.toString(), null)));
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
   }
   /**
    * 设置免单商品
    *
    * @param callback
    * @param acceptData
    * @param ids
    * @param out
    */
   @RequestMapping(value = "setFreeGoods", 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) {
            // 券后价  1-2元
            BigDecimal couplePrice = TaoBaoUtil.getCouponPrice(goods);
            if (couplePrice.compareTo(new BigDecimal(1.0)) >= 0 && couplePrice.compareTo(new BigDecimal(2.0)) <= 0) {
               count++;
               tljFreeBuyGoodsService.addGoods(new TLJFreeBuyGoods(day, 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");
      }
      // 最多10个商品
      List<TLJFreeBuyGoods> listGoods = tljFreeBuyGoodsService.listByDay(day, 100);
      JSONArray array = new JSONArray();
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(acceptData.getSystem());
      for (TLJFreeBuyGoods sh : listGoods) {
         TaoBaoGoodsBriefExtra item = TaoBaoUtil.getTaoBaoGoodsBriefExtra(sh.getGoods(), fanLiRate.toString(), 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);
         tljFreeBuyGoodsService.deleteById(id);
      }
      out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("")));
   }
}