From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java | 78 ++++++++++++++++++++++++-------------- 1 files changed, 49 insertions(+), 29 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java index 658d29b..7366ddd 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java @@ -28,6 +28,7 @@ import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; import com.yeshi.fanli.dto.HongBao; +import com.yeshi.fanli.dto.money.ExtractOrderStatisticDTO; import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo; import com.yeshi.fanli.entity.bus.user.Extract; import com.yeshi.fanli.entity.bus.user.ExtractAuditRecord; @@ -49,12 +50,14 @@ import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; import com.yeshi.fanli.service.inter.money.UserMoneyDebtService; import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService; +import com.yeshi.fanli.service.inter.order.OrderUserStatisticService; import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.service.inter.user.ExtractRecordService; import com.yeshi.fanli.service.inter.user.ExtractService; import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.user.UserMoneyService; import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.Constant; @@ -128,6 +131,12 @@ @Resource private UserMoneyDebtService userMoneyDebtService; + @Resource + private UserMoneyService userMoneyService; + + @Resource + private OrderUserStatisticService orderUserStatisticService; + @Transactional public Integer addExtract(Extract extract) { Integer integer = extract(extract); @@ -169,8 +178,15 @@ UserInfo user = find.getUserInfo(); - userInfoMapper.addHongBaoByUid(user.getId(), find.getMoney()); + UserMoneyDetail userMoneyDetail = null; + try { + userMoneyDetail = UserMoneyDetailFactory.createExtractReject(find); + } catch (UserMoneyDetailException e1) { + e1.printStackTrace(); + } + // 澧炲姞璧勯噾 + userMoneyService.addUserMoney(user.getId(), find.getMoney(), userMoneyDetail); // 鏇存柊鍘熸潵鐨勭姸鎬� Extract updateExtract = new Extract(); updateExtract.setId(id); @@ -207,16 +223,6 @@ // 鏇存柊鎻愮幇璁板綍瀹℃牳琛� extractAuditRecordMapper.updateByPrimaryKeySelective(auditRecord); // 鏂扮増璧勯噾璇︽儏 - try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractReject(find); - userMoneyDetailMapper.insert(userMoneyDetail); - } catch (UserMoneyDetailException e2) { - try { - LogHelper.errorDetailInfo(e2); - } catch (Exception e3) { - e3.printStackTrace(); - } - } try { userNotificationService.extractWrong(user.getId(), find, @@ -270,15 +276,22 @@ 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); - // 鍑忓幓璐︽埛璧勯噾 - userInfoMapper.subHongBaoByUid(extract.getUserInfo().getId(), extract.getMoney()); - // 鏂扮増璧勯噾璇︽儏 + UserMoneyDetail userMoneyDetail = null; try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtract(extract); - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetail = UserMoneyDetailFactory.createExtract(extract); } catch (UserMoneyDetailException e2) { try { LogHelper.errorDetailInfo(e2); @@ -286,6 +299,9 @@ e1.printStackTrace(); } } + + // 鍑忓幓璐︽埛璧勯噾 + userMoneyService.subUserMoney(extract.getUserInfo().getId(), extract.getMoney(), userMoneyDetail); userNotificationService.extractApply(extract.getUserInfo().getId()); // 娣诲姞鏂扮増閫氱煡 @@ -373,6 +389,7 @@ */ @Transactional private void extractByZhiFuBao(Extract extract, AdminUser adminUser) { + LogHelper.userErrorInfo("鎻愮幇:寮�濮嬮�氳繃鎻愮幇-"+extract.getId()); String privateKey = Constant.alipayConfig.getPrivateKey(); AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", Constant.alipayConfig.getAppId(), privateKey, "json", "gbk", null, "RSA2"); @@ -391,15 +408,17 @@ AlipayFundTransToaccountTransferResponse response = null; try { response = alipayClient.execute(request); + LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濋�氳繃鎻愮幇鎴愬姛-"+extract.getId()); } catch (AlipayApiException e) { e.printStackTrace(); - LogHelper.userErrorInfo("鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); + LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); } try { CMQManager.getInstance().addExtractResultMsg(extract, response, adminUser); + LogHelper.userErrorInfo("鎻愮幇:娣诲姞澶勭悊闃熷垪鎴愬姛-"+extract.getId()); } catch (Exception e) { - LogHelper.userErrorInfo("鏀粯瀹濇彁鐜癈MQ寮傚父锛�" + new Gson().toJson(response) + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); + LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜癈MQ寮傚父锛�" + new Gson().toJson(response) + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); } } @@ -436,12 +455,10 @@ updateExtract.setReason(msg); extractMapper.updateByPrimaryKeySelective(updateExtract); - userInfoMapper.addHongBaoByUid(user.getId(), extract.getMoney()); - + UserMoneyDetail userMoneyDetail = null; // 鏂扮増璧勯噾璇︽儏 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractReject(extract); - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetail = UserMoneyDetailFactory.createExtractReject(extract); } catch (UserMoneyDetailException e2) { try { LogHelper.errorDetailInfo(e2); @@ -449,6 +466,8 @@ e1.printStackTrace(); } } + // 澧炲姞璧勯噾 + userMoneyService.addUserMoney(user.getId(), extract.getMoney(), userMoneyDetail); try { @@ -515,9 +534,14 @@ @Transactional @Override public void checkExtract(Long uid) throws ExtractException { + BigDecimal compensateMoney = extractMapper.computeCompensateByUid(uid); + if (compensateMoney == null) + compensateMoney = new BigDecimal(0); + // 涓嶅垽瀹氬埌璐︾孩鍖呴棶棰� Long count = hongBaoV2Mapper.countByUidAndState(uid, HongBao.STATE_YILINGQU); - if (count == null || count == 0) + if ((count == null || count == 0) && compensateMoney.compareTo(new BigDecimal(0)) == 0) { throw new ExtractException(1, "娌℃湁宸插埌璐︾殑绾㈠寘"); + } // 鏌ヨ鏄惁鏈夋瑺璐� boolean isDebt = userMoneyDebtService.isHaveDebtToRepay(uid); if (isDebt) @@ -546,10 +570,6 @@ weiqaunMoney = weiqaunMoney.abs(); BigDecimal balance = userInfoService.selectByPKey(uid).getMyHongBao(); - - BigDecimal compensateMoney = extractMapper.computeCompensateByUid(uid); - if (compensateMoney == null) - compensateMoney = new BigDecimal(0); BigDecimal after = hongBaoMoney.subtract(extractMoney.add(weiqaunMoney).add(balance).add(compensateMoney)); @@ -717,7 +737,7 @@ } @Override - public double countTodayMoney(Long uid) { - return extractMapper.countTodayMoney(uid); + public BigDecimal sumTodayApplyMoney(Long uid,String day) { + return extractMapper.sumToadyApplyByUid(uid,day); } } -- Gitblit v1.8.0