package com.xzx.gc.user.service; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.utils.DateUtils; import com.xzx.gc.common.utils.RedisUtil; import com.xzx.gc.entity.RedPaperRule; import com.xzx.gc.user.mapper.AccountMapper; import com.xzx.gc.user.mapper.RedPaperMapper; import com.xzx.gc.user.mapper.RedPaperRuleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; @Service @Transactional public class RedPaperRuleService { @Autowired private RedPaperMapper redPaperMapper; @Autowired private RedisUtil redisUtil; @Autowired private AccountMapper accountMapper; @Autowired private RedPaperRuleMapper redPaperRuleMapper; /** * 红包在规则时间范围内是否有效 * @param ruleId * @return */ public boolean isvalid( Integer ruleId ){ //是否在规则的时间内 RedPaperRule redPaperRule = redPaperRuleMapper.selectByPrimaryKey(ruleId); if(redPaperRule==null||Constants.DEL_FLAG==Convert.toInt(redPaperRule.getDelFlag(),1)||Constants.FAIL.equals(Convert.toStr(redPaperRule.getStatus(),"0"))){ return false; } Date startTime = DateUtil.parse(redPaperRule.getStartTime(),DateUtils.DATE_FORMAT_YMD); Date endTime = DateUtil.parse(redPaperRule.getEndTime(),DateUtils.DATE_FORMAT_YMD); boolean in = DateUtil.isIn(DateUtil.parse(DateUtil.today(),DateUtils.DATE_FORMAT_YMD), startTime, endTime); if(!in){ return false; } return true; } /** * 获取当前时间内符合条件的一条规则 * @return */ public RedPaperRule getOne(String ruleType,String partnerId){ return redPaperRuleMapper.getOne(DateUtil.format(new Date(),DateUtils.DATE_FORMAT_YMD),ruleType,partnerId); } }