From b8ed71f81bca3ce2ede5ea98d89d994c31a6c19d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 5 Mar 2025 17:24:53 +0800 Subject: [PATCH] 1111 --- .../feign/RemoteHardThirdSelfZyService.java | 19 +++ ...mework.cloud.openfeign.FeignClient.imports | 3 +- .../third/HardThirdSelfZyController.java | 50 ++++++ .../hard/service/HardThirdSelfZyService.java | 16 ++ .../impl/hard/HardThirdSelfZyServiceImpl.java | 26 +++ .../pjcloud/thirdparty/vo/zy/ZyBaseVo.java | 3 + .../pjcloud-thirdparty-biz/pom.xml | 12 ++ .../controller/zy/ThirdZySelfController.java | 16 +- .../impl/zy/ThirdZySelfServiceImpl.java | 154 ++++++++++++++---- .../impl/thrid/WalletThirdZyServiceImpl.java | 4 +- 10 files changed, 263 insertions(+), 40 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardThirdSelfZyService.java create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/third/HardThirdSelfZyController.java create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardThirdSelfZyService.java create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/hard/HardThirdSelfZyServiceImpl.java 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);