package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.google.gson.Gson; import com.google.gson.GsonBuilder; 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.lable.Label; import com.yeshi.fanli.entity.bus.lable.LabelClass; import com.yeshi.fanli.service.inter.goods.GoodsClassService; import com.yeshi.fanli.service.inter.goods.GoodsSubClassService; import com.yeshi.fanli.service.inter.lable.LabelClassService; import com.yeshi.fanli.service.inter.lable.LabelService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import org.yeshi.utils.JsonUtil; @Controller @RequestMapping("admin/new/api/v1/labelClass") public class LabelClassAdminController { @Resource private LabelService labelService; @Resource private LabelClassService labelClassService; @Resource private GoodsClassService goodsClassService; @Resource private GoodsSubClassService goodsSubClassService; /** * 单个分类批量添加标签-关联lableId * @param callback * @param labIds * @param id * @param type * @param request * @param out */ @RequestMapping(value = "addBatch") public void addBatch(String callback,String labIds, Long id, Integer type, HttpServletRequest request, PrintWriter out) { try { if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未选择类别")); return; } Gson gson = new Gson(); List labIdList = gson.fromJson(labIds, new TypeToken>() {}.getType()); /* 一级分类添加标签 */ if (type == 1) { GoodsClass goodsClass = goodsClassService.getGoodsClass(id); if(goodsClass == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在")); return; } labelClassService.addBatchClass(goodsClass, labIdList); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功")); } /* 子分类添加标签 */ if (type > 1) { GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id); if(goodsSubClass == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在")); return; } labelClassService.addBatchSubClass(goodsSubClass, labIdList); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功")); } } catch ( Exception e) { // TODO Auto-generated catch block JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 删除单个标签 * @param callback * @param rId * @param request * @param out */ @RequestMapping(value = "removeSingle") public void removeSingle(String callback, Long rId, HttpServletRequest request, PrintWriter out) { try { if (rId == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择删除的标签")); } int count = labelClassService.deleteByPrimaryKey(rId); if (count > 0) { JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功")); } else { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败")); } } catch ( Exception e) { // TODO Auto-generated catch block JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 查询类别已关联标签列表 * @param callback * @param pageIndex * @param pageSize * @param id * @param type * @param request * @param out */ @RequestMapping(value = "queryMyLabels") public void queryMyLabels(String callback, Integer pageIndex, Integer pageSize, Long id, Integer type, HttpServletRequest request, PrintWriter out) { try { if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未选择类别")); return; } int count = 0; List labelClassList = null; if (pageIndex == null) pageIndex = 1; if (pageSize == null) pageSize = Constant.PAGE_SIZE; /* 一级分类添加标签 */ if (type == 1) { GoodsClass goodsClass = goodsClassService.getGoodsClass(id); if(goodsClass == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在")); return; } labelClassList = labelClassService.queryByClassId((pageIndex - 1) * pageSize, pageSize, id); if (labelClassList == null || labelClassList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签")); return; } count = labelClassService.getCountQueryByClassId(id); } /* 子分类添加标签 */ if (type > 1) { GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id); if(goodsSubClass == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在")); return; } labelClassList = labelClassService.queryBySubClassId((pageIndex - 1) * pageSize, pageSize, id); if (labelClassList == null || labelClassList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签")); return; } count = labelClassService.getCountQueryBySubClassId(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(); //重点 Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("labelList", gson.toJson(labelClassList)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch ( Exception e) { // TODO Auto-generated catch block JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 查询标签对应的候选项 * @param callback * @param pageIndex * @param pageSize * @param key * @param id * @param type * @param request * @param out */ @RequestMapping(value = "queryLabel") public void queryLabel(String callback, Integer pageIndex, Integer pageSize, String key, Long id, Integer type, HttpServletRequest request, PrintWriter out) { try { if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未选择类别")); return; } int count = 0; List