| 
					
				 | 
			
			
				@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.exception.BusinessException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.doorCoach.PatientDoorCoachOrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.pay.PayService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.util.WxpayUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.util.XMLUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.order.BusinessOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.order.BusinessOrderRefundDO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -29,8 +28,6 @@ import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.SortedMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.TreeMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created with IntelliJ IDEA. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -161,19 +158,6 @@ public class PayEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = "open/testPay") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "测试wap支付") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop testPay() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SortedMap<String, String> reqMap = new TreeMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String s = WxpayUtil.createUnifiedorder(reqMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            System.out.println("测试wap支付="+s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getSuccess(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failedObjEnvelopException2(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = "applyRefund") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "申请退款") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop applyRefund( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -303,9 +287,9 @@ public class PayEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            orderDO.setResponseParam(paramsJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String totalFee = params.get("refund_fee"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BigDecimal payTotalFee = new BigDecimal(totalFee).setScale(2).divide(new BigDecimal(100), BigDecimal.ROUND_HALF_EVEN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BigDecimal payTotalFee = new BigDecimal(totalFee); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            log.info("【微信支付退款】支付金额:{}", payTotalFee); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (new BigDecimal(orderDO.getRefundPrice()).compareTo(payTotalFee) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (new BigDecimal(orderDO.getRefundPrice()*100).compareTo(payTotalFee) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //通知资金与实际资金不对称,可能是攻击行为! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                log.info("通知资金与实际资金不对称,可能是攻击行为!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return XMLUtil.setXML("SUCCESS", "OK"); 
			 |