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("")));
|
}
|
|
}
|