diff --git a/src/main/java/com/jwl/driver/server/controller/AppletPayController.java b/src/main/java/com/jwl/driver/server/controller/AppletPayController.java index e95e562..8981333 100644 --- a/src/main/java/com/jwl/driver/server/controller/AppletPayController.java +++ b/src/main/java/com/jwl/driver/server/controller/AppletPayController.java @@ -1,7 +1,9 @@ package com.jwl.driver.server.controller; import com.jwl.driver.server.config.WechatPayConfig; +import com.jwl.driver.server.entity.OrderPayInfo; import com.jwl.driver.server.response.BaseResponse; +import com.jwl.driver.server.service.IOrderPayInfoService; import com.jwl.driver.server.util.WechatPayUtil; import com.jwl.driver.server.vo.AppletPayVo; import com.wechat.pay.java.core.Config; @@ -13,12 +15,14 @@ import com.wechat.pay.java.service.payments.model.Transaction; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import javax.annotation.Resource; +import java.math.BigDecimal; /** * 微信支付小程序 接口 @@ -32,17 +36,21 @@ public class AppletPayController { @Resource private WechatPayConfig wechatPayConfig; + @Autowired + private IOrderPayInfoService orderPayInfoService; + //生成预支付订单 @ApiOperation("生成预支付订单") @PostMapping("/prepay") public BaseResponse createPrepay(@RequestBody AppletPayVo payDto){ // 构建service JsapiServiceExtension service = createService(); + OrderPayInfo orderPayInfo = orderPayInfoService.createOrderPayInfo(payDto.getMoney(),payDto.getUserId(), payDto.getDescription(), payDto.getOutTradeNo(), "applet"); // 请求下单参数 PrepayRequest request = new PrepayRequest(); Amount amount = new Amount(); - amount.setTotal(Integer.valueOf((payDto.getMoney()*100)+"")); + amount.setTotal(Integer.valueOf((payDto.getMoney().multiply(new BigDecimal("100")).setScale(0).toString())+"")); request.setAmount(amount); request.setAppid(wechatPayConfig.getAppId()); request.setMchid(wechatPayConfig.getMchId()); diff --git a/src/main/java/com/jwl/driver/server/controller/H5PayController.java b/src/main/java/com/jwl/driver/server/controller/H5PayController.java index 4a0589b..0ae2630 100644 --- a/src/main/java/com/jwl/driver/server/controller/H5PayController.java +++ b/src/main/java/com/jwl/driver/server/controller/H5PayController.java @@ -46,7 +46,7 @@ public class H5PayController { // 构建service H5Service service = createService(); //在order_pay_info里新增一条数据 - OrderPayInfo orderPayInfo = orderPayInfoService.createOrderPayInfo(payVo); + OrderPayInfo orderPayInfo = orderPayInfoService.createOrderPayInfo(payVo.getMoney(),payVo.getUserId(),payVo.getDescription(), payVo.getOutTradeNo(), "h5"); // 请求下单参数 PrepayRequest request = new PrepayRequest(); diff --git a/src/main/java/com/jwl/driver/server/service/IOrderPayInfoService.java b/src/main/java/com/jwl/driver/server/service/IOrderPayInfoService.java index c3268de..c9fa3ea 100644 --- a/src/main/java/com/jwl/driver/server/service/IOrderPayInfoService.java +++ b/src/main/java/com/jwl/driver/server/service/IOrderPayInfoService.java @@ -4,6 +4,8 @@ import com.jwl.driver.server.entity.OrderPayInfo; import com.baomidou.mybatisplus.extension.service.IService; import com.jwl.driver.server.vo.H5PayVo; +import java.math.BigDecimal; + /** *

* 支付表 服务类 @@ -16,10 +18,14 @@ public interface IOrderPayInfoService extends IService { /** * 微信支付创建预支付申请 - * @param payVo + * @param money + * @param userIdStr + * @param description + * @param outTradeNo + * @param payType * @return */ - OrderPayInfo createOrderPayInfo(H5PayVo payVo); + OrderPayInfo createOrderPayInfo(BigDecimal money,String userIdStr,String description,String outTradeNo,String payType); /** * 支付结果 diff --git a/src/main/java/com/jwl/driver/server/service/impl/OrderPayInfoServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/OrderPayInfoServiceImpl.java index 3626902..36749c4 100644 --- a/src/main/java/com/jwl/driver/server/service/impl/OrderPayInfoServiceImpl.java +++ b/src/main/java/com/jwl/driver/server/service/impl/OrderPayInfoServiceImpl.java @@ -46,23 +46,24 @@ public class OrderPayInfoServiceImpl extends ServiceImpl