From e7920b14a9baab97035a1a529da85d124a2bcacd Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 16 六月 2020 10:54:29 +0800 Subject: [PATCH] 云发单对测试用户显示 --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 89 +++++++++++++++++++++++--------------------- 1 files changed, 46 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..deb88e6 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,25 +422,14 @@ @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.transfer("widthdraw_" + extract.getId(), extract.getAccount(), extract.getName(), extract.getMoney(), "鏉挎牀蹇渷鎻愮幇鍒拌处", "鏉ヨ嚜鏉挎牀蹇渷鐨勬彁鐜�"); LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濋�氳繃鎻愮幇鎴愬姛-" + extract.getId()); } catch (AlipayApiException e) { + LogHelper.errorDetailInfo(e, "鏀粯瀹濊浆璐﹀紓甯�:" + extract.getId(), ""); + LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); + }catch(AlipayTransferException e){ LogHelper.errorDetailInfo(e, "鏀粯瀹濊浆璐﹀紓甯�:" + extract.getId(), ""); LogHelper.userErrorInfo("鎻愮幇:鏀粯瀹濇彁鐜板紓甯革細" + response + ",鎻愮幇淇℃伅" + GsonUtil.toJson(extract)); } @@ -524,7 +510,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 +533,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 +586,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 +609,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 +643,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 +658,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 +675,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 +720,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 +1337,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