diff --git a/src/main/java/com/gxwebsoft/common/system/controller/PaymentController.java b/src/main/java/com/gxwebsoft/common/system/controller/PaymentController.java index f7a03dd..7f9f4ce 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/PaymentController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/PaymentController.java @@ -1,6 +1,8 @@ package com.gxwebsoft.common.system.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gxwebsoft.common.core.utils.RedisUtil; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.common.system.entity.Merchant; @@ -16,10 +18,12 @@ import com.gxwebsoft.common.core.annotation.OperationLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 支付方式控制器 @@ -38,16 +42,25 @@ public class PaymentController extends BaseController { @ApiOperation("选择支付方式") @GetMapping("/select") - public ApiResult> select(PaymentParam param) { + public ApiResult select(PaymentParam param) { + String key = "SelectPayment:".concat(getTenantId().toString()); + final String string = redisUtil.get(key); + final List paymentList = JSONObject.parseArray(string, Payment.class); + if (!CollectionUtils.isEmpty(paymentList)) { + return success(paymentList); + } // 使用关联查询 - final PageResult result = paymentService.pageRel(param); - result.getList().forEach(d -> { - d.setApiKey(null); - d.setApiclientCert(null); - d.setApiclientKey(null); - d.setMerchantSerialNumber(null); - }); - return success(result); + final List list = paymentService.list(new LambdaUpdateWrapper().eq(Payment::getStatus, true)); + if (!CollectionUtils.isEmpty(list)) { + list.forEach(d -> { + d.setApiKey(null); + d.setApiclientCert(null); + d.setApiclientKey(null); + d.setMerchantSerialNumber(null); + }); + } + redisUtil.set(key,list,1L, TimeUnit.DAYS); + return success(list); } @PreAuthorize("hasAuthority('sys:payment:list')")