From 6daabd66dbc869869a7a3c8f783588673e6cf397 Mon Sep 17 00:00:00 2001 From: luozukai Date: Mon, 13 May 2019 16:41:32 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=BB=9F=E8=AE=A1][=E6=B7=BB=E5=8A=A0][?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=87=BA=E7=A7=9F=E7=8E=87=E8=B5=B0=E5=8A=BF?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V201905131640__L_TRADE.sql | 5 +++ .../WxMerchantTradeDailyController.java | 45 +++++++++++++++++-- .../domain/po/WxMerchantTradeDaily.java | 22 +++++++++ .../service/impl/WxChartServiceImpl.java | 29 ++++++++---- .../mapper/WxMerchantTradeDailyMapper.xml | 5 ++- .../main/resources/mapper/WxShopMapper.xml | 10 ++--- 6 files changed, 98 insertions(+), 18 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V201905131640__L_TRADE.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V201905131640__L_TRADE.sql b/mallinkAdmin/src/main/resources/db/migration/V201905131640__L_TRADE.sql new file mode 100644 index 000000000..9cb364fc8 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201905131640__L_TRADE.sql @@ -0,0 +1,5 @@ +ALTER TABLE wx_merchant_trade_daily + ADD COLUMN trade_count int(10) DEFAULT 0 COMMENT ''交易笔数''; + +ALTER TABLE wx_merchant_trade_daily + ADD COLUMN proof varchar(500) DEFAULT NULL COMMENT ''凭证''; \ No newline at end of file diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java index e075fd862..e850deddd 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java @@ -1,16 +1,16 @@ package com.iformall.controller; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxMerchantTradeDaily; import com.iformall.service.WxMerchantTradeDailyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/wxMerchantTradeDaily") @@ -41,5 +41,44 @@ public class WxMerchantTradeDailyController extends BaseController { return wxMerchantTradeDailyService.saveDailyTradingVolume(getUser().getId(), volume); } + /** + * 详情 + * @param wxMerchantTradeDaily + * @return + */ + @ApiOperation("详情") + @GetMapping("findById") + public ResultData findById(WxMerchantTradeDaily wxMerchantTradeDaily) { + logger.debug("[" + getIpAddr() + "] wxMerchantTradeDaily::findById"); + String tenantId = getTenantId(); + wxMerchantTradeDaily.setTenantId(tenantId); + return new ResultData(wxMerchantTradeDailyService.getById(wxMerchantTradeDaily.getId())); + } + + /** + * 保存或编辑 + * @param wxMerchantTradeDaily + * @return + */ + @ApiOperation("保存或编辑") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxMerchantTradeDaily wxMerchantTradeDaily) { + logger.debug("[" + getIpAddr() + "] wxMerchantTradeDaily::saveOrUpdate"); + wxMerchantTradeDaily.setTenantId(super.getTenantId()); + wxMerchantTradeDailyService.saveOrUpdate(wxMerchantTradeDaily); + return new ResultData(); + } + + /** + * 列表 + * @param wxMerchantTradeDaily + * @return + */ + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(WxMerchantTradeDaily wxMerchantTradeDaily, Integer pageNum, Integer pageSize) { + return new ResultData(wxMerchantTradeDailyService.listAsPage(wxMerchantTradeDaily, pageNum,pageSize)); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantTradeDaily.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantTradeDaily.java index 75f8d3099..15f059aed 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantTradeDaily.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantTradeDaily.java @@ -61,6 +61,28 @@ public class WxMerchantTradeDaily implements Serializable { /*解单日期**/ @io.swagger.annotations.ApiModelProperty(value = "解单日期", name = "reportDate") private String reportDate; + /*交易笔数**/ + @io.swagger.annotations.ApiModelProperty(value = "交易笔数", name = "tradeCount") + private String tradeCount; + /*凭证**/ + @io.swagger.annotations.ApiModelProperty(value = "凭证", name = "proof") + private String proof; + + public String getTradeCount() { + return tradeCount; + } + + public void setTradeCount(String tradeCount) { + this.tradeCount = tradeCount; + } + + public String getProof() { + return proof; + } + + public void setProof(String proof) { + this.proof = proof; + } public String getTenantId() { return tenantId; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index 0343ef61d..4df2b713a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -331,27 +331,38 @@ public class WxChartServiceImpl implements WxChartDataService { WxShop query = new WxShop(); query.setTenantId(tenantId); List allList = wxShopMapper.findList(query); - queryMap.put("allCount",allList.size()); List> mapList = wxShopMapper.rentRateHistory(queryMap); if(CollectionUtils.isNotEmpty(mapList)){ String startTime = (String)mapList.get(0).get("xTime"); String endTime = (String)mapList.get(mapList.size()-1).get("xTime"); List days = DateUtils.getTjTimeList(startTime, endTime, 1==dateType.intValue()?"0":"1"); - Map map = getMap(days); + Map map = getMap(days); for (Map m : mapList) { - String r = m.get("rate").toString(); - map.put((String)m.get("xTime"),"0.00".equals(r)?"0":r +"%"); + map.put((String)m.get("xTime"),(Long)m.get("xCount")); } - return new ResultData(map); + + double all = allList.size(); + Map resultMap = new LinkedMap(); + double rentTotal = 0; + for (String key : map.keySet()) { + resultMap.put(key,formatDouble(rentTotal/all*100)+"%"); + } + return new ResultData(resultMap); } - return new ResultData(new LinkedHashMap<>()); + return new ResultData(new HashMap<>()); + } + + public static void main(String[] args) { + double a = 8; + double b = 9; + System.out.println(a/b); } - public Map getMap(List days){ - Map map = new LinkedMap(); + public Map getMap(List days){ + Map map = new LinkedMap(); for (String d:days) { - map.put(d.replace("-", "/"),"0%"); + map.put(d.replace("-", "/"),0l); } return map; } diff --git a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml index 943823552..938ee87ac 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml @@ -10,10 +10,12 @@ + + - `id`,`tenant_id`,`merchant_id`,`b_user_id`,`trade_amt`,`create_date`,`update_date`,`report_date` + `id`,`tenant_id`,`merchant_id`,`b_user_id`,`trade_amt`,`create_date`,`update_date`,`report_date`,trade_count,proof @@ -63,6 +65,7 @@ order by ${sortColumns} + order by create_date desc select - DATE_FORMAT(wm.create_date,'%Y/%m/%d') xTime + DATE_FORMAT(w.create_date,'%Y/%m/%d') xTime - DATE_FORMAT(wm.create_date,'%Y/%m') xTime + DATE_FORMAT(w.create_date,'%Y/%m') xTime - ,round(count(status = 1 or null)/#{allCount} *100/100,2) rate - from wx_shop w inner join wx_merchant_shop wm on wm.shop_id = w.id + ,count(distinct w.shop_id) xCount + from wx_merchant_shop w where w.is_del=0 - and w.tenant_id = #{tenantId} + and w.tenant_id = 456 group by xTime order by xTime