|
@@ -1,19 +1,29 @@
|
|
|
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.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.zanxiang.common.enums.DeleteEnum;
|
|
|
+import com.zanxiang.common.utils.StringUtils;
|
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
|
-import com.zanxiang.manage.domain.bo.PayBoxBO;
|
|
|
-import com.zanxiang.manage.domain.dto.PayBoxDTO;
|
|
|
+import com.zanxiang.manage.domain.mapper.PayBoxListMapper;
|
|
|
import com.zanxiang.manage.domain.params.PayBoxListParam;
|
|
|
+import com.zanxiang.manage.domain.params.PayBoxParam;
|
|
|
import com.zanxiang.manage.domain.vo.PayBoxListVO;
|
|
|
import com.zanxiang.manage.service.PayBoxService;
|
|
|
+import com.zanxiang.manage.service.PayMerchantService;
|
|
|
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.springframework.stereotype.Component;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 支付盒子 服务实现类
|
|
@@ -21,29 +31,74 @@ import java.util.List;
|
|
|
* @author xufeng
|
|
|
* @date 2022-06-22 15:26
|
|
|
*/
|
|
|
+@Component
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> implements PayBoxService {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private PayBoxListMapper payBoxListMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PayMerchantService payMerchantService;
|
|
|
+
|
|
|
@Override
|
|
|
- public Boolean saveOrUpdate(PayBoxBO bo) {
|
|
|
+ public Boolean saveOrUpdate(PayBoxParam bo) {
|
|
|
PayBox app = BeanUtils.copy(bo, PayBox.class);
|
|
|
+ if (StringUtils.isNotEmpty(bo.getPayMerchantId())) {
|
|
|
+ app.setPayMerchantId("," + bo.getPayMerchantId() + ",");
|
|
|
+ }
|
|
|
+ if (bo.getIsDelete() != null && bo.getIsDelete() == DeleteEnum.YES.getCode()) {
|
|
|
+ return removeById(bo.getId());
|
|
|
+ }
|
|
|
return saveOrUpdate(app);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<PayBoxListVO> list(PayBoxListParam param) {
|
|
|
-// page\\\\\
|
|
|
- return null;
|
|
|
+ Page<PayBox> page = new Page<>(param.getPageNum(), param.getPageSize());
|
|
|
+ IPage<PayBoxListVO> payBoxList = payBoxListMapper.payBoxList(page, param.getName(), param.getPayApplicationName(), param.getAppId(), param.getCompany(), param.getPayMerchantId(), param.getPayApplicationType()
|
|
|
+ );
|
|
|
+ if (payBoxList.getSize() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //获取商户号列表
|
|
|
+ List<PayMerchant> payMerchantList = payMerchantService.list();
|
|
|
+ Map<String, PayMerchant> payMerchantData = payMerchantList.stream().collect(Collectors.toMap(PayMerchant::getMerchantNo, PayMerchant -> PayMerchant));
|
|
|
+ //循环set商户号详情
|
|
|
+ payBoxList.getRecords().stream().filter(t -> StringUtils.isNotEmpty(t.getPayMerchantId())).forEach(t -> {
|
|
|
+ t.setPayMerchantDetail(getMerchantDetail(payMerchantData, t.getPayMerchantId()));
|
|
|
+ });
|
|
|
+ return payBoxList;
|
|
|
}
|
|
|
|
|
|
-// @Override
|
|
|
-// public List<PayBoxDTO> list(PayBoxBO bo) {
|
|
|
-// PayBox app = BeanUtils.copy(bo, PayBox.class);
|
|
|
-// List<PayBox> result = list(new LambdaQueryWrapper<PayBox>().setEntity(app));
|
|
|
-// if (result.isEmpty()) {
|
|
|
-// return null;
|
|
|
-// }
|
|
|
-// return BeanUtils.copyList(result, PayBoxDTO.class);
|
|
|
-//
|
|
|
-// }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过商户号id获取商户号简介
|
|
|
+ *
|
|
|
+ * @param payMerchant
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ 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(","));
|
|
|
+ }
|
|
|
}
|