diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/MerchantController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/MerchantController.java index 197b328c..64b2ba1a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/MerchantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/MerchantController.java @@ -142,5 +142,10 @@ public class MerchantController extends BaseController return merchantService.H5applyMerchant(Long.valueOf(merchantId),request); } + @GetMapping("/getMatchMerchantNew") + public AjaxResult getMatchMerchantNew(){ + return merchantService.getMatchMerchantNew(); + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IMerchantService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IMerchantService.java index cf1b4ff7..b61f53e5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IMerchantService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IMerchantService.java @@ -91,4 +91,6 @@ public interface IMerchantService extends IService * @return */ AjaxResult H5applyMerchant(Long merchantId, HttpServletRequest request); + + AjaxResult getMatchMerchantNew(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MerchantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MerchantServiceImpl.java index 5dafce35..49e7f8bd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MerchantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MerchantServiceImpl.java @@ -1,41 +1,38 @@ package com.ruoyi.system.service.impl; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.RedisConstant; -import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.http.Customer; import com.ruoyi.common.core.domain.http.CustomerApplyLog; +import com.ruoyi.common.core.domain.http.Merchant; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.redis.service.CustomerTokenService; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.domain.dto.MerchantListDto; -import com.ruoyi.system.mapper.CustomerApplyLogMapper; import com.ruoyi.system.mapper.CustomerMapper; +import com.ruoyi.system.mapper.MerchantMapper; import com.ruoyi.system.service.ICustomerApplyLogService; +import com.ruoyi.system.service.IMerchantService; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.system.mapper.MerchantMapper; -import com.ruoyi.common.core.domain.http.Merchant; -import com.ruoyi.system.service.IMerchantService; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * 商户Service业务层处理 - * + * * @author ruoyi * @date 2024-09-15 */ @@ -51,7 +48,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 查询商户 - * + * * @param id 商户主键 * @return 商户 */ @@ -63,7 +60,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 查询商户列表 - * + * * @param merchant 商户 * @return 商户 */ @@ -75,7 +72,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 新增商户 - * + * * @param merchant 商户 * @return 结果 */ @@ -88,7 +85,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 修改商户 - * + * * @param merchant 商户 * @return 结果 */ @@ -101,7 +98,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 批量删除商户 - * + * * @param ids 需要删除的商户主键 * @return 结果 */ @@ -113,7 +110,7 @@ public class MerchantServiceImpl extends ServiceImpl i /** * 删除商户信息 - * + * * @param id 商户主键 * @return 结果 */ @@ -221,4 +218,44 @@ public class MerchantServiceImpl extends ServiceImpl i } return merchants; } + + + @Override + public AjaxResult getMatchMerchantNew() { + List merchantLists = matchMerchantNew(); + List results = new ArrayList<>(); + for (Merchant merchant : merchantLists) { + MerchantListDto merchantListDto = new MerchantListDto(); + merchantListDto.setMerchantName(merchant.getMerchantName()); + merchantListDto.setMerchantDescribe(merchant.getMerchantDescribe()); + merchantListDto.setMerchantUrl(merchant.getHitUrl()); + merchantListDto.setMerchantId(merchant.getId()); + results.add(merchantListDto); + } + return AjaxResult.success(results); + } + + + private List getMerchantLists() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(Merchant::getStatus, true); + List merchants = merchantMapper.selectList(queryWrapper); + return CollectionUtils.isEmpty(merchants) ? new ArrayList<>() : merchants; + } + + private List matchMerchantNew() { + List merchantLists = getMerchantLists(); + if (CollectionUtils.isEmpty(merchantLists)) { + return merchantLists; + } + List merchants = new ArrayList<>(); + for (Merchant merchant : merchantLists) { + //限量判定 + Integer sum = customerApplyLogService.getApplySum(merchant.getId()); + if (merchant.getLimitType() != null && merchant.getLimitType() == 1 && merchant.getLimitNum() <= sum) { + continue; + } + merchants.add(merchant); + } + return merchants; + } }