From 3e4ef41ffacd7f5fda2e81c3810cd11a6375b83c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 15 六月 2020 16:32:35 +0800 Subject: [PATCH] 好单库转链支持 --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/BindingAccountServiceImpl.java | 47 ++++++++++++----------------------------------- 1 files changed, 12 insertions(+), 35 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/BindingAccountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/BindingAccountServiceImpl.java index 967335b..c10d9f9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/BindingAccountServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/BindingAccountServiceImpl.java @@ -4,7 +4,6 @@ import java.util.Calendar; import java.util.Date; import java.util.List; -import java.util.UUID; import javax.annotation.Resource; @@ -14,8 +13,9 @@ 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.request.AlipayFundTransUniTransferRequest; import com.alipay.api.response.AlipayFundTransToaccountTransferResponse; +import com.alipay.api.response.AlipayFundTransUniTransferResponse; import com.yeshi.fanli.dao.mybatis.AlipayAccountValidNormalHistoryMapper; import com.yeshi.fanli.dao.mybatis.BindingAccountMapper; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; @@ -38,8 +38,10 @@ import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService; import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService; +import com.yeshi.fanli.util.AlipayUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import net.sf.json.JSONObject; @@ -116,7 +118,7 @@ return bindingAccountMapper.deleteByPrimaryKey(id); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public void validAlipayAccount(Long uid, String account, String name) throws AlipayTransferException, AlipayApiException, AlipayAccountException { @@ -134,7 +136,6 @@ "璇ユ敮浠樺疂璐﹀彿宸茶鍏朵粬璐﹀彿缁戝畾锛岃鏇存崲鍏朵粬鐨勬敮浠樺疂璐﹀彿鏉ョ粦瀹�"); } - // TODO 鍋氶鐜囬獙璇�-姣忔湀楠岃瘉涓�娆� AlipayAccountValidNormalHistory latest = alipayAccountValidNormalHistoryMapper.selectLatestByUid(uid); if (latest != null) { Calendar caLatest = Calendar.getInstance(); @@ -176,7 +177,7 @@ if (userInfo.getMyHongBao().compareTo(money) >= 0) { // 鎵f userMoneyService.subUserMoney(uid, money, userMoneyDetail); - userMoneyMsgNotificationService.alipayAccountValid(history); + userMoneyMsgNotificationService.alipayAccountValid(history,"1涓湀",latest!=null); } else {// 浣欓涓嶈冻锛屾殏鏃朵笉鎵f锛屽姞鍏ュ�熻捶鍏崇郴 UserMoneyDebt debt = new UserMoneyDebt(); debt.setCreateTime(new Date()); @@ -197,34 +198,12 @@ private void transferAlipayWithVerify(String account, String name) throws AlipayTransferException, AlipayApiException { - 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 uuid = UUID.randomUUID().toString().replace("-", ""); + String outBizNo=StringUtil.Md5(account)+TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd"); String appName = Constant.systemCommonConfig.getProjectChineseName(); - JSONObject json = new JSONObject(); - json.put("out_biz_no", uuid); - json.put("payee_type", "ALIPAY_LOGONID"); - json.put("payee_account", account); - json.put("amount", "0.1"); - json.put("payer_show_name", appName + "鏀粯瀹濋獙璇�"); - json.put("payee_real_name", name); - json.put("remark", "鏉ヨ嚜" + appName + "鐨勬敮浠樺疂楠岃瘉鎵撴"); - request.setBizContent(json.toString()); - AlipayFundTransToaccountTransferResponse response = null; - response = alipayClient.execute(request); - // 鎴愬姛杞处 - if (response != null && response.isSuccess() && "10000".equals(response.getCode())) { - return; - } else// 杞处澶辫触 - { - throw new AlipayTransferException(Integer.parseInt(response.getCode()), response.getSubCode(), - response.getSubMsg()); - } + AlipayUtil.transfer(outBizNo, account, name, new BigDecimal("0.1"), appName + "鏀粯瀹濋獙璇�", "鏉ヨ嚜" + appName + "鐨勬敮浠樺疂楠岃瘉鎵撴"); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public BindingAccount changeAlipayBindingWithVerify(Long uid, String name, String account) throws AlipayTransferException, AlipayApiException, AlipayAccountException { @@ -236,7 +215,7 @@ // 鎵嬫満鍙锋洿鎹㈢粦瀹氱殑7澶╁唴涓嶈兘鎻愮幇 if (history != null && !history.getFirst() && (System.currentTimeMillis() - history.getCreateTime().getTime()) < 1000 * 60 * 60 * 24 * 7L) { - throw new AlipayAccountException(111, "淇敼鎵嬫満鍙�7澶╁唴涓嶅厑璁镐慨鏀规敮浠樺疂璐﹀彿"); + throw new AlipayAccountException(111, "淇敼鎵嬫満鍙峰悗锛�7澶╁唴鏃犳硶鏇存崲鎻愮幇璐﹀彿"); } } @@ -283,10 +262,8 @@ } AlipayAccountValidNormalHistory latest = alipayAccountValidNormalHistoryMapper.selectLatestByUid(uid); if (latest != null) { - Calendar caLatest = Calendar.getInstance(); - caLatest.setTimeInMillis(latest.getCreateTime().getTime()); - Calendar nowLatest = Calendar.getInstance(); - if (caLatest.get(Calendar.MONTH) == nowLatest.get(Calendar.MONTH))// 涓婃鏇存敼鍜岀幇鍦ㄦ槸鍚屼竴涓湀 + if (TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM") + .equalsIgnoreCase(TimeUtil.getGernalTime(latest.getCreateTime().getTime(), "yyyy-MM")))// 涓婃鏇存敼鍜岀幇鍦ㄦ槸鍚屼竴骞村悓涓�涓湀 throw new BindingAccountException(2, "姣忔湀浠呭彲淇敼1娆℃彁鐜拌处鍙凤紝璇蜂笅鏈堝啀璇曞惂銆�"); } return true; -- Gitblit v1.8.0