admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgConfigServiceImpl.java
@@ -1,157 +1,157 @@
package com.yeshi.fanli.service.impl.msg;
import java.util.Date;
import javax.annotation.Resource;
import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgCommonDTO;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.exception.config.ConfigException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class MsgConfigServiceImpl implements MsgConfigService {
   @Resource
   private ConfigService configService;
   @Resource
   private JumpDetailV2Service jumpDetailV2Service;
   @Override
   public void addZhuShouMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_ZHUSHOU,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getParams()).equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getParams()));
         dto.setIcon("http://img.flqapp.com/resource/msg/icon_zhushou.png");
         dto.setTitle(Constant.systemCommonConfig.getProjectChineseName() + "小助手");
         dto.setUpdateTime(new Date());
         dto.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_ZHUSHOU);
         config.setName("消息-板栗快省小助手");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public void addGuanXuanMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_GUANXUAN,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getParams()).equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getParams()));
         dto.setIcon("http://img.flqapp.com/resource/msg/icon_guanxuan.png");
         dto.setTitle("官宣任务");
         dto.setUpdateTime(new Date());
         dto.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_GUANXUAN);
         config.setName("消息-官宣任务");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public MsgCommonDTO getZhuShouMsg( SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_ZHUSHOU,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
   @Override
   public MsgCommonDTO getGuanXuanMsg( SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_GUANXUAN,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
   @Override
   public void addNotifyMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_NOTIFY,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getPicture() + "#" + dto.getParams())
               .equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         old.setPicture(dto.getPicture());
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getPicture() + "#" + dto.getParams()));
         dto.setUpdateTime(new Date());
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_NOTIFY);
         config.setName("消息-大图通知");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public MsgCommonDTO getNotifyMsg(SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_NOTIFY,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
}
package com.yeshi.fanli.service.impl.msg;
import java.util.Date;
import javax.annotation.Resource;
import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgCommonDTO;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.exception.config.ConfigException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class MsgConfigServiceImpl implements MsgConfigService {
   @Resource
   private ConfigService configService;
   @Resource
   private JumpDetailV2Service jumpDetailV2Service;
   @Override
   public void addZhuShouMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_ZHUSHOU,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getParams()).equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getParams()));
         dto.setIcon("http://img.flqapp.com/resource/msg/icon_zhushou.png");
         dto.setTitle(Constant.systemCommonConfig.getProjectChineseName() + "小助手");
         dto.setUpdateTime(new Date());
         dto.setJumpDetail(jumpDetailV2Service.getByTypeCache("web",systemEnum));
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_ZHUSHOU);
         config.setName("消息-板栗快省小助手");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public void addGuanXuanMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_GUANXUAN,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getParams()).equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getParams()));
         dto.setIcon("http://img.flqapp.com/resource/msg/icon_guanxuan.png");
         dto.setTitle("官宣任务");
         dto.setUpdateTime(new Date());
         dto.setJumpDetail(jumpDetailV2Service.getByTypeCache("web",systemEnum));
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_GUANXUAN);
         config.setName("消息-官宣任务");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public MsgCommonDTO getZhuShouMsg( SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_ZHUSHOU,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
   @Override
   public MsgCommonDTO getGuanXuanMsg( SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_GUANXUAN,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
   @Override
   public void addNotifyMsg(MsgCommonDTO dto, SystemEnum systemEnum) throws ConfigException {
      Config value = configService.getConfig(KEY_NOTIFY,systemEnum);
      if (StringUtil.isNullOrEmpty(dto.getContent()) || StringUtil.isNullOrEmpty(dto.getParams())
            || dto.getShow() == null)
         throw new ConfigException(1, "参数不完整");
      if (value != null) {
         MsgCommonDTO old = new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
         old.setStartTime(dto.getStartTime());
         old.setShow(dto.getShow());
         old.setParams(dto.getParams());
         old.setEndTime(dto.getEndTime());
         old.setContent(dto.getContent());
         if (!StringUtil.Md5(dto.getContent() + "#" + dto.getPicture() + "#" + dto.getParams())
               .equalsIgnoreCase(old.getContentMd5())) {
            old.setUpdateTime(new Date());
         }
         old.setPicture(dto.getPicture());
         Config cf = new Config();
         cf.setId(value.getId());
         cf.setValue(new Gson().toJson(old));
         configService.update(cf);
      } else {
         dto.setContentMd5(StringUtil.Md5(dto.getContent() + "#" + dto.getPicture() + "#" + dto.getParams()));
         dto.setUpdateTime(new Date());
         Config config = new Config();
         config.setCreatetime(System.currentTimeMillis() + "");
         config.setKey(KEY_NOTIFY);
         config.setName("消息-大图通知");
         config.setValue(new Gson().toJson(dto));
         configService.save(config);
      }
   }
   @Override
   public MsgCommonDTO getNotifyMsg(SystemEnum systemEnum) {
      Config value = configService.getConfig(KEY_NOTIFY,systemEnum);
      if (value == null)
         return null;
      return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
   }
}