| | |
| | | import java.util.Map;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import net.sf.json.JSONArray;
|
| | | import net.sf.json.JSONObject;
|
| | | import javax.servlet.http.HttpServletRequest;
|
| | |
|
| | | 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.google.gson.GsonBuilder;
|
| | |
| | | import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
|
| | | import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
|
| | | import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
|
| | | import com.yeshi.fanli.service.inter.monitor.MonitorService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.Utils;
|
| | | import com.yeshi.fanli.util.factory.MonitorFactory;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | import net.sf.json.JSONArray;
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | @Controller
|
| | | @RequestMapping("api/v1/class")
|
| | |
| | |
|
| | | @Resource
|
| | | private QualityGoodsService qualityGoodsService;
|
| | |
|
| | | @Resource
|
| | | private MonitorService monitorService;
|
| | |
|
| | | /**
|
| | | * 获取主类目
|
| | |
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | | JSONArray array = new JSONArray();
|
| | | List<TaoBaoGoodsBrief> taobaoList = taoKeGoodsService.searchWuLiaoList(sf);
|
| | | Map<String, String> map = manageService.convertMap();
|
| | | String proportion = map.get("hongbao_goods_proportion");
|
| | | String fcRate = map.get("hongbao_fc_ratio");
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : taobaoList) {
|
| | | int biz30day = taoBaoGoodsBrief.getBiz30day();
|
| | | if (biz30day >= 10000) {
|
| | |
| | | } else {
|
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("nav", new JSONArray());
|
| | |
| | | * @param page
|
| | | * @param scid
|
| | | * @param filter
|
| | | * @param order 来源:【推荐:0 | 综合:4 、综合只看有券 1 、综合只看天猫 1 | 价格:低到高3 高到低2 | 销量:1】
|
| | | * 排序值:【销量由高到低: 1 ; 销量由低到高 5; 价格从高到低: 2 ; 价格从低到高:3 ; 推广量高到低:4 ; 其他默认: 销量由高到低】
|
| | | * |
| | | * @param order
|
| | | * 来源:【推荐:0 | 综合:4 、综合只看有券 1 、综合只看天猫 1 | 价格:低到高3 高到低2 | 销量:1】
|
| | | * 排序值:【销量由高到低: 1 ; 销量由低到高 5; 价格从高到低: 2 ; 价格从低到高:3 ; 推广量高到低:4 ;
|
| | | * 其他默认: 销量由高到低】
|
| | | * |
| | | * @param startprice
|
| | | * 起始价格
|
| | | * @param endprice
|
| | |
| | | }
|
| | |
|
| | | try {
|
| | | |
| | |
|
| | | GoodsSubClass goodsSubClass = goodsSubClassService.getSubClassByPrimaryKeyCache(scid);
|
| | | if (goodsSubClass == null) {
|
| | | out.print(JsonUtil.loadFalseResult("不存在该分类"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (page == 0) {
|
| | | // 统计点击量
|
| | | goodsSubClassService.countClick(acceptData, goodsSubClass);
|
| | | }
|
| | | |
| | |
|
| | | /* 搜索关键词 */
|
| | | String searchKey = goodsSubClass.getName();
|
| | | String key = goodsSubClass.getKey();
|
| | | if (key != null && !"".equals(key.trim())) {
|
| | | searchKey = key;
|
| | | }
|
| | | |
| | |
|
| | | /* 商品系统分类id */
|
| | | Long systemCid = null;
|
| | | GoodsClass rootClass = goodsSubClass.getRootClass();
|
| | | if (rootClass != null) {
|
| | | systemCid = rootClass.getId();
|
| | | }
|
| | | |
| | | |
| | |
|
| | | // page从1开始
|
| | | page += 1;
|
| | | // 请求淘宝接口页码
|
| | | int pageNo = page; |
| | | |
| | | int pageNo = page;
|
| | |
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | | |
| | | /* 查询推荐模块 清空其他非必要筛选项和排序项 */
|
| | |
|
| | | /* 查询推荐模块 清空其他非必要筛选项和排序项 */
|
| | | if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) == 0) {
|
| | | |
| | |
|
| | | // 分类关联标签id集合
|
| | | List<Long> listLabId = |
| | | labelClassService.getRelationLabIds((page - 1) * pageSize, pageSize, goodsSubClass.getId());
|
| | | |
| | | List<Long> listLabId = labelClassService.getRelationLabIds((page - 1) * pageSize, pageSize,
|
| | | goodsSubClass.getId());
|
| | |
|
| | | /* 计算精选库数据 总页数 */
|
| | | long incount = taoKeGoodsService.countByQuality(searchKey, systemCid, listLabId);
|
| | |
|
| | | int totalPage = (int) (incount % pageSize == 0 ? incount / pageSize : incount / pageSize + 1);
|
| | | |
| | |
|
| | | pageNo = page - totalPage;
|
| | | |
| | | |
| | |
|
| | | /* 查询精选库数据 */
|
| | | if (pageNo <= 0 ) {
|
| | | |
| | | List<QualityFactory> listQuality = taoKeGoodsService.queryByQuality((page - 1) * pageSize,
|
| | | pageSize,searchKey, systemCid, listLabId);
|
| | | |
| | | if (pageNo <= 0) {
|
| | |
|
| | | List<QualityFactory> listQuality = taoKeGoodsService.queryByQuality((page - 1) * pageSize, pageSize,
|
| | | searchKey, systemCid, listLabId);
|
| | |
|
| | | List<TaoBaoGoodsBrief> searchWuLiaoList = null;
|
| | | |
| | | /* 精选库数据不足10条 */
|
| | |
|
| | | /* 精选库数据不足10条 */
|
| | | if (listQuality != null && listQuality.size() != 0 && listQuality.size() < 10) {
|
| | | |
| | |
|
| | | String searchParam = goodsSubClass.getSearchJson();
|
| | | |
| | |
|
| | | Gson gs = new Gson();
|
| | | SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
|
| | | |
| | |
|
| | | int quanfilter = searchfilter.getQuan();
|
| | | if (quanfilter != 1) {
|
| | | searchfilter.setQuan(1);
|
| | |
| | | if (endPricefilter == null) {
|
| | | searchfilter.setEndPrice(new BigDecimal(220));
|
| | | }
|
| | | |
| | |
|
| | | boolean includeGoodRate = searchfilter.isIncludeGoodRate();
|
| | | if (!includeGoodRate) {
|
| | | searchfilter.setIncludeGoodRate(true);
|
| | | }
|
| | | |
| | | //请求第一页数据
|
| | |
|
| | | // 请求第一页数据
|
| | | searchfilter.setPage(1);
|
| | | searchfilter.setPageSize(pageSize);
|
| | | searchfilter.setKey(searchKey);
|
| | | searchfilter.setMaterialId("6707");
|
| | | |
| | |
|
| | | searchWuLiaoList = taoKeGoodsService.searchWuLiaoList(searchfilter);
|
| | | }
|
| | |
|
| | | Map<String, String> map = manageService.convertMap();
|
| | | |
| | |
|
| | | JSONObject data = taoKeGoodsService.listQualityGoods(listQuality, searchWuLiaoList, map);
|
| | | |
| | |
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | |
| | |
|
| | | return;
|
| | | }
|
| | | |
| | | |
| | | if (pageNo > 0 && totalPage > 0) {
|
| | | List<QualityFactory> list = taoKeGoodsService.queryByQuality((totalPage - 1) * pageSize,
|
| | | pageSize, searchKey, systemCid, listLabId);
|
| | | |
| | |
|
| | | if (pageNo > 0 && totalPage > 0) {
|
| | | List<QualityFactory> list = taoKeGoodsService.queryByQuality((totalPage - 1) * pageSize, pageSize,
|
| | | searchKey, systemCid, listLabId);
|
| | |
|
| | | if (list != null && list.size() != 0 && list.size() < 10) {
|
| | | // 页码+ 1 已请求一次淘宝接口
|
| | | pageNo += 1 ;
|
| | | pageNo += 1;
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | /* 网络请求 */
|
| | |
|
| | | /* 网络请求 */
|
| | | SearchFilter searchfilter = null;
|
| | | String searchParam = goodsSubClass.getSearchJson();
|
| | | |
| | | if (!StringUtil.isNullOrEmpty(searchParam) && !StringUtil.isNullOrEmpty(order) |
| | |
|
| | | if (!StringUtil.isNullOrEmpty(searchParam) && !StringUtil.isNullOrEmpty(order)
|
| | | && Integer.parseInt(order) == 0) {
|
| | | // 推荐 使用子分类默认查询条件
|
| | | Gson gs = new Gson();
|
| | | searchfilter = gs.fromJson(searchParam, SearchFilter.class);
|
| | | |
| | |
|
| | | int quanfilter = searchfilter.getQuan();
|
| | | if (quanfilter != 1) {
|
| | | searchfilter.setQuan(1);
|
| | |
| | | if (endPricefilter == null) {
|
| | | searchfilter.setEndPrice(new BigDecimal(220));
|
| | | }
|
| | | |
| | |
|
| | | boolean includeGoodRate = searchfilter.isIncludeGoodRate();
|
| | | if (!includeGoodRate) {
|
| | | searchfilter.setIncludeGoodRate(true);
|
| | | }
|
| | | |
| | |
|
| | | } else {
|
| | | searchfilter = new SearchFilter();
|
| | | // 设置SearchFilter
|
| | | taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter, totalSales);
|
| | | taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
|
| | | totalSales);
|
| | | |
| | | // 用户未输入最高价格时 最高价格限制99999
|
| | | if (searchfilter.getEndPrice() == null) {
|
| | | searchfilter.setEndPrice(new BigDecimal(99999));
|
| | | }
|
| | | }
|
| | |
|
| | | searchfilter.setPage(pageNo);
|
| | | searchfilter.setPageSize(pageSize);
|
| | | searchfilter.setKey(searchKey);
|
| | | |
| | | if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) != 4 ) {
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(order) && Integer.parseInt(order) != 4) {
|
| | | searchfilter.setMaterialId("6707");
|
| | | }
|
| | | |
| | |
|
| | | // 查询物料接口
|
| | | JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter);
|
| | | out.print(JsonUtil.loadTrueResult(result));
|
| | |
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
|
| | | Map<String, String> map = manageService.convertMap();
|
| | | String proportion = map.get("hongbao_goods_proportion");
|
| | | String fcRate = map.get("hongbao_fc_ratio");
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | |
|
| | | // 遍历列表数据
|
| | | for (QualityFactory selectionGoods : listQuery) {
|
| | |
| | | taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
| | | }
|
| | |
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
|
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | |
| | | }
|
| | |
|
| | | @RequestMapping("getCouponList")
|
| | | public void getCouponList(AcceptData acceptData, int page, PrintWriter out) {
|
| | | public void getCouponList(AcceptData acceptData, int page, HttpServletRequest request, PrintWriter out) {
|
| | | page = page > 0 ? page : 1;
|
| | | List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = taoBaoCouponService.getTaoBaoCouponList(page);
|
| | | Map<String, String> map = manageService.convertMap();
|
| | | String proportion = map.get("hongbao_goods_proportion");
|
| | | String fcRate = map.get("hongbao_fc_ratio");
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | JSONArray array = new JSONArray();
|
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
|
| | |
|
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
|
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, "");
|
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "");
|
| | | array.add(gson.toJson(taoBaoGoodsBriefExtra));
|
| | | }
|
| | | int count = 10000;
|
| | |
| | | data.put("taoBaoCoupons", array);
|
| | | data.put("count", count);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | |
|
| | | try {
|
| | | monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, null));
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | data.put("nav", gson.toJson(navList));
|
| | | List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>();
|
| | | List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
|
| | | Map<String, String> map = manageService.convertMap();
|
| | | String proportion = map.get("hongbao_goods_proportion");
|
| | | String fcRate = map.get("hongbao_fc_ratio");
|
| | | BigDecimal proportion = manageService.getFanLiRate();
|
| | | TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
|
| | | for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
|
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, "");
|
| | | taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "");
|
| | | re.add(taoBaoGoodsBriefExtra);
|
| | | }
|
| | |
|
| | |
| | | */
|
| | | private void setTaoBaoCouponHongBao(List<TaoBaoCoupon> taoBaoCoupons) {
|
| | | if (taoBaoCoupons.size() > 0) {
|
| | | String proportion = hongBaoManageService.get(Constant.HONGBAO_GOODS_PROPORTION);
|
| | | BigDecimal proportion= hongBaoManageService.getFanLiRate();
|
| | | |
| | | for (TaoBaoCoupon taoBaoCoupon : taoBaoCoupons) {
|
| | | BigDecimal hb = TaoBaoUtil.getCouponHongBaoInfo(taoBaoCoupon, new BigDecimal(proportion));
|
| | | BigDecimal hb = TaoBaoUtil.getCouponHongBaoInfo(taoBaoCoupon,proportion);
|
| | | taoBaoCoupon.setHongbao(hb);
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | @RequestMapping(value={"getcategory"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
|
| | |
|
| | | @RequestMapping(value = { "getcategory" }, method = { org.springframework.web.bind.annotation.RequestMethod.POST })
|
| | | public void getcategory(AcceptData acceptData, PrintWriter out) {
|
| | | com.yeshi.fanli.entity.system.System system = this.systemService
|
| | | .getSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | com.yeshi.fanli.entity.system.System system = this.systemService.getSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | if (system == null) {
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | | return;
|
| | |
| | | long gcid = goodsClass.getId();
|
| | | try {
|
| | | List<GoodsSubClass> subClassList = this.goodsSubClassService.getSubClassCache(Long.valueOf(gcid),
|
| | | Integer.valueOf(1));
|
| | | Integer.valueOf(1));
|
| | | if ((subClassList == null) || (subClassList.size() == 0)) {
|
| | | subClassList = new ArrayList<GoodsSubClass>();
|
| | | }
|