|
@@ -6,13 +6,14 @@ 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.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.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.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.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.PayDeviceChoiceVO;
|
|
|
|
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.IPayDeviceService;
|
|
@@ -28,6 +29,7 @@ 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;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
@@ -135,12 +137,6 @@ public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMe
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<PayMerchantListVO> pageList(PayMerchantListParam param) {
|
|
public IPage<PayMerchantListVO> pageList(PayMerchantListParam param) {
|
|
- //米大师商户与微信商户同类型
|
|
|
|
- if (Objects.equals(param.getPayWayId(), PayWayEnum.MI_PAY.getPayWayId())) {
|
|
|
|
- param.setPayWayId(PayWayEnum.WX_PAY.getPayWayId());
|
|
|
|
- }
|
|
|
|
- //支付方式
|
|
|
|
- Map<Long, PayDeviceChoiceVO> payDeviceMap = payDeviceService.payDeviceChoiceMap();
|
|
|
|
//查询
|
|
//查询
|
|
return page(param.toPage(), new LambdaQueryWrapper<PayMerchant>()
|
|
return page(param.toPage(), new LambdaQueryWrapper<PayMerchant>()
|
|
.eq(param.getMerchantNo() != null, PayMerchant::getMerchantNo, param.getMerchantNo())
|
|
.eq(param.getMerchantNo() != null, PayMerchant::getMerchantNo, param.getMerchantNo())
|
|
@@ -148,29 +144,29 @@ public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMe
|
|
.eq(param.getStatus() != null, PayMerchant::getStatus, param.getStatus())
|
|
.eq(param.getStatus() != null, PayMerchant::getStatus, param.getStatus())
|
|
.like(Strings.isNotBlank(param.getMerchantName()), PayMerchant::getMerchantName, param.getMerchantName())
|
|
.like(Strings.isNotBlank(param.getMerchantName()), PayMerchant::getMerchantName, param.getMerchantName())
|
|
.orderByDesc(PayMerchant::getCreateTime))
|
|
.orderByDesc(PayMerchant::getCreateTime))
|
|
- .convert(payMerchant -> this.toVo(payMerchant, payDeviceMap));
|
|
|
|
|
|
+ .convert(this::toVo);
|
|
}
|
|
}
|
|
|
|
|
|
- private PayMerchantListVO toVo(PayMerchant payMerchant, Map<Long, PayDeviceChoiceVO> payDeviceMap) {
|
|
|
|
|
|
+ private PayMerchantListVO toVo(PayMerchant payMerchant) {
|
|
PayMerchantListVO payMerchantListVO = BeanUtil.copy(payMerchant, PayMerchantListVO.class);
|
|
PayMerchantListVO payMerchantListVO = BeanUtil.copy(payMerchant, PayMerchantListVO.class);
|
|
if (payMerchantListVO == null) {
|
|
if (payMerchantListVO == null) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
- List<Long> payDeviceIdList = new ArrayList<>();
|
|
|
|
- List<String> payDeviceNameList = new ArrayList<>();
|
|
|
|
- String payDeviceIds = payMerchant.getPayDeviceIds();
|
|
|
|
- if (Strings.isNotBlank(payDeviceIds)) {
|
|
|
|
- String[] deviceIdArray = payDeviceIds.split(",");
|
|
|
|
- for (String deviceId : deviceIdArray) {
|
|
|
|
- PayDeviceChoiceVO payDeviceChoiceVO = payDeviceMap.get(Long.valueOf(deviceId));
|
|
|
|
- if (payDeviceChoiceVO != null) {
|
|
|
|
- payDeviceIdList.add(payDeviceChoiceVO.getId());
|
|
|
|
- payDeviceNameList.add(payDeviceChoiceVO.getPayDeviceName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //判断月更新日期是否为本月
|
|
|
|
+ if (!DateUtils.isThisMonth(payMerchant.getMouthUpdateDate())) {
|
|
|
|
+ //月已用额度归零
|
|
|
|
+ payMerchantListVO.setMouthPayAmount(BigDecimal.ZERO);
|
|
|
|
+ }
|
|
|
|
+ //判断日更新日期是否为今天
|
|
|
|
+ if (!DateUtils.isToday(payMerchant.getDayUpdateDate())) {
|
|
|
|
+ //日已用额度归零
|
|
|
|
+ payMerchantListVO.setDayPayAmount(BigDecimal.ZERO);
|
|
|
|
+ }
|
|
|
|
+ //判断周更新日期是否为本周
|
|
|
|
+ if (!DateUtils.isThisWeek(payMerchant.getMouthUpdateDate())) {
|
|
|
|
+ //周已用额度归零
|
|
|
|
+ payMerchantListVO.setWeakerPayAmount(BigDecimal.ZERO);
|
|
}
|
|
}
|
|
- payMerchantListVO.setPayDeviceIdList(payDeviceIdList);
|
|
|
|
- payMerchantListVO.setPayDeviceNameList(payDeviceNameList);
|
|
|
|
//密钥
|
|
//密钥
|
|
if (Strings.isNotBlank(payMerchant.getPayConfig())) {
|
|
if (Strings.isNotBlank(payMerchant.getPayConfig())) {
|
|
Map<String, String> payConfigMap = JsonUtil.toMap(payMerchant.getPayConfig(), Map.class, String.class);
|
|
Map<String, String> payConfigMap = JsonUtil.toMap(payMerchant.getPayConfig(), Map.class, String.class);
|
|
@@ -181,6 +177,21 @@ public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMe
|
|
payMerchantListVO.setSecretKey(payConfigMap.get("apiKey"));
|
|
payMerchantListVO.setSecretKey(payConfigMap.get("apiKey"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //支付方式
|
|
|
|
+ String payDeviceIds = payMerchant.getPayDeviceIds();
|
|
|
|
+ if (Strings.isBlank(payDeviceIds)) {
|
|
|
|
+ return payMerchantListVO;
|
|
|
|
+ }
|
|
|
|
+ payMerchantListVO.setPayDeviceIdList(new ArrayList<>());
|
|
|
|
+ payMerchantListVO.setPayDeviceNameList(new ArrayList<>());
|
|
|
|
+ String[] deviceIdArray = payDeviceIds.split(",");
|
|
|
|
+ for (String deviceId : deviceIdArray) {
|
|
|
|
+ PayDeviceEnum payDeviceEnum = PayDeviceEnum.getPayDeviceEnum(Long.valueOf(deviceId));
|
|
|
|
+ if (payDeviceEnum != null) {
|
|
|
|
+ payMerchantListVO.getPayDeviceIdList().add(payDeviceEnum.getPayDeviceId());
|
|
|
|
+ payMerchantListVO.getPayDeviceNameList().add(payDeviceEnum.getPayDeviceName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return payMerchantListVO;
|
|
return payMerchantListVO;
|
|
}
|
|
}
|
|
|
|
|