Merge remote-tracking branch 'origin/master'

This commit is contained in:
韩鹏辉
2023-06-13 10:10:21 +08:00
8 changed files with 72 additions and 13 deletions

View File

@@ -12,6 +12,7 @@ import cn.pluss.platform.dto.BusinessLicenseDTO;
import cn.pluss.platform.dto.ImgDTO;
import cn.pluss.platform.dto.MerchantBaseInfoDTO;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantImageMapper;
import cn.pluss.platform.mapper.MerchantRateMapper;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
@@ -172,6 +173,9 @@ public class MerchantBaseInfoController {
@ApiImplicitParams({
@ApiImplicitParam(name = "MerchantBaseInfoDTO", value = "MerchantBaseInfoDTO实例", paramType = "body", dataType = "MerchantBaseInfoDTO", required = true)})
public Result<?> saveMerchantBaseInfoV2(@RequestBody MerchantBaseInfoDTO merchantBaseInfoDTO) {
if (merchantBaseInfoDTO.getAlias().length() < 4 || merchantBaseInfoDTO.getAlias().length() > 18){
MsgException.check(true,"请输入4-18位商户简称");
}
try {
merchantBaseInfoService.saveMerchantBaseInfo(merchantBaseInfoDTO);
return ResultGenerator.genSuccessResult("保存成功");

View File

@@ -445,11 +445,20 @@ public class MerchantOrderController {
* @return
*/
@PostMapping("/posScanPay")
public Result<Object> posScanPay(HttpServletRequest request,@RequestBody MerChantOrderDTO merchantOrderDTO) {
public Result<Object> posScanPay(HttpServletRequest request,@RequestBody MerChantOrderDTO merchantOrderDTO)throws Exception{
//首先验签
verify(merchantOrderDTO.getTimestamp(), merchantOrderDTO.getRequestId(), merchantOrderDTO.getAppId(), merchantOrderDTO.getToken());
verify(merchantOrderDTO.getTimestamp(), merchantOrderDTO.getRequestId(), merchantOrderDTO.getAppId(), merchantOrderDTO.getToken(),
merchantOrderDTO.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");
//通过后查询商户信息
DeviceStock deviceStock = deviceStockService.checkBind(merchantOrderDTO.getSn());
DeviceStock deviceStock = deviceStockService.checkBind(sn.toString());
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
MsgException.checkNull(merchantBaseInfoById, "找不到商户");
merchantOrderDTO.setMerchantCode(merchantBaseInfoById.getMerchantCode());
@@ -1357,6 +1366,31 @@ public class MerchantOrderController {
return ResultGenerator.genSuccessResult(couponList);
}
/**
* 加上参数的签名
* @param timestamp
* @param requestId
* @param appId
* @param token
* @param reqData
* @throws Exception
*/
public void verify(String timestamp, String requestId, String appId,
String token, String reqData)throws Exception{
//首先验证签
Map<String, String> tokenMap = TokenUtil.getToken(timestamp, requestId, appId, reqData);
boolean sign = tokenMap.get("TOKEN").equals(token);
System.out.println(token);
MsgException.check(!sign,"签名错误");
}
/**
* 不加参数的签名
* @param timestamp
* @param requestId
* @param appId
* @param token
*/
public void verify(String timestamp, String requestId, String appId,
String token){
//首先验证签