admin
2020-06-15 3e4ef41ffacd7f5fda2e81c3810cd11a6375b83c
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 {
@@ -424,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);
      json.put("payee_real_name", extract.getName());
      json.put("remark", "来自重庆快省科技有限公司");
      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(), "");
@@ -622,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
@@ -656,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)
@@ -688,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);