| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- package jnpf.base.service.impl;
- import cn.hutool.core.collection.CollectionUtil;
- import com.baomidou.dynamic.datasource.annotation.DSTransactional;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import jnpf.base.entity.EmailConfigEntity;
- import jnpf.base.entity.SysConfigEntity;
- import jnpf.base.mapper.SysconfigMapper;
- import jnpf.base.model.MailAccount;
- import jnpf.base.service.SuperServiceImpl;
- import jnpf.base.service.SysconfigService;
- import jnpf.base.util.Pop3Util;
- import jnpf.base.util.SmtpUtil;
- import jnpf.model.BaseSystemInfo;
- import jnpf.model.SocialsSysConfig;
- import jnpf.util.CacheKeyUtil;
- import jnpf.util.JsonUtil;
- import jnpf.util.RedisUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * 系统配置
- *
- * @author JNPF开发平台组
- * @version V3.1.0
- * @copyright 引迈信息技术有限公司
- * @date 2019年9月27日 上午9:18
- */
- @Service
- public class SysconfigServiceImpl extends SuperServiceImpl<SysconfigMapper, SysConfigEntity> implements SysconfigService {
- @Autowired
- private RedisUtil redisUtil;
- @Autowired
- private CacheKeyUtil cacheKeyUtil;
- @Autowired
- private Pop3Util pop3Util;
- @Override
- public List<SysConfigEntity> getList(String type) {
- List<SysConfigEntity> list = new ArrayList<>();
- if ("WeChat".equals(type)) {
- QueryWrapper<SysConfigEntity> queryWrapper = new QueryWrapper<>();
- list = this.list(queryWrapper).stream().filter(t -> "QYHConfig".equals(t.getCategory()) || "MPConfig".equals(t.getCategory())).collect(Collectors.toList());
- }
- if ("SysConfig".equals(type)) {
- QueryWrapper<SysConfigEntity> queryWrapper = new QueryWrapper<>();
- list = this.list(queryWrapper).stream().filter(t -> !"QYHConfig".equals(t.getCategory()) && !"MPConfig".equals(t.getCategory())).collect(Collectors.toList());
- }
- return list;
- }
- @Override
- public BaseSystemInfo getWeChatInfo() {
- Map<String, String> objModel = new HashMap<>(16);
- List<SysConfigEntity> list = this.getList("WeChat");
- for (SysConfigEntity entity : list) {
- objModel.put(entity.getFkey(), entity.getValue());
- }
- BaseSystemInfo baseSystemInfo = JsonUtil.getJsonToBean(objModel, BaseSystemInfo.class);
- return baseSystemInfo;
- }
- @Override
- public BaseSystemInfo getSysInfo() {
- String cacheKey = cacheKeyUtil.getSystemInfo();
- if (redisUtil.exists(cacheKey)) {
- String json = String.valueOf(redisUtil.getString(cacheKey));
- return JsonUtil.getJsonToBean(json, BaseSystemInfo.class);
- }
- Map<String, String> objModel = new HashMap<>(16);
- List<SysConfigEntity> list = this.getList("SysConfig");
- for (SysConfigEntity entity : list) {
- objModel.put(entity.getFkey(), entity.getValue());
- }
- BaseSystemInfo baseSystemInfo = JsonUtil.getJsonToBean(objModel, BaseSystemInfo.class);
- redisUtil.insert(cacheKey, JsonUtil.getObjectToString(baseSystemInfo));
- return baseSystemInfo;
- }
- @Override
- @DSTransactional
- public void save(List<SysConfigEntity> entitys) {
- String cacheKey = cacheKeyUtil.getSystemInfo();
- redisUtil.remove(cacheKey);
- this.baseMapper.deleteFig();
- for (SysConfigEntity entity : entitys) {
- entity.setCategory("SysConfig");
- this.baseMapper.insert(entity);
- }
- }
- @Override
- @DSTransactional
- public boolean saveMp(List<SysConfigEntity> entitys) {
- String cacheKey = cacheKeyUtil.getWechatConfig();
- int flag = 0;
- redisUtil.remove(cacheKey);
- this.baseMapper.deleteMpFig();
- for (SysConfigEntity entity : entitys) {
- entity.setCategory("MPConfig");
- if (this.baseMapper.insert(entity) > 0) {
- flag++;
- }
- }
- if (entitys.size() == flag) {
- return true;
- }
- return false;
- }
- @Override
- @DSTransactional
- public void saveQyh(List<SysConfigEntity> entitys) {
- String cacheKey = cacheKeyUtil.getWechatConfig();
- redisUtil.remove(cacheKey);
- this.baseMapper.deleteQyhFig();
- for (SysConfigEntity entity : entitys) {
- entity.setCategory("QYHConfig");
- this.baseMapper.insert(entity);
- }
- }
- @Override
- public String checkLogin(EmailConfigEntity configEntity) {
- MailAccount mailAccount = new MailAccount();
- mailAccount.setAccount(configEntity.getAccount());
- mailAccount.setPassword(configEntity.getPassword());
- mailAccount.setPop3Host(configEntity.getPop3Host());
- mailAccount.setPop3Port(configEntity.getPop3Port());
- mailAccount.setSmtpHost(configEntity.getSmtpHost());
- mailAccount.setSmtpPort(configEntity.getSmtpPort());
- if ("1".equals(String.valueOf(configEntity.getEmailSsl()))) {
- mailAccount.setSsl(true);
- } else {
- mailAccount.setSsl(false);
- }
- if (mailAccount.getSmtpHost() != null) {
- return SmtpUtil.checkConnected(mailAccount);
- }
- if (mailAccount.getPop3Host() != null) {
- return pop3Util.checkConnected(mailAccount);
- }
- return "false";
- }
- @Override
- public String getValueByKey(String keyStr) {
- QueryWrapper<SysConfigEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(SysConfigEntity::getFkey, keyStr);
- List<SysConfigEntity> list = list(queryWrapper);
- if (CollectionUtil.isNotEmpty(list)) {
- return list.get(0).getValue();
- }
- return null;
- }
- @Override
- public SocialsSysConfig getSocialsConfig() {
- String cacheKey = cacheKeyUtil.getSocialsConfig();
- if (redisUtil.exists(cacheKey)) {
- String json = String.valueOf(redisUtil.getString(cacheKey));
- return JsonUtil.getJsonToBean(json, SocialsSysConfig.class);
- }
- Map<String, String> objModel = new HashMap<>();
- QueryWrapper<SysConfigEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(SysConfigEntity::getCategory, "SocialsConfig");
- List<SysConfigEntity> configList = this.list(queryWrapper);
- for (SysConfigEntity entity : configList) {
- objModel.put(entity.getFkey(), entity.getValue());
- }
- SocialsSysConfig config = JsonUtil.getJsonToBean(objModel, SocialsSysConfig.class);
- redisUtil.insert(cacheKey, JsonUtil.getObjectToString(config));
- return config;
- }
- @Override
- public void saveSocials(List<SysConfigEntity> entitys) {
- String cacheKey = cacheKeyUtil.getSocialsConfig();
- redisUtil.remove(cacheKey);
- QueryWrapper<SysConfigEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(SysConfigEntity::getCategory, "SocialsConfig");
- this.remove(queryWrapper);
- for (SysConfigEntity entity : entitys) {
- this.baseMapper.insert(entity);
- }
- }
- }
|