From 941271bb52d26e484e2fe9c82d19bd9f94b84838 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 29 六月 2020 16:38:33 +0800
Subject: [PATCH] 拉新与免单JOB修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 86 +++++++++++++++++++++---------------------
1 files changed, 43 insertions(+), 43 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 2f11736..edad734 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
@@ -25,10 +25,8 @@
import org.yeshi.utils.wx.WXPayUtil;
import com.alipay.api.AlipayApiException;
-import com.alipay.api.AlipayClient;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
+import com.alipay.api.response.AlipayFundTransUniTransferResponse;
import com.google.gson.Gson;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
import com.yeshi.fanli.dao.mybatis.AlipayAccountValidNormalHistoryMapper;
@@ -58,6 +56,7 @@
import com.yeshi.fanli.exception.NotExistObjectException;
import com.yeshi.fanli.exception.ObjectStateException;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
+import com.yeshi.fanli.exception.user.AlipayTransferException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemConfigService;
@@ -74,6 +73,7 @@
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.AlipayUtil;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.GsonUtil;
@@ -82,8 +82,6 @@
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
-
-import net.sf.json.JSONObject;
@Service
public class ExtractServiceImpl implements ExtractService {
@@ -178,7 +176,6 @@
updateExtract.setId(id);
updateExtract.setState(Extract.STATE_PROCESSING);
extractMapper.updateByPrimaryKeySelective(updateExtract);
- // TODO 鏂扮増閮ㄧ讲鍚庡垹闄�
// 鏀瑰彉璧勯噾璁板綍鐘舵��
UserMoneyDetail detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode(
UserMoneyDetailTypeEnum.extract, find.getUserInfo().getId(), find.getId());
@@ -327,7 +324,7 @@
// 鏂扮増璧勯噾璇︽儏
UserMoneyDetail userMoneyDetail = null;
try {
- userMoneyDetail = UserMoneyDetailFactory.createExtract(extract);
+ userMoneyDetail = UserMoneyDetailFactory.createExtract(extract, null);
} catch (UserMoneyDetailException e2) {
try {
LogHelper.errorDetailInfo(e2);
@@ -425,23 +422,9 @@
@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");
- AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
- String appName = Constant.systemCommonConfig.getProjectChineseName();
- JSONObject json = new JSONObject();
- json.put("out_biz_no", "widthdraw_" + extract.getId());// 鏈�闀块暱搴�64浣嶏紝鏀寔鑻辨枃锛屼笅鍒掔嚎锛屾暟瀛�
- 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("payee_real_name", extract.getName());
- json.put("remark", "鏉ヨ嚜" + appName + "App" + "鐨勬彁鐜�");
- request.setBizContent(json.toString());
- AlipayFundTransToaccountTransferResponse response = null;
+ AlipayFundTransUniTransferResponse response = null;
try {
- response = alipayClient.execute(request);
+ response = AlipayUtil.transferNoThrowException("widthdraw_" + extract.getId(), extract.getAccount(), extract.getName(), extract.getMoney(), "鏉挎牀蹇渷鎻愮幇鍒拌处", "鏉ヨ嚜鏉挎牀蹇渷鐨勬彁鐜�");
LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濋�氳繃鎻愮幇鎴愬姛-" + extract.getId());
} catch (AlipayApiException e) {
LogHelper.errorDetailInfo(e, "鏀粯瀹濊浆璐﹀紓甯�:" + extract.getId(), "");
@@ -524,7 +507,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());
@@ -547,11 +530,25 @@
} catch (Exception e) {
e.printStackTrace();
}
- List<PayInfo> payInfoList = payInfoMapper.getListbyExtractId(extract.getId());
- String alipayNo = "";
- if (payInfoList != null && payInfoList.size() > 0)
- alipayNo = payInfoList.get(0).getOrderId();
+ 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, alipayNo);
}
@@ -586,8 +583,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();
@@ -607,7 +606,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
@@ -641,7 +640,7 @@
public void processExtractResult(AlipayTransferResultInfo info) {
if (info == null)
return;
- AlipayFundTransToaccountTransferResponse response = info.getAlipayFundTransToaccountTransferResponse();
+ AlipayFundTransUniTransferResponse response = info.getAlipayFundTransUniTransferResponse();
Extract extract = info.getExtract();
AdminUser admin = info.getAdminUser();
if (response == null)
@@ -656,7 +655,7 @@
if (response.isSuccess()) {
String code = response.getCode();
if ("10000".equals(code)) {
- extractSuccess(extract);
+ extractSuccess(extract,response.getOrderId());
} else {
extractFail(extract, response.getSubMsg());
}
@@ -673,7 +672,7 @@
payInfo.setState(2);
}
payInfo.setOrderId(response.getOrderId());
- payInfo.setOrdertime(response.getPayDate());
+ payInfo.setOrdertime(response.getTransDate());
payInfo.setInfo(response.getSubMsg());
payInfoMapper.insertSelective(payInfo);
@@ -718,23 +717,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();
// 鏇存柊瀹℃牳璁板綍
@@ -1345,4 +1334,15 @@
}
}
+
+ @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