admin
2023-04-12 f06a592dd1a7e995bf313ccb5efe7dff73ccfc4e
src/main/java/com/yeshi/buwan/controller/AlipayController.java
@@ -2,20 +2,16 @@
import com.alipay.api.AlipayApiException;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.yeshi.buwan.domain.vip.VIPOrderRecord;
import com.yeshi.buwan.exception.vip.VIPException;
import com.yeshi.buwan.service.inter.vip.VIPService;
import com.yeshi.buwan.service.inter.order.OrderService;
import com.yeshi.buwan.util.RedisManager;
import com.yeshi.buwan.util.StringUtil;
import com.yeshi.buwan.util.log.LoggerUtil;
import com.yeshi.buwan.util.user.VipUtil;
import com.yeshi.buwan.util.vip.VIPOrderUtil;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.alipay.AlipayH5PayUtil;
import org.yeshi.utils.entity.alipay.AlipayAppInfo;
import javax.annotation.Resource;
@@ -23,8 +19,6 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -32,13 +26,13 @@
@Controller
@RequestMapping("alipay")
public class AlipayController {
    Logger logger = LoggerFactory.getLogger(AlipayController.class);
    Logger logger = LoggerUtil.getVIPLogger();
    @Resource
    private RedisManager redisManager;
    @Resource
    private VIPService vipService;
    private OrderService orderService;
    @RequestMapping("printPayForm")
    public void printPayForm(String formId, HttpServletResponse response) {
@@ -85,17 +79,9 @@
            if (right) {
                //支付成功
                if ("TRADE_SUCCESS".equalsIgnoreCase(tradeStatus)) {
                    AlipayTradeQueryResponse res = AlipayH5PayUtil.queryOrder(app, outTradeNo, null);
                    //支付成功
                    if (res.isSuccess() && "TRADE_SUCCESS".equalsIgnoreCase(res.getTradeStatus())) {
                        String id = VIPOrderUtil.getIdFromOutOrderNo(outTradeNo);
                        try {
                            vipService.paySuccess(id, VIPOrderRecord.PAY_WAY_ALIPAY, new BigDecimal(res.getPayAmount()), new Date());
                        } catch (VIPException e) {
                            e.printStackTrace();
                            logger.error("支付成功回调出错 id:{}", id, e);
                        }
                    }
                    String id = VIPOrderUtil.getIdFromOutOrderNo(outTradeNo);
                    logger.info("订单ID:{}", id);
                    orderService.checkOrderPayState(id);
                }
                response.getWriter().print("success");
                response.getWriter().close();