|
@@ -5,27 +5,24 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.zanxiang.erp.security.util.SecurityUtil;
|
|
import com.zanxiang.game.module.base.pojo.enums.DeleteEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.DeleteEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.PayDeviceEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.PayDeviceEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.PayWayEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.PayWayEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.StatusEnum;
|
|
import com.zanxiang.game.module.base.pojo.enums.StatusEnum;
|
|
import com.zanxiang.game.module.base.util.DateUtils;
|
|
import com.zanxiang.game.module.base.util.DateUtils;
|
|
import com.zanxiang.game.module.manage.pojo.dto.PayMerchantDTO;
|
|
import com.zanxiang.game.module.manage.pojo.dto.PayMerchantDTO;
|
|
-import com.zanxiang.game.module.manage.pojo.dto.PayWayDTO;
|
|
|
|
import com.zanxiang.game.module.manage.pojo.params.PayMerchantAddUpdateParam;
|
|
import com.zanxiang.game.module.manage.pojo.params.PayMerchantAddUpdateParam;
|
|
import com.zanxiang.game.module.manage.pojo.params.PayMerchantListParam;
|
|
import com.zanxiang.game.module.manage.pojo.params.PayMerchantListParam;
|
|
import com.zanxiang.game.module.manage.pojo.vo.PayMerchantChoiceVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.PayMerchantChoiceVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.PayMerchantListVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.PayMerchantListVO;
|
|
-import com.zanxiang.game.module.manage.service.IPayDeviceService;
|
|
|
|
import com.zanxiang.game.module.manage.service.IPayMerchantService;
|
|
import com.zanxiang.game.module.manage.service.IPayMerchantService;
|
|
-import com.zanxiang.game.module.manage.service.IPayWayService;
|
|
|
|
import com.zanxiang.game.module.mybatis.entity.PayMerchant;
|
|
import com.zanxiang.game.module.mybatis.entity.PayMerchant;
|
|
import com.zanxiang.game.module.mybatis.mapper.PayMerchantMapper;
|
|
import com.zanxiang.game.module.mybatis.mapper.PayMerchantMapper;
|
|
import com.zanxiang.module.util.JsonUtil;
|
|
import com.zanxiang.module.util.JsonUtil;
|
|
import com.zanxiang.module.util.bean.BeanUtil;
|
|
import com.zanxiang.module.util.bean.BeanUtil;
|
|
import com.zanxiang.module.util.exception.BaseException;
|
|
import com.zanxiang.module.util.exception.BaseException;
|
|
import org.apache.logging.log4j.util.Strings;
|
|
import org.apache.logging.log4j.util.Strings;
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -43,31 +40,23 @@ import java.util.stream.Collectors;
|
|
@Service
|
|
@Service
|
|
public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMerchant> implements IPayMerchantService {
|
|
public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMerchant> implements IPayMerchantService {
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private IPayDeviceService payDeviceService;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- private IPayWayService payWayService;
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public boolean addOrUpdate(PayMerchantAddUpdateParam param) {
|
|
public boolean addOrUpdate(PayMerchantAddUpdateParam param) {
|
|
- Map<Long, PayWayDTO> payWayMap = payWayService.payWayMap();
|
|
|
|
String payDeviceIds = null;
|
|
String payDeviceIds = null;
|
|
if (CollectionUtils.isNotEmpty(param.getPayDeviceIdList())) {
|
|
if (CollectionUtils.isNotEmpty(param.getPayDeviceIdList())) {
|
|
payDeviceIds = param.getPayDeviceIdList().stream()
|
|
payDeviceIds = param.getPayDeviceIdList().stream()
|
|
.map(String::valueOf).collect(Collectors.joining(","));
|
|
.map(String::valueOf).collect(Collectors.joining(","));
|
|
}
|
|
}
|
|
- Long payWayId = param.getPayWayId();
|
|
|
|
String payConfig = null;
|
|
String payConfig = null;
|
|
if (Strings.isNotBlank(param.getSecretKey())) {
|
|
if (Strings.isNotBlank(param.getSecretKey())) {
|
|
Map<String, String> configMap = new HashMap<>(4);
|
|
Map<String, String> configMap = new HashMap<>(4);
|
|
- if (Objects.equals(payWayId.intValue(), PayWayEnum.ALI_PAY.getPayWayId())) {
|
|
|
|
|
|
+ if (Objects.equals(param.getPayWayId().intValue(), PayWayEnum.ALI_PAY.getPayWayId())) {
|
|
configMap.put("protocol", "https");
|
|
configMap.put("protocol", "https");
|
|
configMap.put("gatewayHost", "openapi.alipay.com");
|
|
configMap.put("gatewayHost", "openapi.alipay.com");
|
|
configMap.put("signType", "RSA2");
|
|
configMap.put("signType", "RSA2");
|
|
configMap.put("alipayPublicKey", param.getSecretKey());
|
|
configMap.put("alipayPublicKey", param.getSecretKey());
|
|
}
|
|
}
|
|
- if (Objects.equals(payWayId.intValue(), PayWayEnum.WX_PAY.getPayWayId())) {
|
|
|
|
|
|
+ if (Objects.equals(param.getPayWayId().intValue(), PayWayEnum.WX_PAY.getPayWayId())) {
|
|
configMap.put("mchId", param.getMerchantNo());
|
|
configMap.put("mchId", param.getMerchantNo());
|
|
configMap.put("apiKey", param.getSecretKey());
|
|
configMap.put("apiKey", param.getSecretKey());
|
|
configMap.put("signType", "MD5");
|
|
configMap.put("signType", "MD5");
|
|
@@ -75,55 +64,56 @@ public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMe
|
|
payConfig = JsonUtil.toString(configMap);
|
|
payConfig = JsonUtil.toString(configMap);
|
|
}
|
|
}
|
|
Long id = param.getId();
|
|
Long id = param.getId();
|
|
- PayMerchant payMerchant;
|
|
|
|
if (id == null) {
|
|
if (id == null) {
|
|
- payMerchant = PayMerchant.builder()
|
|
|
|
- .merchantNo(param.getMerchantNo())
|
|
|
|
- .merchantName(param.getMerchantName())
|
|
|
|
- .payWayId(param.getPayWayId())
|
|
|
|
- .payWayName(payWayMap.get(payWayId) == null ? null : payWayMap.get(payWayId).getPayWayName())
|
|
|
|
- .account(param.getAccount())
|
|
|
|
- .password(param.getPassword())
|
|
|
|
- .manager(param.getManager())
|
|
|
|
- .mobile(param.getMobile())
|
|
|
|
- .email(param.getEmail())
|
|
|
|
- .payConfig(payConfig)
|
|
|
|
- .maxPayLock(StatusEnum.YES.getCode())
|
|
|
|
- .remark(param.getRemark())
|
|
|
|
- .status(StatusEnum.YES.getCode())
|
|
|
|
- .isDelete(DeleteEnum.NO.getCode())
|
|
|
|
- .createTime(LocalDateTime.now())
|
|
|
|
- .updateTime(LocalDateTime.now())
|
|
|
|
- .payDeviceIds(payDeviceIds)
|
|
|
|
- .build();
|
|
|
|
- } else {
|
|
|
|
- payMerchant = super.getById(id);
|
|
|
|
- if (payMerchant == null) {
|
|
|
|
- throw new BaseException("参数错误, 商户信息不存在");
|
|
|
|
- }
|
|
|
|
- //商户号更新, 判断是否已经存在商户号
|
|
|
|
- if (!Objects.equals(payMerchant.getMerchantNo(), param.getMerchantNo())) {
|
|
|
|
- int count = super.count(new LambdaQueryWrapper<PayMerchant>()
|
|
|
|
- .eq(PayMerchant::getMerchantNo, param.getMerchantNo()));
|
|
|
|
- if (count > 0) {
|
|
|
|
- throw new BaseException("参数错误, 商户号已经存在, 不可更新为该商户号");
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- payMerchant.setMerchantNo(param.getMerchantNo());
|
|
|
|
- payMerchant.setMerchantName(param.getMerchantName());
|
|
|
|
- payMerchant.setPayWayId(param.getPayWayId());
|
|
|
|
- payMerchant.setPayWayName(payWayMap.get(payWayId) == null ? null : payWayMap.get(payWayId).getPayWayName());
|
|
|
|
- payMerchant.setAccount(param.getAccount());
|
|
|
|
- payMerchant.setPassword(param.getPassword());
|
|
|
|
- payMerchant.setManager(param.getManager());
|
|
|
|
- payMerchant.setMobile(param.getMobile());
|
|
|
|
- payMerchant.setEmail(param.getEmail());
|
|
|
|
- payMerchant.setPayConfig(payConfig);
|
|
|
|
- payMerchant.setRemark(param.getRemark());
|
|
|
|
- payMerchant.setUpdateTime(LocalDateTime.now());
|
|
|
|
- payMerchant.setPayDeviceIds(payDeviceIds);
|
|
|
|
|
|
+ return super.save(this.transform(param, payConfig, payDeviceIds));
|
|
|
|
+ }
|
|
|
|
+ PayMerchant payMerchant = super.getById(id);
|
|
|
|
+ if (payMerchant == null) {
|
|
|
|
+ throw new BaseException("参数错误, 商户信息不存在");
|
|
|
|
+ }
|
|
|
|
+ //商户号更新, 判断是否已经存在商户号
|
|
|
|
+ if (!Objects.equals(payMerchant.getMerchantNo(), param.getMerchantNo())
|
|
|
|
+ && super.count(new LambdaQueryWrapper<PayMerchant>()
|
|
|
|
+ .eq(PayMerchant::getMerchantNo, param.getMerchantNo())) > 0) {
|
|
|
|
+ throw new BaseException("参数错误, 商户号已经存在, 不可更新为该商户号");
|
|
}
|
|
}
|
|
- return super.saveOrUpdate(payMerchant);
|
|
|
|
|
|
+ payMerchant.setMerchantNo(param.getMerchantNo());
|
|
|
|
+ payMerchant.setMerchantName(param.getMerchantName());
|
|
|
|
+ payMerchant.setPayWayId(param.getPayWayId());
|
|
|
|
+ payMerchant.setAccount(param.getAccount());
|
|
|
|
+ payMerchant.setPassword(param.getPassword());
|
|
|
|
+ payMerchant.setManager(param.getManager());
|
|
|
|
+ payMerchant.setMobile(param.getMobile());
|
|
|
|
+ payMerchant.setEmail(param.getEmail());
|
|
|
|
+ payMerchant.setPayConfig(payConfig);
|
|
|
|
+ payMerchant.setRemark(param.getRemark());
|
|
|
|
+ payMerchant.setPayDeviceIds(payDeviceIds);
|
|
|
|
+ payMerchant.setUpdateById(SecurityUtil.getUserId());
|
|
|
|
+ payMerchant.setUpdateTime(LocalDateTime.now());
|
|
|
|
+ return super.updateById(payMerchant);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private PayMerchant transform(PayMerchantAddUpdateParam param, String payConfig, String payDeviceIds) {
|
|
|
|
+ return PayMerchant.builder()
|
|
|
|
+ .merchantNo(param.getMerchantNo())
|
|
|
|
+ .merchantName(param.getMerchantName())
|
|
|
|
+ .payWayId(param.getPayWayId())
|
|
|
|
+ .account(param.getAccount())
|
|
|
|
+ .password(param.getPassword())
|
|
|
|
+ .manager(param.getManager())
|
|
|
|
+ .mobile(param.getMobile())
|
|
|
|
+ .email(param.getEmail())
|
|
|
|
+ .payConfig(payConfig)
|
|
|
|
+ .maxPayLock(StatusEnum.YES.getCode())
|
|
|
|
+ .remark(param.getRemark())
|
|
|
|
+ .status(StatusEnum.YES.getCode())
|
|
|
|
+ .isDelete(DeleteEnum.NO.getCode())
|
|
|
|
+ .createById(SecurityUtil.getUserId())
|
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
|
+ .updateById(SecurityUtil.getUserId())
|
|
|
|
+ .updateTime(LocalDateTime.now())
|
|
|
|
+ .payDeviceIds(payDeviceIds)
|
|
|
|
+ .build();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|