admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/BrandShopAdminController.java
@@ -1,555 +1,617 @@
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 javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO;
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.fanli.entity.brand.BrandInfo;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.exception.brand.BrandClassException;
import com.yeshi.fanli.exception.brand.BrandClassShopException;
import com.yeshi.fanli.exception.brand.BrandInfoException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandInfoService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/brand")
public class BrandShopAdminController {
   @Resource
   private BrandClassService brandClassService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private BrandInfoService brandInfoService;
   /**
    * 保存信息
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(String callback, BrandClass brandClass, PrintWriter out) {
      try {
         brandClassService.saveObject(brandClass);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    *
    * @param callback
    * @param goodsClass
    * @param out
    */
   @RequestMapping(value = "updateOrder")
   public void updateOrder(String callback, Long id, Integer moveType, PrintWriter out) {
      try {
         brandClassService.updateOrder(id, moveType);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<BrandClass> list = brandClassService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = brandClassService.countQuery(key, state);
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         int count = brandClassService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 筛选列表
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "getOptions")
   public void getOptions(String callback, PrintWriter out) {
      try {
         List<BrandClass> list = brandClassService.listEffective();
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         List<Object> result_list = new ArrayList<Object>();
         if (list != null && list.size() > 0) {
            for (BrandClass record : list) {
               Map<String, Object> map = new HashMap<String, Object>();
               map.put("key", record.getId());
               map.put("value", record.getName());
               result_list.add(map);
            }
         }
         JSONObject data = new JSONObject();
         data.put("result_list", result_list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "queryTaoBaoShop")
   public void queryTaoBaoShop(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         TaoBaoShopInfoDTO taoBaoShopInfoDTO = TaoKeApiUtil.searchShop(key, pageIndex, pageSize);
         List<TaoBaoShopInfo> listInfo = taoBaoShopInfoDTO.getListInfo();
         if (listInfo == null || listInfo.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         List<Long> listShopId = new ArrayList<Long>();
         for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
            listShopId.add(taoBaoShopInfo.getUserId());
         }
         // 已存在数据库中
         List<BrandClassShop> listExist = brandClassShopService.getExistByShopIds(listShopId);
         JSONArray array = new JSONArray();
         for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
            String name = "";
            if (listExist != null && listExist.size() > 0) {
               Long userId = taoBaoShopInfo.getUserId();
               for (BrandClassShop brandClassShop : listExist) {
                  TaoBaoShop shop = brandClassShop.getShop();
                  if (shop != null && userId == shop.getId() || userId.equals(shop.getId())) {
                     BrandClass brandClass = brandClassShop.getBrandClass();
                     name = brandClass.getName();
                  }
               }
            }
            JSONObject innerData = new JSONObject();
            innerData.put("cname", name);
            innerData.put("shopInfo", taoBaoShopInfo);
            array.add(innerData);
         }
         JSONObject data = new JSONObject();
         data.put("pe", taoBaoShopInfoDTO.getPage());
         data.put("result_list", array);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 添加店铺入库
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "saveShopInfo")
   public void saveShopInfo(String callback, Long cid, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         String shopIds = brandClassShopService.saveShopInfo(cid, list);
         if (StringUtil.isNullOrEmpty(shopIds)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
         } else {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("以下店铺ID:" + shopIds + ",未添加成功"));
         }
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "queryClassShop")
   public void queryClassShop(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
         Integer state, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<BrandClassShop> list = brandClassShopService.listQuery((pageIndex - 1) * pageSize, pageSize, key, cid,
               state);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = brandClassShopService.countQuery(key, cid, state);
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 保存信息
    *
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "saveClassShop")
   public void saveClassShop(String callback, Long id, Long cid, String shopName, Integer state, Integer top,
         String key, HttpServletRequest request, PrintWriter out) {
      try {
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
            brandClassShopService.changeShopInfo(fileRequest.getFile("file"), id, cid, shopName, state, top, key);
         } else {
            brandClassShopService.changeShopInfo(null, id, cid, shopName, state, top, key);
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    *
    * @param callback
    * @param goodsClass
    * @param out
    */
   @RequestMapping(value = "updateOrderClassShop")
   public void updateOrderClassShop(String callback, Long id, Integer moveType, PrintWriter out) {
      try {
         brandClassShopService.updateOrder(id, moveType);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "deleteClassShop")
   public void deleteClassShop(String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         brandClassShopService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 品牌信息保存
    * @param callback
    * @param brandInfo
    * @param out
    */
   @RequestMapping(value = "saveBrand")
   public void saveBrand(String callback, BrandInfo brandInfo, HttpServletRequest request, PrintWriter out) {
      try {
         // 1. 先判断httpRequest 是否含有文件类型
         if (request instanceof MultipartHttpServletRequest) {
              MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
              brandInfoService.saveObject(fileRequest.getFile("file"), brandInfo);
           }else{
              brandInfoService.saveObject(null, brandInfo);
           }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandInfoException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "deleteBrand")
   public void deleteBrand(String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         int count = brandInfoService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 品牌信息查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    * @param cid
    * @param state
    * @param out
    */
   @RequestMapping(value = "queryBrand")
   public void queryBrand(String callback, Integer pageIndex, Integer pageSize, String key, Long cid, Integer state,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<BrandInfo> list = brandInfoService.listQuery((pageIndex - 1) * pageSize, pageSize, key, cid, state);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         for (BrandInfo brandInfo: list) {
            BrandClass brandClass = brandInfo.getBrandClass();
            if (brandClass != null && StringUtil.isNullOrEmpty(brandClass.getName())) {
               BrandClass bclass = brandClassService.selectByPrimaryKey(brandClass.getId());
               if (bclass != null) {
                  brandInfo.setBrandClass(bclass);
               }
            }
         }
         long count = brandInfoService.countQuery(key, cid, state);
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         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.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.yeshi.goods.facade.dto.taobao.TaoBaoShopInfoDTO;
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.fanli.entity.brand.BrandInfo;
import com.yeshi.common.entity.taobao.TaoBaoShop;
import com.yeshi.common.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.exception.brand.BrandClassException;
import com.yeshi.fanli.exception.brand.BrandClassShopException;
import com.yeshi.fanli.exception.brand.BrandInfoException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandInfoService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/brand")
public class BrandShopAdminController {
   @Resource
   private BrandClassService brandClassService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private BrandInfoService brandInfoService;
   /**
    * 保存信息
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(AdminAcceptData acceptData, String callback, BrandClass brandClass, PrintWriter out) {
      try {
         List<SystemEnum> systemList=new ArrayList<>();
         systemList.add(acceptData.getSystem());
         brandClassService.saveObject(brandClass,systemList);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "updateOrder")
   public void updateOrder(AdminAcceptData acceptData,String callback, Long id, Integer moveType, PrintWriter out) {
      try {
         brandClassService.updateOrder(id, moveType,acceptData.getSystem());
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
         PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<BrandClass> list = brandClassService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state,acceptData.getSystem());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = brandClassService.countQuery(key, state,acceptData.getSystem());
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchStateClass")
   public void switchStateClass(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      try {
         brandClassService.switchState(id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         int count = brandClassService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 筛选列表
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "getOptions")
   public void getOptions(AdminAcceptData acceptData, String callback, PrintWriter out) {
      try {
         List<BrandClass> list = brandClassService.listEffective(acceptData.getSystem());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         List<Object> result_list = new ArrayList<Object>();
         if (list != null && list.size() > 0) {
            for (BrandClass record : list) {
               Map<String, Object> map = new HashMap<String, Object>();
               map.put("key", record.getId());
               map.put("value", record.getName());
               result_list.add(map);
            }
         }
         JSONObject data = new JSONObject();
         data.put("result_list", result_list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "queryTaoBaoShop")
   public void queryTaoBaoShop(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         TaoBaoShopInfoDTO taoBaoShopInfoDTO = TaoKeApiUtil.searchShop(key, pageIndex, pageSize);
         List<TaoBaoShopInfo> listInfo = taoBaoShopInfoDTO.getListInfo();
         if (listInfo == null || listInfo.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         List<Long> listShopId = new ArrayList<Long>();
         for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
            listShopId.add(taoBaoShopInfo.getUserId());
         }
         // 已存在数据库中
         List<BrandClassShop> listExist = brandClassShopService.getExistByShopIds(listShopId);
         JSONArray array = new JSONArray();
         for (TaoBaoShopInfo taoBaoShopInfo : listInfo) {
            String name = "";
            if (listExist != null && listExist.size() > 0) {
               Long userId = taoBaoShopInfo.getUserId();
               for (BrandClassShop brandClassShop : listExist) {
                  TaoBaoShop shop = brandClassShop.getShop();
                  if (shop != null && userId == shop.getId() || userId.equals(shop.getId())) {
                     BrandClass brandClass = brandClassShop.getBrandClass();
                     name = brandClass.getName();
                  }
               }
            }
            JSONObject innerData = new JSONObject();
            innerData.put("cname", name);
            innerData.put("shopInfo", taoBaoShopInfo);
            array.add(innerData);
         }
         JSONObject data = new JSONObject();
         data.put("pe", taoBaoShopInfoDTO.getPage());
         data.put("result_list", array);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 添加店铺入库
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "saveShopInfo")
   public void saveShopInfo(AdminAcceptData acceptData,String callback, Long cid, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         String shopIds = brandClassShopService.saveShopInfo(cid, list);
         if (StringUtil.isNullOrEmpty(shopIds)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
         } else {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("以下店铺ID:" + shopIds + ",未添加成功"));
         }
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "queryClassShop")
   public void queryClassShop(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
         Integer state, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<BrandClassShop> list = brandClassShopService.listQuery((pageIndex - 1) * pageSize, pageSize, key, cid,
               state);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = brandClassShopService.countQuery(key, cid, state);
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 保存信息
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "saveClassShop")
   public void saveClassShop(AdminAcceptData acceptData,String callback, Long id, Long cid, String shopName, Integer state, Integer top,
         String key, HttpServletRequest request, PrintWriter out) {
      try {
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
            brandClassShopService.changeShopInfo(fileRequest.getFile("file"), id, cid, shopName, state, top, key);
         } else {
            brandClassShopService.changeShopInfo(null, id, cid, shopName, state, top, key);
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "updateOrderClassShop")
   public void updateOrderClassShop(AdminAcceptData acceptData,String callback, Long id, Integer moveType, PrintWriter out) {
      try {
         brandClassShopService.updateOrder(id, moveType);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandClassShopException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "deleteClassShop")
   public void deleteClassShop(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         brandClassShopService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 品牌信息保存
    * @param callback
    * @param brandInfo
    * @param out
    */
   @RequestMapping(value = "saveBrand")
   public void saveBrand(AdminAcceptData acceptData,String callback, BrandInfo brandInfo, HttpServletRequest request, PrintWriter out) {
      try {
         // 1. 先判断httpRequest 是否含有文件类型
         if (request instanceof MultipartHttpServletRequest) {
              MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
              brandInfoService.saveObject(fileRequest.getFile("file"), brandInfo);
           }else{
              brandInfoService.saveObject(null, brandInfo);
           }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (BrandInfoException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchStateBrand")
   public void switchStateBrand(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      try {
         brandInfoService.switchState(id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandInfoException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    *
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "deleteBrand")
   public void deleteBrand(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
            return;
         }
         Gson gson = new Gson();
         List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
         }.getType());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         int count = brandInfoService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "updateOrderBrand")
   public void updateOrderBrand(AdminAcceptData acceptData,String callback, Long id, Integer moveType, PrintWriter out) {
      try {
         brandInfoService.updateOrder(id, moveType);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (BrandInfoException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 品牌信息查询
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    * @param cid
    * @param state
    * @param out
    */
   @RequestMapping(value = "queryBrand")
   public void queryBrand(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Long cid, Integer state,
         Integer showState, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      List<String> keys = null;
      if (!StringUtil.isNullOrEmpty(key)) {
         String[] array = key.split("\\s+");
         if (array != null && array.length > 0) {
            keys = new ArrayList<String>();
            for (int i= 0; i < array.length; i++) {
               keys.add(array[i].toString());
            }
         }
      }
      try {
         List<BrandInfo> list = brandInfoService.listQuery((pageIndex - 1) * pageSize, pageSize, keys, cid, state, showState);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         for (BrandInfo brandInfo: list) {
            BrandClass brandClass = brandInfo.getBrandClass();
            if (brandClass != null && StringUtil.isNullOrEmpty(brandClass.getName())) {
               BrandClass bclass = brandClassService.selectByPrimaryKey(brandClass.getId());
               if (bclass != null) {
                  brandInfo.setBrandClass(bclass);
               }
            }
         }
         long count = brandInfoService.countQuery(keys, cid, state, showState);
         int totalPage = (int) (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("result_list", gson.toJson(list));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
}