diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardThirdSelfZyService.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardThirdSelfZyService.java
new file mode 100644
index 00000000..5bdd26d0
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardThirdSelfZyService.java
@@ -0,0 +1,19 @@
+package com.bsd.pjcloud.hard.api.feign;
+
+import com.bsd.pjcloud.common.core.constant.ServiceNameConstants;
+import com.bsd.pjcloud.common.feign.annotation.NoToken;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+@FeignClient(contextId = "remoteHardThirdSelfZyService", value = ServiceNameConstants.HARDWARE_SERVICE)
+public interface RemoteHardThirdSelfZyService {
+
+ @NoToken
+ @PostMapping("/hard-third-callback/pay")
+ void pay();
+
+ @NoToken
+ @PostMapping("/hard-third-callback/refund")
+ void refund();
+
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports b/pjcloud-hardware/pjcloud-hardware-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
index 315c2612..66471f54 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports
@@ -1 +1,2 @@
-com.bsd.pjcloud.hard.api.feign.RemoteHardOrderService
\ No newline at end of file
+com.bsd.pjcloud.hard.api.feign.RemoteHardOrderService
+com.bsd.pjcloud.hard.api.feign.RemoteHardThirdSelfZyService
\ No newline at end of file
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/third/HardThirdSelfZyController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/third/HardThirdSelfZyController.java
new file mode 100644
index 00000000..bc2373b3
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/third/HardThirdSelfZyController.java
@@ -0,0 +1,50 @@
+package com.bsd.pjcloud.hard.controller.third;
+
+import com.bsd.pjcloud.common.core.util.R;
+import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
+import com.bsd.pjcloud.common.log.annotation.SysLog;
+import com.bsd.pjcloud.common.security.annotation.Inner;
+import com.bsd.pjcloud.hard.service.HardThirdSelfZyService;
+import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/hard-third-callback")
+@Tag(description = "hard-third-zy", name = "正元第三方接口调用回调")
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class HardThirdSelfZyController {
+
+ private final HardThirdSelfZyService hardThirdSelfZyService;
+
+ /* ************************************* start 远程调用 start ************************************* */
+
+ @Inner(value = false)
+ @PostMapping("/pay")
+ @SysLog("正元支付")
+ @Operation(summary = "正元支付")
+ public void pay() {
+ hardThirdSelfZyService.pay();
+ }
+
+ @Inner(value = false)
+ @PostMapping("/refund")
+ @SysLog("正元退款")
+ @Operation(summary = "正元退款")
+ public void refund() {
+ hardThirdSelfZyService.refund();
+ }
+
+ /* ************************************* end 远程调用 end ************************************* */
+
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardThirdSelfZyService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardThirdSelfZyService.java
new file mode 100644
index 00000000..02389ddb
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardThirdSelfZyService.java
@@ -0,0 +1,16 @@
+package com.bsd.pjcloud.hard.service;
+
+import java.util.Map;
+
+public interface HardThirdSelfZyService {
+
+ /**
+ * 正元支付
+ */
+ void pay();
+
+ /**
+ * 正元退款
+ */
+ void refund();
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/hard/HardThirdSelfZyServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/hard/HardThirdSelfZyServiceImpl.java
new file mode 100644
index 00000000..fb1ad47e
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/hard/HardThirdSelfZyServiceImpl.java
@@ -0,0 +1,26 @@
+package com.bsd.pjcloud.hard.service.impl.hard;
+
+import com.bsd.pjcloud.hard.service.HardThirdSelfZyService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+
+@Validated
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class HardThirdSelfZyServiceImpl implements HardThirdSelfZyService {
+
+ @Override
+ public void pay() {
+
+ }
+
+ @Override
+ public void refund() {
+
+ }
+
+}
diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/zy/ZyBaseVo.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/zy/ZyBaseVo.java
index 92b0eaef..6aefe7fa 100644
--- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/zy/ZyBaseVo.java
+++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/zy/ZyBaseVo.java
@@ -41,6 +41,9 @@ public class ZyBaseVo {
// 无效的access_token
public static String accessTokenError = "40004";
+ // 成功的消息
+ public static String selfSuccessMsg = "成功";
+
public static String defaultErrorMsg = "服务异常,请重试或联系管理员";
private String code;
diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/pom.xml b/pjcloud-thirdparty/pjcloud-thirdparty-biz/pom.xml
index cff0d8c5..34dfa75e 100644
--- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/pom.xml
+++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/pom.xml
@@ -115,10 +115,22 @@
jjwt
0.9.1
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
+
com.bsd
pjcloud-common-idempotent
+
+ com.bsd
+ pjcloud-hardware-api
+ 5.7.0
+ compile
+
diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/zy/ThirdZySelfController.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/zy/ThirdZySelfController.java
index 7e8c9192..bd14b03a 100644
--- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/zy/ThirdZySelfController.java
+++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/zy/ThirdZySelfController.java
@@ -1,6 +1,7 @@
package com.bsd.pjcloud.thirdparty.controller.zy;
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
+import com.bsd.pjcloud.common.security.annotation.Inner;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfCorrectDto;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfGetTokenDto;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfPayDto;
@@ -9,10 +10,8 @@ import com.bsd.pjcloud.thirdparty.vo.zy.self.ZySelfCorrectVo;
import com.bsd.pjcloud.thirdparty.vo.zy.self.ZySelfGetTokenVo;
import com.bsd.pjcloud.thirdparty.vo.zy.self.ZySelfPayVo;
import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
-import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@@ -21,11 +20,11 @@ import java.util.Map;
@RequiredArgsConstructor
@RequestMapping("/third-zy-self")
@Tag(description = "/third-zy-self", name = "正元接口对接")
-@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class ThirdZySelfController {
private final ThirdZySelfService zySelfService;
+ @Inner(value = false)
@GetMapping("/checkSystemStatus")
@Operation(summary = "第三方url健康探测", description = "第三方url健康探测")
@Idempotent(expireTime = 10, info = "请勿重复调用")
@@ -33,23 +32,26 @@ public class ThirdZySelfController {
return zySelfService.checkSystemStatus();
}
+ @Inner(value = false)
@GetMapping("/getToken")
@Operation(summary = "第三方提供获取token", description = "第三方提供获取token")
+ @Idempotent(expireTime = 10, info = "请勿重复调用")
public ZySelfGetTokenVo getToken(ZySelfGetTokenDto params) {
return zySelfService.getToken(params);
}
-
+ @Inner(value = false)
@PostMapping("/correct")
@Operation(summary = "第三方一卡通系统提供冲正接口", description = "第三方一卡通系统提供冲正接口")
- public ZySelfCorrectVo correct(@RequestBody ZySelfCorrectDto params, @RequestParam(value = "access_token", required = false) String accessToken) {
+ public ZySelfCorrectVo correct(ZySelfCorrectDto params, @RequestParam(value = "access_token", required = false) String accessToken) {
return zySelfService.correct(params, accessToken);
}
- @PostMapping("/getToken")
+ @Inner(value = false)
+ @PostMapping("/pay")
@Operation(summary = "第三方一卡通系统提供扣费接口", description = "第三方一卡通系统提供扣费接口")
@Idempotent(expireTime = 10, info = "请勿重复调用")
- public ZySelfPayVo pay(@RequestBody ZySelfPayDto params, @RequestParam(value = "access_token", required = false) String accessToken) {
+ public ZySelfPayVo pay(ZySelfPayDto params, @RequestParam(value = "access_token", required = false) String accessToken) {
return zySelfService.pay(params, accessToken);
}
diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java
index 70891893..34697165 100644
--- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java
+++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java
@@ -1,11 +1,14 @@
package com.bsd.pjcloud.thirdparty.service.impl.zy;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.bsd.pjcloud.common.core.constant.CacheConstants;
+import com.bsd.pjcloud.hard.api.feign.RemoteHardThirdSelfZyService;
import com.bsd.pjcloud.thirdparty.config.ZyConfig;
+import com.bsd.pjcloud.thirdparty.constant.ThirdZyBizEnumType;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfCorrectDto;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfGetTokenDto;
import com.bsd.pjcloud.thirdparty.dto.zy.self.ZySelfPayDto;
@@ -26,10 +29,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.TimeUnit;
@Service
@@ -46,12 +46,16 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
private final ThirdZyLogServiceImpl thirdZyLogService;
+ private final RemoteHardThirdSelfZyService hardCallback;
+
/**
* 第三方url健康探测
*/
@Override
public Map checkSystemStatus() {
+ ThirdZyBizEnumType bizType = ThirdZyBizEnumType.SELF_CHECK_SYSTEM_STATUS;
ThirdZyLogEntity entity = new ThirdZyLogEntity();
+ entity.setBizType(bizType.getType());
entity.setApiUrl(ZyApi.Self.CHECK_SYSTEM_STATUS);
long startTime = System.currentTimeMillis();
try {
@@ -76,16 +80,40 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
*/
@Override
public ZySelfCorrectVo correct(ZySelfCorrectDto params, String accessToken) {
- ZySelfCorrectVo result = new ZySelfCorrectVo();
- result.setCode(ZyBaseVo.errorCode);
- boolean isToken = checkIsToken(accessToken);
- if (!isToken) {
- result.setCode(ZyBaseVo.accessTokenError);
- result.setMsg("无效的access_token");
- return result;
+ ThirdZyBizEnumType bizType = ThirdZyBizEnumType.SELF_CORRECT;
+ ThirdZyLogEntity entity = new ThirdZyLogEntity();
+ entity.setBizType(bizType.getType());
+ long startTime = System.currentTimeMillis();
+ try {
+ ZySelfCorrectVo result = new ZySelfCorrectVo();
+ result.setCode(ZyBaseVo.errorCode);
+ boolean isToken = checkIsToken(accessToken);
+ // 判断token
+ if (!isToken) {
+ String msg = "无效的access_token";
+ result.setCode(ZyBaseVo.accessTokenError);
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
+ }
+ // 校验加密参数
+ boolean isSign = checkSign(params);
+ if (!isSign) {
+ String msg = "数据加密认证失败!sign值验证失败";
+ result.setCode(ZyBaseVo.signError);
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
+ }
+ return null;
+ } catch (Exception e) {
+ String error = String.format("|%s||correct|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
+ log.error(error);
+ entity.setError(error);
+ return null;
+ } finally {
+ long elapsedTime = System.currentTimeMillis() - startTime;
+ entity.setTimeConsuming(Long.toString(elapsedTime));
+ thirdZyLogService.save(entity);
}
-
- return null;
}
/**
@@ -93,15 +121,40 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
*/
@Override
public ZySelfPayVo pay(ZySelfPayDto params, String accessToken) {
- ZySelfCorrectVo result = new ZySelfCorrectVo();
- result.setCode(ZyBaseVo.errorCode);
- boolean isToken = checkIsToken(accessToken);
- if (!isToken) {
- result.setCode(ZyBaseVo.accessTokenError);
- result.setMsg("无效的access_token");
+ ThirdZyBizEnumType bizType = ThirdZyBizEnumType.SELF_PAY;
+ ThirdZyLogEntity entity = new ThirdZyLogEntity();
+ entity.setBizType(bizType.getType());
+ long startTime = System.currentTimeMillis();
+ ZySelfPayVo result = new ZySelfPayVo();
+ try {
+ result.setCode(ZyBaseVo.errorCode);
+ // 判断token
+ boolean isToken = checkIsToken(accessToken);
+ if (!isToken) {
+ String msg = "无效的access_token";
+ result.setCode(ZyBaseVo.accessTokenError);
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
+ }
+ // 校验加密参数
+ boolean isSign = checkSign(params);
+ if (!isSign) {
+ String msg = "数据加密认证失败!sign值验证失败";
+ result.setCode(ZyBaseVo.signError);
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
+ }
+ return result;
+ } catch (Exception e) {
+ String error = String.format("|%s||pay|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
+ log.error(error);
+ entity.setError(error);
+ return result;
+ } finally {
+ long elapsedTime = System.currentTimeMillis() - startTime;
+ entity.setTimeConsuming(Long.toString(elapsedTime));
+ thirdZyLogService.save(entity);
}
-
- return null;
}
/**
@@ -109,24 +162,33 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
*/
@Override
public ZySelfGetTokenVo getToken(ZySelfGetTokenDto params) {
+ ThirdZyBizEnumType bizType = ThirdZyBizEnumType.SELF_GET_TOKEN;
ThirdZyLogEntity entity = new ThirdZyLogEntity();
+ entity.setBizType(bizType.getType());
entity.setApiUrl(ZyApi.Self.GET_TOKEN);
long startTime = System.currentTimeMillis();
ZySelfGetTokenVo result = new ZySelfGetTokenVo();
result.setCode(ZyBaseVo.errorCode);
- if (ObjectUtil.isEmpty(params.getAppid()) || ObjectUtil.equals(params.getAppid(), zyConfig.getSelfAppId())) {
- result.setMsg("appid 无效");
- return result;
+ result.setMsg(ZyBaseVo.defaultErrorMsg);
+ if (ObjectUtil.isEmpty(params.getAppid()) || ObjectUtil.notEqual(params.getAppid(), zyConfig.getSelfAppId())) {
+ String msg = "appid 无效";
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
}
- if (ObjectUtil.isEmpty(params.getAppsecret()) || ObjectUtil.equals(params.getAppsecret(), zyConfig.getSelfAppSecret())) {
- result.setMsg("appSecret 无效");
- return result;
+ if (ObjectUtil.isEmpty(params.getAppsecret()) || ObjectUtil.notEqual(params.getAppsecret(), zyConfig.getSelfAppSecret())) {
+ String msg = "appSecret 无效";
+ result.setMsg(msg);
+ throw new RuntimeException(msg);
+ }
+ String redisKey = CacheConstants.THIRDPARTY_ZY_SELF_TOKEN + "*";
+ Set keys = redisTemplate.keys(redisKey);
+ if (ObjectUtil.isNotEmpty(keys)) {
+ redisTemplate.delete(keys);
}
- String redisKey = CacheConstants.THIRDPARTY_ZY_SELF_TOKEN;
- redisTemplate.opsForValue().getAndDelete(redisKey);
try {
// 生成token
String token = generateToken(params);
+ result.setMsg(ZyBaseVo.selfSuccessMsg);
result.setCode(ZyBaseVo.successCode);
result.setAccess_token(token);
result.setExpires_in(zyConfig.getSelfExpiresIn().toString());
@@ -135,7 +197,6 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
String error = String.format("|%s||getToken|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
entity.setError(error);
- result.setMsg(ZyBaseVo.defaultErrorMsg);
return result;
} finally {
long elapsedTime = System.currentTimeMillis() - startTime;
@@ -164,6 +225,33 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
return true;
}
+ /**
+ * 校验参数
+ */
+ private boolean checkSign(Object obj) {
+ if (ObjectUtil.isEmpty(obj)) return false;
+ try {
+ Map map = BeanUtil.beanToMap(obj);
+ if (ObjectUtil.isEmpty(map)) return false;
+ Map paramsMap = new TreeMap<>(map);
+ paramsMap.remove("sign");
+ String sign = map.getOrDefault("sign", "").toString();
+ if (ObjectUtil.isEmpty(sign)) {
+ log.error("|{}|checkSign意外的错误,sign为空", sign);
+ return false;
+ }
+ if (ObjectUtil.isEmpty(paramsMap)) {
+ log.error("|{}|checkSign意外的错误,paramsMap为空", paramsMap);
+ return false;
+ }
+ return true;
+ } catch (Exception e) {
+ log.error("|{}|checkSign意外的错误,加密参数|{}|", TAG, JSONUtil.toJsonStr(obj), e);
+ return false;
+ }
+
+ }
+
// 生成token
private String generateToken(ZySelfGetTokenDto dto) {
ZySelfTokenDto selfTokenDto = new ZySelfTokenDto();
@@ -175,9 +263,13 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService {
selfTokenDto.setAppid(dto.getAppid());
selfTokenDto.setAppSecret(dto.getAppsecret());
refreshToken(selfTokenDto);
- return Jwts.builder()
+ String compact = Jwts.builder()
.setClaims(claims)
.signWith(SignatureAlgorithm.HS512, zyConfig.getSelfTokenSecret()).compact();
+ if (ObjectUtil.isEmpty(compact)) {
+ return null;
+ }
+ return compact;
}
/// 刷新token
diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java
index e9e28ae3..1f0ae696 100644
--- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java
@@ -73,7 +73,9 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService {
@Override
public void syncAllMch(Long mchId, Boolean isDel) {
MchManageDto dto = new MchManageDto();
- dto.setId(mchId);
+ if (ObjectUtil.isNotEmpty(mchId)) {
+ dto.setId(mchId);
+ }
List mchList = mchManageService.list(dto);
if (ObjectUtil.isEmpty(mchList)) {
log.info("|{}|同步到正元全部商户信息错误mchList为空", TAG);