pos付款相关

This commit is contained in:
liuyingfang
2023-06-13 10:31:11 +08:00
parent cbad5d16b7
commit 5f1fd5bdbe
4 changed files with 82 additions and 60 deletions

View File

@@ -23,12 +23,14 @@ import cn.pluss.platform.merchantOrder.MerchantOrderService;
import cn.pluss.platform.notice.NoticeService;
import cn.pluss.platform.pay.PayService;
import cn.pluss.platform.pos.BasePosReq;
import cn.pluss.platform.pos.PosPay;
import cn.pluss.platform.pos.PosTradeQueryReq;
import cn.pluss.platform.pos.ReturnFundsReq;
import cn.pluss.platform.ryx.pay.RyxPayService;
import cn.pluss.platform.sxf.pay.SxfPayService;
import cn.pluss.platform.user.impl.GeneralPushUtil;
import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.util.BeanUtils;
import cn.pluss.platform.util.IpUtils;
import cn.pluss.platform.util.StringUtil;
import cn.pluss.platform.util.TokenUtil;
@@ -47,6 +49,7 @@ import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Lazy;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
@@ -441,24 +444,26 @@ public class MerchantOrderController {
}
/**
* 博实结pos机反扫支付
* @param merchantOrderDTO
* @param
* @return
*/
@PostMapping("/posScanPay")
public Result<Object> posScanPay(HttpServletRequest request,@RequestBody MerChantOrderDTO merchantOrderDTO)throws Exception{
public JSONObject posScanPay(HttpServletRequest request,@RequestBody BasePosReq req)throws Exception{
//首先验签
verify(merchantOrderDTO.getTimestamp(), merchantOrderDTO.getRequestId(), merchantOrderDTO.getAppId(), merchantOrderDTO.getToken(),
merchantOrderDTO.getReqData());
verify(req.getTimestamp(), req.getRequestId(), req.getAppId(), req.getToken(),
req.getReqData());
//拆分参数
JSONObject jsonParam = JSONObject.parseObject(merchantOrderDTO.getReqData());
Object sn = jsonParam.get("sn");
Object authCode = jsonParam.get("authCode");
Object consumeFee = jsonParam.get("consumeFee");
Object type = jsonParam.get("type");
Object mercOrderNo = jsonParam.get("mercOrderNo");
Object remark = jsonParam.get("remark");
PosPay posPay = JSONObject.parseObject(req.getReqData(), PosPay.class);
MerChantOrderDTO merchantOrderDTO = new MerChantOrderDTO();
merchantOrderDTO.setSn(posPay.getSn());
merchantOrderDTO.setMercOrderNo(posPay.getMercOrderNo());
merchantOrderDTO.setType(posPay.getType());
merchantOrderDTO.setAuthCode(posPay.getAuthCode());
merchantOrderDTO.setRemark(posPay.getRemark());
merchantOrderDTO.setConsumeFee(Double.valueOf(posPay.getConsumeFee()));
//通过后查询商户信息
DeviceStock deviceStock = deviceStockService.checkBind(sn.toString());
DeviceStock deviceStock = deviceStockService.checkBind(posPay.getSn());
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
MsgException.checkNull(merchantBaseInfoById, "找不到商户");
merchantOrderDTO.setMerchantCode(merchantBaseInfoById.getMerchantCode());
@@ -472,20 +477,27 @@ public class MerchantOrderController {
String result = activePay.toString();
JSONObject jsonData = JSONObject.parseObject(result);
Object orderNumber = jsonData.getJSONObject("data").get("orderNumber");
String data = jsonData.getJSONObject("data").get("data").toString();
JSONObject jsonDataInfo = JSONObject.parseObject(data);
HashMap<String, Object> map = new HashMap<>();
map.put("orderNumber", orderNumber);
return ResultGenerator.genSuccessResult(map);
map.put("consumeFee", jsonDataInfo.get("consumeFee"));
map.put("mercOrderNo", posPay.getMercOrderNo());
map.put("remark", posPay.getRemark());
map.put("status", jsonDataInfo.get("status"));
return ResultGenerator.genSuccessJsonPos(map, req.getAppId(), req.getRequestId());
} catch (Exception e){
e.printStackTrace();
return ResultGenerator.genFailResult(e.getMessage());
return ResultGenerator.genFailJsonPos(e.getMessage(), req.getAppId(), req.getRequestId());
}
}
@PostMapping(value = "orderList")
public Result<Object> posTradeQuery(HttpServletRequest request, @RequestBody BasePosReq req){
public Result<Object> posTradeQuery(HttpServletRequest request, @RequestBody BasePosReq req)throws Exception{
verify(req.getTimestamp(),req.getRequestId(),req.getAppId(),req.getToken());
verify(req.getTimestamp(),req.getRequestId(),req.getAppId(),req.getToken(), req.getReqData());
PosTradeQueryReq tradeQueryReq=JSONObject.parseObject(req.getReqData(),PosTradeQueryReq.class);
DeviceStock deviceStock = deviceStockService.checkBind(tradeQueryReq.getSn());
@@ -1380,7 +1392,6 @@ public class MerchantOrderController {
//首先验证签
Map<String, String> tokenMap = TokenUtil.getToken(timestamp, requestId, appId, reqData);
boolean sign = tokenMap.get("TOKEN").equals(token);
System.out.println(token);
MsgException.check(!sign,"签名错误");
}