From 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 02 四月 2020 14:45:20 +0800 Subject: [PATCH] vip 消息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java index 6099276..210e1b9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java @@ -53,6 +53,7 @@ import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.ExtractException; import com.yeshi.fanli.exception.NotExistObjectException; import com.yeshi.fanli.exception.ObjectStateException; @@ -67,6 +68,7 @@ import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.money.extract.ExtractWeiXinRecordService; import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService; +import com.yeshi.fanli.service.inter.order.CommonOrderCountService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.OrderUserStatisticService; import com.yeshi.fanli.service.inter.push.PushService; @@ -77,6 +79,7 @@ import com.yeshi.fanli.util.GsonUtil; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; @@ -150,6 +153,9 @@ @Resource private ExtractWeiXinRecordService extractWeiXinRecordService; + + @Resource + private CommonOrderCountService commonOrderCountService; @Transactional public Integer addExtract(Extract extract) { @@ -268,9 +274,9 @@ && (System.currentTimeMillis() - history.getCreateTime().getTime()) < 1000 * 60 * 60 * 24 * 7L) return 111; - final String autoExtract = configService.get("extract_way"); // 鏄惁鑷姩杞处 - final String maxCount = configService.get("extract_count_day"); - final String maxMoney = configService.get("extract_money_day"); + final String autoExtract = configService.get(ConfigKeyEnum.extractWay.getKey()); // 鏄惁鑷姩杞处 + final String maxCount = configService.get(ConfigKeyEnum.extractDayCount.getKey()); + final String maxMoney = configService.get(ConfigKeyEnum.extractMoneyDay.getKey()); UserInfo user = userInfoMapper.selectByPrimaryKeyForUpdate(extract.getUserInfo().getId()); // 浣欓涓嶈冻 @@ -291,21 +297,32 @@ extractMapper.insertSelective(extract); - ExtractAuditRecord auditRecord = new ExtractAuditRecord(); + final ExtractAuditRecord auditRecord = new ExtractAuditRecord(); auditRecord.setBeforeMoney(user.getMyHongBao()); auditRecord.setExtract(extract); Date minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L); - // 缁熻鏁版嵁 - int orderCount50More = orderUserStatisticService.countOrderCount100MoreByUidAndMinTime(user.getId(), minTime); - - BigDecimal weiQuanOrderFanAmount = orderUserStatisticService.sumWeiQuanOrderFanAmountByUid(user.getId(), - minTime); - int weiQuanOrderCount = orderUserStatisticService.countWeiQuanOrderByUid(user.getId(), minTime); - auditRecord.setExtraInfoStr(new Gson() - .toJson(new ExtractOrderStatisticDTO(orderCount50More, weiQuanOrderCount, weiQuanOrderFanAmount, 0))); + extractAuditRecordMapper.insertSelective(auditRecord); + ThreadUtil.run(new Runnable() { + + @Override + public void run() { + // 缁熻鏁版嵁 + int less10Count = commonOrderCountService.countOderByUidAndLess10(user.getId()); + ExtractAuditRecord update=new ExtractAuditRecord(); + update.setId(auditRecord.getId()); + int orderCount50More = orderUserStatisticService.countOrderCount100MoreByUidAndMinTime(user.getId(), minTime); + BigDecimal weiQuanOrderFanAmount = orderUserStatisticService.sumWeiQuanOrderFanAmountByUid(user.getId(), + minTime); + int weiQuanOrderCount = orderUserStatisticService.countWeiQuanOrderByUid(user.getId(), minTime); + update.setExtraInfoStr(new Gson().toJson( + new ExtractOrderStatisticDTO(orderCount50More, weiQuanOrderCount, weiQuanOrderFanAmount, 0, less10Count))); + extractAuditRecordMapper.updateByPrimaryKeySelective(update); + } + }); + // 鏂扮増璧勯噾璇︽儏 UserMoneyDetail userMoneyDetail = null; try { -- Gitblit v1.8.0