|
@@ -1,28 +1,35 @@
|
|
|
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.ApplicationTypeEnum;
|
|
|
import com.zanxiang.common.enums.DeleteEnum;
|
|
|
+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.mapper.PayBoxListMapper;
|
|
|
+import com.zanxiang.manage.domain.params.PayBoxAddUpdateParam;
|
|
|
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.PayApplicationService;
|
|
|
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.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -42,36 +49,94 @@ public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> impleme
|
|
|
@Resource
|
|
|
private PayMerchantService payMerchantService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PayApplicationService payApplicationService;
|
|
|
+
|
|
|
+
|
|
|
+ * 分页获取应用列表
|
|
|
+ *
|
|
|
+ * @param param : 查询参数
|
|
|
+ * @return : 返回列表
|
|
|
+ */
|
|
|
@Override
|
|
|
- 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());
|
|
|
+ public IPage<PayBoxListVO> list(PayBoxListParam param) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 给签证官
|
|
|
+ *
|
|
|
+ * @param payBox 支付盒子
|
|
|
+ * @return {@link PayBoxListVO}
|
|
|
+ */
|
|
|
+ private PayBoxListVO toVo(PayBox payBox) {
|
|
|
+ PayBoxListVO payBoxListVO = BeanUtils.copy(payBox, PayBoxListVO.class);
|
|
|
+ if (Objects.isNull(payBoxListVO)) {
|
|
|
+ return null;
|
|
|
}
|
|
|
- return saveOrUpdate(app);
|
|
|
+ payBoxListVO.setTypeName(ApplicationTypeEnum.getDescByType(payBoxListVO.getType()));
|
|
|
+ return payBoxListVO;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 支付应用添加或者更新
|
|
|
+ *
|
|
|
+ * @param param : 参数
|
|
|
+ * @return : 返回结果
|
|
|
+ */
|
|
|
@Override
|
|
|
- public IPage<PayBoxListVO> list(PayBoxListParam param) {
|
|
|
- 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;
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean addOrUpdate(PayBoxAddUpdateParam param) {
|
|
|
+ Long id = param.getId();
|
|
|
+
|
|
|
+ if (id != null) {
|
|
|
+ PayBox payBox = super.getById(id);
|
|
|
+ if (payBox == null) {
|
|
|
+ throw new BaseException("参数错误, 支付盒子信息不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!Objects.equals(payBox.getName(), param.getName())) {
|
|
|
+
|
|
|
+ int count = super.count(new LambdaQueryWrapper<PayBox>().eq(PayBox::getName, param.getName()));
|
|
|
+ if (count > 0) {
|
|
|
+ throw new BaseException("支付盒子名称已经存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ payBox.setName(param.getName());
|
|
|
+ payBox.setPayApplicationId(param.getPayApplicationId());
|
|
|
+ payBox.setPayMerchantId(StringUtils.join(param.getPayMerchantIds(), ","));
|
|
|
+ payBox.setType(param.getType());
|
|
|
+ payBox.setRemark(param.getRemark());
|
|
|
+ payBox.setUpdateTime(LocalDateTime.now());
|
|
|
+ return super.updateById(payBox);
|
|
|
+ }
|
|
|
+
|
|
|
+ int count = super.count(new LambdaQueryWrapper<PayBox>().eq(PayBox::getName, param.getName()));
|
|
|
+ if (count > 0) {
|
|
|
+ throw new BaseException("支付盒子名称已经存在");
|
|
|
}
|
|
|
-
|
|
|
- List<PayMerchant> payMerchantList = payMerchantService.list();
|
|
|
- Map<String, PayMerchant> payMerchantData = payMerchantList.stream().collect(Collectors.toMap(PayMerchant::getMerchantNo, PayMerchant -> PayMerchant));
|
|
|
-
|
|
|
- payBoxList.getRecords().stream().filter(t -> StringUtils.isNotEmpty(t.getPayMerchantId())).forEach(t -> {
|
|
|
- t.setPayMerchantDetail(getMerchantDetail(payMerchantData, t.getPayMerchantId()));
|
|
|
- });
|
|
|
- return payBoxList;
|
|
|
+
|
|
|
+ return super.save(PayBox.builder()
|
|
|
+ .name(param.getName())
|
|
|
+ .payApplicationId(param.getPayApplicationId())
|
|
|
+ .payMerchantId(StringUtils.join(param.getPayMerchantIds(), ","))
|
|
|
+ .type(param.getType())
|
|
|
+ .remark(param.getRemark())
|
|
|
+ .status(StatusEnum.YES.getCode())
|
|
|
+ .isDelete(DeleteEnum.NO.getCode())
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
+ .updateTime(LocalDateTime.now())
|
|
|
+ .build());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
* 通过商户号id获取商户号简介
|