| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.ruoyi.system.api.feignClient.OrderClient; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | |
| | | @Service |
| | | public class PaylogServiceImpl extends ServiceImpl<PaylogMapper, Paylog> implements IPaylogService { |
| | | |
| | | @Resource |
| | | private PaylogServiceImpl paylogServiceImpl; |
| | | |
| | | @Resource |
| | | private IPaylogService iPaylogService; |
| | | |
| | | @Resource |
| | | private OrderClient orderClient; |
| | |
| | | Map<String, Object> map = new HashMap<String, Object>(); |
| | | if (type == 1) { |
| | | // 支付宝预下单 |
| | | return paylogServiceImpl.alipay(orderNO, subject, body, price, request); |
| | | return this.alipay(orderNO, subject, body, price, request); |
| | | } else { |
| | | // 微信预下单 |
| | | return paylogServiceImpl.wxpay(2, orderNO, body,openId, price, request); |
| | | return this.wxpay(2, orderNO, body,openId, price, request); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | try { |
| | | LambdaQueryWrapper<Paylog> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.eq(Paylog::getOutTradeNo,paylog1.getOutTradeNo()); |
| | | Paylog one = iPaylogService.getOne(wrapper); |
| | | Paylog one = this.getOne(wrapper); |
| | | if(SinataUtil.isEmpty(one)) { |
| | | iPaylogService.save(paylog1); |
| | | this.save(paylog1); |
| | | if (paylog1.getOutTradeNo().contains("BO")) { |
| | | BondDTO bondVO=new BondDTO(); |
| | | bondVO.setOrderNO(paylog1.getOutTradeNo()); |
| | |
| | | |
| | | LambdaQueryWrapper<Paylog> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.eq(Paylog::getOutTradeNo,out_trade_no); |
| | | Paylog one = iPaylogService.getOne(wrapper); |
| | | Paylog one = this.getOne(wrapper); |
| | | if(SinataUtil.isEmpty(one)) { |
| | | Paylog paylog = new Paylog(); |
| | | paylog.setOutTradeNo(out_trade_no); |
| | |
| | | paylog.setState(1); |
| | | System.out.println("支付完成时间" + time_end); |
| | | paylog.setAddTime(LocalDateTime.now()); |
| | | iPaylogService.save(paylog); |
| | | this.save(paylog); |
| | | if (paylog.getOutTradeNo().contains("BO")) { |
| | | BondDTO bondVO=new BondDTO(); |
| | | bondVO.setOrderNO(paylog.getOutTradeNo()); |
| | |
| | | Set<String> orderNoList = refundDTOS.stream().map(RefundDTO::getOrderNo) |
| | | .collect(Collectors.toSet()); |
| | | if (StringUtils.isNotEmpty(orderNoList)) { |
| | | Map<String, Paylog> paylogMap = iPaylogService.lambdaQuery() |
| | | Map<String, Paylog> paylogMap = this.lambdaQuery() |
| | | .in(Paylog::getOutTradeNo, orderNoList).eq(Paylog::getState, 1).list().stream() |
| | | .collect(Collectors.toMap(Paylog::getOutTradeNo, Function.identity())); |
| | | List<Paylog> updList = new ArrayList<>(); |
| | |
| | | } |
| | | }); |
| | | } |
| | | iPaylogService.updateBatchById(updList); |
| | | this.updateBatchById(updList); |
| | | } |
| | | return map; |
| | | } |
| | |
| | | boolean res = false; |
| | | if (StringUtils.isNotNull(paylog)) { |
| | | if (paylog.getPayType() == 1) { |
| | | res = paylogServiceImpl.refundForAlipay(paylog.getOutTradeNo(), |
| | | res = this.refundForAlipay(paylog.getOutTradeNo(), |
| | | paylog.getTradeNo(), amount.doubleValue()); |
| | | } |
| | | if (paylog.getPayType() == 2) { |
| | |
| | | String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d); |
| | | Integer totalFee = Integer.parseInt( |
| | | money.substring(0, money.length() - 3)); |
| | | res = paylogServiceImpl.refundForWxpay(2, paylog.getTradeNo(), |
| | | res = this.refundForWxpay(2, paylog.getTradeNo(), |
| | | paylog.getOutTradeNo(), orderNo, totalFee, |
| | | refundFee, "4"); |
| | | } |