From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 三月 2019 12:02:16 +0800 Subject: [PATCH] 正式数据库修改 --- fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java | 544 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 322 insertions(+), 222 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java index 2a13672..051066c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5QualityGoodsController.java @@ -1,17 +1,17 @@ package com.yeshi.fanli.controller.apph5; import java.io.PrintWriter; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; -import java.util.Map; import javax.annotation.Resource; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; 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; @@ -19,13 +19,17 @@ import com.yeshi.fanli.entity.bus.lable.Label; import com.yeshi.fanli.entity.bus.lable.MergeClass; import com.yeshi.fanli.entity.bus.lable.QualityFactory; -import com.yeshi.fanli.entity.bus.user.CollectionGoods; +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.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.config.SystemService; -import com.yeshi.fanli.service.inter.goods.CollectionGoodsService; +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.hongbao.HongBaoManageService; @@ -39,12 +43,14 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; -import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.taobao.TbImgUtil; +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 { +public class AppH5QualityGoodsController { @Resource private LabelService labelService; @@ -66,25 +72,29 @@ @Resource private MergeClassService mergeClassService; - + @Resource private TaoBaoClassService taoBaoClassService; - + @Resource private SystemService systemService; @Resource private QualityGoodsService qualityGoodsService; - + @Resource private QualityFlashSaleService qualityFlashSaleService; + + @Resource + private CollectionGoodsV2Service collectionGoodsV2Service; + + @Resource + private HongBaoManageService hongBaoManageService; @Resource - private CollectionGoodsService collectionGoodsService; + private ConfigService configService; - - - + /** * 9.9鍟嗗搧 * @@ -95,7 +105,6 @@ public void get9k9(String callback, Integer page, Long mcid, PrintWriter out) { get9k9ClassGoods("9.9", callback, page, mcid, out); } - /** * 19.9鍟嗗搧 @@ -130,13 +139,15 @@ get9k9ClassGoods("49.9", callback, page, mcid, out); } - /** - * 9k9绫诲瀷鐨勫晢鍝佹煡璇� - * @param labName 鏍囩鍚嶇О + * 9k9绫诲瀷鐨勫晢鍝佹煡璇� + * + * @param labName + * 鏍囩鍚嶇О * @param callback * @param page - * @param mcid 瀵瑰簲绫荤洰id + * @param mcid + * 瀵瑰簲绫荤洰id * @param out */ public void get9k9ClassGoods(String labName, String callback, Integer page, Long mcid, PrintWriter out) { @@ -148,14 +159,14 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } - + Long labId = labs.get(0).getId(); if (page == null) page = 1; int pageSize = Constant.PAGE_SIZE; - + JSONObject jsonGoods = queryGoodsSmallAmount(page, pageSize, mcid, labId); if (jsonGoods == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); @@ -173,7 +184,7 @@ } } } - + /** * 鑾峰彇鍟嗗搧 * @@ -196,7 +207,8 @@ } // 鏍规嵁鏍囩id 鏌ヨ鏁版嵁 - List<QualityFactory> listQuery = qualityGoodsService.listQuerySmallAmount((page - 1) * pageSize, pageSize, null, labId, mergeCids); + List<QualityFactory> listQuery = qualityGoodsService.listQuerySmallAmount((page - 1) * pageSize, pageSize, null, + labId, mergeCids); // 鎬绘潯鏁� long count = qualityGoodsService.countQuerySmallAmount(null, labId, mergeCids); @@ -205,11 +217,10 @@ } JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + 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 = hongBaoManageService.getFanLiRate(); /* 閬嶅巻鍒楄〃鏁版嵁 */ for (QualityFactory selectionGoods : listQuery) { @@ -225,16 +236,16 @@ String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); } JSONObject data = new JSONObject(); @@ -244,11 +255,7 @@ return data; } - - - - - + /** * 9.9鍟嗗搧-姣忔棩蹇呮姠 * @@ -293,9 +300,9 @@ get9k9ClassToDayRob("49.9", callback, page, mcid, out, 1.0, 50.0); } - /** * 9k9绫诲瀷鍟嗗搧瀵瑰簲鐨勬瘡鏃ュ繀鎶� + * * @param labName * @param callback * @param page @@ -334,8 +341,7 @@ } } } - - + /** * 姣忔棩蹇呮姠 * @@ -345,36 +351,37 @@ * @return * @throws Exception */ - public JSONObject queryEverydayRob(Integer page, Long labId, int sortField, Double startCouponAmount, Double endCouponAmount) throws Exception { + public JSONObject queryEverydayRob(Integer page, Long labId, int sortField, Double startCouponAmount, + Double endCouponAmount) throws Exception { if (page == null) page = 1; int pageSize = Constant.PAGE_SIZE; - - - if (page > 3 ) { + + if (page > 3) { return null;// 20 鏉′竴椤佃姹傚埌3椤电粨鏉熶粖鏃ユ柊鍝� } - - // 鏍规嵁鏍囩id 鏌ヨ鏁版嵁 - List<QualityFactory> listQuery = qualityGoodsService.listQueryEverydayRob((page - 1) * pageSize, pageSize, null, labId, sortField, startCouponAmount, endCouponAmount); - // 鍙彇鍓�50鏉℃暟 + // 鏍规嵁鏍囩id 鏌ヨ鏁版嵁 + List<QualityFactory> listQuery = qualityGoodsService.listQueryEverydayRob((page - 1) * pageSize, pageSize, null, + labId, sortField, startCouponAmount, endCouponAmount); + + // 鍙彇鍓�50鏉℃暟 long count = 50; - - //long count = qualityGoodsService.countQueryEverydayRob(null, labId, startCouponAmount, endCouponAmount); + + // long count = qualityGoodsService.countQueryEverydayRob(null, labId, + // startCouponAmount, endCouponAmount); if (listQuery == null || listQuery.size() == 0) { return null; } JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + 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) { @@ -390,16 +397,16 @@ String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); } JSONObject data = new JSONObject(); @@ -409,7 +416,6 @@ return data; } - /** * 鍝佺墝璐� 锛堝畼鏂规帹鑽愩�愬搧鐗屽埜銆戞帴鍙o級 @@ -440,19 +446,18 @@ page = 1; int pageSize = Constant.PAGE_SIZE; - + JSONObject jsonObject = taoKeGoodsService.getBrandsGoods(materialId, page, pageSize); if (jsonObject == null) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); return; } - - - JsonUtil.printMode(out, callback,JsonUtil.loadTrueResult(jsonObject)); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); } catch (Exception e) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { @@ -460,7 +465,7 @@ } } } - + /** * 鍝佺墝璐� 锛堝畼鏂规帹鑽愩�愬搧鐗屽埜銆戞帴鍙o級 * @@ -490,19 +495,18 @@ page = 1; int pageSize = Constant.PAGE_SIZE; - + JSONObject jsonObject = taoKeGoodsService.getBrandsShops(materialId, page, pageSize); if (jsonObject == null) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); return; } - - - JsonUtil.printMode(out, callback,JsonUtil.loadTrueResult(jsonObject)); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonObject)); } catch (Exception e) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { @@ -570,7 +574,8 @@ try { - List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, "鏈夊ソ璐�"); + List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, + "鏈夊ソ璐�"); if (taobaoMeterials == null || taobaoMeterials.size() == 0) { out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); @@ -606,13 +611,13 @@ } } } - - + /** * 浠婃棩鏂板搧銆愶紙瀹樻柟鎺ㄨ崘銆愬ソ鍒哥洿鎾�戞帴鍙o級 * * @param page - * @param subName 瀛愮被鍚嶇О + * @param subName + * 瀛愮被鍚嶇О */ @RequestMapping(value = "todayNew") public void todayNew(String callback, Integer page, String subName, String uid, PrintWriter out) { @@ -638,51 +643,50 @@ 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,"娌℃湁鏇村浜�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); return; } JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + 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 (TaoBaoGoodsBrief taoBaoGoodsBrief : listMaterial) { - - int count = taoBaoGoodsBrief.getBiz30day(); - if (count >= 10000) { - double sales = count; + + int biz30day = taoBaoGoodsBrief.getBiz30day(); + if (biz30day >= 10000) { + double sales = biz30day; String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + taoBaoGoodsBrief.setSalesCount(biz30day + ""); } - - // 鏀瑰彉鍥剧墖灏哄 澶у浘鏇存竻鏅� + + // 鏀瑰彉鍥剧墖灏哄 澶у浘鏇存竻鏅� String pictUrl = taoBaoGoodsBrief.getPictUrl(); pictUrl = pictUrl.replaceAll("320x320", "640x640"); taoBaoGoodsBrief.setPictUrl(pictUrl); - + int collected = 0; // 鍒ゆ柇鏀惰棌 if (!StringUtil.isNullOrEmpty(uid)) { - CollectionGoods collectionGoods = collectionGoodsService.findByUidAndAuctionId(Long.parseLong(uid), - taoBaoGoodsBrief.getAuctionId()); + CollectionGoodsV2 collectionGoods = collectionGoodsV2Service + .findByUidAndAuctionId(Long.parseLong(uid), taoBaoGoodsBrief.getAuctionId()); if (collectionGoods != null) { collected = 1; } } - - TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null); + + TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, + proportion.toString(), null); taoBaoGoodsBriefExtra.setCollected(collected); - + array.add(gson.toJson(taoBaoGoodsBriefExtra)); } @@ -690,11 +694,10 @@ data.put("result_list", array); data.put("count", 1000); - - JsonUtil.printMode(out, callback,JsonUtil.loadTrueResult(data)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { - JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { @@ -703,9 +706,6 @@ } } - - - /** * 娼搧鐑崠锛堝畼鏂规帹鑽愪腑鐨勩�愭疆娴佽寖銆戯級 * @@ -717,8 +717,8 @@ try { - - List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, "娼祦鑼�"); + List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(null, + "娼祦鑼�"); if (taobaoMeterials == null || taobaoMeterials.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); @@ -735,7 +735,7 @@ if (page == null) { page = 1; } - + int pageSize = Constant.PAGE_SIZE; JSONObject jsonObject = queryMaterialGoods(page, pageSize, materialId); @@ -768,8 +768,9 @@ public void getPregnantBaby(AcceptData acceptData, String callback, Integer page, String subName, PrintWriter out) { try { - - List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, "姣嶅┐涓婚"); + + List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache(subName, + "姣嶅┐涓婚"); if (taobaoMeterials == null || taobaoMeterials.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); @@ -825,31 +826,30 @@ } JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + 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 (TaoBaoGoodsBrief taoBaoGoodsBrief : listBrands) { - int count = taoBaoGoodsBrief.getBiz30day(); - if (count >= 10000) { - double sales = count; + int biz30day = taoBaoGoodsBrief.getBiz30day(); + if (biz30day >= 10000) { + double sales = biz30day; String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); } JSONObject data = new JSONObject(); @@ -860,42 +860,40 @@ } - - /** * 闄愭椂鎶㈣喘 + * * @param callback * @param page * @param out */ @RequestMapping("getFlashSale") public void getFlashSale(String callback, Integer page, PrintWriter out) { - + if (page == null) page = 1; - + int pageSize = Constant.PAGE_SIZE; int type = qualityFlashSaleService.getNowType(); - + 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(); - Map<String, String> map = manageService.convertMap(); - String proportion = map.get("hongbao_goods_proportion"); - String fcRate = map.get("hongbao_fc_ratio"); - - //閬嶅巻鍒楄〃鏁版嵁 + long count = 3000; + + // 绮鹃�夊簱鏁版嵁澶勭悊杩斿洖 鍓嶇 + JSONArray array = new JSONArray(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + BigDecimal proportion = manageService.getFanLiRate(); + + // 閬嶅巻鍒楄〃鏁版嵁 for (QualityFactory quality : listQuery) { TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief(); @@ -910,29 +908,29 @@ String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + + 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)); } - /** * 澶ч鍒革紙鍒搁潰鍊艰寖鍥达級 + * * @param callback * @param amount * @param page @@ -940,17 +938,15 @@ */ @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 ; - + Integer endAmount = null; + if (amount.equals(1)) { startAmount = 5; endAmount = 10; @@ -963,29 +959,26 @@ } else if (amount.equals(4)) { startAmount = 50; } - + Integer startPropor = 20; - - List<QualityFactory> listQuery = qualityGoodsService.listQueryByCouponAmount((page - 1) * pageSize, - pageSize, startAmount, endAmount, startPropor); - + + 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(); - Map<String, String> map = manageService.convertMap(); - String proportion = map.get("hongbao_goods_proportion"); - String fcRate = map.get("hongbao_fc_ratio"); - - //閬嶅巻鍒楄〃鏁版嵁 + 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(); @@ -1000,16 +993,16 @@ String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); } JSONObject data = new JSONObject(); @@ -1017,11 +1010,10 @@ data.put("result", array); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } - - - + /** * 瓒呴珮濂栭噾 + * * @param callback * @param page * @param type @@ -1029,16 +1021,15 @@ */ @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 ; - + Integer endAmount = null; + if (type.equals(1)) { startAmount = 1; endAmount = 5; @@ -1051,30 +1042,26 @@ } else if (type.equals(4)) { startAmount = 15; } - + double tkRate = 20.00; - - Map<String, String> map = manageService.convertMap(); - String proportion = map.get("hongbao_goods_proportion"); - String fcRate = map.get("hongbao_fc_ratio"); - + + BigDecimal proportion = manageService.getFanLiRate(); List<QualityFactory> listQuery = qualityGoodsService.listQueryByRebateAmount((page - 1) * pageSize, pageSize, - proportion, startAmount, endAmount, tkRate); - + proportion.toString(), startAmount, endAmount, tkRate); + if (listQuery == null || listQuery.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�")); return; } - - - long count = qualityGoodsService.countQueryByRebateAmount(proportion, startAmount, endAmount, tkRate); - - // 绮鹃�夊簱鏁版嵁澶勭悊杩斿洖 鍓嶇 - JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - - //閬嶅巻鍒楄〃鏁版嵁 + 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(); @@ -1089,27 +1076,28 @@ String salesCountMidea = String.format("%.1f", sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); } else { - taoBaoGoodsBrief.setSalesCount(count + ""); + 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, fcRate, null))); + + 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 @@ -1117,34 +1105,146 @@ */ @RequestMapping("recommendToIndex") public void recommendToIndex(String callback, Integer page, PrintWriter out) { - + if (page == null) page = 1; - + int pageSize = Constant.PAGE_SIZE; - - - Map<String, String> map = manageService.convertMap(); - String proportion = map.get("hongbao_goods_proportion"); - String fcRate = map.get("hongbao_fc_ratio"); - - - - JSONArray array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, - proportion, fcRate); - + + 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); + + 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) { + + if (page == null || page < 1) + page = 1; + + int pageSize = Constant.PAGE_SIZE; + + double tkRate = 20; + String lableName = "9.9"; + + try { + List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize, tkRate, + lableName); + 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(tkRate, lableName); + + + 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("鎿嶄綔澶辫触")); + e.printStackTrace(); + } + } + } -- Gitblit v1.8.0