yujian
2019-09-03 2ddf5b8a1290123e2d1c05bcc851ec35cd217afc
fanli/src/main/java/com/yeshi/fanli/controller/admin/HelpCenterAdminController.java
@@ -2,27 +2,33 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
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.entity.bus.help.HelpCenter;
import com.yeshi.fanli.entity.bus.help.HelpClass;
import com.yeshi.fanli.entity.bus.help.HelpInfo;
import com.yeshi.fanli.exception.HelpCenterException;
import com.yeshi.fanli.exception.config.HelpCenterException;
import com.yeshi.fanli.exception.config.HelpClassException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.help.HelpCenterService;
import com.yeshi.fanli.service.inter.help.HelpClassService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/helpCenter")
@@ -30,6 +36,9 @@
   @Resource
   private HelpCenterService helpCenterService;
   @Resource
   private HelpClassService helpClassService;
   
   
   /**
@@ -60,7 +69,6 @@
         try {
            LogHelper.errorDetailInfo(e);
         } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
         }
      }
@@ -85,9 +93,6 @@
         
         HelpInfo helpInfo = helpCenterService.getHelpInfo(id);
         
         JSONObject data = new JSONObject();
         data.put("id",crrent.getId());
         data.put("title",crrent.getTitle());
@@ -99,7 +104,6 @@
         
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (HelpCenterException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }
@@ -114,8 +118,8 @@
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex, Integer pageSize,
         String key, Integer orderMode, PrintWriter out) {
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
         Integer orderMode, PrintWriter out) {
      
      try {
         
@@ -129,14 +133,24 @@
            pageSize = Constant.PAGE_SIZE;
         
         List<HelpCenter> helpCenterList = 
               helpCenterService.query((pageIndex - 1) * pageSize, pageSize, key,orderMode);
               helpCenterService.query((pageIndex - 1) * pageSize, pageSize, key, cid, orderMode);
         
         if (helpCenterList == null || helpCenterList.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         } 
         
         long count = helpCenterService.countQuery(key);
         for (HelpCenter helpCenter: helpCenterList) {
            HelpClass helpClass = helpCenter.getHelpClass();
            if (helpClass == null ) {
               helpClass = new HelpClass();
               helpClass.setId(0L);
               helpClass.setName("-未选择-");
               helpCenter.setHelpClass(helpClass);
            }
         }
         long count = helpCenterService.countQuery(key, cid);
            
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count   / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -159,7 +173,7 @@
   
   
   /**
    * 批量删除
    * 修改
    * @param callback
    * @param idArray
    * @param out
@@ -185,17 +199,10 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
         
      } catch (HelpCenterException e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   
   /**
    * 批量删除
@@ -211,7 +218,6 @@
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未选择操作的数据"));
            return;
         }
         
         Gson gson = new Gson();
         List<String> idList = gson.fromJson(idArray, new TypeToken<ArrayList<String>>() {}.getType());
@@ -229,11 +235,238 @@
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
         
      } catch (HelpCenterException e) {
         // TODO Auto-generated catch block
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   
   /**
    * 设置分类
    * @param callback
    * @param out
    */
   @RequestMapping(value = "setClass")
   public void saveModify(String callback, Long id, Long cid, PrintWriter out) {
      try {
         if (id == null || cid == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确参数"));
            return;
         }
         HelpCenter crrent = helpCenterService.selectByPrimaryKey(id);
         if (crrent == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作数据已不存在"));
            return;
         }
         if (cid == 0) {
            crrent.setHelpClass(null);
         } else {
            crrent.setHelpClass(new HelpClass(cid));
         }
         crrent.setUpdatetime(new Date());
         helpCenterService.updateByPrimaryKey(crrent);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (HelpCenterException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 分类保存-新增、修改
    * @param callback
    * @param special
    * @param out
    */
   @RequestMapping(value = "saveClass")
   public void saveClass(String callback, HelpClass helpClass, PrintWriter out) {
      try {
         String name = helpClass.getName();
         if (StringUtil.isNullOrEmpty(name)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("名称不能为空"));
            return;
         }
         helpClassService.save(helpClass);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (HelpClassException 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 = "updateShowState")
   public void updateShowState(String callback, Long id, PrintWriter out) {
      try {
         int state = helpClassService.updateShowState(id);
         JSONObject data = new JSONObject();
         data.put("showState", state);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (HelpClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e1) {
         e1.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
      }
   }
   /**
    * 修改排序
    * @param callback
    * @param out
    */
   @RequestMapping(value = "updateSort")
   public void updateSort(String callback, Integer moveType, Long id, PrintWriter out) {
      try {
         helpClassService.updateSort(moveType, id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (HelpClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e1) {
         e1.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
      }
   }
   /**
    *  上传图片
    * @param callback
    * @param out
    */
   @RequestMapping(value = "uploadClassPic")
   public void uploadClassPic(String callback, @RequestParam("file") CommonsMultipartFile file,
         Long id,PrintWriter out) {
      try {
         helpClassService.uploadPic(file, id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (HelpClassException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e1) {
         e1.printStackTrace();
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
      }
   }
   /**
    * 删除
    * @param callback
    * @param idArray
    * @param out
    */
   @RequestMapping(value = "deleteClass")
   public void deleteClass(String callback, String idArray, PrintWriter out) {
      if (StringUtil.isNullOrEmpty(idArray)) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
         return;
      }
      try {
         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 = helpClassService.deleteByPrimaryKeyBatch(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 out
    */
   @RequestMapping(value = "queryClass")
   public void queryClass(String callback, Integer pageIndex, Integer pageSize, String key,
         Integer showState, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
      if (pageSize == null || pageSize < 1) {
         pageSize = Constant.PAGE_SIZE;
      }
      try {
         List<HelpClass> list = helpClassService.query((pageIndex - 1) * pageSize, pageSize, key, showState);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = helpClassService.countQuery(key, 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();
      }
   }
   /**
    * 查询所有分类
    * @param out
    */
   @RequestMapping(value = "getProvidedClass")
   public void getAllClass(String callback, PrintWriter out) {
      try {
         HelpClass helpClass = new HelpClass();
         helpClass.setId(0L);
         helpClass.setName("-未选择-");
         List<HelpClass> reslut_list = new ArrayList<HelpClass>();
         reslut_list.add(helpClass);
         List<HelpClass> list = helpClassService.getProvidedClass();
         if (list != null && list.size() > 0) {
            reslut_list.addAll(list);
         }
         JSONObject data = new JSONObject();
         data.put("class_list", reslut_list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
         e.printStackTrace();
      }
   }
}