admin
2019-03-04 cdaacd7f7ba10c00696e14de498085af59caa402
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SystemClientParamsServiceImpl.java
@@ -7,6 +7,7 @@
import javax.annotation.Resource;
import org.apache.commons.beanutils.PropertyUtils;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
@@ -25,7 +26,9 @@
import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.config.SystemService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class SystemClientParamsServiceImpl implements SystemClientParamsService {
@@ -40,9 +43,19 @@
   private SystemHelpListDao systemHelpListDao;
   
   @Resource
   private SystemService systemService;
   @Resource
   private SystemSecondProblemDao systemSecondProblemDao;
   @Cacheable(value = "clientParamCache", key = "#id")
   public List<SystemClientParams> getSystemClientParamsBySystemId(long id) {
      return systemClientParamsDao.list("from SystemClientParams scp where scp.system.id=?",
            new Serializable[] { id });
   }
   @Cacheable(value = "clientParamCache", key = "#id+'-'+#version")
   public List<SystemClientParams> getSystemClientParamsBySystemId(long id,int version) {
      return systemClientParamsDao.list("from SystemClientParams scp where scp.system.id=?",
            new Serializable[] { id });
@@ -74,6 +87,7 @@
            list = systemClientParamsDao.list(hqlb.toString());
         }
      }
      SystemClientParamsAdmin scpa = null;
      for (SystemClientParams scp : list) {
         scpa = new SystemClientParamsAdmin(scp);
@@ -287,6 +301,109 @@
      return systemClientParamsMapper.contactCustomerService(title);
   }
   @Override
   public List<SystemClientParams> listQuery(int start, int count, String key, Long systemId) {
      List<SystemClientParams> list = null;
      if (systemId == null) {
         if (StringUtil.isNullOrEmpty(key)) {
            list = systemClientParamsDao.list("from SystemClientParams scp", start, count, null);
         } else {
            list = systemClientParamsDao.list("from SystemClientParams scp where (scp.name like ? or scp.key like ?) ",
                  start, count, new Serializable[] { "%" + key + "%" ,"%" + key + "%"});
         }
      } else {
         if (StringUtil.isNullOrEmpty(key)) {
            list = systemClientParamsDao.list("from SystemClientParams scp where scp.system.id = ? ",
                  start, count, new Serializable[] {systemId});
         } else {
            list = systemClientParamsDao.list(
                  "from SystemClientParams scp where scp.system.id = ? and (scp.name like ? or scp.key like ?)",
                  start, count, new Serializable[] {systemId, "%" + key + "%" ,"%" + key + "%"});
         }
      }
      return list;
   }
   @Override
   public long countQuery(String key, Long systemId) {
      if (systemId == null) {
         if (StringUtil.isNullOrEmpty(key)) {
            return systemClientParamsDao.getCount(" select count(id) from SystemClientParams scp");
         } else {
            return systemClientParamsDao.getCount(" select count(id) from SystemClientParams scp where (scp.name like ? or scp.key like ?) ",
                  new Serializable[] { "%" + key + "%" ,"%" + key + "%"});
         }
      } else {
         if (StringUtil.isNullOrEmpty(key)) {
            return systemClientParamsDao.getCount(" select count(id) from SystemClientParams scp where scp.system.id = ? ",
                   new Serializable[] {systemId});
         } else {
            return systemClientParamsDao.getCount(
                  " select count(id) from SystemClientParams scp where scp.system.id = ? and (scp.name like ? or scp.key like ?)",
                  new Serializable[] {systemId, "%" + key + "%" ,"%" + key + "%"});
         }
      }
   }
   @Transactional
   @Override
   public void saveAdd(SystemClientParams scp, List<Long> listId) throws Exception {
      if (listId == null || listId.size() == 0) {
         return;
      }
      SystemClientParams nscp = null;
      for (Long systemId : listId) {
         System system  = new System(systemId);
         nscp = new SystemClientParams();
         nscp.setKey(scp.getKey());
         nscp.setName(scp.getName());
         nscp.setValue(scp.getValue());
         nscp.setSystem(system);
         nscp.setUpdatetime(java.lang.System.currentTimeMillis());
         systemClientParamsDao.create(nscp);
      }
   }
   @Override
   public void update(SystemClientParams systemClientParams) {
      systemClientParamsDao.update(systemClientParams);
   }
   @Override
   public List<SystemClientParams> getById(long id) {
      return systemClientParamsDao.list("from SystemClientParams scp where scp.id=?",
            new Serializable[] { id });
   }
   @Transactional
   @Override
   public void deleteBatchByPrimaryKey(List<Long> ids) {
      for (Long id: ids) {
         systemClientParamsDao.excute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException {
               Query query = session.createQuery("delete from SystemClientParams scp where scp.id= ?");
               query.setParameter(0, id);
               return query.executeUpdate();
            }
         });
      }
   }
}