123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- package com.leeroa.dydb.datasource.qiyu.web;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import com.google.gson.JsonElement;
- import com.google.gson.JsonObject;
- import com.leeroa.base.utils.DownloadResponseWrapper;
- import com.leeroa.base.utils.export.ExcelUtils;
- import com.leeroa.dydb.cache.ScheduleLock;
- import com.leeroa.dydb.datasource.lianjia.bo.DataLianjiaCodeBo;
- import com.leeroa.dydb.datasource.lianjia.domain.DataLianjiaCode;
- import com.leeroa.dydb.datasource.lianjia.service.DataLianjiaCodeService;
- import com.leeroa.dydb.datasource.qiyu.bo.DataQiYuDealBo;
- import com.leeroa.dydb.datasource.qiyu.domain.DataQiYuDeal;
- import com.leeroa.dydb.datasource.qiyu.service.DataQiYuDealService;
- import com.leeroa.dydb.datasource.qiyu.vo.DataQiYuDealVo;
- import com.leeroa.utils.gson.DoubleAdapter;
- import com.michael.common.JspAccessType;
- import com.michael.core.pager.PageVo;
- import com.michael.core.web.BaseController;
- import com.michael.poi.exp.ExportEngine;
- import com.michael.utils.gson.DateStringConverter;
- import com.michael.utils.gson.GsonUtils;
- import org.apache.commons.io.IOUtils;
- import org.springframework.stereotype.Controller;
- import org.springframework.util.Assert;
- 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.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.InputStream;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- /**
- * @author Michael
- */
- @Controller
- @RequestMapping(value = {"/dydb/datasource/dataQiYuDeal"})
- public class DataQiYuDealCtrl extends BaseController {
- @Resource
- private DataQiYuDealService dataQiYuDealService;
- @Resource
- private DataLianjiaCodeService dataLianjiaCodeService;
- @RequestMapping(value = {""}, method = RequestMethod.GET)
- public String toList() {
- return "dydb/datasource/dataQiYuDeal/dataQiYuDeal_list";
- }
- @RequestMapping(value = "/add", method = RequestMethod.GET)
- public String toAdd(HttpServletRequest request) {
- request.setAttribute(JspAccessType.PAGE_TYPE, JspAccessType.ADD);
- return "dydb/datasource/dataQiYuDeal/dataQiYuDeal_edit";
- }
- @RequestMapping(value = "/save", method = RequestMethod.POST)
- @ResponseBody
- public void save(HttpServletRequest request, HttpServletResponse response) {
- DataQiYuDeal dataQiYuDeal = GsonUtils.wrapDataToEntity(request, DataQiYuDeal.class);
- dataQiYuDealService.save(dataQiYuDeal);
- GsonUtils.printSuccess(response);
- }
- @RequestMapping(value = "/modify", params = {"id"}, method = RequestMethod.GET)
- public String toModify(@RequestParam String id, HttpServletRequest request) {
- request.setAttribute(JspAccessType.PAGE_TYPE, JspAccessType.MODIFY);
- request.setAttribute("id", id);
- return "dydb/datasource/dataQiYuDeal/dataQiYuDeal_edit";
- }
- @RequestMapping(value = "/update", method = RequestMethod.POST)
- @ResponseBody
- public void update(HttpServletRequest request, HttpServletResponse response) {
- DataQiYuDeal dataQiYuDeal = GsonUtils.wrapDataToEntity(request, DataQiYuDeal.class);
- dataQiYuDealService.update(dataQiYuDeal);
- GsonUtils.printSuccess(response);
- }
- @RequestMapping(value = {"/detail"}, params = {"id"}, method = RequestMethod.GET)
- public String toDetail(@RequestParam String id, HttpServletRequest request) {
- request.setAttribute(JspAccessType.PAGE_TYPE, JspAccessType.DETAIL);
- request.setAttribute("id", id);
- return "dydb/datasource/dataQiYuDeal/dataQiYuDeal_edit";
- }
- @ResponseBody
- @RequestMapping(value = "/get", params = {"id"}, method = RequestMethod.GET)
- public void findById(@RequestParam String id, HttpServletResponse response) {
- DataQiYuDealVo vo = dataQiYuDealService.findById(id);
- GsonUtils.printData(response, vo);
- }
- @ResponseBody
- @RequestMapping(value = "/pageQuery", method = RequestMethod.POST)
- public void pageQuery(HttpServletRequest request, HttpServletResponse response) {
- DataQiYuDealBo bo = GsonUtils.wrapDataToEntity(request, DataQiYuDealBo.class);
- PageVo pageVo = dataQiYuDealService.pageQuery(bo);
- GsonUtils.printData(response, pageVo);
- }
- @ResponseBody
- @RequestMapping(value = "/query", method = RequestMethod.POST)
- public void query(HttpServletRequest request, HttpServletResponse response) {
- DataQiYuDealBo bo = GsonUtils.wrapDataToEntity(request, DataQiYuDealBo.class);
- List<DataQiYuDealVo> vos = dataQiYuDealService.query(bo);
- GsonUtils.printData(response, vos);
- }
- @ResponseBody
- @RequestMapping(value = "/delete", method = RequestMethod.POST)
- public void deleteByIds(HttpServletRequest request, HttpServletResponse response) {
- String[] ids = GsonUtils.wrapDataToEntity(request, String[].class);
- dataQiYuDealService.deleteByIds(ids);
- GsonUtils.printSuccess(response);
- }
- // 导出数据
- @RequestMapping(value = "/export", method = RequestMethod.GET)
- public String export(HttpServletRequest request, HttpServletResponse response) throws IOException {
- Gson gson = new GsonBuilder()
- .registerTypeAdapter(Date.class, new DateStringConverter("yyyy-MM-dd HH:mm:ss"))
- .registerTypeAdapter(Double.class,new DoubleAdapter())
- .create();
- DataQiYuDealBo bo = GsonUtils.wrapDataToEntity(request, DataQiYuDealBo.class);
- List<DataQiYuDealVo> data = dataQiYuDealService.query(bo);
- String json = gson.toJson(data);
- JsonElement element = gson.fromJson(json, JsonElement.class);
- JsonObject o = new JsonObject();
- o.add("c", element);
- DownloadResponseWrapper.wrap(response, "七鱼成交数据" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + ".xlsx");
- InputStream inputStream = DataQiYuDealCtrl.class.getClassLoader().getResourceAsStream("exp/export_dataQiyuDeal.xlsx");
- Assert.notNull(inputStream, "数据导出失败!模板文件不存在,请与管理员联系!");
- new ExportEngine().export(response.getOutputStream(), inputStream, o);
- return null;
- }
- // 全部导出
- @RequestMapping(value = "/export-all", method = RequestMethod.GET)
- public void exportAll(HttpServletRequest request, HttpServletResponse response) throws IOException {
- DownloadResponseWrapper.wrap(response, "七鱼成交.xlsx");
- ExcelUtils.export(DataQiYuDeal.class, response.getOutputStream());
- }
- // 下载模板
- @RequestMapping(value = "/template", method = RequestMethod.GET)
- public void downloadTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException {
- InputStream input = DataQiYuDealCtrl.class.getClassLoader().getResourceAsStream("import_dataQiYuDeal.xlsx");
- if (input == null) {
- request.setAttribute("javax.servlet.error.message", "模板[import_dataQiYuDeal.xlsx]不存在!");
- request.getRequestDispatcher("/app/500.jsp");
- return;
- }
- DownloadResponseWrapper.wrap(response, "七鱼成交数据导入模板.xlsx");
- IOUtils.copy(input, response.getOutputStream());
- }
- // 跳转到导入页面
- @RequestMapping(value = "/import", method = RequestMethod.GET)
- public String toImport(HttpServletRequest request) {
- return "dydb/datasource/dataQiYuDeal/dataQiYuDeal_import";
- }
- // 执行导入(通过DTO模板的方式)
- @ResponseBody
- @RequestMapping(value = "/import", method = RequestMethod.POST)
- public void importData(HttpServletRequest request, HttpServletResponse response) {
- String[] o = GsonUtils.wrapDataToEntity(request, String[].class);
- ScheduleLock.getInstance().lock();
- int total = dataQiYuDealService.importData(o);
- ScheduleLock.getInstance().release();
- GsonUtils.printData(response, total);
- }
- // 获取成都的所有区域信息
- @RequestMapping("/citymap")
- @ResponseBody
- public void queryCityMap(HttpServletRequest request, HttpServletResponse response) {
- //GsonUtils.printData(response, LianjiaUtils.getCityMap());
- DataLianjiaCodeBo bo = GsonUtils.wrapDataToEntity(request, DataLianjiaCodeBo.class);
- List<DataLianjiaCode> cityMap = dataLianjiaCodeService.queryCityMap(bo);
- GsonUtils.printData(response, cityMap);
- }
- }
|