// Path: xbin-store-cloud-common/src/main/java/cn/binux/utils/JedisClient.java
// public interface JedisClient {
// 
//     String get(String key);
// 
//     String set(String key, String value);
// 
//     String hget(String hkey, String key);
// 
//     long hset(String hkey, String key, String value);
// 
//     long incr(String key);
// 
//     long expire(String key, Integer second);
// 
//     long ttl(String key);
// 
//     long del(String key);
// 
//     long hdel(String hkey, String key);
// 
// 
// }
// 
// Path: xbin-store-cloud-common/src/main/java/cn/binux/utils/impl/JedisClientSingle.java
// public class JedisClientSingle implements JedisClient {
// 
//     @Autowired
//     private JedisPool jedisPool;
// 
//     @Value("${redis.password}")
//     private String password;
// 
//     private Jedis getResource() {
//         Jedis resource = jedisPool.getResource();
//         if (StringUtils.isBlank(password)) {
//             return resource;
//         } else {
//             resource.auth(password);
//             return resource;
//         }
//     }
// 
//     @Override
//     public String get(String key) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.get(key);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public String set(String key, String value) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.set(key, value);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public String hget(String hkey, String key) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.hget(hkey, key);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public long hset(String hkey, String key, String value) {
// 
//         Jedis resource = getResource();
// 
//         Long hset = resource.hset(hkey, key, value);
// 
//         resource.close();
// 
//         return hset;
// 
//     }
// 
//     @Override
//     public long incr(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long incr = resource.incr(key);
// 
//         resource.close();
// 
//         return incr;
// 
//     }
// 
//     @Override
//     public long expire(String key, Integer second) {
// 
//         Jedis resource = getResource();
// 
//         Long expire = resource.expire(key, second);
// 
//         resource.close();
// 
//         return expire;
// 
//     }
// 
//     @Override
//     public long ttl(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long ttl = resource.ttl(key);
// 
//         resource.close();
// 
//         return ttl;
//     }
// 
//     @Override
//     public long del(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long del = resource.del(key);
// 
//         resource.close();
// 
//         return del;
//     }
// 
//     @Override
//     public long hdel(String hkey, String key) {
// 
//         Jedis resource = getResource();
// 
//         Long hdel = resource.hdel(hkey, key);
// 
//         resource.close();
// 
//         return hdel;
//     }
// }


import cn.binux.utils.JedisClient;
import cn.binux.utils.impl.JedisClientSingle;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
package cn.binux;


@EnableHystrix
@Configuration
//@EnableApolloConfig
@SpringBootApplication
@EnableDiscoveryClient
@EnableTransactionManagement
@MapperScan(basePackages = "cn.binux.mapper")
public class XbinStoreServicePortalApplication {

	public static void main(String[] args) {
		SpringApplication.run(XbinStoreServicePortalApplication.class, args);

	}

	@Bean
	public JedisClient jedisClient() {
// Path: xbin-store-cloud-common/src/main/java/cn/binux/utils/JedisClient.java
// public interface JedisClient {
// 
//     String get(String key);
// 
//     String set(String key, String value);
// 
//     String hget(String hkey, String key);
// 
//     long hset(String hkey, String key, String value);
// 
//     long incr(String key);
// 
//     long expire(String key, Integer second);
// 
//     long ttl(String key);
// 
//     long del(String key);
// 
//     long hdel(String hkey, String key);
// 
// 
// }
// 
// Path: xbin-store-cloud-common/src/main/java/cn/binux/utils/impl/JedisClientSingle.java
// public class JedisClientSingle implements JedisClient {
// 
//     @Autowired
//     private JedisPool jedisPool;
// 
//     @Value("${redis.password}")
//     private String password;
// 
//     private Jedis getResource() {
//         Jedis resource = jedisPool.getResource();
//         if (StringUtils.isBlank(password)) {
//             return resource;
//         } else {
//             resource.auth(password);
//             return resource;
//         }
//     }
// 
//     @Override
//     public String get(String key) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.get(key);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public String set(String key, String value) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.set(key, value);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public String hget(String hkey, String key) {
// 
//         Jedis resource = getResource();
// 
//         String string = resource.hget(hkey, key);
// 
//         resource.close();
// 
//         return string;
// 
//     }
// 
//     @Override
//     public long hset(String hkey, String key, String value) {
// 
//         Jedis resource = getResource();
// 
//         Long hset = resource.hset(hkey, key, value);
// 
//         resource.close();
// 
//         return hset;
// 
//     }
// 
//     @Override
//     public long incr(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long incr = resource.incr(key);
// 
//         resource.close();
// 
//         return incr;
// 
//     }
// 
//     @Override
//     public long expire(String key, Integer second) {
// 
//         Jedis resource = getResource();
// 
//         Long expire = resource.expire(key, second);
// 
//         resource.close();
// 
//         return expire;
// 
//     }
// 
//     @Override
//     public long ttl(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long ttl = resource.ttl(key);
// 
//         resource.close();
// 
//         return ttl;
//     }
// 
//     @Override
//     public long del(String key) {
// 
//         Jedis resource = getResource();
// 
//         Long del = resource.del(key);
// 
//         resource.close();
// 
//         return del;
//     }
// 
//     @Override
//     public long hdel(String hkey, String key) {
// 
//         Jedis resource = getResource();
// 
//         Long hdel = resource.hdel(hkey, key);
// 
//         resource.close();
// 
//         return hdel;
//     }
// }


// Path: xbin-store-cloud-service-portal/src/main/java/cn/binux/XbinStoreServicePortalApplication.java
import cn.binux.utils.JedisClient;
import cn.binux.utils.impl.JedisClientSingle;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

package cn.binux;


@EnableHystrix
@Configuration
//@EnableApolloConfig
@SpringBootApplication
@EnableDiscoveryClient
@EnableTransactionManagement
@MapperScan(basePackages = "cn.binux.mapper")
public class XbinStoreServicePortalApplication {

	public static void main(String[] args) {
		SpringApplication.run(XbinStoreServicePortalApplication.class, args);

	}

	@Bean
	public JedisClient jedisClient() {
		return new JedisClientSingle();