package com.fdkankan.sale.controller.pay; import com.alibaba.fastjson.JSONObject; import com.fdkankan.common.constant.Constant; import com.fdkankan.common.constant.ConstantUrl; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.redis.util.RedisUtil; import com.fdkankan.sale.common.CacheUtil; import com.fdkankan.sale.common.ResultCode; import com.fdkankan.sale.common.ResultData; import com.fdkankan.sale.controller.BaseController; import com.fdkankan.sale.entity.Repair; import com.fdkankan.sale.entity.RepairPay; import com.fdkankan.sale.exception.BusinessException; import com.fdkankan.sale.pay.wx.WXPayDefaultConfig; import com.fdkankan.sale.pay.wx.WechatPayService; import com.fdkankan.sale.pay.wx.WxPayBean; import com.fdkankan.sale.service.IPriceListService; import com.fdkankan.sale.service.IRepairLogService; import com.fdkankan.sale.service.IRepairPayService; import com.fdkankan.sale.service.IRepairService; import com.fdkankan.sale.util.DateUtil; import com.fdkankan.sale.util.UrlUtils; import com.fdkankan.sale.vo.request.WechatMobileParam; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.io.BufferedOutputStream; import java.io.InputStream; import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.Map; @Log4j2 /**支付中心-微信支付模块"*/ @Controller @RequestMapping("/sale/order/pay") public class OrderWechatPayController extends BaseController { @Autowired WechatPayService wechatPayService; @Autowired IPriceListService priceListService; @Autowired IRepairPayService repairPayService; @Autowired IRepairService repairService; @Autowired IRepairLogService repairLogService; @ResponseBody @RequestMapping(value = "/wechatPay", method = RequestMethod.POST) public ResultData wechatMobilePay(@RequestBody WechatMobileParam param) throws Exception { return ResultData.ok(wechatPayService.wechatMobilePay(param, UrlUtils.getIpAddr(request))); } @RequestMapping(value = "/wechatPay/notify", method = RequestMethod.POST) public void callback() { wechatPayService.callBack(request,response); } @ResponseBody @RequestMapping(value = "/queryStatus", method = RequestMethod.POST) public ResultData queryStatus(@RequestBody WechatMobileParam param) throws Exception { return ResultData.ok(wechatPayService.queryStatus(param)); } }