fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java
@@ -18,11 +18,8 @@ import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabel; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabelMap; import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass; import com.yeshi.fanli.exception.FloatADException; import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService; import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.goods.TaoBaoClassService; import com.yeshi.fanli.service.inter.lable.LabelClassService; @@ -42,9 +39,6 @@ @Resource private TaoBaoClassService taoBaoClassService; @Resource private GoodsSubClassLabelService goodsSubClassLabelService; /** * 保存信息 * @@ -53,26 +47,19 @@ * @param out */ @RequestMapping(value = "save") public void save(String callback, GoodsSubClass goodsSubClass, Long pid, Integer type, Long labelId, HttpServletRequest request, PrintWriter out) { public void save(String callback, GoodsSubClass goodsSubClass, Long pid, Integer type, HttpServletRequest request, PrintWriter out) { if (goodsSubClass.getTaobaoCids() != null) goodsSubClass.setTaobaoCids(goodsSubClass.getTaobaoCids().replace(",", ",")); GoodsSubClassLabelMap map = null; if (labelId != null) { map = new GoodsSubClassLabelMap(); map.setLabel(new GoodsSubClassLabel(labelId)); map.setOrderBy(0); } try { // 1. 先判断httpRequest 是否含有文件类型 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; goodsSubClassService.saveObject(fileRequest.getFile("file"), fileRequest.getFile("file2"), goodsSubClass, type, pid,map); goodsSubClass, type, pid); } else { goodsSubClassService.saveObject(null, null, goodsSubClass, type, pid,map); goodsSubClassService.saveObject(null, null, goodsSubClass, type, pid); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功")); @@ -225,11 +212,6 @@ } goodsSubClass.setTaobaoCids(taobaoCids); } // 查询分类标签 GoodsSubClassLabelMap map = goodsSubClassLabelService.selectBySubClassId(goodsSubClass.getId()); if (map != null) goodsSubClass.setClassLabel(map.getLabel()); } GsonBuilder gsonBuilder = new GsonBuilder(); fanli/src/main/java/com/yeshi/fanli/controller/admin/QualityFactoryAdminController.java
@@ -39,7 +39,6 @@ import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.quality.QualityFactoryVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller @@ -58,6 +57,7 @@ private TaoBaoGoodsBriefService taoBaoGoodsBriefService; @Resource private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; public static final int SALES_ASC = 1; public static final int SALES_DESC = 2; @@ -67,49 +67,11 @@ public static final int TKRATE_ASC = 5; public static final int TKRATE_DESC = 6; public static final int PROPOR_ASC = 7; public static final int PROPOR_DESC = 8; @RequestMapping(value = "addBatch") public void addBatch(String callback, String auctionIds, String lableNames, HttpServletRequest request, PrintWriter out) { try { // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); if (admin == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆"))); return; } if (StringUtil.isNullOrEmpty(auctionIds)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选者正确的商品入库"))); return; } Gson gson = new Gson(); List<Long> auctionIdList = gson.fromJson(auctionIds, new TypeToken<ArrayList<Long>>() { }.getType()); if (auctionIdList == null || auctionIdList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择正确的商品入库"))); return; } List<TaoBaoGoodsBrief> listTaoBaoGoods = new ArrayList<>(); JSONArray array = JSONArray.fromObject(auctionIds); for (int i = 0; i < array.size(); i++) { listTaoBaoGoods.add(TaoKeApiUtil.searchGoodsDetail(array.optLong(i))); } qualityFactoryService.addBatchTaoBaoGoods(listTaoBaoGoods, lableNames, admin); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("添加成功"))); } catch (Exception e) { e.printStackTrace(); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常"))); } } /** * 保存修改精品库商品关联信息 @@ -120,8 +82,7 @@ * @param out */ @RequestMapping(value = "saveModify") public void saveModify(String callback, QualityFactory selectionGoods, HttpServletRequest request, PrintWriter out) { public void saveModify(String callback, QualityFactory selectionGoods, HttpServletRequest request, PrintWriter out) { try { AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); @@ -193,8 +154,7 @@ try { Gson gson = new Gson(); List<String> goodsIds = gson.fromJson(ids, new TypeToken<ArrayList<String>>() { }.getType()); List<String> goodsIds = gson.fromJson(ids, new TypeToken<ArrayList<String>>() {}.getType()); if (goodsIds == null || goodsIds.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未检测到移除商品数据"))); @@ -216,11 +176,10 @@ /** * 查询 * * @param out */ @RequestMapping(value = "query") public void query(String callback, Integer pageIndex, Integer pageSize, Integer sort, public void query(String callback, Integer pageIndex,Integer pageSize, Integer sort, QualityFactoryVO qualityFactoryVO, PrintWriter out) { try { @@ -258,19 +217,19 @@ case PROPOR_ASC: propor = 1; break; case PROPOR_DESC: case PROPOR_DESC: propor = 2; break; default: break; } } qualityFactoryVO.setPrice(price); qualityFactoryVO.setTkRate(tkRate); qualityFactoryVO.setTotalSales(totalSales); qualityFactoryVO.setPropor(propor); qualityFactoryVO.setStart((pageIndex - 1) * pageSize); qualityFactoryVO.setStart((pageIndex - 1) * pageSize); qualityFactoryVO.setCount(pageSize); List<QualityFactory> selectionList = qualityFactoryService.query(qualityFactoryVO); @@ -291,46 +250,47 @@ List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>(); /* 验证网络: 获取商品链接 图片链接 */ /* 验证网络: 获取商品链接 图片链接 */ List<TaoBaoGoodsBrief> goodsBriefList = new ArrayList<TaoBaoGoodsBrief>(); StringBuffer idBuf = new StringBuffer(); StringBuffer auctionIdBuf = new StringBuffer(); int j = 0; for (int i = 0; i < selectionList.size(); i++) { for (int i = 0; i < selectionList.size(); i++ ) { QualityFactory selectionGoods = selectionList.get(i); TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); if (taoBaoGoodsBrief == null) continue; // 为空结束本次循环 Long id = taoBaoGoodsBrief.getId(); idBuf.append(id + ","); Long auctionId = taoBaoGoodsBrief.getAuctionId(); if (auctionId != null) { j++; auctionIdBuf.append(auctionId + ","); } if (selectionList.size() <= 40) { // 小于40个参数 if (i == selectionList.size() - 1) { if (i == selectionList.size()-1 ){ if (auctionIdBuf != null && auctionIdBuf.length() > 0) { String auctionIds = auctionIdBuf.toString(); String ids = auctionIds.substring(0, auctionIds.length() - 1); String ids = auctionIds.substring(0, auctionIds.length() -1); List<TaoBaoGoodsBrief> list = null; try { list = TaoKeApiUtil.getBatchGoodsInfos(ids); } catch (Exception e) { e.printStackTrace(); } if (list != null && list.size() > 0) { goodsBriefList.addAll(list); } auctionIdBuf = new StringBuffer(); } } @@ -338,64 +298,66 @@ if (j == 40) { // 大于40参数 String auctionIds = auctionIdBuf.toString(); String ids = auctionIds.substring(0, auctionIds.length() - 1); String ids = auctionIds.substring(0, auctionIds.length() -1); List<TaoBaoGoodsBrief> list = null; try { list = TaoKeApiUtil.getBatchGoodsInfos(ids); } catch (Exception e) { e.printStackTrace(); } if (list != null && list.size() > 0) { goodsBriefList.addAll(list); } j = 0; j= 0; auctionIdBuf = new StringBuffer(); } else if (i == selectionList.size() - 1) { } else if (i == selectionList.size()-1 ){ // 最后一个 String auctionIds = auctionIdBuf.toString(); String ids = auctionIds.substring(0, auctionIds.length() - 1); String ids = auctionIds.substring(0, auctionIds.length() -1); List<TaoBaoGoodsBrief> list = null; try { list = TaoKeApiUtil.getBatchGoodsInfos(ids); } catch (Exception e) { e.printStackTrace(); } if (list != null && list.size() > 0) { goodsBriefList.addAll(list); } auctionIdBuf = new StringBuffer(); } } } for (QualityFactory selectionGoods : selectionList) { TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); if (taoBaoGoodsBrief == null) continue; // 为空结束本次循环 String auctionUrl = taoBaoGoodsBrief.getAuctionUrl(); if (auctionUrl != null && auctionUrl.trim().length() > 0 && auctionUrl.contains("id=null")) { auctionUrl = auctionUrl.replace("id=null", "id=" + taoBaoGoodsBrief.getAuctionId()); auctionUrl =auctionUrl.replace("id=null","id="+ taoBaoGoodsBrief.getAuctionId()); taoBaoGoodsBrief.setAuctionUrl(auctionUrl); } Map<String, Object> map = new HashMap<String, Object>(); BoutiqueAutoRule boutiqueAutoRule = selectionGoods.getBoutiqueAutoRule(); if (boutiqueAutoRule == null) { boutiqueAutoRule = new BoutiqueAutoRule(); selectionGoods.setBoutiqueAutoRule(boutiqueAutoRule); } String reslutSource = ""; Integer gsSource = selectionGoods.getGoodsSource(); if (QualityFactory.SOURCE_TAOBAO == gsSource) { if (QualityFactory.SOURCE_TAOBAO == gsSource ) { reslutSource = "淘宝"; } else if (QualityFactory.SOURCE_TAOBAO_MATERIAL == gsSource) { reslutSource = "淘宝推荐"; @@ -410,9 +372,10 @@ } else if (QualityFactory.SOURCE_OTHER == gsSource) { reslutSource = "商务合作"; } map.put("goodsSource", reslutSource); map.put("selectionGoods", selectionGoods); /* 商品销售状态: 0 在售 1停售 */ @@ -420,16 +383,17 @@ Long auctionId = taoBaoGoodsBrief.getAuctionId(); if (auctionId != null) { if (goodsBriefList != null && goodsBriefList.size() > 0) { for (TaoBaoGoodsBrief tb : goodsBriefList) { for (TaoBaoGoodsBrief tb :goodsBriefList) { Long auctionIdTB = tb.getAuctionId(); if (auctionId.equals(auctionIdTB)) { saleStae = 0; } } } } } map.put("saleStae", saleStae); /* 1 定向计划 2 营销返利 、高佣 3 普佣 */ Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh(); @@ -454,8 +418,10 @@ map.put("yongjinType", 3); } } /* 券后价--计算 */ /* 券后价--计算 */ BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief); map.put("couponPrice", couponPrice); @@ -467,22 +433,24 @@ BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100")); // 预计收益 map.put("estimateProfit", estimateProfit); BigDecimal couponAmount = taoBaoGoodsBrief.getCouponAmount(); if (couponAmount != null && zkPrice != null) { BigDecimal propors = couponAmount.divide(zkPrice, 10, BigDecimal.ROUND_HALF_DOWN); BigDecimal propors = couponAmount.divide(zkPrice ,10 ,BigDecimal.ROUND_HALF_DOWN); BigDecimal resultPropor = MoneyBigDecimalUtil.mul(propors, new BigDecimal("100")); map.put("propor", resultPropor); } else { map.put("propor", 0); } /* 商品标签列表 */ Long id = taoBaoGoodsBrief.getId(); int totalLabels = labelGoodsService.getCountQueryByGoodsId(id); // List<LabelGoods> labelList = labelService.getByGoodsId(id); //List<LabelGoods> labelList = labelService.getByGoodsId(id); map.put("totalLabels", totalLabels); listmap.add(map); @@ -507,8 +475,7 @@ * 获取商品信息 以及对应标签列表;此商品标签候选项 * * @param callback * @param id * 精选id * @param id 精选id * @param request * @param out */ @@ -529,7 +496,7 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("该商品已不在"))); return; } // 商品图片 List<String> imgList = TaoBaoUtil.getTbImg(taobao.getAuctionId() + ""); @@ -550,6 +517,7 @@ } /** * 单个商品贴上标签 * @@ -565,11 +533,10 @@ try { // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); // if (admin == null) { // out.print(JsonUtil.loadJSONP(callback, // JsonUtil.loadFalseResult("当前账户失效,请重新登陆。"))); // return; // } // if (admin == null) { // out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户失效,请重新登陆。"))); // return; // } if (id == null || labId == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确的参数"))); @@ -659,12 +626,11 @@ try { AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); // // if (admin == null) { // out.print(JsonUtil.loadJSONP(callback, // JsonUtil.loadFalseResult("当前账户已失效,请重新登陆"))); // return; // } // // if (admin == null) { // out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("当前账户已失效,请重新登陆"))); // return; // } Long id = selectionGoods.getId(); QualityFactory resultObj = qualityFactoryService.selectByPrimaryKey(id); @@ -684,6 +650,7 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("修改失败"))); } } } catch (QualityFactoryException e) { e.printStackTrace(); @@ -693,32 +660,32 @@ } @RequestMapping(value = "queryMyLabels") public void queryMyLabels(String callback, Integer pageIndex, Integer pageSize, String ids, HttpServletRequest request, PrintWriter out) { public void queryMyLabels(String callback, Integer pageIndex, Integer pageSize, String ids, HttpServletRequest request, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(ids)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:101"))); return; } Gson gson = new Gson(); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() { }.getType()); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:102"))); return; } if (idList.size() > 1) { // 只处理单个商品 out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:103"))); return; } Long id = idList.get(0); if (id == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:104"))); return; @@ -731,20 +698,21 @@ pageSize = Constant.PAGE_SIZE; // 商品标签列表 List<LabelGoods> labelList = labelGoodsService.queryByGoodsId((pageIndex - 1) * pageSize, pageSize, id); List<LabelGoods> labelList = labelGoodsService.queryByGoodsId((pageIndex - 1) * pageSize, pageSize, id); if (labelList == null || labelList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签")); return; } int count = labelGoodsService.getCountQueryByGoodsId(id); int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); gsonBuilder.serializeNulls(); Gson rgson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); JSONObject data = new JSONObject(); @@ -771,8 +739,8 @@ * @param out */ @RequestMapping(value = "queryLabel") public void queryLabel(String callback, Integer pageIndex, Integer pageSize, String key, String ids, HttpServletRequest request, PrintWriter out) { public void queryLabel(String callback, Integer pageIndex, Integer pageSize, String key, String ids, HttpServletRequest request, PrintWriter out) { try { @@ -780,30 +748,29 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:101"))); return; } Gson gson = new Gson(); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() { }.getType()); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请传递正确参数:102"))); return; } int count = 0; List<Label> labelList = null; if (pageIndex == null) pageIndex = 1; if (pageSize == null) pageSize = Constant.PAGE_SIZE; if (idList.size() > 1) { // 多个商品 查询所有标签 labelList = labelService.query((pageIndex - 1) * pageSize, pageSize, key, null, null, null); count = labelService.getQueryCount(key, null, null); labelList = labelService.query((pageIndex - 1) * pageSize, pageSize, key, null, null,null); count = labelService.getQueryCount(key, null, null); } else { // 单个商品 Long id = idList.get(0); @@ -816,12 +783,12 @@ count = labelService.getCountQueryGoodsCandidate(key, id); } if (labelList == null || labelList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签")); return; } int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); @@ -851,8 +818,7 @@ * @param out */ @RequestMapping(value = "addBatchcGoodsLabel") public void addBatchcGoodsLabel(String callback, String labIds, Long id, HttpServletRequest request, PrintWriter out) { public void addBatchcGoodsLabel(String callback, String labIds, Long id, HttpServletRequest request, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(labIds)) { @@ -874,7 +840,7 @@ } TaoBaoGoodsBrief taoBaoGoodsBrief = taoBaoGoodsBriefService.selectByPrimaryKey(id); // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); labelGoodsService.addBatchByLabId(taoBaoGoodsBrief, labIdList, admin); @@ -886,14 +852,14 @@ e.printStackTrace(); } } @RequestMapping(value = "updateGoodsBrief") public void updateGoodsBrief(String callback, TaoBaoGoodsBrief tb, PrintWriter out) { @RequestMapping(value="updateGoodsBrief") public void updateGoodsBrief(String callback, TaoBaoGoodsBrief tb, PrintWriter out){ try { // 实际未精选ID Long id = tb.getId(); QualityFactory resultObj = qualityFactoryService.selectByPrimaryKey(id); if (resultObj == null) { @@ -906,72 +872,69 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("该商品已不在"))); return; } String title = tb.getTitle(); String pictUrl = tb.getPictUrl(); if (!StringUtil.isNullOrEmpty(title)) if (!StringUtil.isNullOrEmpty(title)) taobao.setTitle(title); if (!StringUtil.isNullOrEmpty(pictUrl)) if (!StringUtil.isNullOrEmpty(pictUrl)) taobao.setPictUrl(pictUrl); if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite())) if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite())) taobao.setPictUrlWhite(tb.getPictUrlWhite()); // 更新商品 taoBaoGoodsUpdateService.getUpdateTaoBaoGoodsBrief(taobao); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("修改成功"))); } catch (Exception e) { e.printStackTrace(); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("修改失败"))); } } /** * 批量添加标签 --- 精品库(随机权重) * * @param callback * @param request * @param out * @param 权重范围 * 大值 * @param 佣金范围 * 小值 * @param out @param 权重范围 大值 * @param 佣金范围 小值 */ @RequestMapping(value = "setWeightBatch") public void setWeightBatch(String callback, String ids, Integer weight, Integer weightSmall, Integer weightLarge, HttpServletRequest request, PrintWriter out) { public void setWeightBatch(String callback,String ids, Integer weight,Integer weightSmall, Integer weightLarge, HttpServletRequest request, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(ids)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未选择需操作的商品"))); return; } Gson gson = new Gson(); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() { }.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择需操作的商品"))); return; } // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); qualityFactoryService.setWeightBatch(idList, admin, weight, weightSmall, weightLarge); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功"))); } catch (Exception e) { try { if (StringUtil.isNullOrEmpty(ids)) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未选择需操作的商品"))); return; } Gson gson = new Gson(); List<Long> idList = gson.fromJson(ids, new TypeToken<ArrayList<Long>>() {}.getType()); if (idList == null || idList.size() == 0) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("请选择需操作的商品"))); return; } // 获取当前操作用户 AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); qualityFactoryService.setWeightBatch(idList, admin, weight, weightSmall, weightLarge); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功"))); } catch ( Exception e) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常"))); e.printStackTrace(); } } } fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java
@@ -27,14 +27,12 @@ import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.entity.taobao.TaobaoMeterial; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; 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.QualityFactoryService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -65,9 +63,6 @@ @Resource private TaoBaoClassService taoBaoClassService; @Resource private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; /** * * @param callback @@ -97,7 +92,7 @@ // 查询物料 TaoBaoSearchResult result = getGoodsByWuLiao(pageIndex, pageSize, key, tbClassId, startPrice, endPrice, startTkRate, endTkRate, sort, istmall, hasCoupon, baoYou, startDsr, overseas, needPrepay, includePayRate30, includeGoodRate, includeRfdRate, npxLevel, cid); includePayRate30, includeGoodRate, includeRfdRate, npxLevel,cid); if (result == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未获取到淘宝商品信息")); @@ -267,7 +262,7 @@ // 查询物料 TaoBaoSearchResult result = getGoodsByWuLiao(pageIndex, pageSize, key, tbClassId, startPrice, endPrice, startTkRate, endTkRate, sort, istmall, hasCoupon, baoYou, startDsr, overseas, needPrepay, includePayRate30, includeGoodRate, includeRfdRate, npxLevel, null); includePayRate30, includeGoodRate, includeRfdRate, npxLevel,null); if (result == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未获取到淘宝商品信息")); @@ -750,78 +745,6 @@ } } private List<Map<String, Object>> filterTaoBaoGoodsWithQulity(List<TaoBaoGoodsBrief> goodsList) { // 插入商品集合 List<Long> listAuctionId = new ArrayList<Long>(); for (TaoBaoGoodsBrief goodsBrief : goodsList) { listAuctionId.add(goodsBrief.getAuctionId()); } // 验证是否存在数据库 List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId); List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>(); for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) { taoBaoGoodsBrief.setId(null); Map<String, Object> map = new HashMap<String, Object>(); map.put("pictUrl", taoBaoGoodsBrief.getPictUrl()); map.put("title", taoBaoGoodsBrief.getTitle()); map.put("auctionId", taoBaoGoodsBrief.getAuctionId()); map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl()); map.put("zkPrice", taoBaoGoodsBrief.getZkPrice()); map.put("biz30day", taoBaoGoodsBrief.getBiz30day()); map.put("couponInfo", taoBaoGoodsBrief.getCouponInfo()); map.put("couponTotalCount", taoBaoGoodsBrief.getCouponTotalCount()); map.put("couponLeftCount", taoBaoGoodsBrief.getCouponLeftCount()); map.put("couponEffectiveEndTime", taoBaoGoodsBrief.getCouponEffectiveEndTime()); map.put("tkRate", taoBaoGoodsBrief.getTkRate()); // 来源 0 无 1淘宝 2 京东 map.put("goodsSource", 1); /* 券后价--计算 */ BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief); map.put("couponPrice", couponPrice); /* 预计收益: 公司、用户 */ BigDecimal tkRate = taoBaoGoodsBrief.getTkRate(); BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice(); BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice); // 计算结果 BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100")); // 预计收益 map.put("estimateProfit", estimateProfit); int existence = 0; /* 查询商品是否已存在商品精选库中 */ Long localAuctionId = taoBaoGoodsBrief.getAuctionId(); if (localAuctionId != null) { if (listHas != null && listHas.size() > 0) { for (QualityFactory selectionGoods : listHas) { TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); Long hasId = hasgoodsBrief.getAuctionId(); if (localAuctionId.equals(hasId) || localAuctionId == hasId) { existence = 1; // 存在商品中 } } } } map.put("isExistence", existence); listmap.add(map); } return listmap; } /** * * @param callback @@ -889,44 +812,74 @@ return; } List<Map<String, Object>> listmap = filterTaoBaoGoodsWithQulity(taoBaoGoodsBriefs); PageEntity pe = result.getPageEntity(); JSONObject data = new JSONObject(); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); // 重点 Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd").create(); data.put("pe", pe); data.put("listGoods", gson.toJson(listmap)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询异常")); e.printStackTrace(); } } @RequestMapping(value = "searchDaTaoKe") public void searchDaTaoKe(String callback, Integer pageIndex, Integer pageSize, String key, Long cid, PrintWriter out) { try { key = StringUtil.isNullOrEmpty(key) ? "" : key; List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listSearchByTitleWithCid(key, cid, pageIndex, pageSize); long count = daTaoKeGoodsDetailService.countSearchByTitleWithCid(key, cid); List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); for (DaTaoKeDetail detail : list) { goodsList.add(TaoBaoUtil.convert(detail)); // 插入商品集合 List<Long> listAuctionId = new ArrayList<Long>(); for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) { listAuctionId.add(goodsBrief.getAuctionId()); } List<Map<String, Object>> listmap = filterTaoBaoGoodsWithQulity(goodsList); // 验证是否存在数据库 List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId); PageEntity pe = new PageEntity(pageIndex, pageSize, (int) count, (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1)); List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>(); for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) { taoBaoGoodsBrief.setId(null); Map<String, Object> map = new HashMap<String, Object>(); map.put("pictUrl", taoBaoGoodsBrief.getPictUrl()); map.put("title", taoBaoGoodsBrief.getTitle()); map.put("auctionId", taoBaoGoodsBrief.getAuctionId()); map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl()); map.put("zkPrice", taoBaoGoodsBrief.getZkPrice()); map.put("biz30day", taoBaoGoodsBrief.getBiz30day()); map.put("couponInfo", taoBaoGoodsBrief.getCouponInfo()); map.put("couponTotalCount", taoBaoGoodsBrief.getCouponTotalCount()); map.put("couponLeftCount", taoBaoGoodsBrief.getCouponLeftCount()); map.put("couponEffectiveEndTime", taoBaoGoodsBrief.getCouponEffectiveEndTime()); map.put("tkRate", taoBaoGoodsBrief.getTkRate()); // 来源 0 无 1淘宝 2 京东 map.put("goodsSource", 1); /* 券后价--计算 */ BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief); map.put("couponPrice", couponPrice); /* 预计收益: 公司、用户 */ BigDecimal tkRate = taoBaoGoodsBrief.getTkRate(); BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice(); BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice); // 计算结果 BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100")); // 预计收益 map.put("estimateProfit", estimateProfit); int existence = 0; /* 查询商品是否已存在商品精选库中 */ Long localAuctionId = taoBaoGoodsBrief.getAuctionId(); if (localAuctionId != null) { if (listHas != null && listHas.size() > 0) { for (QualityFactory selectionGoods : listHas) { TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief(); Long hasId = hasgoodsBrief.getAuctionId(); if (localAuctionId.equals(hasId) || localAuctionId == hasId) { existence = 1; // 存在商品中 } } } } map.put("isExistence", existence); listmap.add(map); } PageEntity pe = result.getPageEntity(); JSONObject data = new JSONObject(); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); // 重点 @@ -941,6 +894,7 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询异常")); e.printStackTrace(); } } @RequestMapping(value = "getQiangGou") fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java
@@ -578,16 +578,8 @@ Date createTime = deviceActive.getCreateTime(); List<PushGoods> list = pushGoodsService.listHistoryByPushTime(0, 1, uid, createTime); if (list != null && list.size() > 0) { MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType( UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(), acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2); boolean read=false; if (state != null && state.getReadTime() != null && list.get(0).getCreateTime().getTime() < state.getReadTime().getTime()) read = true; commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_recommend.png", "推荐记录", list.get(0).getCreateTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read, list.get(0).getCreateTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), false, jumpDetailV2Service.getByTypeCache("recommend_list"), null)); } } @@ -894,7 +886,7 @@ msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_RECOMMEND, acceptData.getDevice(), (acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2)); } else if (type.equalsIgnoreCase(UserCommonMsgVO.TYPE_ZHUSHOU)) { msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(), msgDeviceReadStateService.setDeviceMsgRead(UserCommonMsgVO.TYPE_RECOMMEND, acceptData.getDevice(), (acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2)); } out.print(JsonUtil.loadTrueResult("")); fanli/src/main/java/com/yeshi/fanli/entity/bus/clazz/GoodsSubClass.java
@@ -66,6 +66,8 @@ private String taobaoCids; @Column(name = "sub_createtime") private Date createtime; // 创建时间 @@ -77,8 +79,6 @@ private int countlabel = 0; private String searchParam; private GoodsSubClassLabel classLabel; public GoodsSubClass() { } @@ -230,7 +230,7 @@ public void setPictureSecond(String pictureSecond) { this.pictureSecond = pictureSecond; } public String getTaobaoCids() { return taobaoCids; } @@ -238,13 +238,4 @@ public void setTaobaoCids(String taobaoCids) { this.taobaoCids = taobaoCids; } public GoodsSubClassLabel getClassLabel() { return classLabel; } public void setClassLabel(GoodsSubClassLabel classLabel) { this.classLabel = classLabel; } } fanli/src/main/java/com/yeshi/fanli/mapping/clazz/GoodsSubClassLabelMapMapper.xml
File was deleted fanli/src/main/java/com/yeshi/fanli/mapping/clazz/GoodsSubClassLabelMapper.xml
File was deleted fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoGoodsBriefMapper.xml
@@ -244,8 +244,8 @@ <if test="createtime != null">#{createtime,jdbcType=TIMESTAMP},</if> <if test="tkMktStatus != null">#{tkMktStatus,jdbcType=VARCHAR},</if> <if test="updatetime != null">#{updatetime,jdbcType=TIMESTAMP},</if> <if test="state != null">#{state,jdbcType=INTEGER},</if> <if test="totalSales != null">#{totalSales,jdbcType=INTEGER},</if> <if test="state != null">#{state,jdbcType=INTEGER}</if> <if test="totalSales != null">#{totalSales,jdbcType=INTEGER}</if> <if test="materialLibType != null">#{materialLibType,jdbcType=INTEGER}</if> fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java
@@ -18,9 +18,7 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabelMap; import com.yeshi.fanli.exception.GoodsSubClassException; import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService; import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.goods.TaoBaoClassService; import com.yeshi.fanli.service.inter.lable.LabelClassService; @@ -39,9 +37,6 @@ @Resource private TaoBaoClassService taoBaoClassService; @Resource private GoodsSubClassLabelService goodsSubClassLabelService; @Override public int deleteByPrimaryKey(Long id) { @@ -128,8 +123,8 @@ } @Override public void saveObject(MultipartFile file, MultipartFile file2, GoodsSubClass record, Integer type, Long pid, GoodsSubClassLabelMap labelMap) throws GoodsSubClassException, Exception { public void saveObject(MultipartFile file, MultipartFile file2, GoodsSubClass record, Integer type, Long pid) throws GoodsSubClassException, Exception { String name = record.getName(); if (name == null || name.trim().length() == 0) { @@ -201,11 +196,6 @@ } goodsSubClassMapper.insert(record); if (labelMap != null) { labelMap.setCreateTime(new Date()); labelMap.setGoodsSubClass(record); goodsSubClassLabelService.addSubClassLabelMap(labelMap); } } else { // 修改 @@ -242,12 +232,6 @@ record.setCreatetime(resultObj.getCreatetime()); record.setUpdatetime(new Date()); goodsSubClassMapper.updateByPrimaryKey(record); if (labelMap != null) { labelMap.setCreateTime(new Date()); labelMap.setGoodsSubClass(record); goodsSubClassLabelService.addSubClassLabelMap(labelMap); } } // 保存淘宝商品分类id fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java
@@ -26,15 +26,6 @@ update.setUnReadCount(0); update.setUpdateTime(new Date()); msgDeviceReadStateMapper.updateByPrimaryKeySelective(update); } else { state = new MsgDeviceReadState(); state.setCreateTime(new Date()); state.setDevice(device); state.setPlatform(platform); state.setReadTime(new Date()); state.setType(type); state.setUnReadCount(0); msgDeviceReadStateMapper.insertSelective(state); } } fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
@@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.taobao.dataoke; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -17,6 +18,7 @@ import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; @@ -108,8 +110,10 @@ List<DaTaoKeDetail> daTaoKeList = daTaoKeDetailMapper.listByGoodsIds(goodsIdList); if (daTaoKeList == null || daTaoKeList.size() == 0) return goods; // 重新设置标题与券价格 goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0)); return goods; } @@ -121,6 +125,7 @@ @Override public List<DaTaoKeDetail> listByDtitle(String dtitle) { return daTaoKeDetailMapper.listByDtitle(dtitle.trim()); } @@ -136,9 +141,9 @@ } @Override public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId,int count) { return daTaoKeDetailMapper.getGoodsNotInList(cid, listId,count); } } fanli/src/main/java/com/yeshi/fanli/service/inter/goods/GoodsSubClassService.java
@@ -7,7 +7,6 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass; import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabelMap; import com.yeshi.fanli.exception.GoodsSubClassException; @@ -124,7 +123,7 @@ * @throws GoodsSubClassException * @throws Exception */ public void saveObject(MultipartFile file,MultipartFile file2, GoodsSubClass record, Integer type, Long pid,GoodsSubClassLabelMap labelMap) public void saveObject(MultipartFile file,MultipartFile file2, GoodsSubClass record, Integer type, Long pid) throws GoodsSubClassException, Exception; } fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailService.java
@@ -49,9 +49,17 @@ */ public List<DaTaoKeDetail> listByIds(List<Long> idList); /** * 根据标题查询 * /** * 查询一类全部 * @param cid * @param listId * @param count * @return */ public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count); /* 根据标题查询 * @param dtitle * @return */ @@ -78,22 +86,5 @@ * @return */ public Long countSearchByTitleWithCid(String title, Long cid); /** * 查询一类全部 * @param cid * @param listId * @param count * @return */ public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count); /* 根据标题查询 * @param dtitle * @return */ public List<DaTaoKeDetail> listByDtitle(String dtitle); } fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -27,7 +27,6 @@ import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; import net.sf.json.JSONArray; @@ -1762,19 +1761,16 @@ public static void taoKeContent() { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.content.get"); map.put("adzone_id",TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); map.put("type", "1"); // map.put("method", "taobao.tbk.content.get"); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); app.setAppKey("24838852"); app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8"); try { JSONObject json = TaoKeBaseUtil.baseRequest(map,app); System.out.println(json); } catch (TaoKeApiException e) { e.printStackTrace(); } } // AA5ISJ