package com.szwl.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.gson.Gson; import com.szwl.constant.JoinpayConstant; import com.szwl.constant.ResponseCodesEnum; import com.szwl.feign.bean.OrderFeign; import com.szwl.feign.bean.SzwlFeign; import com.szwl.model.bo.JsonMessage; import com.szwl.model.bo.R; import com.szwl.model.bo.ResponseModel; import com.szwl.model.entity.*; import com.szwl.model.utils.PushUtils; import com.szwl.service.*; import com.szwl.utils.HuifuUtils; import com.szwl.utils.IDGenerator; import com.szwl.weixin.util.HttpUtils; import com.wechat.pay.java.service.refund.model.AmountReq; import com.wechat.pay.java.service.refund.model.CreateRequest; import com.wechat.pay.java.service.refund.model.Refund; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import static com.wechat.pay.java.service.refund.model.Status.PROCESSING; /** *

* 前端控制器 *

* * @author wuhs * @since 2024-03-07 */ @Slf4j @RestController @RequestMapping("/wechatPay") public class TWechatPayConfigController { @Autowired SzwlFeign szwlFeign; @Autowired OrderFeign orderFeign; @Autowired TOrderService orderService; @Autowired TWechatPayConfigService wechatPayConfigService; @Resource TAlipayConfigService alipayConfigService; @Autowired TEquipmentService equipmentService; @Autowired TOrderDetailsService orderDetailsService; @ApiOperation(value = "购物车 请求在线支付 ") @PostMapping("/carsPay") public Object carsPay(String clientId, @RequestBody Map productNameMap, String frpCode, HttpServletRequest request) { JsonMessage jsonMessage = wechatPayConfigService.carsPay(clientId, productNameMap, frpCode, request); return jsonMessage; } @ApiOperation("微信付款码支付") @PostMapping("/cardPay") @ResponseBody public Object cardPay(String authCode, String clientId, @RequestBody Map productNameMap,HttpServletRequest request) { JsonMessage jsonMessage = wechatPayConfigService.cardPay(authCode, clientId, productNameMap, request); return jsonMessage; } @ApiOperation("处理支付宝支付成功回调的通知") @PostMapping("/alipayNotify") public String alipayNotify(@RequestParam Map params) { log.info("支付宝支付回调通知:{}", params); String result = alipayConfigService.alipayNotify(params); return result; } @ApiOperation("处理微信支付成功回调的通知") @PostMapping(value = "/notify") @ResponseBody public Object notify(HttpServletRequest request) { String result = wechatPayConfigService.payNotify(request); return result; } @ApiOperation("发起退款") @PostMapping("/refund") public ResponseModel refund(@RequestBody TOrder torder){ ResponseModel result = wechatPayConfigService.refund(torder); return result; } @ApiOperation(value = "退款成功回调") @PostMapping("/refundNotify") public Object refundNotify(HttpServletRequest request, HttpServletResponse response){ String result = wechatPayConfigService.refundNotify(request,response); return result; } }