| @@ -50,5 +50,11 @@ public class WxMerchantTradeDailyController extends BaseController { | |||||
| return wxMerchantTradeDailyService.getVolumeOfMonth(merchantId); | return wxMerchantTradeDailyService.getVolumeOfMonth(merchantId); | ||||
| } | } | ||||
| @ApiOperation("获得昨日解单列表") | |||||
| @GetMapping("/listMonth") | |||||
| public ResultData listMonth() { | |||||
| return wxMerchantTradeDailyService.getVolumeTotalOfMonth(getTenantId()); | |||||
| } | |||||
| } | } | ||||
| @@ -15,4 +15,5 @@ public interface WxMerchantTradeDailyMapper extends CommonMapper<WxMerchantTrade | |||||
| List<WxMerchantTradeDailyVo> findListVoOfMonth(WxMerchantTradeDaily wxMerchantTradeDaily); | List<WxMerchantTradeDailyVo> findListVoOfMonth(WxMerchantTradeDaily wxMerchantTradeDaily); | ||||
| List<WxMerchantTradeDaily> findTotalListOfMonth(WxMerchantTradeDaily wxMerchantTradeDaily); | |||||
| } | } | ||||
| @@ -68,13 +68,16 @@ public interface WxMerchantTradeDailyService { | |||||
| */ | */ | ||||
| ResultData getVolumeOfMonth(Long merchantId); | ResultData getVolumeOfMonth(Long merchantId); | ||||
| /** | |||||
| * 获取近30日解单数据(总额) ADMIN 端 | |||||
| */ | |||||
| ResultData getVolumeTotalOfMonth(String tenantId); | |||||
| /** | /** | ||||
| * 根据实体查询分页列表 | * 根据实体查询分页列表 | ||||
| * | * | ||||
| * @param record | * @param record | ||||
| * @param offset | |||||
| * @param limit | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| PageInfo<WxMerchantTradeDailyVo> listAsPageVo(WxMerchantTradeDailyVo record, Integer pageIndex, Integer pageSize); | PageInfo<WxMerchantTradeDailyVo> listAsPageVo(WxMerchantTradeDailyVo record, Integer pageIndex, Integer pageSize); | ||||
| @@ -146,6 +146,9 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| WxMerchantTradeDailyVo trade = recordMap.get(fmt.format(cal.getTime())); | WxMerchantTradeDailyVo trade = recordMap.get(fmt.format(cal.getTime())); | ||||
| if (trade != null){ | if (trade != null){ | ||||
| trade.setReportDate(fmtv.format(cal.getTime())); | trade.setReportDate(fmtv.format(cal.getTime())); | ||||
| trade.setTenantId(null); | |||||
| trade.setMerchantId(null); | |||||
| trade.setMerchantName(null); | |||||
| tradeList.add(trade); | tradeList.add(trade); | ||||
| }else { | }else { | ||||
| trade = new WxMerchantTradeDailyVo(); | trade = new WxMerchantTradeDailyVo(); | ||||
| @@ -158,6 +161,38 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ | |||||
| return new ResultData(tradeList); | return new ResultData(tradeList); | ||||
| } | } | ||||
| @Override | |||||
| public ResultData getVolumeTotalOfMonth(String tenantId) { | |||||
| WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); | |||||
| wxMerchantTradeDaily.setTenantId(tenantId); | |||||
| List<WxMerchantTradeDaily> recordList = wxMerchantTradeDailyMapper.findTotalListOfMonth(wxMerchantTradeDaily); | |||||
| Map<String,WxMerchantTradeDaily> recordMap = recordList.stream().collect(Collectors.toMap(WxMerchantTradeDaily::getReportDate, r -> r)); | |||||
| List<WxMerchantTradeDaily> tradeList = new ArrayList<>(); | |||||
| Calendar cal = Calendar.getInstance(); | |||||
| SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); | |||||
| SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd"); | |||||
| cal.setTime(new Date()); | |||||
| for (int i = 0; i < 30; i++) { | |||||
| cal.add(Calendar.DAY_OF_YEAR, -1); | |||||
| WxMerchantTradeDaily trade = recordMap.get(fmt.format(cal.getTime())); | |||||
| if (trade != null){ | |||||
| trade.setReportDate(fmtv.format(cal.getTime())); | |||||
| tradeList.add(trade); | |||||
| }else { | |||||
| trade = new WxMerchantTradeDaily(); | |||||
| trade.setTradeAmt(0); | |||||
| trade.setReportDate(fmtv.format(cal.getTime())); | |||||
| tradeList.add(trade); | |||||
| } | |||||
| } | |||||
| return new ResultData(tradeList); | |||||
| } | |||||
| @Override | @Override | ||||
| public ResultData getVolume(Long userId) { | public ResultData getVolume(Long userId) { | ||||
| @@ -151,6 +151,25 @@ | |||||
| </if> | </if> | ||||
| order by mtd.create_date desc LIMIT 30 | order by mtd.create_date desc LIMIT 30 | ||||
| </select> | </select> | ||||
| <resultMap id="BaseTotalResultMap" type="com.iformall.domain.po.WxMerchantTradeDaily"> | |||||
| <result column="trade_amt" jdbcType="DECIMAL" property="tradeAmt" /> | |||||
| <result column="report_date" jdbcType="VARCHAR" property="reportDate" /> | |||||
| </resultMap> | |||||
| <select id="findTotalListOfMonth" parameterType="com.iformall.domain.po.WxMerchantTradeDaily" resultMap="BaseTotalResultMap"> | |||||
| select report_date, sum(mtd.trade_amt) as trade_amt | |||||
| from wx_merchant_trade_daily mtd | |||||
| where 1 = 1 | |||||
| <if test=" null != tenantId "> | |||||
| and mtd.tenant_id = #{tenantId} | |||||
| </if> | |||||
| group by mtd.report_date | |||||
| order by mtd.report_date desc | |||||
| LIMIT 30 | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||