package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.yeshi.fanli.entity.bus.recommend.RecommendSectionGoods; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.exception.ExistObjectException; import com.yeshi.fanli.exception.NotExistObjectException; import com.yeshi.fanli.service.inter.goods.RecommendSectionGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.GsonUtil; 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 net.sf.json.JSONObject; @Controller @RequestMapping("admin/new/api/v1/sectiongoods") public class RecommendSectionGoodsAdminController { @Resource private RecommendSectionGoodsService recommendSectionGoodsService; @Resource private TaoBaoUnionConfigService taoBaoUnionConfigService; @RequestMapping(value = "/getSectionGoodsList", method = RequestMethod.POST) public void getSectionGoodsList(int pageIndex, long rsid, String key, PrintWriter out) { List recommendSections = recommendSectionGoodsService .getRecommendSectionGoods(pageIndex - 1, rsid, key); int count = recommendSectionGoodsService.getCount(rsid, key); int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); Map map = new HashMap(); map.put("key", key); pe.setParams(map); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("recommendSectionGoodsList", GsonUtil.toDFJson(recommendSections)); out.print(JsonUtil.loadTrueResult(data)); return; } @RequestMapping(value = "/deleteSectionGoods", method = RequestMethod.POST) public void deleteSectionGoods(long[] rsgids, PrintWriter out) { recommendSectionGoodsService.deleteSectionGoods(rsgids); out.print(JsonUtil.loadTrueResult("删除成功")); } @RequestMapping(value = "/searchTaoBaoGoodsList") public void searchTaoBaoGoodsList(String callback, int pageIndex, int type, String key, PrintWriter out) { List config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); SearchFilter searchFilter = new SearchFilter(); searchFilter.setPage(pageIndex); searchFilter.setKey(key); searchFilter.setType(type); searchFilter.setQuan(1); TaoBaoSearchResult search = TaoBaoUtil.search2(searchFilter, config.get(0)); if (search != null && search.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief goods : search.getTaoBaoGoodsBriefs()) { goods.setPictUrl(TbImgUtil.getTBSize220Img(goods.getPictUrl())); } JSONObject data = new JSONObject(); Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); String json = gson.toJson(search.getTaoBaoGoodsBriefs()); if ("[]".equals(json)) { out.print(JsonUtil.loadFalseResult("暂无数据")); return; } PageEntity pe = search.getPageEntity(); pe.setPageIndex(pageIndex); String pejson = gson.toJson(search.getPageEntity()); data.put("taoBaoGoodsList", json); data.put("pe", pejson); if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadTrueResult(data)); else out.print(callback + "(" + JsonUtil.loadTrueResult(data) + ")"); } @RequestMapping(value = "/addSectionGoods", method = RequestMethod.POST) public void addSectionGoods(long rsid, String[] tbgids, PrintWriter out) { List list = new ArrayList(); JSONObject data = null; for (String tbgid : tbgids) { data = new JSONObject(); try { recommendSectionGoodsService.addSectionGoods(rsid, tbgid); data.put("id", tbgid); data.put("msg", "添加成功"); } catch (ExistObjectException e) { data.put("id", tbgid); data.put("msg", e.getMessage()); } list.add(data); } JSONObject dataAll = new JSONObject(); dataAll.put("list", list); out.print(JsonUtil.loadTrueResult(dataAll)); } @RequestMapping(value = "/getSectionGoods", method = RequestMethod.POST) public void getSectionGoods(long id, PrintWriter out) { RecommendSectionGoods rsg = recommendSectionGoodsService.getRecommendSectionGoods(id); JSONObject data = new JSONObject(); if (rsg == null) { out.print(JsonUtil.loadFalseResult("不存在RecommendSectionGoods")); return; } data.put("orderby", rsg.getOrderby()); out.print(JsonUtil.loadTrueResult(data)); } @RequestMapping(value = "/updateSectionGoods", method = RequestMethod.POST) public void updateSectionGoods(RecommendSectionGoods rsg, PrintWriter out) { try { recommendSectionGoodsService.updateRecommendSectionGoods(rsg); out.print(JsonUtil.loadTrueResult("修改成功")); } catch (NotExistObjectException e) { out.print(JsonUtil.loadFalseResult(e.getMessage())); } } }