package com.yeshi.fanli.service.impl.msg;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
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.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) throws ConfigException {
|
Config value = configService.getConfig(KEY_ZHUSHOU);
|
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) throws ConfigException {
|
Config value = configService.getConfig(KEY_GUANXUAN);
|
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() {
|
Config value = configService.getConfig(KEY_ZHUSHOU);
|
if (value == null)
|
return null;
|
return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
|
}
|
|
@Override
|
public MsgCommonDTO getGuanXuanMsg() {
|
Config value = configService.getConfig(KEY_GUANXUAN);
|
if (value == null)
|
return null;
|
return new Gson().fromJson(value.getValue(), MsgCommonDTO.class);
|
}
|
|
}
|