From d2847c8e9ee9296ee1f318abd2113275dd50f020 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 21 May 2021 11:55:19 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java | 5 +++++ src/main/resources/mapper/otc/OtcOrderDao.xml | 14 ++++++++++++++ src/main/java/com/xcong/excoin/quartz/job/OtcOrderJob.java | 11 ++++++++++- 3 files changed, 29 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java index 61087ef..04413c9 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java +++ b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java @@ -7,6 +7,7 @@ import com.xcong.excoin.modules.otc.vo.OrderListVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; public interface OtcOrderDao extends BaseMapper<OtcOrder> { @@ -24,4 +25,8 @@ Integer selectMemberCntForEntrust(@Param("entrustMemberId") Long entrustMemberId); Integer selectTotalOrderCount(@Param("entrustMemberId") Long entrustMemberId, @Param("status") Integer status); + + BigDecimal selectMemberAvgPayTime(@Param("memberId") Long memberId); + + BigDecimal selectMemberAvgCoinTime(@Param("memberId") Long memberId); } diff --git a/src/main/java/com/xcong/excoin/quartz/job/OtcOrderJob.java b/src/main/java/com/xcong/excoin/quartz/job/OtcOrderJob.java index b989a49..10b8b37 100644 --- a/src/main/java/com/xcong/excoin/quartz/job/OtcOrderJob.java +++ b/src/main/java/com/xcong/excoin/quartz/job/OtcOrderJob.java @@ -62,8 +62,17 @@ Integer finishCnt = otcOrderDao.selectTotalOrderCount(mb.getMemberId(), OtcOrder.STATUS_FINISH); BigDecimal finishRatio = BigDecimal.valueOf(finishCnt).divide(BigDecimal.valueOf(totalCnt), 4, BigDecimal.ROUND_DOWN); // 平均付款时间 - + BigDecimal avgPayTime = otcOrderDao.selectMemberAvgPayTime(mb.getMemberId()); // 平均放币时间 + BigDecimal avgCoinTime = otcOrderDao.selectMemberAvgCoinTime(mb.getMemberId()); + + mb.setBuyCnt(buyCnt); + mb.setTotalOrderCnt(totalCnt); + mb.setFinishRatio(finishRatio); + mb.setAvgPayTime(avgPayTime.intValue()); + mb.setAvgCoinTime(avgCoinTime.intValue()); + + otcMarketBussinessDao.updateById(mb); } } } diff --git a/src/main/resources/mapper/otc/OtcOrderDao.xml b/src/main/resources/mapper/otc/OtcOrderDao.xml index fbdab7a..96671ec 100644 --- a/src/main/resources/mapper/otc/OtcOrderDao.xml +++ b/src/main/resources/mapper/otc/OtcOrderDao.xml @@ -70,4 +70,18 @@ and status #{status} </if> </select> + + <select id="selectMemberAvgPayTime" resultType="java.math.BigDecimal"> + select + IFNULL(sum(timestampdiff(SECOND, create_time, pay_time))/count(1), 0) + from otc_order + where status=3 and member_id=#{memberId} and order_type='B' + </select> + + <select id="selectMemberAvgCoinTime" resultType="java.math.BigDecimal"> + select + IFNULL(sum(timestampdiff(SECOND, pay_time, coin_time))/count(1), 0) + from otc_order + where status=3 and member_id=40 and order_type='S' + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1