admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackConfigServiceImpl.java
@@ -1,53 +1,106 @@
package com.yeshi.fanli.service.impl.redpack;
import java.util.Date;
import javax.annotation.Resource;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.redpack.RedPackConfigMapper;
import com.yeshi.fanli.entity.redpack.RedPackConfig;
import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
@Service
public class RedPackConfigServiceImpl implements RedPackConfigService {
   @Resource
   private RedPackConfigMapper redPackConfigMapper;
   @Override
   public RedPackConfig getByKey(String key) {
      return redPackConfigMapper.getByKey(key, new Date());
   }
   @Override
   @Cacheable(value = "redpackCache", key = "'getValueByKey-' + #key")
   public String getValueByKey(String key) {
      RedPackConfig config = redPackConfigMapper.getByKey(key, new Date());
      if (config != null) {
         return config.getValue();
      }
      return null;
   }
   @Override
   public RedPackConfig getByKey(String key, Date date) {
      if (date == null)
         return getByKey(key);
      return redPackConfigMapper.getByKey(key, date);
   }
   @Override
   public String getValueByKey(String key, Date date) {
      if (date == null)
         return getValueByKey(key);
      RedPackConfig config = redPackConfigMapper.getByKey(key, date);
      if (config != null) {
         return config.getValue();
      }
      return null;
   }
}
package com.yeshi.fanli.service.impl.redpack;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.redpack.RedPackConfigMapper;
import com.yeshi.fanli.entity.redpack.RedPackConfig;
import com.yeshi.fanli.exception.redpack.RedPackConfigException;
import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class RedPackConfigServiceImpl implements RedPackConfigService {
   @Resource
   private RedPackConfigMapper redPackConfigMapper;
   @Override
   public RedPackConfig getByKey(String key) {
      return redPackConfigMapper.getByKey(key, new Date());
   }
   @Override
   @Cacheable(value = "redpackCache", key = "'getValueByKey-' + #key")
   public String getValueByKey(String key) {
      RedPackConfig config = redPackConfigMapper.getByKey(key, new Date());
      if (config != null) {
         return config.getValue();
      }
      return null;
   }
   @Override
   public RedPackConfig getByKey(String key, Date date) {
      if (date == null)
         return getByKey(key);
      return redPackConfigMapper.getByKey(key, date);
   }
   @Override
   public String getValueByKey(String key, Date date) {
      if (date == null)
         return getValueByKey(key);
      RedPackConfig config = redPackConfigMapper.getByKey(key, date);
      if (config != null) {
         return config.getValue();
      }
      return null;
   }
   @Override
   public List<RedPackConfig> query(int page, int pageSize, String key) {
      return redPackConfigMapper.query((page - 1) * pageSize, pageSize, key);
   }
   @Override
   public long count(String key) {
      return redPackConfigMapper.count(key);
   }
   @Override
   public void save(RedPackConfig record) throws RedPackConfigException {
      String name = record.getName();
      if (StringUtil.isNullOrEmpty(name))
         throw new RedPackConfigException(1, "名称不能为空");
      if (StringUtil.isNullOrEmpty(record.getValue()))
         throw new RedPackConfigException(1, "值不能为空");
      if (StringUtil.isNullOrEmpty(record.getKey()))
         throw new RedPackConfigException(1, "标识不能为空");
      String remark = record.getRemark();
      if ("null".equalsIgnoreCase(remark)) {
         record.setRemark("");
      }
      record.setUpdateTime(new Date());
      if (record.getId() == null) {
         record.setCreateTime(new Date());
         redPackConfigMapper.insert(record);
      } else {
         RedPackConfig resultObj = redPackConfigMapper.selectByPrimaryKey(record.getId());
         if (resultObj == null)
            throw new RedPackConfigException(1, "修改内容已不存在");
         record.setCreateTime(resultObj.getCreateTime());
         redPackConfigMapper.updateByPrimaryKey(record);
      }
   }
   @Override
   public void delete(List<Long> idsList) {
      if (idsList != null)
         for (Long id : idsList)
            redPackConfigMapper.deleteByPrimaryKey(id);
   }
}