|
@@ -2,14 +2,16 @@ package com.zanxiang.manage.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zanxiang.common.enums.DeleteEnum;
|
|
|
+import com.zanxiang.common.enums.PayApplicationTypeEnum;
|
|
|
import com.zanxiang.common.enums.StatusEnum;
|
|
|
import com.zanxiang.common.exception.BaseException;
|
|
|
-import com.zanxiang.common.utils.StringUtils;
|
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
|
-import com.zanxiang.manage.domain.enums.PayApplicationTypeEnum;
|
|
|
-import com.zanxiang.manage.domain.mapper.PayBoxListMapper;
|
|
|
+import com.zanxiang.manage.domain.dto.PayApplicationDTO;
|
|
|
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
|
|
|
import com.zanxiang.manage.domain.params.PayBoxAddUpdateParam;
|
|
|
import com.zanxiang.manage.domain.params.PayBoxListParam;
|
|
|
import com.zanxiang.manage.domain.vo.PayBoxListVO;
|
|
@@ -17,9 +19,9 @@ import com.zanxiang.manage.service.IPayApplicationService;
|
|
|
import com.zanxiang.manage.service.IPayBoxService;
|
|
|
import com.zanxiang.manage.service.IPayMerchantService;
|
|
|
import com.zanxiang.mybatis.entity.PayBox;
|
|
|
-import com.zanxiang.mybatis.entity.PayMerchant;
|
|
|
import com.zanxiang.mybatis.mapper.PayBoxMapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.logging.log4j.util.Strings;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -27,10 +29,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
* @author : lingfeng
|
|
@@ -42,9 +44,6 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> implements IPayBoxService {
|
|
|
|
|
|
- @Resource
|
|
|
- private PayBoxListMapper payBoxListMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private IPayMerchantService payMerchantService;
|
|
|
|
|
@@ -52,23 +51,66 @@ public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> impleme
|
|
|
private IPayApplicationService payApplicationService;
|
|
|
|
|
|
@Override
|
|
|
- public IPage<PayBoxListVO> list(PayBoxListParam param) {
|
|
|
-// return page(param.toPage(), new LambdaQueryWrapper<PayBox>()
|
|
|
-// .like(Strings.isNotBlank(param.getName()), PayBox::getName, param.getName())
|
|
|
-// .eq(param.getPayApplicationType() != null, PayBox::getPayApplicationId, param.getPayApplicationId())
|
|
|
-// .like(Strings.isNotBlank(param.getAppId()), PayApplication::getAppId, param.getAppId())
|
|
|
-// .like(Strings.isNotBlank(param.getCompany()), PayApplication::getCompany, param.getCompany())
|
|
|
-// .orderByDesc(PayApplication::getCreateTime))
|
|
|
-// .convert(this::toVo);
|
|
|
- return null;
|
|
|
+ public IPage<PayBoxListVO> pageList(PayBoxListParam param) {
|
|
|
+ //条件查询支付应用列表
|
|
|
+ Map<String, PayApplicationDTO> payApplicationMap = payApplicationService.payApplicationCondition(param.getPayApplicationType(),
|
|
|
+ param.getPayApplicationAppId(), param.getPayApplicationCompany());
|
|
|
+ if (payApplicationMap != null && payApplicationMap.isEmpty()) {
|
|
|
+ return new Page<>();
|
|
|
+ }
|
|
|
+ Set<String> payApplicationAppIdList = null;
|
|
|
+ if (payApplicationMap == null) {
|
|
|
+ payApplicationMap = payApplicationService.payApplicationMap();
|
|
|
+ } else {
|
|
|
+ payApplicationAppIdList = payApplicationMap.keySet();
|
|
|
+ }
|
|
|
+ //查询商户
|
|
|
+ Map<String, PayMerchantDTO> payMerchantMap = payMerchantService.payMerchantCondition(param.getMerchantNo(), param.getMerchantName());
|
|
|
+ if (payMerchantMap != null && payMerchantMap.isEmpty()) {
|
|
|
+ return new Page<>();
|
|
|
+ }
|
|
|
+ String merchantIds = null;
|
|
|
+ if (payMerchantMap == null) {
|
|
|
+ payMerchantMap = payMerchantService.payMerchantMap();
|
|
|
+ } else {
|
|
|
+ merchantIds = String.join(",", payMerchantMap.keySet());
|
|
|
+ }
|
|
|
+ //执行查询
|
|
|
+ Map<String, PayApplicationDTO> finalPayApplicationMap = payApplicationMap;
|
|
|
+ Map<String, PayMerchantDTO> finalPayMerchantMap = payMerchantMap;
|
|
|
+ return page(param.toPage(), new LambdaQueryWrapper<PayBox>()
|
|
|
+ .like(Strings.isNotBlank(param.getName()), PayBox::getName, param.getName())
|
|
|
+ .in(CollectionUtils.isNotEmpty(payApplicationAppIdList), PayBox::getAppId, payApplicationAppIdList)
|
|
|
+ .apply(Strings.isNotBlank(merchantIds), "FIND_IN_SET ('" + merchantIds + "',merchant_ids)")
|
|
|
+ .orderByDesc(PayBox::getCreateTime))
|
|
|
+ .convert(payBox -> this.toVo(payBox, finalPayApplicationMap, finalPayMerchantMap));
|
|
|
}
|
|
|
|
|
|
- private PayBoxListVO toVo(PayBox payBox) {
|
|
|
+ private PayBoxListVO toVo(PayBox payBox, Map<String, PayApplicationDTO> payApplicationMap, Map<String, PayMerchantDTO> payMerchantMap) {
|
|
|
PayBoxListVO payBoxListVO = BeanUtils.copy(payBox, PayBoxListVO.class);
|
|
|
- if (Objects.isNull(payBoxListVO)) {
|
|
|
+ if (payBoxListVO == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- payBoxListVO.setTypeName(PayApplicationTypeEnum.getDescByType(payBoxListVO.getType()));
|
|
|
+ PayApplicationDTO payApplicationDTO = payApplicationMap.get(payBox.getAppId());
|
|
|
+ if (payApplicationDTO != null) {
|
|
|
+ payBoxListVO.setPayApplicationName(payApplicationDTO.getAppName());
|
|
|
+ payBoxListVO.setPayApplicationType(payApplicationDTO.getType());
|
|
|
+ payBoxListVO.setPayApplicationTypeName(PayApplicationTypeEnum.getDescByType(payApplicationDTO.getType()));
|
|
|
+ payBoxListVO.setPayApplicationAppId(payApplicationDTO.getAppId());
|
|
|
+ payBoxListVO.setPayApplicationGhId(payApplicationDTO.getGhId());
|
|
|
+ payBoxListVO.setPayApplicationCompany(payApplicationDTO.getCompany());
|
|
|
+ }
|
|
|
+ Map<String, String> merchantMap = new HashMap<>(payMerchantMap.size());
|
|
|
+ if (Strings.isNotBlank(payBox.getMerchantIds())) {
|
|
|
+ String[] merchantNoArray = payBox.getMerchantIds().split(",");
|
|
|
+ for (String merchantNo : merchantNoArray) {
|
|
|
+ PayMerchantDTO payMerchantDTO = payMerchantMap.get(merchantNo);
|
|
|
+ if (payMerchantDTO != null) {
|
|
|
+ merchantMap.put(merchantNo, payMerchantDTO.getMerchantName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ payBoxListVO.setPayMerchantMap(merchantMap);
|
|
|
return payBoxListVO;
|
|
|
}
|
|
|
|
|
@@ -116,36 +158,4 @@ public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> impleme
|
|
|
.updateTime(LocalDateTime.now())
|
|
|
.build());
|
|
|
}
|
|
|
-
|
|
|
- //------------------------------------------------- 准备删除的旧代码 -------------------------------------------------
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过商户号id获取商户号简介
|
|
|
- *
|
|
|
- * @param payMerchant
|
|
|
- * @param ids
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String getMerchantDetail(Map<String, PayMerchant> payMerchant, String ids) {
|
|
|
- if (StringUtils.isEmpty(ids) || payMerchant.isEmpty()) {
|
|
|
- return "";
|
|
|
- }
|
|
|
- ArrayList<String> arr = new ArrayList<>();
|
|
|
- String[] idArr = ids.substring(1, ids.length() - 1).split(",");
|
|
|
- if (idArr.length == 0) {
|
|
|
- return "";
|
|
|
- }
|
|
|
- for (int i = 0; i < idArr.length; i++) {
|
|
|
- String id = idArr[i];
|
|
|
- if (StringUtils.isEmpty(id)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (payMerchant.get(id) == null) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- arr.add(id + "_" + payMerchant.get(id).getMerchantName());
|
|
|
- }
|
|
|
- return arr.stream().collect(Collectors.joining(","));
|
|
|
- }
|
|
|
}
|