package com.stylefeng.guns.modular.api; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.service.IReassignService; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; import com.stylefeng.guns.modular.system.util.ICBCPayUtil; import com.stylefeng.guns.modular.system.util.PayMoneyUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.util.Map; /** * 第三方支付回调控制器 */ @RestController @RequestMapping("/base") public class CallbackController { @Autowired private IReassignService reassignService; @Autowired private ICBCPayUtil icbcPayUtil; @Autowired private PayMoneyUtil payMoneyUtil; /** * 订单改派微信回调 * @param request */ @ResponseBody @PostMapping("/wxReassign") public void wxReassign(HttpServletRequest request, HttpServletResponse response){ try { Map map = payMoneyUtil.weixinpayCallback(request); if(null != map){ String out_trade_no = map.get("out_trade_no"); String transaction_id = map.get("transaction_id"); String substring = out_trade_no.substring(17); Integer type = Integer.valueOf(substring.substring(0, 1)); Integer id = Integer.valueOf(substring.substring(1)); reassignService.payReassign(id.toString(), type, transaction_id, 1); String result = map.get("result"); PrintWriter out = response.getWriter(); out.print(result); out.flush(); out.close(); } }catch (Exception e){ e.printStackTrace(); } } /** * 订单改派支付宝回调 * @param request */ @ResponseBody @PostMapping("/aliReassign") public void aliReassign(HttpServletRequest request, HttpServletResponse response){ try { Map map = payMoneyUtil.alipayCallback(request); if(null != map){ String out_trade_no = map.get("out_trade_no"); String trade_no = map.get("trade_no"); String substring = out_trade_no.substring(17); Integer type = Integer.valueOf(substring.substring(0, 1)); Integer id = Integer.valueOf(substring.substring(1)); reassignService.payReassign(id.toString(), type, trade_no, 2); PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } }catch (Exception e){ e.printStackTrace(); } } }