From 9bfb6ce66ec3b03085728fd80eb2d18a18326709 Mon Sep 17 00:00:00 2001 From: luozukai Date: Mon, 1 Jul 2019 14:37:34 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=BB=9F=E8=AE=A1][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=9A=E6=80=81=E5=88=86=E6=9E=90]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/WxBusinessController.java | 70 +++++++++++++------ .../iformall/domain/vo/WxBusinessDataVo.java | 20 ++++++ .../iformall/service/WxBusinessService.java | 9 +-- .../service/impl/WxBusinessServiceImpl.java | 3 + .../resources/mapper/WxBusinessMapper.xml | 18 +++++ 5 files changed, 93 insertions(+), 27 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxBusinessDataVo.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java index 7539f6fcc..eb4d23d49 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java @@ -1,11 +1,13 @@ package com.iformall.controller.sys; -import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxBusiness; import com.iformall.domain.po.WxSubBusiness; +import com.iformall.domain.vo.WxBusinessDataVo; +import com.iformall.domain.vo.WxMerchantSubsidyVo; +import com.iformall.service.ExcelService; import com.iformall.service.WxBusinessService; import com.iformall.service.WxSubBusinessService; import com.iformall.utils.DateUtils; @@ -13,11 +15,14 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.http.HttpResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -29,9 +34,11 @@ public class WxBusinessController extends BaseController { @Autowired private WxBusinessService wxBusinessService; - @Autowired private WxSubBusinessService wxSubBusinessService; + @Autowired + private ExcelService excelService; + @ApiOperation("业态全列表接口") @GetMapping("listAll") @@ -59,15 +66,49 @@ public class WxBusinessController extends BaseController { wxBusiness.setTenantId(getTenantId()); if(wxBusiness.getStartdate() == null || wxBusiness.getEnddate() == null){ Date sDate = DateUtils.getFirstDayForCurrMonth(DateUtils.getLastMonthToDay()); - Date d = DateUtils.getLastDayForMonth(DateUtils.getLastMonthToDay()); + Date eDate = DateUtils.getLastDayForMonth(DateUtils.getLastMonthToDay()); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); wxBusiness.setStartdate(sdT.parse(sd.format(sDate)+" 00:00:00")); - wxBusiness.setEnddate(sdT.parse(sd.format(d)+" 23:59:59")); + wxBusiness.setEnddate(sdT.parse(sd.format(eDate)+" 23:59:59")); } return wxBusinessService.businessDataList(wxBusiness); } + @ApiOperation("导出业态数据列表") + @GetMapping("exportBusinessDataList") + @SystemControllerLog(description = "导出业态数据列表") + public void exportBusinessDataList(@ModelAttribute WxBusiness wxBusiness, HttpServletResponse response) throws Exception{ + logger.debug("[" + getIpAddr() + "] WxBusinessController::exportBusinessDataList"); + wxBusiness.setTenantId(getTenantId()); + if(wxBusiness.getStartdate() == null || wxBusiness.getEnddate() == null){ + Date sDate = DateUtils.getFirstDayForCurrMonth(DateUtils.getLastMonthToDay()); + Date eDate = DateUtils.getLastDayForMonth(DateUtils.getLastMonthToDay()); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + wxBusiness.setStartdate(sdT.parse(sd.format(sDate)+" 00:00:00")); + wxBusiness.setEnddate(sdT.parse(sd.format(eDate)+" 23:59:59")); + } + List> dataList = (List>)wxBusinessService.businessDataList(wxBusiness).data; + List exeList = new ArrayList<>(); + for (Map m:dataList) { + WxBusinessDataVo businessDataVo = new WxBusinessDataVo(); + businessDataVo.setName((String)m.get("title")); + if(m.get("comPrice") != null) + businessDataVo.setComPrice(m.get("comPrice").toString()); + if(m.get("rent") != null) + businessDataVo.setRentRate(m.get("rent").toString()); + if(m.get("rentSaleRate") != null) + businessDataVo.setRentSaleRate(m.get("rentSaleRate").toString()); + if(m.get("volume") != null) + businessDataVo.setSale(m.get("volume").toString()); + if(m.get("sale") != null) + businessDataVo.setSaleRate(m.get("sale").toString()); + exeList.add(businessDataVo); + } + excelService.exportExcel(exeList, null, "业态统计", WxBusinessDataVo.class, "业态统计列表.xlsx", response, false); + } + @ApiOperation("贡献率排行") @GetMapping("devoteList") @SystemControllerLog(description = "贡献率排行") @@ -76,25 +117,8 @@ public class WxBusinessController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData devoteList(@ModelAttribute WxBusiness wxBusiness,Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxBusinessController::devoteList"); - List> result = new ArrayList<>(); - Map map = new HashMap<>(); - map.put("merchantName","西贝筱面"); - map.put("sale","2323.23");//营业额 - map.put("saleRate","32323.23");//商户销售坪效 - map.put("devoteRate","1.23");//贡献率 - result.add(map); - map = new HashMap<>(); - map.put("merchantName","肯德基"); - map.put("sale","2323.23");//营业额 - map.put("saleRate","32323.23");//商户销售坪效 - map.put("devoteRate","1.23");//贡献率 - result.add(map); - PageInfo> page = new PageInfo<>(); - page.setList(result); - page.setTotal(2); - page.setPageNum(1); - page.setPageSize(20); - return new ResultData(page); + wxBusiness.setTenantId(getTenantId()); + return new ResultData(wxBusinessService.devoteList(wxBusiness,pageNum,pageSize)); } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBusinessDataVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBusinessDataVo.java new file mode 100644 index 000000000..bb342faae --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBusinessDataVo.java @@ -0,0 +1,20 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +@Data +public class WxBusinessDataVo { + @Excel(name="业态",width = 20,orderNum = "1") + private String name; + @Excel(name="营业额(万)",width = 20,orderNum = "2") + private String sale = "0"; + @Excel(name="销售坪效(元/m2)",width = 20,orderNum = "3") + private String saleRate = "0" ; + @Excel(name="租赁坪效(元/m2)",width = 20,orderNum = "5") + private String rentRate = "0"; + @Excel(name="租售比",width = 20,orderNum = "6") + private String rentSaleRate = "0"; + @Excel(name="客单价(元)",width = 20,orderNum = "7") + private String comPrice = "0"; +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java index 1f0582978..792bb815d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java @@ -3,7 +3,10 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxBusiness; +import org.springframework.web.bind.annotation.ModelAttribute; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; public interface WxBusinessService { @@ -47,8 +50,6 @@ public interface WxBusinessService { ResultData devoteList(WxBusiness wxBusiness,Integer pageNum, Integer pageSize); - - - - + + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java index 7adf61a42..23cd05cfc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java @@ -12,6 +12,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; @Service @@ -59,4 +61,5 @@ public class WxBusinessServiceImpl implements WxBusinessService { public ResultData devoteList(WxBusiness wxBusiness, Integer pageNum, Integer pageSize) { return new ResultData(PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBusinessMapper.devoteList(wxBusiness))); } + } diff --git a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml index 283a6e5ff..7871400d9 100644 --- a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml @@ -157,7 +157,25 @@