| @@ -1,15 +1,16 @@ | |||||
| package com.simple.controller; | package com.simple.controller; | ||||
| import com.simple.common.ResultData; | import com.simple.common.ResultData; | ||||
| import com.simple.service.DataTowerService; | |||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
| import org.apache.log4j.Logger; | 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.PostMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| @Api(description = "数据塔台") | @Api(description = "数据塔台") | ||||
| @RestController | @RestController | ||||
| @@ -19,75 +20,17 @@ public class DataTowerController extends BaseController { | |||||
| private Logger logger = Logger.getLogger(DataTowerController.class); | private Logger logger = Logger.getLogger(DataTowerController.class); | ||||
| @Autowired | |||||
| private DataTowerService dataTowerService; | |||||
| @ApiOperation("查询客流") | |||||
| @PostMapping("/queryCustomer") | |||||
| public ResultData queryCustomer() { | |||||
| List<List> series = new ArrayList<>(); | |||||
| @ApiOperation("查询运营") | |||||
| @PostMapping("/queryRunning") | |||||
| public ResultData queryRunning() { | |||||
| List<Integer> 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<String,Object> data=dataTowerService.queryRunning(getTenantId()); | |||||
| return new ResultData(series); | |||||
| return new ResultData(data); | |||||
| } | } | ||||
| @@ -1,17 +1,18 @@ | |||||
| package com.simple.mapper; | package com.simple.mapper; | ||||
| import java.util.*; | |||||
| import com.simple.common.CommonMapper; | import com.simple.common.CommonMapper; | ||||
| import org.apache.ibatis.annotations.Param; | |||||
| import com.simple.domain.po.WxDateAmountRecord; | import com.simple.domain.po.WxDateAmountRecord; | ||||
| import java.util.List; | |||||
| import java.util.Map; | |||||
| public interface WxDateAmountRecordMapper extends CommonMapper<WxDateAmountRecord, String> { | public interface WxDateAmountRecordMapper extends CommonMapper<WxDateAmountRecord, String> { | ||||
| List<WxDateAmountRecord> findList(WxDateAmountRecord wxDateAmountRecord); | List<WxDateAmountRecord> findList(WxDateAmountRecord wxDateAmountRecord); | ||||
| int updateAmount(WxDateAmountRecord wxDateAmountRecord); | int updateAmount(WxDateAmountRecord wxDateAmountRecord); | ||||
| List<Map<String,Object>> queryprice(String tenantId); | |||||
| } | } | ||||
| @@ -0,0 +1,10 @@ | |||||
| package com.simple.service; | |||||
| import java.util.Map; | |||||
| public interface DataTowerService { | |||||
| Map<String,Object> queryRunning(String tenantId); | |||||
| } | |||||
| @@ -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<String, Object> queryRunning(String tenantId) { | |||||
| WxShop wxShop = new WxShop(); | |||||
| wxShop.setTenantId(tenantId); | |||||
| wxShop.setStatus(1); | |||||
| List<WxShop> yczlist = wxShopMapper.findList(wxShop); | |||||
| wxShop.setStatus(0); | |||||
| List<WxShop> wczlist = wxShopMapper.findList(wxShop); | |||||
| //出租与未出租 | |||||
| HashMap<String, Object> 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<WxMerchant> merchants = wxMerchantMapper.findList(wxMerchant); | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setTenantId(tenantId); | |||||
| String reportdate = DateUtils.getTimeBefore(1, new Date()); | |||||
| wxMerchantTradeDaily.setReportDate(reportdate); | |||||
| List<WxMerchantTradeDaily> 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<Map<String,Object>> recordlist=wxDateAmountRecordMapper.queryprice(tenantId); | |||||
| Map<Object, Object> collect = recordlist.stream().collect(Collectors.toMap(m -> { | |||||
| return m.get("date"); | |||||
| }, m -> { | |||||
| return m.get("price"); | |||||
| })); | |||||
| TreeMap<Object, Object> recordmap = new TreeMap<>(); | |||||
| recordmap.putAll(collect); | |||||
| /*WxDateAmountRecord wxDateAmountRecord = new WxDateAmountRecord(); | |||||
| wxDateAmountRecord.setTenantId(tenantId); | |||||
| wxDateAmountRecord.setType(0); | |||||
| List<WxDateAmountRecord> records = wxDateAmountRecordMapper.findList(wxDateAmountRecord); | |||||
| Map<Date, Integer> recordmap = records.stream(). | |||||
| collect(Collectors.groupingBy(WxDateAmountRecord::getDate, | |||||
| TreeMap::new, | |||||
| Collectors.summingInt(r -> { | |||||
| return r.getPayPrice().intValue(); | |||||
| })));*/ | |||||
| datamap.put("records",recordmap); | |||||
| return datamap; | |||||
| } | |||||
| } | |||||
| @@ -96,8 +96,17 @@ | |||||
| and type=#{type} and date = #{date} | and type=#{type} and date = #{date} | ||||
| </update> | </update> | ||||
| <select id="queryprice" resultType="hashmap"> | |||||
| select date,sum(pay_price) price from wx_date_amount_record | |||||
| where tenant_id=#{value} and type=0 | |||||
| group by date | |||||
| limit 30 | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||