|  | @@ -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;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 |