diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java index 4dc18aa4a..6bc2304cf 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java @@ -5,6 +5,7 @@ import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; +import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.vo.android.HardAdUserVo; import com.bsd.pjcloud.hard.service.HardApiService; @@ -67,6 +68,10 @@ public class HardApiServiceImpl implements HardApiService { // 查询钱包 WalletManageEntity wallet = remoteWalletService.getWalletByCardNumber(card).getData(); if (ObjectUtil.isEmpty(wallet)) return null; + // 判断钱包是否冻结 + if (ObjectUtil.equals(wallet.getIsFreeze(), YesNoEnum.YES.getCode())) { + throw new RuntimeException("钱包已冻结"); + } // 查询用户 UserInfo user = userService.getInnerByUserId(wallet.getUserId()).getData(); if (ObjectUtil.isEmpty(user)) return null; diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/entity/api/ThirdPayLogEntity.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/entity/api/ThirdPayLogEntity.java index b9f0635d5..1074554a0 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/entity/api/ThirdPayLogEntity.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/entity/api/ThirdPayLogEntity.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import com.bsd.pjcloud.common.core.util.TenantTable; + import java.time.LocalDateTime; /** @@ -21,100 +22,106 @@ import java.time.LocalDateTime; public class ThirdPayLogEntity extends Model { - /** - * 主键 - */ + /** + * 主键 + */ @TableId(type = IdType.ASSIGN_ID) - @Schema(description="主键") + @Schema(description = "主键") private Long id; - /** - * 支付发起方类型id - */ - @Schema(description="支付发起方类型id") + /** + * 支付发起方类型id + */ + @Schema(description = "支付发起方类型id") private String paySourceType; - /** - * 支付类型 - */ - @Schema(description="支付类型") + /** + * 支付类型 + */ + @Schema(description = "支付类型") private String bizType; - /** - * 支付类型id - */ - @Schema(description="支付类型id") + /** + * 支付类型id + */ + @Schema(description = "支付类型id") private String bizId; - /** - * api-url - */ - @Schema(description="api-url") + /** + * api-url + */ + @Schema(description = "api-url") private String apiUrl; - /** - * res - */ - @Schema(description="res") + /** + * header + */ + @Schema(description = "header") + private String header; + + /** + * res + */ + @Schema(description = "res") private String res; - /** - * req - */ - @Schema(description="req") + /** + * req + */ + @Schema(description = "req") private String req; - /** - * 调用错误 - */ - @Schema(description="调用错误") + /** + * 调用错误 + */ + @Schema(description = "调用错误") private String error; - /** - * 耗时(毫秒) - */ - @Schema(description="耗时(毫秒)") + /** + * 耗时(毫秒) + */ + @Schema(description = "耗时(毫秒)") private String timeConsuming; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") private String createBy; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") private LocalDateTime createTime; - /** - * 更新人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="更新人") + /** + * 更新人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "更新人") private String updateBy; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="更新时间") + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "更新时间") private LocalDateTime updateTime; - /** - * 删除时间 - */ + /** + * 删除时间 + */ @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除时间") + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除时间") private String delFlag; - - /** - * tenantId - */ - @Schema(description="tenantId") + + /** + * tenantId + */ + @Schema(description = "tenantId") private Long tenantId; } \ No newline at end of file diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java index b1de353ec..e58695748 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java @@ -22,7 +22,6 @@ import jakarta.validation.ConstraintViolation; import jakarta.validation.Validation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -54,7 +53,7 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { @Override public PayBaseVo walletPay(String json, Map headers) { long startTime = System.currentTimeMillis(); - ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/wallet-pay").bizType(ThirdPayApiBizTypeEnum.PAY.getType()).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).req(json).build(); + ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/wallet-pay").bizType(ThirdPayApiBizTypeEnum.PAY.getType()).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).header(JSONUtil.toJsonStr(headers)).req(json).build(); // 开始处理 PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); @@ -106,7 +105,7 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { @Override public PayBaseVo walletRefund(String json, Map headers) { long startTime = System.currentTimeMillis(); - ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/wallet-refund").bizType(ThirdPayApiBizTypeEnum.REFUND.getType()).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).req(json).build(); + ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/wallet-refund").bizType(ThirdPayApiBizTypeEnum.REFUND.getType()).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).req(json).header(JSONUtil.toJsonStr(headers)).build(); // 开始处理 PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); @@ -159,7 +158,7 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { public PayBaseVo getWalletInfo(String json, Map headers) { // 日志 long startTime = System.currentTimeMillis(); - ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/user-wallet").bizType(ThirdPayApiBizTypeEnum.WALLET_INFO.getType()).req(json).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); + ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/user-wallet").bizType(ThirdPayApiBizTypeEnum.WALLET_INFO.getType()).req(json).header(JSONUtil.toJsonStr(headers)).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); // 开始处理 PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); @@ -222,7 +221,7 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { public PayBaseVo> water(String json, Map headers) { // 日志 long startTime = System.currentTimeMillis(); - ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/water").bizType(ThirdPayApiBizTypeEnum.WATER.getType()).req(json).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); + ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/water").bizType(ThirdPayApiBizTypeEnum.WATER.getType()).req(json).header(JSONUtil.toJsonStr(headers)).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); // 开始处理 PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); @@ -273,7 +272,7 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { public PayBaseVo detail(String json, Map headers) { // 日志 long startTime = System.currentTimeMillis(); - ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/detail").bizType(ThirdPayApiBizTypeEnum.DETAIL.getType()).req(json).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); + ThirdPayLogEntity logObj = ThirdPayLogEntity.builder().apiUrl("/third/third-pay-api/detail").bizType(ThirdPayApiBizTypeEnum.DETAIL.getType()).req(json).header(JSONUtil.toJsonStr(headers)).paySourceType(ThirdPaySoureBizTypeEnum.LB.getType()).build(); // 开始处理 PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/test/java/com/bsd/pjcloud/admin/PayTest.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/test/java/com/bsd/pjcloud/admin/PayTest.java index 6567cd80b..4e3c1421f 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/test/java/com/bsd/pjcloud/admin/PayTest.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/test/java/com/bsd/pjcloud/admin/PayTest.java @@ -30,6 +30,7 @@ import java.util.Map; public class PayTest { private final String baseUrl = "http://123.156.230.15:8089/api"; + // private final String baseUrl = "http://127.0.0.1:9999"; private final String walletInfoUrl = "/third/third-pay-api/user-wallet"; @@ -78,7 +79,7 @@ public class PayTest { public void walletPay() throws Exception { Map paramsMap = new HashMap<>(); paramsMap.put("userId", 1875049673022279681L); - paramsMap.put("thirdOrderId", "5"); + paramsMap.put("thirdOrderId", System.currentTimeMillis()); paramsMap.put("price", 100); paramsMap.put("products", null); String body = JSONUtil.toJsonStr(paramsMap); @@ -159,6 +160,13 @@ public class PayTest { log.info(res); } + @Test + public void test() { + String headers = "{\"X-Forwarded-Prefix\":\"/third\",\"sign\":\"c668f17f92907fed5ea62e899c1782c5\",\"User-Agent\":\"okhttp/3.14.9\",\"Accept-Encoding\":\"gzip\",\"UniqueFlowNo\":\"OPENAPI01-20250529100755-437087\",\"Content-Encoding\":\"UTF-8\",\"host\":\"192.168.0.192:6061\",\"X-B3-Sampled\":\"0\",\"X-B3-TraceId\":\"9590477961c17418\",\"Content-Length\":\"75\",\"X-Real-IP\":\"221.12.37.146\",\"timestamp\":\"1748484475\",\"Content-Type\":\"application/json\",\"Accept\":\"*/*\",\"X-B3-ParentSpanId\":\"9590477961c17418\",\"X-Forwarded-Host\":\"123.156.230.15:8089\",\"X-Forwarded-Proto\":\"http,http\",\"app-key\":\"HB0llhHmc56AW9yw\",\"X-Forwarded-Port\":\"8089\",\"x-client-token\":\"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJqaW5oZmgtbWhzaC1zZXJ2aWNlIiwidXNlcklkIjoiNDA4MyIsIm5hbWUiOiJqaW5oZmgtbWhzaC1zZXJ2aWNlIiwiZXhwIjoyMDYzODQ0MDAwfQ.Woq4L0kiCCbVYFt8PwFj71eBx-u2S3mlX13dq7lEZwR8ILSxJNeLuK6JPoV72YLW82G9hRQHHncMZL3O4UnvmP2CWRIet3ekfW-61_PW82sgEIiKXK3bS5nBiQmk5vEChYG8VQ5Ze6lGkxL0baPujqA-CPV9KiQ0HNXLFKFec0w\",\"NEBULA-DST-SERVICE\":\"iobp-itfin-api\",\"X-B3-SpanId\":\"a9fd27f63a83ff9c\",\"biz-type\":\"10\",\"traceparent\":\"00-4f690c2f2e5c5784a6415a740b5fb80a-d33a2abbf42c407c-01\",\"Forwarded\":\"proto=http;host=\\\"123.156.230.15:8089\\\";for=\\\"127.0.0.1:52440\\\"\",\"X-Forwarded-For\":\"221.12.37.146,127.0.0.1\",\"REQUEST-START-TIME\":\"1748484466443\"}"; + String params = "{\"price\":1,\"thirdOrderId\":\"202505260000001\",\"userId\":\"1875049673022279681\"}"; + keyManageService.checkSignAndReturnConfig(params, JSONUtil.toBean(headers, Map.class)); + } + private ThirdKeyManageEntity getLbConfig() { return keyManageService.get(ThirdKeyTypeEnum.LB); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java index 33377b5c0..c6654c568 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/mch/MchManageController.java @@ -121,9 +121,11 @@ public class MchManageController { PjcloudUser user = SecurityUtils.getUser(); dto.setVisibleMobile(YesNoEnum.YES.getCode()); // 如果是食堂判断用户是否能查看到所有食堂 - boolean isConsumeUser = mchManageService.getIsConsumeUser(user.getId()); - if (isConsumeUser) { - dto.setCanteenIsOpen(YesNoEnum.YES.getCode()); + if (ObjectUtil.equals(dto.getType(), MerchantTypeEnum.CANTEEN.getType())) { + boolean isConsumeUser = mchManageService.getIsConsumeUser(user.getId()); + if (isConsumeUser) { + dto.setCanteenIsOpen(YesNoEnum.YES.getCode()); + } } return R.ok(mchManageService.pageJoin(page, dto)); }