diff --git a/mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java b/mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java index 95b6d2847..22ef453ff 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java @@ -1,15 +1,16 @@ package com.simple.controller; import com.simple.common.ResultData; +import com.simple.service.DataTowerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.List; +import java.util.Map; @Api(description = "数据塔台") @RestController @@ -19,75 +20,17 @@ public class DataTowerController extends BaseController { private Logger logger = Logger.getLogger(DataTowerController.class); + @Autowired + private DataTowerService dataTowerService; - @ApiOperation("查询客流") - @PostMapping("/queryCustomer") - public ResultData queryCustomer() { - List series = new ArrayList<>(); + @ApiOperation("查询运营") + @PostMapping("/queryRunning") + public ResultData queryRunning() { - List seriesdata = new ArrayList<>(); - seriesdata.add(1); - seriesdata.add(2); - seriesdata.add(3); - seriesdata.add(4); - seriesdata.add(5); - seriesdata.add(6); - seriesdata.add(7); - seriesdata.add(8); - seriesdata.add(9); - seriesdata.add(10); - seriesdata.add(11); - seriesdata.add(12); - seriesdata.add(13); - seriesdata.add(14); - seriesdata.add(15); - seriesdata.add(16); - seriesdata.add(17); - seriesdata.add(18); - series.add(seriesdata); - seriesdata = new ArrayList<>(); - seriesdata.add(10); - seriesdata.add(20); - seriesdata.add(30); - seriesdata.add(40); - seriesdata.add(50); - seriesdata.add(60); - seriesdata.add(70); - seriesdata.add(80); - seriesdata.add(90); - seriesdata.add(100); - seriesdata.add(110); - seriesdata.add(120); - seriesdata.add(130); - seriesdata.add(140); - seriesdata.add(150); - seriesdata.add(160); - seriesdata.add(170); - seriesdata.add(180); - series.add(seriesdata); - seriesdata = new ArrayList<>(); - seriesdata.add(100); - seriesdata.add(200); - seriesdata.add(300); - seriesdata.add(400); - seriesdata.add(500); - seriesdata.add(600); - seriesdata.add(700); - seriesdata.add(800); - seriesdata.add(900); - seriesdata.add(1000); - seriesdata.add(1100); - seriesdata.add(1200); - seriesdata.add(1300); - seriesdata.add(1400); - seriesdata.add(1500); - seriesdata.add(1600); - seriesdata.add(1700); - seriesdata.add(1800); - series.add(seriesdata); + Map data=dataTowerService.queryRunning(getTenantId()); - return new ResultData(series); + return new ResultData(data); } diff --git a/mallinkService/src/main/java/com/simple/mapper/WxDateAmountRecordMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxDateAmountRecordMapper.java index 6b1cb4d4a..9c0bda386 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxDateAmountRecordMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxDateAmountRecordMapper.java @@ -1,17 +1,18 @@ package com.simple.mapper; -import java.util.*; import com.simple.common.CommonMapper; -import org.apache.ibatis.annotations.Param; import com.simple.domain.po.WxDateAmountRecord; +import java.util.List; +import java.util.Map; + public interface WxDateAmountRecordMapper extends CommonMapper { List findList(WxDateAmountRecord wxDateAmountRecord); int updateAmount(WxDateAmountRecord wxDateAmountRecord); - - - + + List> queryprice(String tenantId); + } diff --git a/mallinkService/src/main/java/com/simple/service/DataTowerService.java b/mallinkService/src/main/java/com/simple/service/DataTowerService.java new file mode 100644 index 000000000..e4c992528 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/DataTowerService.java @@ -0,0 +1,10 @@ +package com.simple.service; + + +import java.util.Map; + +public interface DataTowerService { + + Map queryRunning(String tenantId); + +} diff --git a/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java new file mode 100644 index 000000000..1336febf8 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java @@ -0,0 +1,119 @@ +package com.simple.service.impl; + +import apple.laf.JRSUIUtils; +import com.simple.domain.po.WxDateAmountRecord; +import com.simple.domain.po.WxMerchant; +import com.simple.domain.po.WxMerchantTradeDaily; +import com.simple.domain.po.WxShop; +import com.simple.mapper.WxDateAmountRecordMapper; +import com.simple.mapper.WxMerchantMapper; +import com.simple.mapper.WxMerchantTradeDailyMapper; +import com.simple.mapper.WxShopMapper; +import com.simple.service.DataTowerService; +import com.simple.utils.DateUtils; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class DataTowerServiceImpl implements DataTowerService { + + private Logger logger = Logger.getLogger(getClass()); + + @Autowired + WxShopMapper wxShopMapper; + + @Autowired + WxMerchantMapper wxMerchantMapper; + + @Autowired + WxMerchantTradeDailyMapper wxMerchantTradeDailyMapper; + + @Autowired + WxDateAmountRecordMapper wxDateAmountRecordMapper; + + + @Override + public Map queryRunning(String tenantId) { + WxShop wxShop = new WxShop(); + wxShop.setTenantId(tenantId); + wxShop.setStatus(1); + List yczlist = wxShopMapper.findList(wxShop); + wxShop.setStatus(0); + List wczlist = wxShopMapper.findList(wxShop); + + //出租与未出租 + HashMap datamap = new HashMap<>(); + int yczsize = yczlist.size(); + int wczsize = wczlist.size(); + int size = yczsize + wczsize; + if(size==0){ + datamap.put("yczsl",0); + datamap.put("wczsl",0); + datamap.put("yczl",0); + datamap.put("wczl",0); + }else{ + datamap.put("yczsl",yczsize); + datamap.put("wczsl",wczsize); + double yczld=((double)yczsize/size)*100; + double dczl = new BigDecimal(yczld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double wczld = ((double) wczsize / size) * 100; + double wczl = new BigDecimal(wczld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("yczl", dczl+"%"); + datamap.put("wczl", wczl+"%"); + } + + //上报 + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setTenantId(tenantId); + wxMerchant.setStatus(1); + List merchants = wxMerchantMapper.findList(wxMerchant); + + WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); + wxMerchantTradeDaily.setTenantId(tenantId); + String reportdate = DateUtils.getTimeBefore(1, new Date()); + wxMerchantTradeDaily.setReportDate(reportdate); + List tradelist = wxMerchantTradeDailyMapper.findList(wxMerchantTradeDaily); + int merchantsize = merchants.size(); + int tradesize = tradelist.size(); + if(merchantsize>0 && tradesize>0){ + double shsbld = ((double)tradesize/merchantsize)*100; + double shsbl = new BigDecimal(shsbld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("shsbl",shsbl+"%"); + }else{ + datamap.put("shsbl",0); + } + + int shsbjg = tradelist.stream().mapToInt(WxMerchantTradeDaily::getTradeAmt).sum(); + datamap.put("shsbjg",shsbjg); + + List> recordlist=wxDateAmountRecordMapper.queryprice(tenantId); + Map collect = recordlist.stream().collect(Collectors.toMap(m -> { + return m.get("date"); + }, m -> { + return m.get("price"); + })); + + TreeMap recordmap = new TreeMap<>(); + recordmap.putAll(collect); + + /*WxDateAmountRecord wxDateAmountRecord = new WxDateAmountRecord(); + wxDateAmountRecord.setTenantId(tenantId); + wxDateAmountRecord.setType(0); + List records = wxDateAmountRecordMapper.findList(wxDateAmountRecord); + Map recordmap = records.stream(). + collect(Collectors.groupingBy(WxDateAmountRecord::getDate, + TreeMap::new, + Collectors.summingInt(r -> { + return r.getPayPrice().intValue(); + })));*/ + + datamap.put("records",recordmap); + + return datamap; + } +} diff --git a/mallinkService/src/main/resources/mapper/WxDateAmountRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxDateAmountRecordMapper.xml index b7578ed88..f9534165d 100644 --- a/mallinkService/src/main/resources/mapper/WxDateAmountRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxDateAmountRecordMapper.xml @@ -96,8 +96,17 @@ and type=#{type} and date = #{date} - - - - + + + + + + + +