| | |
| | | package com.yeshi.fanli.controller.apph5;
|
| | |
|
| | | import java.io.PrintWriter;
|
| | | import java.math.BigDecimal;
|
| | | import java.util.ArrayList;
|
| | | 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 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.bus.lable.MergeClass;
|
| | | import com.yeshi.fanli.entity.bus.lable.QualityFactory;
|
| | | import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoHongBaoInfo;
|
| | | import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
|
| | | import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
|
| | | import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | | import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
|
| | | import com.yeshi.fanli.service.inter.goods.GoodsClassService;
|
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
|
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
|
| | | import com.yeshi.fanli.service.inter.lable.LabelService;
|
| | | import com.yeshi.fanli.service.inter.lable.MergeClassService;
|
| | | import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
|
| | | import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
|
| | | import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
|
| | | import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
|
| | | import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
|
| | | import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService;
|
| | | import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
|
| | | import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | 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;
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | @Controller
|
| | | @RequestMapping("api/apph5/v1/quality")
|
| | | public class AppH5QualityGoodsController {
|
| | |
|
| | | @Resource
|
| | | private LabelService labelService;
|
| | |
|
| | | @Resource
|
| | | private QualityFactoryService selectionGoodsService;
|
| | |
|
| | | @Resource
|
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
|
| | |
|
| | | @Resource
|
| | | private TaobaoMeterialService taobaoMeterialService;
|
| | |
|
| | | @Resource
|
| | | private TaoKeGoodsService taoKeGoodsService;
|
| | |
|
| | | @Resource
|
| | | private GoodsClassService goodsClassService;
|
| | |
|
| | | @Resource
|
| | | private HongBaoManageService manageService;
|
| | |
|
| | | @Resource
|
| | | private MergeClassService mergeClassService;
|
| | |
|
| | | @Resource
|
| | | private TaoBaoClassService taoBaoClassService;
|
| | |
|
| | | @Resource
|
| | | private QualityGoodsService qualityGoodsService;
|
| | |
|
| | | @Resource
|
| | | private QualityFlashSaleService qualityFlashSaleService;
|
| | |
|
| | | @Resource
|
| | | private CollectionGoodsV2Service collectionGoodsV2Service;
|
| | |
|
| | | @Resource
|
| | | private HongBaoManageService hongBaoManageService;
|
| | |
|
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | | @Resource
|
| | | private TaoBaoGoodsActivityService taoBaoGoodsActivityService;
|
| | |
|
| | | @Resource
|
| | | private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
|
| | |
|
| | | /**
|
| | | * 9.9商品
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get9k9")
|
| | | public void get9k9(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | get9k9ClassGoods(callback, out, page, 500, new BigDecimal(209.9), new BigDecimal(0), new BigDecimal(9.9), mcid);
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 19.9商品
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get19k9")
|
| | | public void get19k9(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | get9k9ClassGoods(callback, out, page, 500, new BigDecimal(319.9), new BigDecimal(9.9), new BigDecimal(19.9),
|
| | | mcid);
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 29.9商品
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get29k9")
|
| | | public void get29k9(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | get9k9ClassGoods(callback, out, page, 500, new BigDecimal(429.9), new BigDecimal(19.9), new BigDecimal(29.9),
|
| | | mcid);
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 49.9商品
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get49k9")
|
| | | public void get49k9(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | get9k9ClassGoods(callback, out, page, 500, new BigDecimal(549.9), new BigDecimal(29.9), new BigDecimal(49.9),
|
| | | mcid);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 9k9类型的商品查询
|
| | | * |
| | | * @param labName
|
| | | * 标签名称
|
| | | * @param callback
|
| | | * @param page
|
| | | * @param mcid
|
| | | * 对应类目id
|
| | | * @param out
|
| | | */
|
| | | public void get9k9ClassGoods(String callback, PrintWriter out, Integer page, Integer biz30day, BigDecimal zkPrice,
|
| | | BigDecimal minQuanPrice, BigDecimal maxQuanPrice, Long mcid) {
|
| | | try {
|
| | | if (page == null || page <= 0) {
|
| | | page = 1;
|
| | | }
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | String mergeCids = null;
|
| | | if (mcid != null && (!mcid.equals(0) || mcid != 0)) {
|
| | | MergeClass mergeClass = mergeClassService.selectByPrimaryKeyCache(mcid);
|
| | | if (mergeClass != null) {
|
| | | // 分类id,隔开
|
| | | mergeCids = mergeClass.getMergeCids();
|
| | | }
|
| | | }
|
| | |
|
| | | // 根据标签id 查询数据
|
| | | List<QualityFactory> listQuery = qualityGoodsService.get9k9ClassGoods((page - 1) * pageSize, pageSize,
|
| | | biz30day, zkPrice, minQuanPrice, maxQuanPrice, mergeCids);
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | // 总条数
|
| | | long count = qualityGoodsService.count9k9ClassGoods(biz30day, zkPrice, minQuanPrice, maxQuanPrice,
|
| | | mergeCids);
|
| | |
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate();
|
| | | /* 遍历列表数据 */
|
| | | for (QualityFactory selectionGoods : listQuery) {
|
| | | TaoBaoGoodsBrief goodsBrief = selectionGoods.getTaoBaoGoodsBrief();
|
| | | if (goodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | // 618活动
|
| | | if (System.currentTimeMillis() < TimeUtil.convertToTimeTemp("2019-06-19", "yyyy-MM-dd")) {
|
| | | if (mcid == null || mcid == 0) {
|
| | | count = taoBaoGoodsActivityService.countByPrice(minQuanPrice,
|
| | | maxQuanPrice.add(new BigDecimal("0.1")));
|
| | | List<TaoBaoGoodsBrief> goodsList = taoBaoGoodsActivityService.listByPrice(minQuanPrice,
|
| | | maxQuanPrice.add(new BigDecimal("0.1")), page, pageSize);
|
| | | if (goodsList != null) {
|
| | | array.clear();
|
| | | for (TaoBaoGoodsBrief goods : goodsList) {
|
| | | array.add(gson
|
| | | .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), null)));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("result_list", array);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 9.9商品-每日必抢
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get9k9EverydayRob")
|
| | | public void get9k9EverydayRob(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | queryEverydayRob(callback, out, page, new BigDecimal(209.9), new BigDecimal(0), new BigDecimal(9.9));
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 19.9商品-每日必抢
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get19k9EverydayRob")
|
| | | public void get19k9EverydayRob(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | queryEverydayRob(callback, out, page, new BigDecimal(319.9), new BigDecimal(9.9), new BigDecimal(19.9));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 29.9商品-每日必抢
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get29k9EverydayRob")
|
| | | public void get29k9EverydayRob(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | queryEverydayRob(callback, out, page, new BigDecimal(429.9), new BigDecimal(19.9), new BigDecimal(29.9));
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 49.9商品-每日必抢
|
| | | * |
| | | * @param pageIndex
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "get49k9EverydayRob")
|
| | | public void get49k9EverydayRob(String callback, Integer page, Long mcid, PrintWriter out) {
|
| | | queryEverydayRob(callback, out, page, new BigDecimal(549.9), new BigDecimal(29.9), new BigDecimal(49.9));
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 每日必抢
|
| | | * |
| | | * @param page
|
| | | * @param pageSize
|
| | | * @param labId
|
| | | * @return
|
| | | * @throws Exception
|
| | | */
|
| | | public void queryEverydayRob(String callback, PrintWriter out, Integer page, BigDecimal zkPrice,
|
| | | BigDecimal minQuanPrice, BigDecimal maxQuanPrice) {
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | // 20 条一页请求到3页结束今日新品
|
| | | if (page > 3) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | try {
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryEverydayRob((page - 1) * pageSize, pageSize,
|
| | | zkPrice, minQuanPrice, maxQuanPrice);
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | for (QualityFactory selectionGoods : listQuery) {
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | | array.add(gson
|
| | | .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | long count = qualityGoodsService.countQueryEverydayRob(zkPrice, minQuanPrice, maxQuanPrice);
|
| | | if (count < 50) {
|
| | | count = listQuery.size();
|
| | | } else {
|
| | | count = 50;
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("result_list", array);
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 品牌购 (官方推荐【品牌券】接口)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getBrandsGoods")
|
| | | public void getBrandsGoods(String callback, Integer page, String subName, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "品牌券");
|
| | |
|
| | | if (list == null || list.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial taobaoMeterial = list.get(0);
|
| | | Integer materialId = taobaoMeterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = taoKeGoodsService.getBrandsGoods(materialId, page, pageSize);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 品牌购 (官方推荐【品牌券】接口)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getBrandsShops")
|
| | | public void getBrandsShops(String callback, Integer page, PrintWriter out) {
|
| | |
|
| | | try {
|
| | | String subName = "综合";
|
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "品牌券");
|
| | |
|
| | | if (list == null || list.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial taobaoMeterial = list.get(0);
|
| | | Integer materialId = taobaoMeterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = taoKeGoodsService.getBrandsShops(materialId, page, pageSize);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 大额券 (官方推荐中的【特惠】)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getPreferential", method = RequestMethod.POST)
|
| | | public void getPreferential(int page, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, "特惠");
|
| | |
|
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
|
| | | out.print(JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial meterial = taobaoMeterials.get(0);
|
| | | Integer materialId = meterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | out.print(JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page < 1)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = queryMaterialGoods(page, pageSize, materialId);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | out.print(JsonUtil.loadFalseResult(2, "暂无更多数据"));
|
| | | }
|
| | | out.print(JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("查询失败"));
|
| | |
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 超高奖金(官方推荐中的【有好货】)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getSuperiors", method = RequestMethod.POST)
|
| | | public void getSuperiors(int page, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null,
|
| | | "有好货");
|
| | |
|
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
|
| | | out.print(JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial meterial = taobaoMeterials.get(0);
|
| | | Integer materialId = meterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | out.print(JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page < 1)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = queryMaterialGoods(page, pageSize, materialId);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | out.print(JsonUtil.loadFalseResult(2, "暂无更多数据"));
|
| | | }
|
| | | out.print(JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("查询失败"));
|
| | |
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 今日新品【(官方推荐【好券直播】接口)
|
| | | * |
| | | * @param page
|
| | | * @param subName
|
| | | * 子类名称
|
| | | */
|
| | | @RequestMapping(value = "todayNew")
|
| | | public void todayNew(String callback, Integer page, String subName, String uid, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "好券直播");
|
| | |
|
| | | if (list == null || list.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial taobaoMeterial = list.get(0);
|
| | | Integer materialId = taobaoMeterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | List<TaoBaoGoodsBrief> listMaterial = taoKeGoodsService.listByMaterial(materialId, page, pageSize);
|
| | |
|
| | | if (listMaterial == null || listMaterial.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | |
|
| | | /* 遍历列表数据 */
|
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listMaterial) {
|
| | |
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | | double sales = biz30day;
|
| | | String salesCountMidea = String.format("%.1f", sales / 10000);
|
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | // 改变图片尺寸 大图更清晰
|
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl();
|
| | | pictUrl = pictUrl.replaceAll("320x320", "640x640");
|
| | | taoBaoGoodsBrief.setPictUrl(pictUrl);
|
| | |
|
| | | int collected = 0;
|
| | | // 判断收藏
|
| | | if (!StringUtil.isNullOrEmpty(uid)) {
|
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service
|
| | | .findByUidAndAuctionId(Long.parseLong(uid), taoBaoGoodsBrief.getAuctionId(),Constant.SOURCE_TYPE_TAOBAO);
|
| | | if (collectionGoods != null) {
|
| | | collected = 1;
|
| | | }
|
| | | }
|
| | |
|
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
|
| | | proportion.toString(), null);
|
| | | taoBaoGoodsBriefExtra.setCollected(collected);
|
| | |
|
| | | array.add(gson.toJson(taoBaoGoodsBriefExtra));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("result_list", array);
|
| | | data.put("count", 1000);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 潮品热卖(官方推荐中的【潮流范】)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getFashions")
|
| | | public void getFashions(String callback, Integer page, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null,
|
| | | "潮流范");
|
| | |
|
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial meterial = taobaoMeterials.get(0);
|
| | | Integer materialId = meterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null) {
|
| | | page = 1;
|
| | | }
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = queryMaterialGoods(page, pageSize, materialId);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | |
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 母婴精选(官方推荐中的【母婴主题】)
|
| | | * |
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getPregnantBaby")
|
| | | public void getPregnantBaby(AcceptData acceptData, String callback, Integer page, String subName, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName,
|
| | | "母婴主题");
|
| | |
|
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | TaobaoMeterial meterial = taobaoMeterials.get(0);
|
| | | Integer materialId = meterial.getMaterialId();
|
| | | if (materialId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null) {
|
| | | page = 1;
|
| | | }
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject jsonObject = queryMaterialGoods(page, pageSize, materialId);
|
| | |
|
| | | if (jsonObject == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | }
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | |
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | } catch (Exception e1) {
|
| | | e1.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 推荐查询接口对接-公用方法
|
| | | * |
| | | * @param page
|
| | | * @param pageSize
|
| | | * @param materialId
|
| | | * @return
|
| | | * @throws Exception
|
| | | */
|
| | | public JSONObject queryMaterialGoods(int page, int pageSize, Integer materialId) throws Exception {
|
| | |
|
| | | List<TaoBaoGoodsBrief> listBrands = taoKeGoodsService.listByMaterial(materialId, page, pageSize);
|
| | |
|
| | | if (listBrands == null || listBrands.size() == 0) {
|
| | | return null;
|
| | | }
|
| | |
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | |
|
| | | /* 遍历列表数据 */
|
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listBrands) {
|
| | |
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | | double sales = biz30day;
|
| | | String salesCountMidea = String.format("%.1f", sales / 10000);
|
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | // 改变图片尺寸
|
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl();
|
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
|
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("result_list", array);
|
| | | data.put("count", 1000);
|
| | |
|
| | | return data;
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 限时抢购
|
| | | * |
| | | * @param callback
|
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping("getFlashSale")
|
| | | public void getFlashSale(String callback, Integer page, Long auctionId, PrintWriter out) {
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | | int type = qualityFlashSaleService.getNowType();
|
| | |
|
| | | TaoBaoGoodsBrief goodsBrief = null;
|
| | | if (page == 1 && auctionId != null) {
|
| | | List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefService.queryByAuctionId(auctionId);
|
| | | if (list != null && list.size() > 0) {
|
| | | goodsBrief = list.get(0);
|
| | | }
|
| | | }
|
| | |
|
| | | if (goodsBrief != null) {
|
| | | pageSize = pageSize - 1;
|
| | | }
|
| | |
|
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByFlashSale((page - 1) * pageSize, pageSize);
|
| | |
|
| | | // 精选库数据为空
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | long count = 3000;
|
| | |
|
| | | // 精选库数据处理返回 前端
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | |
|
| | | if (goodsBrief != null) {
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | // 遍历列表数据
|
| | | for (QualityFactory quality : listQuery) {
|
| | |
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (goodsBrief != null && auctionId.equals(taoBaoGoodsBrief.getAuctionId())) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | | double sales = biz30day;
|
| | | String salesCountMidea = String.format("%.1f", sales / 10000);
|
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | // 改变图片尺寸
|
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl();
|
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
|
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("type", type);
|
| | | data.put("result_list", array);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | @RequestMapping("getFlashSaleNew")
|
| | | public void getFlashSaleNew(String callback, Integer page, Long auctionId, String time, PrintWriter out) {
|
| | | List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(time);
|
| | | if (detailList0 == null)
|
| | | detailList0 = new ArrayList<>();
|
| | | List<DaTaoKeDetailV2> detailList = new ArrayList<>();
|
| | | detailList.addAll(detailList0);
|
| | | JSONArray array = new JSONArray();
|
| | | if (page == 1) {
|
| | | if (auctionId != null && detailList != null)
|
| | | for (int i = 0; i < detailList.size(); i++) {
|
| | | if (detailList.get(i).getGoodsId().longValue() == auctionId) {
|
| | | DaTaoKeDetailV2 goods = detailList.get(i);
|
| | | detailList.remove(i);
|
| | | detailList.add(0, goods);
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | | if (detailList != null)
|
| | | for (DaTaoKeDetailV2 detail : detailList) {
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(TaoBaoUtil.convert(detail),
|
| | | hongBaoManageService.getFanLiRate() + "", null)));
|
| | | }
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", detailList.size());
|
| | | data.put("result_list", array);
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 大额券(券面值范围)
|
| | | * |
| | | * @param callback
|
| | | * @param amount
|
| | | * @param page
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping("choiceCouponAmount")
|
| | | public void choiceCouponAmount(String callback, Integer amount, Integer page, PrintWriter out) {
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | Integer startAmount = null;
|
| | | Integer endAmount = null;
|
| | |
|
| | | if (amount.equals(1)) {
|
| | | startAmount = 5;
|
| | | endAmount = 10;
|
| | | } else if (amount.equals(2)) {
|
| | | startAmount = 10;
|
| | | endAmount = 30;
|
| | | } else if (amount.equals(3)) {
|
| | | startAmount = 30;
|
| | | endAmount = 50;
|
| | | } else if (amount.equals(4)) {
|
| | | startAmount = 50;
|
| | | }
|
| | |
|
| | | Integer startPropor = 20;
|
| | |
|
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByCouponAmount((page - 1) * pageSize, pageSize,
|
| | | startAmount, endAmount, startPropor);
|
| | |
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | long count = qualityGoodsService.countQueryByCouponAmount(startAmount, endAmount, startPropor);
|
| | |
|
| | | // 精选库数据处理返回 前端
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | // 遍历列表数据
|
| | | for (QualityFactory selectionGoods : listQuery) {
|
| | |
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
|
| | |
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | | double sales = biz30day;
|
| | | String salesCountMidea = String.format("%.1f", sales / 10000);
|
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | // 改变图片尺寸
|
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl();
|
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
|
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("result", array);
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 超高奖金
|
| | | * |
| | | * @param callback
|
| | | * @param page
|
| | | * @param type
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping("choiceRebate")
|
| | | public void choiceRebate(String callback, Integer page, Integer type, PrintWriter out) {
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | Integer startAmount = null;
|
| | | Integer endAmount = null;
|
| | |
|
| | | if (type.equals(1)) {
|
| | | startAmount = 1;
|
| | | endAmount = 5;
|
| | | } else if (type.equals(2)) {
|
| | | startAmount = 5;
|
| | | endAmount = 10;
|
| | | } else if (type.equals(3)) {
|
| | | startAmount = 10;
|
| | | endAmount = 15;
|
| | | } else if (type.equals(4)) {
|
| | | startAmount = 15;
|
| | | }
|
| | |
|
| | | double tkRate = 20.00;
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByRebateAmount((page - 1) * pageSize, pageSize,
|
| | | proportion.toString(), startAmount, endAmount, tkRate);
|
| | |
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | long count = qualityGoodsService.countQueryByRebateAmount(proportion.toString(), startAmount, endAmount,
|
| | | tkRate);
|
| | |
|
| | | // 精选库数据处理返回 前端
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | // 遍历列表数据
|
| | | for (QualityFactory quality : listQuery) {
|
| | |
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
|
| | |
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | | double sales = biz30day;
|
| | | String salesCountMidea = String.format("%.1f", sales / 10000);
|
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | // 改变图片尺寸
|
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl();
|
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
|
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("result_list", array);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 超高奖金
|
| | | * |
| | | * @param callback
|
| | | * @param page
|
| | | * @param type
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping("recommendToIndex")
|
| | | public void recommendToIndex(String callback, Integer page, PrintWriter out) {
|
| | |
|
| | | if (page == null)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | JSONArray array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize,
|
| | | proportion.toString());
|
| | |
|
| | | if (array == null) {
|
| | | out.print(JsonUtil.loadFalseResult("没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | long count = qualityGoodsService.countRecommendToIndex(proportion.toString());
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("result_list", array);
|
| | |
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 超高奖金
|
| | | * |
| | | * @param callback
|
| | | * @param page
|
| | | * @param type
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping("freeGoods")
|
| | | public void freeGoods(String callback, Integer page, PrintWriter out) {
|
| | | try {
|
| | | if (page == null || page < 1)
|
| | | page = 1;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize);
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了"));
|
| | | return;
|
| | | }
|
| | |
|
| | | List<Long> listGid = new ArrayList<Long>();
|
| | | for (QualityFactory qualityFactory : listQuery) {
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
|
| | |
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | | listGid.add(taoBaoGoodsBrief.getAuctionId());
|
| | | }
|
| | |
|
| | | // API网络接口验证是否在售
|
| | | List<TaoBaoGoodsBrief> listTaoKeGoods = null;
|
| | | try {
|
| | | listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | } catch (TaobaoGoodsDownException e) {
|
| | | e.printStackTrace();
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | JSONArray array = new JSONArray();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | /* 遍历列表数据 */
|
| | | for (QualityFactory selectionGoods : listQuery) {
|
| | |
|
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
|
| | |
|
| | | if (taoBaoGoodsBrief == null) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
|
| | | boolean stateSale = false; // 默认停售
|
| | | Long goodsId = taoBaoGoodsBrief.getAuctionId();
|
| | | for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
|
| | | Long auctionId = taoKeGoods.getAuctionId();
|
| | | if (goodsId == auctionId || goodsId.equals(auctionId)) {
|
| | | stateSale = true; // 在售
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | if (!stateSale) {
|
| | | continue;
|
| | | }
|
| | | }
|
| | |
|
| | | BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
|
| | | if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) {
|
| | | continue; // 券后价大于10
|
| | | }
|
| | |
|
| | | TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
|
| | | proportion.toString(), null);
|
| | | // 将返利改为券后价
|
| | | TaoBaoHongBaoInfo taoBaoHongBaoInfo = extra.getTaoBaoHongBaoInfo();
|
| | | if (taoBaoHongBaoInfo != null) {
|
| | | taoBaoHongBaoInfo.setHongbao(extra.getQuanPrice());
|
| | | taoBaoHongBaoInfo.setRate("¥" + extra.getQuanPrice());
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(extra));
|
| | | }
|
| | |
|
| | | long count = qualityGoodsService.countFreeGoods();
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | if (page == 1) {
|
| | | // 抽奖规则
|
| | | String rules = configService.get("free_goods_rule");
|
| | | data.put("ruleLink", rules);
|
| | | }
|
| | |
|
| | | data.put("count", count);
|
| | | data.put("result_list", array);
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("数据暂未提供"));
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.controller.apph5; |
| | | |
| | | import java.io.PrintWriter; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | 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 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.bus.lable.MergeClass; |
| | | import com.yeshi.fanli.entity.bus.lable.QualityFactory; |
| | | import com.yeshi.fanli.entity.goods.CollectionGoodsV2; |
| | | import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; |
| | | import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra; |
| | | import com.yeshi.goods.facade.entity.taobao.TaoBaoHongBaoInfo; |
| | | import com.yeshi.fanli.entity.taobao.TaobaoMeterial; |
| | | import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; |
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException; |
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; |
| | | import com.yeshi.fanli.log.LogHelper; |
| | | import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; |
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; |
| | | import com.yeshi.fanli.service.inter.lable.MergeClassService; |
| | | import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService; |
| | | import com.yeshi.fanli.service.inter.lable.QualityGoodsService; |
| | | import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; |
| | | import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; |
| | | import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService; |
| | | import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService; |
| | | import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; |
| | | import com.yeshi.fanli.util.Constant; |
| | | 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; |
| | | import net.sf.json.JSONObject; |
| | | |
| | | @Controller |
| | | @RequestMapping("api/apph5/v1/quality") |
| | | public class AppH5QualityGoodsController { |
| | | @Resource |
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService; |
| | | |
| | | @Resource |
| | | private TaobaoMeterialService taobaoMeterialService; |
| | | |
| | | @Resource |
| | | private TaoKeGoodsService taoKeGoodsService; |
| | | |
| | | |
| | | @Resource |
| | | private HongBaoManageService manageService; |
| | | |
| | | @Resource |
| | | private MergeClassService mergeClassService; |
| | | |
| | | |
| | | @Resource |
| | | private QualityGoodsService qualityGoodsService; |
| | | |
| | | @Resource |
| | | private QualityFlashSaleService qualityFlashSaleService; |
| | | |
| | | @Resource |
| | | private CollectionGoodsV2Service collectionGoodsV2Service; |
| | | |
| | | @Resource |
| | | private HongBaoManageService hongBaoManageService; |
| | | |
| | | |
| | | @Resource |
| | | private TaoBaoGoodsActivityService taoBaoGoodsActivityService; |
| | | |
| | | @Resource |
| | | private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; |
| | | |
| | | |
| | | /** |
| | | * 9.9商品 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get9k9") |
| | | public void get9k9(AcceptData acceptData, String callback, Integer page, Long mcid, PrintWriter out) { |
| | | get9k9ClassGoods(acceptData, callback, out, page, 500, new BigDecimal(209.9), new BigDecimal(0), new BigDecimal(9.9), mcid); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 19.9商品 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get19k9") |
| | | public void get19k9(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | get9k9ClassGoods(acceptData,callback, out, page, 500, new BigDecimal(319.9), new BigDecimal(9.9), new BigDecimal(19.9), |
| | | mcid); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 29.9商品 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get29k9") |
| | | public void get29k9(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | get9k9ClassGoods(acceptData,callback, out, page, 500, new BigDecimal(429.9), new BigDecimal(19.9), new BigDecimal(29.9), |
| | | mcid); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 49.9商品 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get49k9") |
| | | public void get49k9(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | get9k9ClassGoods(acceptData,callback, out, page, 500, new BigDecimal(549.9), new BigDecimal(29.9), new BigDecimal(49.9), |
| | | mcid); |
| | | } |
| | | |
| | | /** |
| | | * 9k9类型的商品查询 |
| | | * |
| | | * @param callback |
| | | * @param out |
| | | * @param page |
| | | * @param biz30day |
| | | * @param zkPrice |
| | | * @param minQuanPrice |
| | | * @param maxQuanPrice |
| | | * @param mcid |
| | | */ |
| | | public void get9k9ClassGoods(AcceptData acceptData, String callback, PrintWriter out, Integer page, Integer biz30day, BigDecimal zkPrice, |
| | | BigDecimal minQuanPrice, BigDecimal maxQuanPrice, Long mcid) { |
| | | try { |
| | | if (page == null || page <= 0) { |
| | | page = 1; |
| | | } |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | String mergeCids = null; |
| | | if (mcid != null && (!mcid.equals(0) || mcid != 0)) { |
| | | MergeClass mergeClass = mergeClassService.selectByPrimaryKeyCache(mcid); |
| | | if (mergeClass != null) { |
| | | // 分类id,隔开 |
| | | mergeCids = mergeClass.getMergeCids(); |
| | | } |
| | | } |
| | | |
| | | // 根据标签id 查询数据 |
| | | List<QualityFactory> listQuery = qualityGoodsService.get9k9ClassGoods((page - 1) * pageSize, pageSize, |
| | | biz30day, zkPrice, minQuanPrice, maxQuanPrice, mergeCids); |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | // 总条数 |
| | | long count = qualityGoodsService.count9k9ClassGoods(biz30day, zkPrice, minQuanPrice, maxQuanPrice, |
| | | mergeCids); |
| | | |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem()); |
| | | /* 遍历列表数据 */ |
| | | for (QualityFactory selectionGoods : listQuery) { |
| | | TaoBaoGoodsBrief goodsBrief = selectionGoods.getTaoBaoGoodsBrief(); |
| | | if (goodsBrief == null) { |
| | | continue; |
| | | } |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | // 618活动 |
| | | if (System.currentTimeMillis() < TimeUtil.convertToTimeTemp("2019-06-19", "yyyy-MM-dd")) { |
| | | if (mcid == null || mcid == 0) { |
| | | count = taoBaoGoodsActivityService.countByPrice(minQuanPrice, |
| | | maxQuanPrice.add(new BigDecimal("0.1"))); |
| | | List<TaoBaoGoodsBrief> goodsList = taoBaoGoodsActivityService.listByPrice(minQuanPrice, |
| | | maxQuanPrice.add(new BigDecimal("0.1")), page, pageSize); |
| | | if (goodsList != null) { |
| | | array.clear(); |
| | | for (TaoBaoGoodsBrief goods : goodsList) { |
| | | array.add(gson |
| | | .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), null))); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("result_list", array); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 9.9商品-每日必抢 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get9k9EverydayRob") |
| | | public void get9k9EverydayRob(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | queryEverydayRob(acceptData,callback, out, page, new BigDecimal(209.9), new BigDecimal(0), new BigDecimal(9.9)); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 19.9商品-每日必抢 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get19k9EverydayRob") |
| | | public void get19k9EverydayRob(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | queryEverydayRob(acceptData,callback, out, page, new BigDecimal(319.9), new BigDecimal(9.9), new BigDecimal(19.9)); |
| | | } |
| | | |
| | | /** |
| | | * 29.9商品-每日必抢 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get29k9EverydayRob") |
| | | public void get29k9EverydayRob(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | queryEverydayRob(acceptData,callback, out, page, new BigDecimal(429.9), new BigDecimal(19.9), new BigDecimal(29.9)); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 49.9商品-每日必抢 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param mcid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "get49k9EverydayRob") |
| | | public void get49k9EverydayRob(AcceptData acceptData,String callback, Integer page, Long mcid, PrintWriter out) { |
| | | queryEverydayRob(acceptData,callback, out, page, new BigDecimal(549.9), new BigDecimal(29.9), new BigDecimal(49.9)); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 每日必抢 |
| | | * |
| | | * @param callback |
| | | * @param out |
| | | * @param page |
| | | * @param zkPrice |
| | | * @param minQuanPrice |
| | | * @param maxQuanPrice |
| | | */ |
| | | public void queryEverydayRob(AcceptData acceptData, String callback, PrintWriter out, Integer page, BigDecimal zkPrice, |
| | | BigDecimal minQuanPrice, BigDecimal maxQuanPrice) { |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | // 20 条一页请求到3页结束今日新品 |
| | | if (page > 3) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryEverydayRob((page - 1) * pageSize, pageSize, |
| | | zkPrice, minQuanPrice, maxQuanPrice); |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | for (QualityFactory selectionGoods : listQuery) { |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | array.add(gson |
| | | .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | long count = qualityGoodsService.countQueryEverydayRob(zkPrice, minQuanPrice, maxQuanPrice); |
| | | if (count < 50) { |
| | | count = listQuery.size(); |
| | | } else { |
| | | count = 50; |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("result_list", array); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 品牌购 (官方推荐【品牌券】接口) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getBrandsGoods") |
| | | public void getBrandsGoods(AcceptData acceptData, String callback, Integer page, String subName, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "品牌券"); |
| | | |
| | | if (list == null || list.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial taobaoMeterial = list.get(0); |
| | | Integer materialId = taobaoMeterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = taoKeGoodsService.getBrandsGoods(materialId, page, pageSize,acceptData.getSystem()); |
| | | |
| | | if (jsonObject == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 品牌购 (官方推荐【品牌券】接口) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getBrandsShops") |
| | | public void getBrandsShops(String callback, Integer page, PrintWriter out) { |
| | | |
| | | try { |
| | | String subName = "综合"; |
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "品牌券"); |
| | | |
| | | if (list == null || list.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial taobaoMeterial = list.get(0); |
| | | Integer materialId = taobaoMeterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = taoKeGoodsService.getBrandsShops(materialId, page, pageSize); |
| | | |
| | | if (jsonObject == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 大额券 (官方推荐中的【特惠】) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getPreferential", method = RequestMethod.POST) |
| | | public void getPreferential(AcceptData acceptData,int page, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, "特惠"); |
| | | |
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) { |
| | | out.print(JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial meterial = taobaoMeterials.get(0); |
| | | Integer materialId = meterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | out.print(JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page < 1) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = queryMaterialGoods(acceptData,page, pageSize, materialId); |
| | | |
| | | if (jsonObject == null) { |
| | | out.print(JsonUtil.loadFalseResult(2, "暂无更多数据")); |
| | | } |
| | | out.print(JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | out.print(JsonUtil.loadFalseResult("查询失败")); |
| | | |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 超高奖金(官方推荐中的【有好货】) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getSuperiors", method = RequestMethod.POST) |
| | | public void getSuperiors(AcceptData acceptData, int page, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, |
| | | "有好货"); |
| | | |
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) { |
| | | out.print(JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial meterial = taobaoMeterials.get(0); |
| | | Integer materialId = meterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | out.print(JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page < 1) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = queryMaterialGoods(acceptData, page, pageSize, materialId); |
| | | |
| | | if (jsonObject == null) { |
| | | out.print(JsonUtil.loadFalseResult(2, "暂无更多数据")); |
| | | } |
| | | out.print(JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | out.print(JsonUtil.loadFalseResult("查询失败")); |
| | | |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 今日新品【(官方推荐【好券直播】接口) |
| | | * |
| | | * @param page |
| | | * @param subName 子类名称 |
| | | */ |
| | | @RequestMapping(value = "todayNew") |
| | | public void todayNew(AcceptData acceptData, String callback, Integer page, String subName, String uid, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> list = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "好券直播"); |
| | | |
| | | if (list == null || list.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial taobaoMeterial = list.get(0); |
| | | Integer materialId = taobaoMeterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | List<TaoBaoGoodsBrief> listMaterial = taoKeGoodsService.listByMaterial(materialId, page, pageSize); |
| | | |
| | | if (listMaterial == null || listMaterial.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | |
| | | /* 遍历列表数据 */ |
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listMaterial) { |
| | | |
| | | int biz30day = taoBaoGoodsBrief.getBiz30day(); |
| | | if (biz30day >= 10000) { |
| | | double sales = biz30day; |
| | | String salesCountMidea = String.format("%.1f", sales / 10000); |
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万"); |
| | | } else { |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + ""); |
| | | } |
| | | |
| | | // 改变图片尺寸 大图更清晰 |
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl(); |
| | | pictUrl = pictUrl.replaceAll("320x320", "640x640"); |
| | | taoBaoGoodsBrief.setPictUrl(pictUrl); |
| | | |
| | | int collected = 0; |
| | | // 判断收藏 |
| | | if (!StringUtil.isNullOrEmpty(uid)) { |
| | | CollectionGoodsV2 collectionGoods = collectionGoodsV2Service |
| | | .findByUidAndAuctionId(Long.parseLong(uid), taoBaoGoodsBrief.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO); |
| | | if (collectionGoods != null) { |
| | | collected = 1; |
| | | } |
| | | } |
| | | |
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | taoBaoGoodsBriefExtra.setCollected(collected); |
| | | |
| | | array.add(gson.toJson(taoBaoGoodsBriefExtra)); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result_list", array); |
| | | data.put("count", 1000); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 潮品热卖(官方推荐中的【潮流范】) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getFashions") |
| | | public void getFashions(AcceptData acceptData, String callback, Integer page, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, |
| | | "潮流范"); |
| | | |
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial meterial = taobaoMeterials.get(0); |
| | | Integer materialId = meterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null) { |
| | | page = 1; |
| | | } |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = queryMaterialGoods(acceptData, page, pageSize, materialId); |
| | | |
| | | if (jsonObject == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 母婴精选(官方推荐中的【母婴主题】) |
| | | * |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getPregnantBaby") |
| | | public void getPregnantBaby(AcceptData acceptData, String callback, Integer page, String subName, PrintWriter out) { |
| | | |
| | | try { |
| | | |
| | | List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, |
| | | "母婴主题"); |
| | | |
| | | if (taobaoMeterials == null || taobaoMeterials.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); |
| | | return; |
| | | } |
| | | |
| | | TaobaoMeterial meterial = taobaoMeterials.get(0); |
| | | Integer materialId = meterial.getMaterialId(); |
| | | if (materialId == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检索到数据")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null) { |
| | | page = 1; |
| | | } |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | JSONObject jsonObject = queryMaterialGoods(acceptData, page, pageSize, materialId); |
| | | |
| | | if (jsonObject == null) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | } |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); |
| | | |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); |
| | | |
| | | try { |
| | | LogHelper.errorDetailInfo(e); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推荐查询接口对接-公用方法 |
| | | * |
| | | * @param page |
| | | * @param pageSize |
| | | * @param materialId |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public JSONObject queryMaterialGoods(AcceptData acceptData, int page, int pageSize, Integer materialId) throws Exception { |
| | | |
| | | List<TaoBaoGoodsBrief> listBrands = taoKeGoodsService.listByMaterial(materialId, page, pageSize); |
| | | |
| | | if (listBrands == null || listBrands.size() == 0) { |
| | | return null; |
| | | } |
| | | |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | |
| | | /* 遍历列表数据 */ |
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : listBrands) { |
| | | |
| | | int biz30day = taoBaoGoodsBrief.getBiz30day(); |
| | | if (biz30day >= 10000) { |
| | | double sales = biz30day; |
| | | String salesCountMidea = String.format("%.1f", sales / 10000); |
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万"); |
| | | } else { |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + ""); |
| | | } |
| | | |
| | | // 改变图片尺寸 |
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl(); |
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { |
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); |
| | | } |
| | | |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result_list", array); |
| | | data.put("count", 1000); |
| | | |
| | | return data; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 限时抢购 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping("getFlashSale") |
| | | public void getFlashSale(AcceptData acceptData, String callback, Integer page, String auctionId, PrintWriter out) { |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | int type = qualityFlashSaleService.getNowType(); |
| | | |
| | | TaoBaoGoodsBrief goodsBrief = null; |
| | | if (page == 1 && auctionId != null) { |
| | | List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefService.queryByAuctionId(auctionId); |
| | | if (list != null && list.size() > 0) { |
| | | goodsBrief = list.get(0); |
| | | } |
| | | } |
| | | |
| | | if (goodsBrief != null) { |
| | | pageSize = pageSize - 1; |
| | | } |
| | | |
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByFlashSale((page - 1) * pageSize, pageSize); |
| | | |
| | | // 精选库数据为空 |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | long count = 3000; |
| | | |
| | | // 精选库数据处理返回 前端 |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | |
| | | if (goodsBrief != null) { |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | // 遍历列表数据 |
| | | for (QualityFactory quality : listQuery) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief(); |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | |
| | | if (goodsBrief != null && auctionId.equals(taoBaoGoodsBrief.getAuctionId())) { |
| | | continue; |
| | | } |
| | | |
| | | int biz30day = taoBaoGoodsBrief.getBiz30day(); |
| | | if (biz30day >= 10000) { |
| | | double sales = biz30day; |
| | | String salesCountMidea = String.format("%.1f", sales / 10000); |
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万"); |
| | | } else { |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + ""); |
| | | } |
| | | |
| | | // 改变图片尺寸 |
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl(); |
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { |
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); |
| | | } |
| | | |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("type", type); |
| | | data.put("result_list", array); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | | @RequestMapping("getFlashSaleNew") |
| | | public void getFlashSaleNew(AcceptData acceptData, String callback, Integer page, String auctionId, String time, PrintWriter out) { |
| | | List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(time); |
| | | if (detailList0 == null) |
| | | detailList0 = new ArrayList<>(); |
| | | List<DaTaoKeDetailV2> detailList = new ArrayList<>(); |
| | | detailList.addAll(detailList0); |
| | | JSONArray array = new JSONArray(); |
| | | if (page == 1) { |
| | | if (auctionId != null && detailList != null) |
| | | for (int i = 0; i < detailList.size(); i++) { |
| | | if ( TaoBaoUtil.isEqual(detailList.get(i).getGoodsId(), auctionId)) { |
| | | DaTaoKeDetailV2 goods = detailList.get(i); |
| | | detailList.remove(i); |
| | | detailList.add(0, goods); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | if (detailList != null) |
| | | for (DaTaoKeDetailV2 detail : detailList) { |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(TaoBaoUtil.convert(detail), |
| | | hongBaoManageService.getFanLiRate(acceptData.getSystem()) + "", null))); |
| | | } |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", detailList.size()); |
| | | data.put("result_list", array); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | | /** |
| | | * 大额券(券面值范围) |
| | | * |
| | | * @param callback |
| | | * @param amount |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping("choiceCouponAmount") |
| | | public void choiceCouponAmount(AcceptData acceptData, String callback, Integer amount, Integer page, PrintWriter out) { |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | Integer startAmount = null; |
| | | Integer endAmount = null; |
| | | |
| | | if (amount.equals(1)) { |
| | | startAmount = 5; |
| | | endAmount = 10; |
| | | } else if (amount.equals(2)) { |
| | | startAmount = 10; |
| | | endAmount = 30; |
| | | } else if (amount.equals(3)) { |
| | | startAmount = 30; |
| | | endAmount = 50; |
| | | } else if (amount.equals(4)) { |
| | | startAmount = 50; |
| | | } |
| | | |
| | | Integer startPropor = 20; |
| | | |
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByCouponAmount((page - 1) * pageSize, pageSize, |
| | | startAmount, endAmount, startPropor); |
| | | |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | long count = qualityGoodsService.countQueryByCouponAmount(startAmount, endAmount, startPropor); |
| | | |
| | | // 精选库数据处理返回 前端 |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | // 遍历列表数据 |
| | | for (QualityFactory selectionGoods : listQuery) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); |
| | | |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | |
| | | int biz30day = taoBaoGoodsBrief.getBiz30day(); |
| | | if (biz30day >= 10000) { |
| | | double sales = biz30day; |
| | | String salesCountMidea = String.format("%.1f", sales / 10000); |
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万"); |
| | | } else { |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + ""); |
| | | } |
| | | |
| | | // 改变图片尺寸 |
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl(); |
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { |
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); |
| | | } |
| | | |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("result", array); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | | /** |
| | | * 超高奖金 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param type |
| | | * @param out |
| | | */ |
| | | @RequestMapping("choiceRebate") |
| | | public void choiceRebate(AcceptData acceptData, String callback, Integer page, Integer type, PrintWriter out) { |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | Integer startAmount = null; |
| | | Integer endAmount = null; |
| | | |
| | | if (type.equals(1)) { |
| | | startAmount = 1; |
| | | endAmount = 5; |
| | | } else if (type.equals(2)) { |
| | | startAmount = 5; |
| | | endAmount = 10; |
| | | } else if (type.equals(3)) { |
| | | startAmount = 10; |
| | | endAmount = 15; |
| | | } else if (type.equals(4)) { |
| | | startAmount = 15; |
| | | } |
| | | |
| | | double tkRate = 20.00; |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | List<QualityFactory> listQuery = qualityGoodsService.listQueryByRebateAmount((page - 1) * pageSize, pageSize, |
| | | proportion.toString(), startAmount, endAmount, tkRate); |
| | | |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | long count = qualityGoodsService.countQueryByRebateAmount(proportion.toString(), startAmount, endAmount, |
| | | tkRate); |
| | | |
| | | // 精选库数据处理返回 前端 |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | // 遍历列表数据 |
| | | for (QualityFactory quality : listQuery) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief(); |
| | | |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | |
| | | int biz30day = taoBaoGoodsBrief.getBiz30day(); |
| | | if (biz30day >= 10000) { |
| | | double sales = biz30day; |
| | | String salesCountMidea = String.format("%.1f", sales / 10000); |
| | | taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万"); |
| | | } else { |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + ""); |
| | | } |
| | | |
| | | // 改变图片尺寸 |
| | | String pictUrl = taoBaoGoodsBrief.getPictUrl(); |
| | | if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) { |
| | | taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); |
| | | } |
| | | |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("result_list", array); |
| | | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | | /** |
| | | * 超高奖金 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping("recommendToIndex") |
| | | public void recommendToIndex(AcceptData acceptData, String callback, Integer page, PrintWriter out) { |
| | | |
| | | if (page == null) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | JSONArray array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, |
| | | proportion.toString()); |
| | | |
| | | if (array == null) { |
| | | out.print(JsonUtil.loadFalseResult("没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | long count = qualityGoodsService.countRecommendToIndex(proportion.toString()); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("count", count); |
| | | data.put("result_list", array); |
| | | |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | return; |
| | | } |
| | | |
| | | /** |
| | | * 超高奖金 |
| | | * |
| | | * @param callback |
| | | * @param page |
| | | * @param out |
| | | */ |
| | | @RequestMapping("freeGoods") |
| | | public void freeGoods(AcceptData acceptData, String callback, Integer page, PrintWriter out) { |
| | | try { |
| | | if (page == null || page < 1) |
| | | page = 1; |
| | | |
| | | int pageSize = Constant.PAGE_SIZE; |
| | | |
| | | List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize); |
| | | if (listQuery == null || listQuery.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "没有更多了")); |
| | | return; |
| | | } |
| | | |
| | | List<String> listGid = new ArrayList<>(); |
| | | for (QualityFactory qualityFactory : listQuery) { |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); |
| | | |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | listGid.add(taoBaoGoodsBrief.getAuctionId()); |
| | | } |
| | | |
| | | // API网络接口验证是否在售 |
| | | List<TaoBaoGoodsBrief> listTaoKeGoods = null; |
| | | try { |
| | | listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid); |
| | | } catch (TaoKeApiException e) { |
| | | e.printStackTrace(); |
| | | } catch (TaobaoGoodsDownException e) { |
| | | e.printStackTrace(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | JSONArray array = new JSONArray(); |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); |
| | | |
| | | BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem()); |
| | | /* 遍历列表数据 */ |
| | | for (QualityFactory selectionGoods : listQuery) { |
| | | |
| | | TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); |
| | | |
| | | if (taoBaoGoodsBrief == null) { |
| | | continue; |
| | | } |
| | | |
| | | if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) { |
| | | boolean stateSale = false; // 默认停售 |
| | | String goodsId = taoBaoGoodsBrief.getAuctionId(); |
| | | for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) { |
| | | String auctionId = taoKeGoods.getAuctionId(); |
| | | if (goodsId == auctionId || goodsId.equals(auctionId)) { |
| | | stateSale = true; // 在售 |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!stateSale) { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | BigDecimal couplePrice = TaoBaoUtil.getCouponPrice(taoBaoGoodsBrief); |
| | | if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) { |
| | | continue; // 券后价大于10 |
| | | } |
| | | |
| | | TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, |
| | | proportion.toString(), null); |
| | | // 将返利改为券后价 |
| | | TaoBaoHongBaoInfo taoBaoHongBaoInfo = extra.getTaoBaoHongBaoInfo(); |
| | | if (taoBaoHongBaoInfo != null) { |
| | | taoBaoHongBaoInfo.setHongbao(extra.getQuanPrice()); |
| | | taoBaoHongBaoInfo.setRate("¥" + extra.getQuanPrice()); |
| | | } |
| | | |
| | | array.add(gson.toJson(extra)); |
| | | } |
| | | |
| | | long count = qualityGoodsService.countFreeGoods(); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | if (page == 1) { |
| | | // 抽奖规则 |
| | | data.put("ruleLink", ""); |
| | | } |
| | | |
| | | data.put("count", count); |
| | | data.put("result_list", array); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("数据暂未提供")); |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | } |
| | | |
| | | } |