From f33a410f4d65b200083c3a4b97d51c10ac38bbd9 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 26 Aug 2022 18:13:08 +0800 Subject: [PATCH] 20220822 --- src/main/java/cc/mrbird/febs/pay/service/impl/UnipayServiceImpl.java | 41 ++++++++++++++++++++++++++--------------- 1 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/UnipayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/UnipayServiceImpl.java index 65e9a09..8687d41 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/impl/UnipayServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/UnipayServiceImpl.java @@ -1,14 +1,18 @@ package cc.mrbird.febs.pay.service.impl; +import cc.mrbird.febs.mall.entity.MallOrderInfo; +import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.pay.model.*; import cc.mrbird.febs.pay.service.UnipayService; import cc.mrbird.febs.pay.util.*; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -41,9 +45,12 @@ "cNgAAtydXYWQJALLOFCjCkRgeRVL8YE8bVi4U16b8ltAN1DlbWEzui6VFy2vIga3IryesNVAOOdornyAwf" + "1huqB2lYfuQwtrIBKg=="; public static final String notifyUrl = "http://47.111.90.145:8800/api/unipay/unipayCallBack"; - public static final String agreementPayNotifyUrl = "http://47.111.90.145:8800/api/unipay/agreementPayCallBack"; + public static final String agreementPayNotifyUrl = "http://47.111.90.145:8800/api/unipay/agreeMentPayCallBack"; public static final String p1MerchantNo = "888118000001971";/** 商户编号 */ public static final String aesKey = "1234567891234567";/** 商户编号 */ + + @Autowired + private MallOrderInfoMapper orderInfoMapper; @Override @Transactional @@ -180,7 +187,7 @@ map.put("mch_order_no",agreementPayDto.getOrderNo()); // 商户订单号 map.put("order_amount", agreementPayDto.getOrderAmount()); // 订单金额;金额保留两位小数 map.put("mch_req_time", agreementPayDto.getOrderTime()); // 订单时间 - map.put("order_desc", agreementPayDto.getOrderDesc()); // 订单时间 + map.put("order_desc", agreementPayDto.getOrderDesc()); // 商品名称 map.put("callback_url", agreementPayNotifyUrl); // 异步通知地址 map.put("bank_card_no", AESUtil.Aes256Encode(agreementPayDto.getBankNo(),aesKey)); // 签约银行卡号 @@ -250,9 +257,15 @@ e.printStackTrace(); } - map.put("mch_order_no", "NO_"+agreeMentPaySmsDto.getOrderNo()); // 商户订单号 - map.put("order_amount", agreeMentPaySmsDto.getOrderAmount()); // 订单金额 - map.put("mch_req_time", agreeMentPaySmsDto.getCreatedTime()); // 下单时间 + + MallOrderInfo orderInfo = orderInfoMapper.selectByOrderNo(agreeMentPaySmsDto.getOrderNo()); + map.put("mch_order_no", "NO_"+orderInfo.getOrderNo()); // 商户订单号 + + BigDecimal value = orderInfo.getAmount().setScale(2, BigDecimal.ROUND_DOWN); + DecimalFormat decimalFormat = new DecimalFormat("0.00#"); + String strVal = decimalFormat.format(value); + map.put("order_amount", strVal); // 订单金额 + map.put("mch_req_time", DateUtil.now()); // 下单时间 map.put("payer_name",AESUtil.Aes256Encode(agreeMentPaySmsDto.getName(),aesKey)); // 姓名 map.put("id_type", agreeMentPaySmsDto.getIdType()); // 证件类型 map.put("id_no", AESUtil.Aes256Encode(agreeMentPaySmsDto.getIdCardNum(),aesKey)); // 证件号码 @@ -293,16 +306,14 @@ e.printStackTrace(); } System.out.println(httpResponseJson); - if(StrUtil.isNotBlank(httpResponseJson)){ - cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(httpResponseJson); - System.out.println(jsonObject); - String biz_code = jsonObject.get("biz_code").toString(); - if("JS000000" == biz_code){ - return httpResponseJson; - } - return "fail"; + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(httpResponseJson); + System.out.println(jsonObject); + String biz_code = jsonObject.get("biz_code").toString(); + String biz_msg = jsonObject.get("biz_msg").toString(); + if("JS000000".equals(biz_code)){ + return biz_code; }else{ - return "fail"; + return biz_msg; } } @@ -323,7 +334,7 @@ e.printStackTrace(); } - map.put("mch_order_no", agreementSignDto.getOrderNo()); // 商户订单号 + map.put("mch_order_no", "NO_"+agreementSignDto.getOrderNo()); // 商户订单号 map.put("sms_code", agreementSignDto.getSmsCode()); // 签约短信验证码 requestParam.setData(JsonUtil.toString(map)); -- Gitblit v1.9.1