package com.izouma.awesomeadmin.web; import com.izouma.awesomeadmin.constant.AppConstant; import com.izouma.awesomeadmin.dto.Page; import com.izouma.awesomeadmin.dto.Result; import com.izouma.awesomeadmin.model.CommonQuery; import com.izouma.awesomeadmin.service.CommonQueryService; import com.izouma.awesomeadmin.util.ExportExcelUtil; import net.sf.json.JSONObject; import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; /** * controller类 */ @Controller @RequestMapping("/commonQuery") public class CommonQueryController { @Autowired private CommonQueryService commonQueryService; /** *

获取全部记录。

*/ @RequiresAuthentication @RequestMapping(value = "/all", method = RequestMethod.GET) @ResponseBody public Result all(CommonQuery record) { List pp = commonQueryService.getTableListAll(record); return new Result(true, pp); } /** *

分页查询。

*/ @RequestMapping(value = "/page", method = RequestMethod.GET) @ResponseBody public Result page(Page page, CommonQuery record) { Map result = new HashMap<>(); List pp = commonQueryService.getTableListByPage(page, record); result.put(AppConstant.PAGE, page); result.put("pp", pp); return new Result(true, result); } @RequestMapping(value = "/one", method = RequestMethod.GET) @ResponseBody public Result one(CommonQuery record) { Map pp = commonQueryService.selectByPrimaryKey(record); return new Result(true, pp); } /** *

保存。

*/ @RequestMapping(value = "/save", method = RequestMethod.POST) @ResponseBody public Result save(@RequestParam Map record) { JSONObject formData = JSONObject.fromObject(record.get("formData")); record.put("formData", formData); boolean num = commonQueryService.create(record); if (num) { return new Result(true, record.get("id")); } return new Result(false, "保存异常"); } /** *

更新信息。

*/ @RequestMapping(value = "/update", method = RequestMethod.POST) @ResponseBody public Result update(@RequestParam Map record) { JSONObject formData = JSONObject.fromObject(record.get("formData")); record.put("formData", formData); boolean num = commonQueryService.update(record); if (num) { return new Result(true, "保存成功"); } return new Result(false, "保存异常"); } /** *

删除。

*/ @RequestMapping(value = "/del", method = RequestMethod.POST) @ResponseBody public Result delete(CommonQuery record) { boolean num = commonQueryService.delete(record); if (num) { return new Result(true, "删除成功"); } return new Result(false, "删除异常"); } @RequestMapping(value = "/exportExcel", method = RequestMethod.GET) @ResponseBody public void exportExcel(HttpServletResponse response, CommonQuery record) throws Exception { List pp = commonQueryService.getTableListAll(record); String sheetName = record.getTableName(); String titleName = record.getTableName(); String fileName = record.getTableName(); if (pp.size() > 0) { String[] columnName = record.getColumnNameStr().split("_,"); int columnNumber = columnName.length; int[] columnWidth = new int[columnName.length]; for (int i = 0; i < columnNumber; i++) { columnWidth[i] = 20; } // int columnIndex = 0; // for (Object key : pp.get(0).keySet()) { // columnName[columnIndex] = String.valueOf(key); // columnIndex++; // } String[][] dataList = new String[pp.size()][columnNumber]; for (int i = 0; i < pp.size(); i++) { for (int j = 0; j < columnName.length; j++) { for (Object key : pp.get(i).keySet()) { if (columnName[j].equals(key)) { dataList[i][j] = String.valueOf(String.valueOf(pp.get(i).get(key))); } } } } ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName, columnNumber, columnWidth, columnName, dataList, response); } } }