admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/LabelClassAdminController.java
@@ -1,317 +1,318 @@
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<Long> labIdList = gson.fromJson(labIds, new TypeToken<ArrayList<Long>>() {}.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<LabelClass> 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<Label> labelList  = 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;
            }
            labelList = labelService.queryClassCandidate((pageIndex - 1) * pageSize, pageSize, key, id);
            if (labelList == null || labelList.size() == 0) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
               return;
            }
            count = labelService.getCountQueryClassCandidate(key, id);
         }
         /*  子分类    标签候选项      */
         if (type > 1) {
            GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id);
            if(goodsSubClass == null) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在"));
               return;
            }
            labelList = labelService.querySubClassCandidate((pageIndex - 1) * pageSize, pageSize, key, id);
            if (labelList == null || labelList.size() == 0) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
               return;
            }
            count = labelService.getCountQuerySubClassCandidate(key,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(labelList));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch ( Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
}
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 com.yeshi.fanli.entity.accept.AdminAcceptData;
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.common.entity.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(AdminAcceptData acceptData, 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<Long> labIdList = gson.fromJson(labIds, new TypeToken<ArrayList<Long>>() {}.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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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<LabelClass> 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(AdminAcceptData acceptData,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<Label> labelList  = 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;
            }
            labelList = labelService.queryClassCandidate((pageIndex - 1) * pageSize, pageSize, key, id);
            if (labelList == null || labelList.size() == 0) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
               return;
            }
            count = labelService.getCountQueryClassCandidate(key, id);
         }
         /*  子分类    标签候选项      */
         if (type > 1) {
            GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id);
            if(goodsSubClass == null) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该分类已不存在"));
               return;
            }
            labelList = labelService.querySubClassCandidate((pageIndex - 1) * pageSize, pageSize, key, id);
            if (labelList == null || labelList.size() == 0) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无标签"));
               return;
            }
            count = labelService.getCountQuerySubClassCandidate(key,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(labelList));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch ( Exception e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
}