From f891e43e0de1bf07ae130b0f7f5bebeba8bb41bb Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 21 五月 2020 17:35:45 +0800
Subject: [PATCH] 团队v
---
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 107 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 65 insertions(+), 42 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 3d47565..f824710 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
@@ -68,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;
@@ -78,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;
@@ -152,6 +154,9 @@
@Resource
private ExtractWeiXinRecordService extractWeiXinRecordService;
+ @Resource
+ private CommonOrderCountService commonOrderCountService;
+
@Transactional
public Integer addExtract(Extract extract) {
Integer integer = extract(extract);
@@ -173,7 +178,6 @@
updateExtract.setId(id);
updateExtract.setState(Extract.STATE_PROCESSING);
extractMapper.updateByPrimaryKeySelective(updateExtract);
- // TODO 鏂扮増閮ㄧ讲鍚庡垹闄�
// 鏀瑰彉璧勯噾璁板綍鐘舵��
UserMoneyDetail detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode(
UserMoneyDetailTypeEnum.extract, find.getUserInfo().getId(), find.getId());
@@ -292,25 +296,37 @@
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 {
- userMoneyDetail = UserMoneyDetailFactory.createExtract(extract);
+ userMoneyDetail = UserMoneyDetailFactory.createExtract(extract, null);
} catch (UserMoneyDetailException e2) {
try {
LogHelper.errorDetailInfo(e2);
@@ -418,9 +434,9 @@
json.put("payee_type", "ALIPAY_LOGONID");
json.put("payee_account", extract.getAccount());
json.put("amount", extract.getMoney());
- json.put("payer_show_name", appName + "App" + "鎻愮幇");
+ json.put("payer_show_name", appName);
json.put("payee_real_name", extract.getName());
- json.put("remark", "鏉ヨ嚜" + appName + "App" + "鐨勬彁鐜�");
+ json.put("remark", "鏉ヨ嚜閲嶅簡蹇渷绉戞妧鏈夐檺鍏徃");
request.setBizContent(json.toString());
AlipayFundTransToaccountTransferResponse response = null;
try {
@@ -507,7 +523,7 @@
* @param session
*/
@Transactional
- private void extractSuccess(Extract extract) {
+ private void extractSuccess(Extract extract,String alipayNo) {
// 鑰佺増鏈姛鑳�
// List<MoneyRecord> list = moneyRecordDao.list("from MoneyRecord mr
// where mr.extract.id = " + extract.getId());
@@ -530,8 +546,27 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ UserMoneyDetail detailNew = null;
+ try {
+ detailNew = UserMoneyDetailFactory.createExtract(extract, alipayNo);
+ } catch (UserMoneyDetailException e) {
+ e.printStackTrace();
+ }
+
+ // 澶栨樉璐︽埛鏄庣粏
+ UserMoneyDetail userMoneyDetail = userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(
+ UserMoneyDetailTypeEnum.extractNew, extract.getUserInfo().getId(), extract.getId());
+ if (userMoneyDetail != null) {
+ UserMoneyDetail detail = new UserMoneyDetail(userMoneyDetail.getId());
+ detail.setShow(true);
+ detail.setUpdateTime(new Date());
+ if (detailNew != null)
+ detail.setDescInfo(detailNew.getDescInfo());
+ userMoneyDetailMapper.updateByPrimaryKeySelective(detail);
+ }
// 鏂扮増閫氱煡
- userMoneyMsgNotificationService.extractSuccess(extract);
+ userMoneyMsgNotificationService.extractSuccess(extract, alipayNo);
}
/**
@@ -564,8 +599,10 @@
// 鑾峰彇鎻愮幇锛岃幏鍙栨彁鐜伴獙璇�
List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
typeList.add(UserMoneyDetailTypeEnum.extract);
+ typeList.add(UserMoneyDetailTypeEnum.extractNew);
typeList.add(UserMoneyDetailTypeEnum.extractReject);
typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+ typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
BigDecimal extractMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, new Date(0),
now);
extractMoney = extractMoney.abs();
@@ -585,7 +622,7 @@
BigDecimal after = hongBaoMoney.subtract(extractMoney.add(weiqaunMoney).add(balance).add(compensateMoney));
if (after.compareTo(new BigDecimal("0")) != 0)
- throw new ExtractException(2, "缁撶畻璧勯噾寮傚父");
+ throw new ExtractException(2, "缁撶畻璧勯噾寮傚父锛�" + after);
}
@Override
@@ -634,7 +671,7 @@
if (response.isSuccess()) {
String code = response.getCode();
if ("10000".equals(code)) {
- extractSuccess(extract);
+ extractSuccess(extract,response.getOrderId());
} else {
extractFail(extract, response.getSubMsg());
}
@@ -696,23 +733,13 @@
extractAuditRecordMapper.updateByPrimaryKeySelective(auditRecord);
}
- // 澶栨樉璐︽埛鏄庣粏
- UserMoneyDetail userMoneyDetail = userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(
- UserMoneyDetailTypeEnum.extract, extract.getUserInfo().getId(), extract.getId());
- if (userMoneyDetail != null) {
- UserMoneyDetail detail = new UserMoneyDetail(userMoneyDetail.getId());
- detail.setShow(true);
- detail.setUpdateTime(new Date());
- userMoneyDetailMapper.updateByPrimaryKeySelective(detail);
- }
-
}
@Transactional
@Override
public void testExtractSuccess(Long id) {
Extract extract = extractMapper.selectByPrimaryKey(id);
- extractSuccess(extract);
+ extractSuccess(extract,null);
Long uid = extract.getUserInfo().getId();
// 鏇存柊瀹℃牳璁板綍
@@ -884,10 +911,6 @@
LogHelper.errorDetailInfo(e);
}
- // 4銆佸彂閫佹秷鎭�氱煡
- String desc = "涓轰繚闅滀綘鐨勮处鎴蜂綑棰濆畨鍏紝鑷姩鎻愮幇閲戦灏嗕笉浼氶珮浜�5鍏�";
- String beizu = "璐︽埛涓墿浣欎綑棰濊鍦ㄦ湰App鍐呭畬鎴愭彁鐜�";
- userMoneyMsgNotificationService.extractAuto(extractRecord, "鏈鍙�-鎻愮幇涓�", desc, beizu);
}
private boolean parseSendResult(String result) {
@@ -1226,11 +1249,6 @@
// 璧勯噾璁$畻
userMoneyService.subUserMoney(userInfo.getId(), money, detail);
- // 4銆佸彂閫佹秷鎭�氱煡
- String desc = "涓轰繚闅滀綘鐨勮处鎴蜂綑棰濆畨鍏紝鑷姩鎻愮幇閲戦灏嗕笉浼氶珮浜�5鍏�";
- String beizu = "璐︽埛涓墿浣欎綑棰濊鍦ㄦ湰App鍐呭畬鎴愭彁鐜�";
- userMoneyMsgNotificationService.extractAuto(extractRecord, "鏈鍙�-鎻愮幇涓�", desc, beizu);
-
// 婊¤冻鏉′欢杩斿洖淇℃伅
return userInfo;
}
@@ -1316,8 +1334,6 @@
extractWeiXinRecordService.updateByPrimaryKeySelective(updeteRecord);
if (ExtractWeiXinRecord.RECEIVED.equals(status)) {
- // 鍙戦�佹秷鎭�氱煡
- userMoneyMsgNotificationService.extractAuto(record, "宸查鍙�-宸叉彁鐜�", null, null);
} else if (ExtractWeiXinRecord.REFUND.equals(status)) {
// 璧勯噾鏄庣粏
UserMoneyDetail detail = new UserMoneyDetail();
@@ -1329,13 +1345,20 @@
detail.setType(UserMoneyDetailTypeEnum.extractAutoWXRefund);
detail.setUpdateTime(new Date());
detail.setUserInfo(new UserInfo(record.getUid()));
-
// 璧勯噾璁$畻
userMoneyService.addUserMoney(record.getUid(), record.getMoney(), detail);
-
- // 鍙戦�佹秷鎭�氱煡
- userMoneyMsgNotificationService.extractAuto(record, "宸查��鍥�-浣欓涓�", null, null);
}
}
+
+ @Override
+ public List<Extract> getExtractSucceedRecord(int page, int pageSize, Long uid) {
+ return extractMapper.getExtractSucceedRecord((page-1)*pageSize, pageSize, uid);
+ }
+
+ @Override
+ public long countExtractSucceedRecord(Long uid) {
+ Long count = extractMapper.countExtractSucceedRecord(uid);
+ return count== null? 0 : count;
+ }
}
--
Gitblit v1.8.0