Parcourir la source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

liujiankang il y a 6 ans
Parent
commit
a9f527872e

+ 193 - 0
watero-common-tool/src/main/java/com/iamberry/redis/RedisUtils.java

@@ -0,0 +1,193 @@
+package com.iamberry.redis;
+
+import com.alibaba.fastjson.JSONObject;
+import com.iamberry.wechat.tools.NameUtils;
+import org.apache.log4j.Logger;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
+
+import java.util.List;
+
+/**
+ * redis工具类
+ * @author root
+ */
+public class RedisUtils {
+
+    /**ip*/
+    private static final String IP = NameUtils.getConfig("redis_host");
+    /**端口*/
+    private static final int PORT = Integer.parseInt(NameUtils.getConfig("redis_port"));
+    /**密码(原始默认是没有密码)*/
+    private static final String AUTH = NameUtils.getConfig("redis_auth");
+    /**最大连接数*/
+    private static int   MAX_ACTIVE = Integer.parseInt(NameUtils.getConfig("redis_max_active"));
+    /**设置最大空闲数*/
+    private static int   MAX_IDLE = Integer.parseInt(NameUtils.getConfig("redis_max_idle"));
+    /**最大连接时间*/
+    private static int   MAX_WAIT = Integer.parseInt(NameUtils.getConfig("redis_max_wait"));
+    /**超时时间*/
+    private static int   TIMEOUT = Integer.parseInt(NameUtils.getConfig("redis_timeout"));
+
+    private static JedisPool pool = null;
+
+    private static Logger logger = Logger.getLogger(RedisUtils.class);
+
+    static {
+        /*
+         * 初始化线程池(只在类进行初始化的时候进行一次)
+         */
+        JedisPoolConfig config = new JedisPoolConfig();
+        config.setMaxTotal(MAX_ACTIVE);
+        config.setMaxIdle(MAX_IDLE);
+        config.setMaxWaitMillis(MAX_WAIT);
+        config.setTestOnBorrow(false);
+        config.setTestOnReturn(true);
+        config.setTestWhileIdle(true);
+        pool = new JedisPool(config, IP, PORT, TIMEOUT);
+    }
+
+    /**
+     * 获取连接
+     */
+    private static synchronized Jedis getJedis() {
+        try {
+            if(pool != null) {
+                Jedis jedis = pool.getResource();
+                jedis.auth(AUTH);
+                return jedis;
+            } else {
+                throw new RuntimeException("获取失败Redis实例失败,请重试");
+            }
+        } catch (Exception e) {
+            logger.error("", e);
+            throw e;
+        }
+    }
+
+    /**
+     * 插入对象
+     * @param key
+     * @param obj
+     * @return
+     */
+    public static boolean put(String key, Object obj) {
+        Jedis jedis = null;
+        try {
+            String value = JSONObject.toJSONString(obj);
+            jedis = getJedis();
+            return "ok".equalsIgnoreCase(jedis.set(key, value));
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return false;
+    }
+
+    /**
+     * 插入对象
+     * @param key
+     * @param value
+     * @return
+     */
+    public static boolean put(String key, String value) {
+        Jedis jedis = null;
+        try {
+            jedis = getJedis();
+            return "ok".equalsIgnoreCase(jedis.set(key, value));
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return false;
+    }
+
+    /**
+     * 获取单个对象
+     * @param key
+     * @param clazz
+     * @return
+     */
+    public static <T> T get(String key, Class<T> clazz) {
+        Jedis jedis = null;
+        try {
+            jedis = getJedis();
+            String result = jedis.get(key);
+            return JSONObject.parseObject(result, clazz);
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return null;
+    }
+
+    /**
+     * 获取单个String对象
+     * @param key
+     * @return
+     */
+    public static String get(String key) {
+        Jedis jedis = null;
+        try {
+            jedis = getJedis();
+            return jedis.get(key);
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return null;
+    }
+
+    /**
+     * 获取list集合
+     * @param key
+     * @param clazz
+     * @return
+     */
+    public static <T> List<T> list(String key, Class<T> clazz) {
+        Jedis jedis = null;
+        try {
+            jedis = getJedis();
+            String result = jedis.get(key);
+            return JSONObject.parseArray(result, clazz);
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return null;
+    }
+
+    /**
+     * 删除key
+     * @param key
+     * @return
+     */
+    public static boolean del(String key) {
+        Jedis jedis = null;
+        try {
+            jedis = getJedis();
+            return jedis.del(key) >= 1;
+        } catch (Exception e) {
+            logger.error("", e);
+        } finally {
+            getColse(jedis);
+        }
+        return false;
+    }
+
+    /**
+     * 关闭连接
+     * @param jedis
+     */
+    private static void getColse(Jedis jedis) {
+        if(jedis != null) {
+            jedis.close();
+        }
+    }
+}

watero-rst-core/src/main/java/com.iamberry.rst.core/order/smsSignatureInfo.java → watero-rst-core/src/main/java/com.iamberry.rst.core/order/SmsSignatureInfo.java


+ 51 - 49
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml

@@ -299,58 +299,55 @@
         xx.*
         FROM
         (
-        SELECT
-        tb_rst_cm_proc_method.proc_type_id AS customerIsSolve,
-        tb_rst_cm_relation.relation_id AS relationId,
-        customer_id AS customerId,
-        tb_rst_cm_relation_order.sales_id AS orderId,
-        signclosed_id AS signclosedId,
-        relation_back_status AS relationBackStatus,
-        relation_send_status AS relationSendStatus,
-        relation_send_logistics_no AS relationSendLogisticsNo,
-        relation_send_logistics_company AS relationSendLogisticsCompany,
-        relation_back_logistics_no AS relationBackLogisticsNo,
-        relation_back_logistics_company AS relationBackLogisticsCompany,
-        tb_rst_cm_proc_method.proc_method_id AS procMethodId,
-        tb_rst_cm_proc_method.proc_method_name AS procMethodName,
-        tb_rst_cm_proc_type.proc_type_id AS procTypeId,
-        tb_rst_cm_proc_type.proc_type_name AS procTypeName,
-        tb_rst_cm_proc_method.proc_method_is_back AS procMethodIsBack,
-        tb_rst_cm_proc_method.proc_method_is_send AS procMethodIsSend
-        FROM
-        tb_rst_cm_relation
-        LEFT JOIN tb_rst_cm_proc_method ON tb_rst_cm_proc_method.proc_method_id = tb_rst_cm_relation.proc_method_id
-        LEFT JOIN tb_rst_cm_proc_type ON tb_rst_cm_proc_type.proc_type_id = tb_rst_cm_proc_method.proc_type_id
-        LEFT JOIN tb_rst_cm_relation_order ON tb_rst_cm_relation_order.relation_id = tb_rst_cm_relation.relation_id
+          SELECT
+          tb_rst_cm_proc_method.proc_type_id AS customerIsSolve,
+          tb_rst_cm_relation.relation_id AS relationId,
+          customer_id AS customerId,
+          tb_rst_cm_relation_order.sales_id AS orderId,
+          signclosed_id AS signclosedId,
+          relation_back_status AS relationBackStatus,
+          relation_send_status AS relationSendStatus,
+          relation_send_logistics_no AS relationSendLogisticsNo,
+          relation_send_logistics_company AS relationSendLogisticsCompany,
+          relation_back_logistics_no AS relationBackLogisticsNo,
+          relation_back_logistics_company AS relationBackLogisticsCompany,
+          tb_rst_cm_proc_method.proc_method_id AS procMethodId,
+          tb_rst_cm_proc_method.proc_method_name AS procMethodName,
+          tb_rst_cm_proc_type.proc_type_id AS procTypeId,
+          tb_rst_cm_proc_type.proc_type_name AS procTypeName,
+          tb_rst_cm_proc_method.proc_method_is_back AS procMethodIsBack,
+          tb_rst_cm_proc_method.proc_method_is_send AS procMethodIsSend
+          FROM
+          tb_rst_cm_relation
+          LEFT JOIN tb_rst_cm_proc_method ON tb_rst_cm_proc_method.proc_method_id = tb_rst_cm_relation.proc_method_id
+          LEFT JOIN tb_rst_cm_proc_type ON tb_rst_cm_proc_type.proc_type_id = tb_rst_cm_proc_method.proc_type_id
+          LEFT JOIN tb_rst_cm_relation_order ON tb_rst_cm_relation_order.relation_id = tb_rst_cm_relation.relation_id
         ) xx
     ) cc ON cc.customerId = c.customer_id
     LEFT JOIN (
-    SELECT
-    sxx.*
-    FROM
-    (
-    SELECT ss.* from (
-    select tb_rst_cm_sendback_info.*,tb_rst_cm_relation.customer_id
-    FROM
-    tb_rst_cm_sendback_info
-    LEFT JOIN tb_rst_cm_relation on tb_rst_cm_relation.relation_id = tb_rst_cm_sendback_info.relation_id
-
-    ORDER BY
-    sendback_create_time desc
-    ) ss
-    GROUP BY
-    ss.relation_id
-    ) sxx
+      SELECT
+        sxx.*
+      FROM
+      (
+        SELECT ss.* from (
+          select tb_rst_cm_sendback_info.*,tb_rst_cm_relation.customer_id
+          FROM tb_rst_cm_sendback_info
+          LEFT JOIN tb_rst_cm_relation on tb_rst_cm_relation.relation_id = tb_rst_cm_sendback_info.relation_id
+          ORDER BY sendback_create_time desc
+        ) ss
+          GROUP BY ss.relation_id
+      ) sxx
     ) sx ON sx.customer_id = c.customer_id
-    LEFT JOIN (SELECT ss.* from (
-    select tb_rst_cm_sendback_info.*,tb_rst_cm_relation.customer_id
-    FROM
-    tb_rst_cm_sendback_info
-    LEFT JOIN tb_rst_cm_relation on tb_rst_cm_relation.relation_id = tb_rst_cm_sendback_info.relation_id
-
-    ORDER BY
-    sendback_create_time desc
-    ) ss) sss ON sss.customer_id = c.customer_id
+    LEFT JOIN (
+      SELECT ss.*
+      from (
+        select tb_rst_cm_sendback_info.*,tb_rst_cm_relation.customer_id
+        FROM tb_rst_cm_sendback_info
+        LEFT JOIN tb_rst_cm_relation on tb_rst_cm_relation.relation_id = tb_rst_cm_sendback_info.relation_id
+        ORDER BY
+        sendback_create_time desc
+      ) ss
+    ) sss ON sss.customer_id = c.customer_id
     LEFT JOIN tb_rst_cm_visit v ON v.customer_id = c.customer_id
     LEFT JOIN tb_rst_sales_order_info oi ON cc.orderId = oi.sales_id
     LEFT JOIN tb_rst_cm_question_describe qd ON c.customer_id = qd.customer_id
@@ -362,6 +359,7 @@
     LEFT JOIN tb_rst_product_type t ON c.type_id = t.type_id
     LEFT JOIN tb_rst_sys_admin a ON c.admin_id = a.admin_id
     LEFT JOIN tb_rst_sys_admin sa ON v.designated_admin_id = sa.admin_id
+    LEFT JOIN tb_rst_sales_order_info soi ON soi.sales_customer_id = c.customer_id
     <where>
       <if test="customerName != null and customerName != ''">
         c.customer_name like CONCAT('%',#{customerName},'%')
@@ -411,7 +409,11 @@
         and c.customer_create_time &lt; #{endTime}
       </if>
       <if test="sendLogisticsNo != null and sendLogisticsNo != ''">
-        AND  cc.relationSendLogisticsNo =  #{sendLogisticsNo} OR sss.sendback_logistics_no  =  #{sendLogisticsNo}
+        AND  (
+                cc.relationSendLogisticsNo =  #{sendLogisticsNo} OR
+                sss.sendback_logistics_no  =  #{sendLogisticsNo} OR
+                soi.sales_post_num = #{sendLogisticsNo}
+              )
       </if>
       <if test="storeId != null and storeId != ''">
         AND  c.store_id =  #{storeId}

+ 3 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl

@@ -251,7 +251,9 @@
                                 <#if customer.salesOrderList?? &&  (customer.salesOrderList?size > 0)>
                                     寄出:
                                     <#list customer.salesOrderList as salesOrder>
-                                        <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${salesOrder.salesPostNum!''}&billName=${salesOrder.salesPostFirm!''}',300,400);">${salesOrder.salesPostNum!''}</a>,
+                                        <#if salesOrder.salesPostNum??>
+                                            <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${salesOrder.salesPostNum!''}&billName=${salesOrder.salesPostFirm!''}',300,400);">${salesOrder.salesPostNum!''}</a>,
+                                        </#if>
                                     </#list>
                                 <#else>

+ 9 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/home/pc_index.ftl

@@ -10,11 +10,11 @@
     <link rel="Shortcut Icon" href="/favicon.ico" />
     <#include "/base/index_base.ftl">
     <style>
-        .Hui-aside{top:60px;padding-top: 0;background-color: #292f36;width:158px;}
+        .Hui-aside{top:60px;padding-top: 0;background-color: #292f36;width:138px;}
         .container-fluid{padding: 8px 15px;}
         #Hui-userbar{top:8px;}
         .Hui-article-box{top:59px;}
-        .navbar{background: #fff;}
+        .navbar{background: #292f36;}
         .navbar-slogan{font-size: 14px;}
         .Hui-aside .menu_dropdown dt{border-bottom: 0;}
         .Hui-aside .menu_dropdown dt {color: #fff;  background: #292f36;  }
@@ -25,8 +25,8 @@
         .Hui-aside .menu_dropdown dd ul{background: #292f36;  }
         .Hui-aside .menu_dropdown li a{color: #94a0b5;}
         .Hui-aside .menu_dropdown li.active a{color: #50a2ea;}
-        .acrossTab li{color: #ddd;}
-        .acrossTab li.active{color:#fff;}
+        .acrossTab li{color: #999;}
+        .acrossTab li.active{color:#50a2ea;}
     </style>
     <title>售后实时跟踪系统-RST 1.0</title>
     <script language="JavaScript" type="text/javascript">
@@ -58,10 +58,14 @@
     </div>
 </header>
 <aside class="Hui-aside">
+    <div style="text-align: center;padding:0 0 25px 0;"><a class="logo navbar-logo hidden-xs" href="#"><img src="/common/images/index/admin-login.png" style="height: 50px"></a>
+    </div>
     <div class="menu_dropdown bk_2">
         <#list menus as m>
             <dl>
-                <dt><i class="Hui-iconfont">${m.menuIcon}</i> ${m.menuName}
+                <dt>
+                    <#--<i class="Hui-iconfont">${m.menuIcon}</i>-->
+                    ${m.menuName}
                     <#--<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i>-->
                 </dt>
                 <dd>

BIN
watero-rst-web/src/main/webapp/common/images/index/admin-login.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/select-1.png


+ 5 - 5
watero-rst-web/src/main/webapp/common/static/h-ui.admin/css/H-ui.admin.css

@@ -46,7 +46,7 @@ h4{line-height:30px}
 #Hui-msg .badge{ position:absolute; left:19px; top:4px; font-size:12px; font-weight:normal; padding:1px 5px}
 /*左侧菜单*/
 .Hui-aside .menu_dropdown dl{ margin-bottom:0}
-.Hui-aside .menu_dropdown dt{display:block;line-height:50px;padding-left:15px;cursor:pointer;position:relative;border-bottom: 1px solid #e5e5e5;font-weight:normal}
+.Hui-aside .menu_dropdown dt{display:block;line-height:50px;padding-left:25px;cursor:pointer;position:relative;border-bottom: 1px solid #e5e5e5;font-weight:normal}
 .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ position:absolute;overflow: hidden; top:0; right:15px;transition-duration:0.3s ;transition-property:all}
 .Hui-aside .menu_dropdown dd{ display:none}
 .Hui-aside .menu_dropdown dt.selected .menu_dropdown-arrow{transform: rotate(180deg)}
@@ -55,10 +55,10 @@ h4{line-height:30px}
 .Hui-aside .menu_dropdown li{line-height:35px;overflow:hidden;zoom:1}
 .Hui-aside .menu_dropdown li a{padding-left:15px; display:block;font-weight: bold; margin:0}
 .Hui-aside .menu_dropdown li a i{ font-weight: normal}
-.Hui-aside .menu_dropdown dd ul{padding:3px 8px}
-.Hui-aside .menu_dropdown dd li{line-height:32px;text-indent: 0.5em;position: relative}
-.Hui-aside .menu_dropdown dd li.active:after{ content: '';position: absolute;width: 8px;height: 8px;left: 20px;top: 17px;border-radius: 8px;background: #fff;}
-.Hui-aside .menu_dropdown dd li a{line-height:42px;padding-left:26px; border-bottom:none; font-weight:normal}
+.Hui-aside .menu_dropdown dd ul{padding:3px 5px}
+.Hui-aside .menu_dropdown dd li{line-height:32px;text-indent: 0.5em;position: relative;font-size: 12px;}
+.Hui-aside .menu_dropdown dd li.active:after{ content: '';position: absolute;width: 6px;height: 6px;left: 10px;top: 18px;border-radius: 6px;background: #fff;}
+.Hui-aside .menu_dropdown dd li a{line-height:42px;padding-left:14px; border-bottom:none; font-weight:normal}
 .Hui-aside .menu_dropdown li a:hover{text-decoration:none}
 .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{background-color:#89e4f8;}
 /*菜单收缩切换*/

BIN
watero-rst-web/src/main/webapp/common/static/h-ui.admin/images/acrossTab/acrossTab-2.png


+ 1 - 1
watero-rst-web/src/main/webapp/common/static/h-ui.admin/skin/default/skin.css

@@ -6,7 +6,7 @@ a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c}
 	.navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/
 	.navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none}
 	
-.navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#666}/*顶部导航文字颜色*/
+.navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/
 .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#666}
 
 .Hui-aside{}/*侧边栏*/

BIN
watero-rst-web/src/main/webapp/common/static/h-ui/images/acrossTab/acrossTab-close.png