From d1c929bdac6cab4d60bfcd56d41e8d5f2f9e8b5a Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 19 二月 2024 10:04:20 +0800
Subject: [PATCH] 提交新版本

---
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java               |   15 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java     |    9 
 ManagementZYTravel/guns-admin/pom.xml                                                                                                 |    4 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java                                     |  512 ++++++++++++++++----------------
 ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tPubWithdrawal/tPubWithdrawal.js                                  |    4 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java                                 |    6 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.java                             |    2 
 ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tInvoice/tInvoice.js                                              |   16 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java |    1 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java                  |   17 +
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.java                           |   10 
 ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js                              |    4 
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java                                 |  342 ++++++++++----------
 13 files changed, 479 insertions(+), 463 deletions(-)

diff --git a/ManagementZYTravel/guns-admin/pom.xml b/ManagementZYTravel/guns-admin/pom.xml
index e82d651..00da5e7 100644
--- a/ManagementZYTravel/guns-admin/pom.xml
+++ b/ManagementZYTravel/guns-admin/pom.xml
@@ -72,12 +72,12 @@
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi</artifactId>
-            <version>RELEASE</version>
+            <version>5.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-ooxml</artifactId>
-            <version>RELEASE</version>
+            <version>5.0.0</version>
         </dependency>
 
         <!--shiro依赖-->
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
index 0f79c76..fa2540d 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -11,14 +11,13 @@
 import com.stylefeng.guns.core.log.LogObjectHolder;
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.*;
+import com.stylefeng.guns.core.util.DateUtil;
+import com.stylefeng.guns.core.util.WoUtil;
 import com.stylefeng.guns.modular.system.dao.DriverPunishMapper;
 import com.stylefeng.guns.modular.system.dao.DriverTrainMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
-import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
-import com.stylefeng.guns.modular.system.util.PushURL;
-import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.util.*;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -76,6 +75,9 @@
 
     @Resource
     private DriverPunishMapper driverPunishMapper;
+
+    @Autowired
+    private RedisUtil redisUtil;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -806,6 +808,11 @@
                 }).start();
             }else if (2 == optType){  //冻结
                 tDriver.setAuthState(3);
+                redisUtil.remove("DRIVER_" + tDriver.getId());
+                String value1 = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
+                redisUtil.remove(value1);
+                redisUtil.remove("DRIVER_" + tDriver.getPhone());
+
                 new Thread(new Runnable() {
                     @Override
                     public void run() {
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
index 5d53ae6..c09ea6b 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -277,6 +277,7 @@
         driver.setBalance((null != driver.getBalance() ? driver.getBalance() : BigDecimal.ZERO).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN));
         driverService.updateById(driver);
         orderPrivateCar.setIsplatPay(2);
+        orderPrivateCar.setState(8);
         tOrderPrivateCarService.updateAllColumnById(orderPrivateCar);
         return SUCCESS_TIP;
     }
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
index c319ccc..58cf7f8 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -6,6 +6,7 @@
 import com.stylefeng.guns.core.base.tips.ErrorTip;
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.shiro.ShiroKit;
+import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.modular.system.model.TServerCarmodel;
 import com.stylefeng.guns.modular.system.service.ITServerCarmodelService;
@@ -88,7 +89,8 @@
     @RequestMapping("/tSystemPrice_add")
     public String tSystemPriceAdd(Model model) {
         //查询所有专车车型
-        List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).ne("state", 3));
+        List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1)
+                .eq("companyId", ShiroKit.getUser().getObjectId()).ne("state", 3));
         List<TServerCarmodel> modelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
         List<TServerCarmodel> serverCarmodels = new ArrayList<>();
         for(TServerCarmodel tsc : modelList){
@@ -120,7 +122,8 @@
         model.addAttribute("json",json);
 
         //查询所有专车车型
-        List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).ne("state", 3));
+        List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1)
+                .eq("companyId", ShiroKit.getUser().getObjectId()).ne("state", 3));
         List<TServerCarmodel> modelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
         List<TServerCarmodel> serverCarmodels = new ArrayList<>();
         for(TServerCarmodel tsc : modelList){
@@ -135,6 +138,8 @@
                 serverCarmodels.add(tsc);
             }
         }
+        TServerCarmodel tServerCarmodel = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId());
+        serverCarmodels.add(tServerCarmodel);
         model.addAttribute("modelList",serverCarmodels);
 
         return PREFIX + "tSystemPrice_edit.html";
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
index f6bd5cb..bdd0a8e 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.controller.system;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.google.code.kaptcha.Constants;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.exception.InvalidKaptchaException;
@@ -102,11 +103,25 @@
      * 点击登录执行的动作
      */
     @RequestMapping(value = "/login", method = RequestMethod.POST)
-    public String loginVali() {
+    public String loginVali(Model model) {
 
         String username = super.getPara("username").trim();
         String password = super.getPara("password").trim();
         String remember = super.getPara("remember");
+        User user = userService.selectOne(new EntityWrapper<User>().eq("account", username).ne("status", 3));
+        if(null == user){
+            model.addAttribute("tips", "账户无效");
+            return "/login.html";
+        }
+        if(user.getStatus() == 2){
+            model.addAttribute("tips", "账户已被冻结");
+            return "/login.html";
+        }
+        String s = ShiroKit.md5(password, user.getSalt());
+        if(!user.getPassword().equals(s)){
+            model.addAttribute("tips", "账号密码错误");
+            return "/login.html";
+        }
 
         //验证验证码是否正确
         if (KaptchaUtil.getKaptchaOnOff()) {
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
index daf0a94..c800b1e 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
@@ -1,171 +1,171 @@
-package com.stylefeng.guns.modular.system.util;
-
-import org.apache.commons.codec.binary.Hex;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.http.HttpHeaders;
-import org.apache.http.HttpResponse;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.methods.RequestBuilder;
-import org.apache.http.client.utils.URLEncodedUtils;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.apache.http.util.EntityUtils;
-
-import java.nio.charset.Charset;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-//如果JDK版本是1.8,可使用原生Base64类
-
-public class HuaWeiSMSUtil {
-
-    //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
-    private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";
-    //无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
-    private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\"";
-
-    public static void main(String[] args) throws Exception{
-
-//        sendSms("[\""+1235+"\"]","17623778642","10690400999303617","d8f8f781b6e04c848f8148f4d6604bcd");
-//        sendSms("[\"17623778642\",\"蓉A-7823\"]","17623778642","8819122535459","6c848255000c4619833ab690e393f906");
-        sendSms("[\"17623778642\",\"蓉A-7823\",\"2019/12/27\",\"14:00\"]","17623778642","8819122535459","bb13d00d11e043659001a89c72d54cab");
-    }
-
-    public static void sendSms(String code,String phone,String sender,String templateId) throws Exception{
-        //必填,请参考"开发准备"获取如下数据,替换为实际值
-        String url = "https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1"; //APP接入地址+接口访问URI
-        String appKey = "qnay92s7V0K7719H10m7X4yo3fl3"; //APP_Key
-        String appSecret = "6nSHQzZ3o18JeW6UtS448BbblOa0"; //APP_Secret
-//        String sender = "10690400999303617"; //国内短信签名通道号或国际/港澳台短信通道号
-//        String templateId = "d8f8f781b6e04c848f8148f4d6604bcd"; //模板ID
-
-        //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
-        //国际/港澳台短信不用关注该参数
-        String signature = "超级过客"; //签名名称
-
-        //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔
-        String receiver = "+86"+phone; //短信接收人号码
-
-        //选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告
-        String statusCallBack = "";
-
-        /**
-         * 选填,使用无变量模板时请赋空值 String templateParas = "";
-         * 单变量模板示例:模板内容为"您的验证码是${NUM_6}"时,templateParas可填写为"[\"369751\"]"
-         * 双变量模板示例:模板内容为"您有${NUM_2}件快递请到${TXT_20}领取"时,templateParas可填写为"[\"3\",\"人民公园正门\"]"
-         * ${DATE}${TIME}变量不允许取值为空,${TXT_20}变量可以使用英文空格或点号替代空值,${NUM_6}变量可以使用0替代空值
-         * 查看更多模板和变量规范:产品介绍>模板和变量规范
-         */
-//        String templateParas = "[\""+code+"\"]"; //模板变量
-        String templateParas = code; //模板变量
-
-        //请求Body,不携带签名名称时,signature请填null
-        String body = buildRequestBody(sender, receiver, templateId, templateParas, statusCallBack, signature);
-        if (null == body || body.isEmpty()) {
-            System.out.println("body is null.");
-            return;
-        }
-
-        //请求Headers中的X-WSSE参数值
-        String wsseHeader = buildWsseHeader(appKey, appSecret);
-        if (null == wsseHeader || wsseHeader.isEmpty()) {
-            System.out.println("wsse header is null.");
-            return;
-        }
-
-        //如果JDK版本低于1.8,可使用如下代码
-        //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
-        //CloseableHttpClient client = HttpClients.custom()
-        //        .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
-        //            @Override
-        //            public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
-        //                return true;
-        //            }
-        //        }).build()).setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
-
-        //如果JDK版本是1.8,可使用如下代码
-        //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
-        CloseableHttpClient client = HttpClients.custom()
-                .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null,
-                        (x509CertChain, authType) -> true).build())
-                .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
-                .build();
-
-        HttpResponse response = client.execute(RequestBuilder.create("POST")//请求方法POST
-                .setUri(url)
-                .addHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")
-                .addHeader(HttpHeaders.AUTHORIZATION, AUTH_HEADER_VALUE)
-                .addHeader("X-WSSE", wsseHeader)
-                .setEntity(new StringEntity(body)).build());
-
-        System.out.println(response.toString()); //打印响应头域信息
-        System.out.println(EntityUtils.toString(response.getEntity())); //打印响应消息实体
-    }
-
-    /**
-     * 构造请求Body体
-     * @param sender
-     * @param receiver
-     * @param templateId
-     * @param templateParas
-     * @param statusCallbackUrl
-     * @param signature | 签名名称,使用国内短信通用模板时填写
-     * @return
-     */
-    static String buildRequestBody(String sender, String receiver, String templateId, String templateParas,
-                                   String statusCallbackUrl, String signature) {
-        if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty()
-                || templateId.isEmpty()) {
-            System.out.println("buildRequestBody(): sender, receiver or templateId is null.");
-            return null;
-        }
-        List<NameValuePair> keyValues = new ArrayList<NameValuePair>();
-
-        keyValues.add(new BasicNameValuePair("from", sender));
-        keyValues.add(new BasicNameValuePair("to", receiver));
-        keyValues.add(new BasicNameValuePair("templateId", templateId));
-        if (null != templateParas && !templateParas.isEmpty()) {
-            keyValues.add(new BasicNameValuePair("templateParas", templateParas));
-        }
-        if (null != statusCallbackUrl && !statusCallbackUrl.isEmpty()) {
-            keyValues.add(new BasicNameValuePair("statusCallback", statusCallbackUrl));
-        }
-        if (null != signature && !signature.isEmpty()) {
-            keyValues.add(new BasicNameValuePair("signature", signature));
-        }
-
-        return URLEncodedUtils.format(keyValues, Charset.forName("UTF-8"));
-    }
-
-    /**
-     * 构造X-WSSE参数值
-     * @param appKey
-     * @param appSecret
-     * @return
-     */
-    static String buildWsseHeader(String appKey, String appSecret) {
-        if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) {
-            System.out.println("buildWsseHeader(): appKey or appSecret is null.");
-            return null;
-        }
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
-        String time = sdf.format(new Date()); //Created
-        String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce
-
-        byte[] passwordDigest = DigestUtils.sha256(nonce + time + appSecret);
-        String hexDigest = Hex.encodeHexString(passwordDigest);
-
-        //如果JDK版本是1.8,请加载原生Base64类,并使用如下代码
-        String passwordDigestBase64Str = Base64.getEncoder().encodeToString(hexDigest.getBytes()); //PasswordDigest
-        //如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码
-        //String passwordDigestBase64Str = Base64.encodeBase64String(hexDigest.getBytes(Charset.forName("utf-8"))); //PasswordDigest
-        //若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
-        //passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
-
-        return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
-    }
-}
+//package com.stylefeng.guns.modular.system.util;
+//
+//import org.apache.commons.codec.binary.Hex;
+//import org.apache.commons.codec.digest.DigestUtils;
+//import org.apache.http.HttpHeaders;
+//import org.apache.http.HttpResponse;
+//import org.apache.http.NameValuePair;
+//import org.apache.http.client.methods.RequestBuilder;
+//import org.apache.http.client.utils.URLEncodedUtils;
+//import org.apache.http.conn.ssl.NoopHostnameVerifier;
+//import org.apache.http.entity.StringEntity;
+//import org.apache.http.impl.client.CloseableHttpClient;
+//import org.apache.http.impl.client.HttpClients;
+//import org.apache.http.message.BasicNameValuePair;
+//import org.apache.http.ssl.SSLContextBuilder;
+//import org.apache.http.util.EntityUtils;
+//
+//import java.nio.charset.Charset;
+//import java.text.SimpleDateFormat;
+//import java.util.*;
+//
+////如果JDK版本是1.8,可使用原生Base64类
+//
+//public class HuaWeiSMSUtil {
+//
+//    //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
+//    private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";
+//    //无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
+//    private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\"";
+//
+//    public static void main(String[] args) throws Exception{
+//
+////        sendSms("[\""+1235+"\"]","17623778642","10690400999303617","d8f8f781b6e04c848f8148f4d6604bcd");
+////        sendSms("[\"17623778642\",\"蓉A-7823\"]","17623778642","8819122535459","6c848255000c4619833ab690e393f906");
+//        sendSms("[\"17623778642\",\"蓉A-7823\",\"2019/12/27\",\"14:00\"]","17623778642","8819122535459","bb13d00d11e043659001a89c72d54cab");
+//    }
+//
+//    public static void sendSms(String code,String phone,String sender,String templateId) throws Exception{
+//        //必填,请参考"开发准备"获取如下数据,替换为实际值
+//        String url = "https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1"; //APP接入地址+接口访问URI
+//        String appKey = "1"; //APP_Key
+//        String appSecret = "1"; //APP_Secret
+////        String sender = "10690400999303617"; //国内短信签名通道号或国际/港澳台短信通道号
+////        String templateId = "d8f8f781b6e04c848f8148f4d6604bcd"; //模板ID
+//
+//        //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
+//        //国际/港澳台短信不用关注该参数
+//        String signature = "xxx"; //签名名称
+//
+//        //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔
+//        String receiver = "+86"+phone; //短信接收人号码
+//
+//        //选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告
+//        String statusCallBack = "";
+//
+//        /**
+//         * 选填,使用无变量模板时请赋空值 String templateParas = "";
+//         * 单变量模板示例:模板内容为"您的验证码是${NUM_6}"时,templateParas可填写为"[\"369751\"]"
+//         * 双变量模板示例:模板内容为"您有${NUM_2}件快递请到${TXT_20}领取"时,templateParas可填写为"[\"3\",\"人民公园正门\"]"
+//         * ${DATE}${TIME}变量不允许取值为空,${TXT_20}变量可以使用英文空格或点号替代空值,${NUM_6}变量可以使用0替代空值
+//         * 查看更多模板和变量规范:产品介绍>模板和变量规范
+//         */
+////        String templateParas = "[\""+code+"\"]"; //模板变量
+//        String templateParas = code; //模板变量
+//
+//        //请求Body,不携带签名名称时,signature请填null
+//        String body = buildRequestBody(sender, receiver, templateId, templateParas, statusCallBack, signature);
+//        if (null == body || body.isEmpty()) {
+//            System.out.println("body is null.");
+//            return;
+//        }
+//
+//        //请求Headers中的X-WSSE参数值
+//        String wsseHeader = buildWsseHeader(appKey, appSecret);
+//        if (null == wsseHeader || wsseHeader.isEmpty()) {
+//            System.out.println("wsse header is null.");
+//            return;
+//        }
+//
+//        //如果JDK版本低于1.8,可使用如下代码
+//        //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
+//        //CloseableHttpClient client = HttpClients.custom()
+//        //        .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
+//        //            @Override
+//        //            public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
+//        //                return true;
+//        //            }
+//        //        }).build()).setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
+//
+//        //如果JDK版本是1.8,可使用如下代码
+//        //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
+//        CloseableHttpClient client = HttpClients.custom()
+//                .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null,
+//                        (x509CertChain, authType) -> true).build())
+//                .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
+//                .build();
+//
+//        HttpResponse response = client.execute(RequestBuilder.create("POST")//请求方法POST
+//                .setUri(url)
+//                .addHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")
+//                .addHeader(HttpHeaders.AUTHORIZATION, AUTH_HEADER_VALUE)
+//                .addHeader("X-WSSE", wsseHeader)
+//                .setEntity(new StringEntity(body)).build());
+//
+//        System.out.println(response.toString()); //打印响应头域信息
+//        System.out.println(EntityUtils.toString(response.getEntity())); //打印响应消息实体
+//    }
+//
+//    /**
+//     * 构造请求Body体
+//     * @param sender
+//     * @param receiver
+//     * @param templateId
+//     * @param templateParas
+//     * @param statusCallbackUrl
+//     * @param signature | 签名名称,使用国内短信通用模板时填写
+//     * @return
+//     */
+//    static String buildRequestBody(String sender, String receiver, String templateId, String templateParas,
+//                                   String statusCallbackUrl, String signature) {
+//        if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty()
+//                || templateId.isEmpty()) {
+//            System.out.println("buildRequestBody(): sender, receiver or templateId is null.");
+//            return null;
+//        }
+//        List<NameValuePair> keyValues = new ArrayList<NameValuePair>();
+//
+//        keyValues.add(new BasicNameValuePair("from", sender));
+//        keyValues.add(new BasicNameValuePair("to", receiver));
+//        keyValues.add(new BasicNameValuePair("templateId", templateId));
+//        if (null != templateParas && !templateParas.isEmpty()) {
+//            keyValues.add(new BasicNameValuePair("templateParas", templateParas));
+//        }
+//        if (null != statusCallbackUrl && !statusCallbackUrl.isEmpty()) {
+//            keyValues.add(new BasicNameValuePair("statusCallback", statusCallbackUrl));
+//        }
+//        if (null != signature && !signature.isEmpty()) {
+//            keyValues.add(new BasicNameValuePair("signature", signature));
+//        }
+//
+//        return URLEncodedUtils.format(keyValues, Charset.forName("UTF-8"));
+//    }
+//
+//    /**
+//     * 构造X-WSSE参数值
+//     * @param appKey
+//     * @param appSecret
+//     * @return
+//     */
+//    static String buildWsseHeader(String appKey, String appSecret) {
+//        if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) {
+//            System.out.println("buildWsseHeader(): appKey or appSecret is null.");
+//            return null;
+//        }
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+//        String time = sdf.format(new Date()); //Created
+//        String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce
+//
+//        byte[] passwordDigest = DigestUtils.sha256(nonce + time + appSecret);
+//        String hexDigest = Hex.encodeHexString(passwordDigest);
+//
+//        //如果JDK版本是1.8,请加载原生Base64类,并使用如下代码
+//        String passwordDigestBase64Str = Base64.getEncoder().encodeToString(hexDigest.getBytes()); //PasswordDigest
+//        //如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码
+//        //String passwordDigestBase64Str = Base64.encodeBase64String(hexDigest.getBytes(Charset.forName("utf-8"))); //PasswordDigest
+//        //若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
+//        //passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
+//
+//        return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
+//    }
+//}
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
index b16af6c..b0bc5f2 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
@@ -1,256 +1,256 @@
-package com.stylefeng.guns.modular.system.util;
-
-import cn.jiguang.common.ClientConfig;
-import cn.jiguang.common.resp.APIConnectionException;
-import cn.jiguang.common.resp.APIRequestException;
-import cn.jpush.api.JPushClient;
-import cn.jpush.api.push.PushResult;
-import cn.jpush.api.push.model.Message;
-import cn.jpush.api.push.model.Options;
-import cn.jpush.api.push.model.Platform;
-import cn.jpush.api.push.model.PushPayload;
-import cn.jpush.api.push.model.audience.Audience;
-import cn.jpush.api.push.model.audience.AudienceTarget;
-import cn.jpush.api.push.model.notification.AndroidNotification;
-import cn.jpush.api.push.model.notification.IosNotification;
-import cn.jpush.api.push.model.notification.Notification;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.util.EntityUtils;
-import sun.misc.BASE64Encoder;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 极光推送
- * @author suen
- * 2017年3月23日-上午11:00:57
- * version 1.0 
- * jdk 1.8
- */
-public class JpushUtil {
-
-	/**
-	 * AppKey
-	 */
-	private static String masterSecret = "e4f6f435faefad29db6ba9b2";
-
-	/**
-	 * Master Secret
-	 */
-	private static String appKey = "93204c35ded9ba377a14af19";
-    private static String pushUrl = "https://api.jpush.cn/v3/push";   
-    private static boolean apns_production = true;    
-    private static int time_to_live = 86400;  
-
-	/**
-	 * 推送
-	 */
-	private static JPushClient jpushClient = new JPushClient(masterSecret, appKey);
-
-	public static void main(String[] args) throws APIConnectionException, APIRequestException {
-		Map<String, Object> map=new HashMap<String, Object>();
-		map.put("sound", 1);   //是否有声音  1=否 2=是
-		map.put("vibrate", 1); //是否有震动  1=否 2=是
-		map.put("type", 1);    //消息类型 1=互动  2=公告
-		map.put("id", 1);      //对象ID
-		//SendPushWithCustomForSh("1", "收到通知了11111!", "反馈", JSON.toJSONString(map));
-//		String result = push(pushUrl,"121",JSON.toJSONString(map),appKey,masterSecret,apns_production,time_to_live);
-        SendPushWithCustomForTransmission("1","测试极光自定义消息","自定义消息",map);
-	}
-
-    /**
-     * 系统消息
-     * @param alias
-     * @param alert
-     * @param androidTitle
-     * @param value
-     */
-	 public static void SendPushWithCustomForSh(String alias, String alert, String androidTitle, String value) {
-	    ClientConfig config = ClientConfig.getInstance();
-	    config.setPushHostName("https://api.jpush.cn");
-	    JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3, null, config);
-	    PushPayload payload = PushPayload.newBuilder()
-                 .setPlatform(Platform.android_ios())
-                 .setAudience(Audience.alias(alias))
-                 .setNotification(Notification.newBuilder()
-                         .setAlert(alert)
-                         .addPlatformNotification(AndroidNotification.newBuilder()
-                                 .setTitle(androidTitle)
-                                 .addExtra("action", value)
-                                 .build())
-                         .addPlatformNotification(IosNotification.newBuilder()
-                                 .incrBadge(1)
-                                 .setSound("default").setBadge(+1)
-                                 .addExtra("action", value).build())
-                         .build())
-                 .setOptions(Options.newBuilder().setApnsProduction(false).build())
-                 .build();
-	    try {
-             PushResult result = jpushClient.sendPush(payload);
-             System.out.println(result);
-	    } catch (APIConnectionException e) {
-
-        } catch (APIRequestException e) {
-
-        }
-     }
-     /**
-     * 透传消息
-     * @param alias  别名
-     * @param alert  内容
-     * @param title  标题
-     * @param map    参数
-     */
-	 public static void SendPushWithCustomForTransmission(String alias, String alert, String title, Map<String, Object> map) {
-	    ClientConfig config = ClientConfig.getInstance();
-	    config.setPushHostName("https://api.jpush.cn");
-	    JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3, null, config);
-	    PushPayload payload = PushPayload.newBuilder()
-
-                 .setPlatform(Platform.android_ios())
-
-                 .setAudience(Audience.alias(alias))
-
-                 .setMessage(Message.newBuilder()
-                         .setMsgContent(alert)
-                         .setContentType("text")
-                         .setTitle(title)
-                         .addExtra("sound",String.valueOf(map.get("sound")))
-                         .addExtra("vibrate",String.valueOf(map.get("vibrate")))
-                         .addExtra("type",String.valueOf(map.get("type")))
-                         .addExtra("id",String.valueOf(map.get("id")))
-                         .build())
-
-                 .setOptions(Options.newBuilder().setApnsProduction(false).build())
-                 .build();
-	    try {
-             PushResult result = jpushClient.sendPush(payload);
-             System.out.println(result);
-	    } catch (APIConnectionException e) {
-
-        } catch (APIRequestException e) {
-
-        }
-     }
-	/**
-	 * 内容推送
-	 * @param registrationId 注册用户ID
-	 * @param content 推送内容
-	 * @param extra 附加域
-	 * @return
-	 * @throws APIConnectionException
-	 * @throws APIRequestException
-	 */
-	public static PushResult buildPushObject_ios_audienceMore_messageWithExtras(String registrationId, String content, String extra)
-			throws APIConnectionException, APIRequestException {
-		return jpushClient.sendPush(PushPayload.newBuilder().setPlatform(Platform.android_ios())
-				.setAudience(Audience.newBuilder().addAudienceTarget(AudienceTarget.alias(registrationId)).build())
-				.setMessage(Message.newBuilder().setMsgContent(content).addExtra("from", extra).build())
-				.setOptions(Options.newBuilder().setApnsProduction(false).build())
-				.build());
-
-	}
-	 /**
-     * 组装极光推送专用json串
-     * @param alias
-     * @param alert
-     * @return json
-     */
-    public static JSONObject generateJson(String alias,String alert,boolean apns_production,int time_to_live){
-        JSONObject json = new JSONObject();
-        JSONArray platform = new JSONArray();//平台
-        platform.add("android");
-        platform.add("ios");
-        
-        JSONObject audience = new JSONObject();//推送目标
-        JSONArray alias1 = new JSONArray();
-        alias1.add(alias);
-        audience.put("alias", alias1);
-        
-        JSONObject notification = new JSONObject();//通知内容
-        JSONObject android = new JSONObject();//android通知内容
-        android.put("alert", alert);
-        android.put("builder_id", 1);
-        JSONObject android_extras = new JSONObject();//android额外参数
-        android_extras.put("type", "infomation");
-        android.put("extras", android_extras);
-        
-        JSONObject ios = new JSONObject();//ios通知内容
-        ios.put("alert", alert);
-        ios.put("sound", "default");
-        ios.put("badge", "+1");
-        JSONObject ios_extras = new JSONObject();//ios额外参数
-        ios_extras.put("type", "infomation");
-        ios.put("extras", ios_extras);
-        notification.put("android", android);
-        notification.put("ios", ios);
-        
-        JSONObject options = new JSONObject();//设置参数
-        options.put("time_to_live", Integer.valueOf(time_to_live));
-        options.put("apns_production", apns_production);
-        
-        json.put("platform", platform);
-        json.put("audience", audience);
-        json.put("notification", notification);
-        json.put("options", options);
-        return json;
-        
-    }
-    
-    /**
-     * 推送方法-调用极光API
-     * @param reqUrl
-     * @param alias
-     * @param alert
-     * @return result
-     */
-    public static String push(String reqUrl,String alias,String alert,String appKey,String masterSecret,boolean apns_production,int time_to_live){
-        String base64_auth_string = encryptBASE64(appKey + ":" + masterSecret);
-        String authorization = "Basic " + base64_auth_string;
-        return sendPostRequest(reqUrl,generateJson(alias,alert,apns_production,time_to_live).toString(),"UTF-8",authorization);
-    }
-    
-    /**
-     * 发送Post请求(json格式)
-     * @param reqURL
-     * @param data
-     * @param encodeCharset
-     * @param authorization
-     * @return result
-     */
-    @SuppressWarnings({ "resource" })
-    public static String sendPostRequest(String reqURL, String data, String encodeCharset,String authorization){
-        HttpPost httpPost = new HttpPost(reqURL);
-        HttpClient client = new DefaultHttpClient();
-        HttpResponse response = null;
-        String result = "";
-        try {
-             StringEntity entity = new StringEntity(data, encodeCharset);
-             entity.setContentType("application/json");
-             httpPost.setEntity(entity);
-             httpPost.setHeader("Authorization",authorization.trim());
-             response = client.execute(httpPost);
-             result = EntityUtils.toString(response.getEntity(), encodeCharset);
-        } catch (Exception e) {
-        }finally{
-            client.getConnectionManager().shutdown();
-        }
-        return result;
-    }
-     /** 
-    * BASE64加密工具
-    */
-     public static String encryptBASE64(String str) {
-         byte[] key = str.getBytes();
-       BASE64Encoder base64Encoder = new BASE64Encoder();
-       String strs = base64Encoder.encodeBuffer(key);
-         return strs;
-     }
-}
+//package com.stylefeng.guns.modular.system.util;
+//
+//import cn.jiguang.common.ClientConfig;
+//import cn.jiguang.common.resp.APIConnectionException;
+//import cn.jiguang.common.resp.APIRequestException;
+//import cn.jpush.api.JPushClient;
+//import cn.jpush.api.push.PushResult;
+//import cn.jpush.api.push.model.Message;
+//import cn.jpush.api.push.model.Options;
+//import cn.jpush.api.push.model.Platform;
+//import cn.jpush.api.push.model.PushPayload;
+//import cn.jpush.api.push.model.audience.Audience;
+//import cn.jpush.api.push.model.audience.AudienceTarget;
+//import cn.jpush.api.push.model.notification.AndroidNotification;
+//import cn.jpush.api.push.model.notification.IosNotification;
+//import cn.jpush.api.push.model.notification.Notification;
+//import com.alibaba.fastjson.JSONArray;
+//import com.alibaba.fastjson.JSONObject;
+//import org.apache.http.HttpResponse;
+//import org.apache.http.client.HttpClient;
+//import org.apache.http.client.methods.HttpPost;
+//import org.apache.http.entity.StringEntity;
+//import org.apache.http.impl.client.DefaultHttpClient;
+//import org.apache.http.util.EntityUtils;
+//import sun.misc.BASE64Encoder;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//
+///**
+// * 极光推送
+// * @author suen
+// * 2017年3月23日-上午11:00:57
+// * version 1.0
+// * jdk 1.8
+// */
+//public class JpushUtil {
+//
+//	/**
+//	 * AppKey
+//	 */
+//	private static String masterSecret = "1";
+//
+//	/**
+//	 * Master Secret
+//	 */
+//	private static String appKey = "1";
+//    private static String pushUrl = "https://api.jpush.cn/v3/push";
+//    private static boolean apns_production = true;
+//    private static int time_to_live = 86400;
+//
+//	/**
+//	 * 推送
+//	 */
+//	private static JPushClient jpushClient = new JPushClient(masterSecret, appKey);
+//
+//	public static void main(String[] args) throws APIConnectionException, APIRequestException {
+//		Map<String, Object> map=new HashMap<String, Object>();
+//		map.put("sound", 1);   //是否有声音  1=否 2=是
+//		map.put("vibrate", 1); //是否有震动  1=否 2=是
+//		map.put("type", 1);    //消息类型 1=互动  2=公告
+//		map.put("id", 1);      //对象ID
+//		//SendPushWithCustomForSh("1", "收到通知了11111!", "反馈", JSON.toJSONString(map));
+////		String result = push(pushUrl,"121",JSON.toJSONString(map),appKey,masterSecret,apns_production,time_to_live);
+//        SendPushWithCustomForTransmission("1","测试极光自定义消息","自定义消息",map);
+//	}
+//
+//    /**
+//     * 系统消息
+//     * @param alias
+//     * @param alert
+//     * @param androidTitle
+//     * @param value
+//     */
+//	 public static void SendPushWithCustomForSh(String alias, String alert, String androidTitle, String value) {
+//	    ClientConfig config = ClientConfig.getInstance();
+//	    config.setPushHostName("https://api.jpush.cn");
+//	    JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3, null, config);
+//	    PushPayload payload = PushPayload.newBuilder()
+//                 .setPlatform(Platform.android_ios())
+//                 .setAudience(Audience.alias(alias))
+//                 .setNotification(Notification.newBuilder()
+//                         .setAlert(alert)
+//                         .addPlatformNotification(AndroidNotification.newBuilder()
+//                                 .setTitle(androidTitle)
+//                                 .addExtra("action", value)
+//                                 .build())
+//                         .addPlatformNotification(IosNotification.newBuilder()
+//                                 .incrBadge(1)
+//                                 .setSound("default").setBadge(+1)
+//                                 .addExtra("action", value).build())
+//                         .build())
+//                 .setOptions(Options.newBuilder().setApnsProduction(false).build())
+//                 .build();
+//	    try {
+//             PushResult result = jpushClient.sendPush(payload);
+//             System.out.println(result);
+//	    } catch (APIConnectionException e) {
+//
+//        } catch (APIRequestException e) {
+//
+//        }
+//     }
+//     /**
+//     * 透传消息
+//     * @param alias  别名
+//     * @param alert  内容
+//     * @param title  标题
+//     * @param map    参数
+//     */
+//	 public static void SendPushWithCustomForTransmission(String alias, String alert, String title, Map<String, Object> map) {
+//	    ClientConfig config = ClientConfig.getInstance();
+//	    config.setPushHostName("https://api.jpush.cn");
+//	    JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3, null, config);
+//	    PushPayload payload = PushPayload.newBuilder()
+//
+//                 .setPlatform(Platform.android_ios())
+//
+//                 .setAudience(Audience.alias(alias))
+//
+//                 .setMessage(Message.newBuilder()
+//                         .setMsgContent(alert)
+//                         .setContentType("text")
+//                         .setTitle(title)
+//                         .addExtra("sound",String.valueOf(map.get("sound")))
+//                         .addExtra("vibrate",String.valueOf(map.get("vibrate")))
+//                         .addExtra("type",String.valueOf(map.get("type")))
+//                         .addExtra("id",String.valueOf(map.get("id")))
+//                         .build())
+//
+//                 .setOptions(Options.newBuilder().setApnsProduction(false).build())
+//                 .build();
+//	    try {
+//             PushResult result = jpushClient.sendPush(payload);
+//             System.out.println(result);
+//	    } catch (APIConnectionException e) {
+//
+//        } catch (APIRequestException e) {
+//
+//        }
+//     }
+//	/**
+//	 * 内容推送
+//	 * @param registrationId 注册用户ID
+//	 * @param content 推送内容
+//	 * @param extra 附加域
+//	 * @return
+//	 * @throws APIConnectionException
+//	 * @throws APIRequestException
+//	 */
+//	public static PushResult buildPushObject_ios_audienceMore_messageWithExtras(String registrationId, String content, String extra)
+//			throws APIConnectionException, APIRequestException {
+//		return jpushClient.sendPush(PushPayload.newBuilder().setPlatform(Platform.android_ios())
+//				.setAudience(Audience.newBuilder().addAudienceTarget(AudienceTarget.alias(registrationId)).build())
+//				.setMessage(Message.newBuilder().setMsgContent(content).addExtra("from", extra).build())
+//				.setOptions(Options.newBuilder().setApnsProduction(false).build())
+//				.build());
+//
+//	}
+//	 /**
+//     * 组装极光推送专用json串
+//     * @param alias
+//     * @param alert
+//     * @return json
+//     */
+//    public static JSONObject generateJson(String alias,String alert,boolean apns_production,int time_to_live){
+//        JSONObject json = new JSONObject();
+//        JSONArray platform = new JSONArray();//平台
+//        platform.add("android");
+//        platform.add("ios");
+//
+//        JSONObject audience = new JSONObject();//推送目标
+//        JSONArray alias1 = new JSONArray();
+//        alias1.add(alias);
+//        audience.put("alias", alias1);
+//
+//        JSONObject notification = new JSONObject();//通知内容
+//        JSONObject android = new JSONObject();//android通知内容
+//        android.put("alert", alert);
+//        android.put("builder_id", 1);
+//        JSONObject android_extras = new JSONObject();//android额外参数
+//        android_extras.put("type", "infomation");
+//        android.put("extras", android_extras);
+//
+//        JSONObject ios = new JSONObject();//ios通知内容
+//        ios.put("alert", alert);
+//        ios.put("sound", "default");
+//        ios.put("badge", "+1");
+//        JSONObject ios_extras = new JSONObject();//ios额外参数
+//        ios_extras.put("type", "infomation");
+//        ios.put("extras", ios_extras);
+//        notification.put("android", android);
+//        notification.put("ios", ios);
+//
+//        JSONObject options = new JSONObject();//设置参数
+//        options.put("time_to_live", Integer.valueOf(time_to_live));
+//        options.put("apns_production", apns_production);
+//
+//        json.put("platform", platform);
+//        json.put("audience", audience);
+//        json.put("notification", notification);
+//        json.put("options", options);
+//        return json;
+//
+//    }
+//
+//    /**
+//     * 推送方法-调用极光API
+//     * @param reqUrl
+//     * @param alias
+//     * @param alert
+//     * @return result
+//     */
+//    public static String push(String reqUrl,String alias,String alert,String appKey,String masterSecret,boolean apns_production,int time_to_live){
+//        String base64_auth_string = encryptBASE64(appKey + ":" + masterSecret);
+//        String authorization = "Basic " + base64_auth_string;
+//        return sendPostRequest(reqUrl,generateJson(alias,alert,apns_production,time_to_live).toString(),"UTF-8",authorization);
+//    }
+//
+//    /**
+//     * 发送Post请求(json格式)
+//     * @param reqURL
+//     * @param data
+//     * @param encodeCharset
+//     * @param authorization
+//     * @return result
+//     */
+//    @SuppressWarnings({ "resource" })
+//    public static String sendPostRequest(String reqURL, String data, String encodeCharset,String authorization){
+//        HttpPost httpPost = new HttpPost(reqURL);
+//        HttpClient client = new DefaultHttpClient();
+//        HttpResponse response = null;
+//        String result = "";
+//        try {
+//             StringEntity entity = new StringEntity(data, encodeCharset);
+//             entity.setContentType("application/json");
+//             httpPost.setEntity(entity);
+//             httpPost.setHeader("Authorization",authorization.trim());
+//             response = client.execute(httpPost);
+//             result = EntityUtils.toString(response.getEntity(), encodeCharset);
+//        } catch (Exception e) {
+//        }finally{
+//            client.getConnectionManager().shutdown();
+//        }
+//        return result;
+//    }
+//     /**
+//    * BASE64加密工具
+//    */
+//     public static String encryptBASE64(String str) {
+//         byte[] key = str.getBytes();
+//       BASE64Encoder base64Encoder = new BASE64Encoder();
+//       String strs = base64Encoder.encodeBuffer(key);
+//         return strs;
+//     }
+//}
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
index c86ecc1..e992ca0 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
@@ -12,9 +12,9 @@
 public class OssUploadUtil {
 	//OSS图片访问域名
 	public static String oss_domain = "https://feimachuxing.oss-cn-beijing.aliyuncs.com/";
-	public static String accessKeyId = "LTAI4G1BpRaihVRZp1RS8Stn";
-	public static String accessKeySecret = "PDR7uUEGNf0wIPPVCPCVdySgTwCr90";
-	public static String bucketName="feimachuxing";
+	public static String accessKeyId = "1";
+	public static String accessKeySecret = "1";
+	public static String bucketName="1";
 	public static String endpoint = "oss-cn-beijing.aliyuncs.com";
 	
 	public static OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret);
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.java
index b22e3d7..bd79c02 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.java
@@ -6,7 +6,7 @@
 import com.stylefeng.guns.modular.system.model.TNotices;
 import com.stylefeng.guns.modular.system.model.TSystemNotice;
 import com.stylefeng.guns.modular.system.model.TUser;
-import com.stylefeng.guns.modular.system.util.JpushUtil;
+//import com.stylefeng.guns.modular.system.util.JpushUtil;
 import com.stylefeng.guns.modular.system.util.task.base.AbstractJob;
 import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
@@ -76,10 +76,10 @@
                         map.put("id", record.getId()); //对象ID
                         JpushUtil.SendPushWithCustomForTransmission(String.valueOf(userInfo.getId()),"【超级过客】提醒您,您有一条新的公告消息。","通知消息",map);*/
 
-                        if (tNotices.getIsBroadcast() == 1){
-                            //增加极光推送
-                            JpushUtil.SendPushWithCustomForSh("DRIVER"+driver.getId().toString(),tNotices.getTitle(),"通知消息",null);
-                        }
+//                        if (tNotices.getIsBroadcast() == 1){
+//                            增加极光推送
+//                            JpushUtil.SendPushWithCustomForSh("DRIVER"+driver.getId().toString(),tNotices.getTitle(),"通知消息",null);
+//                        }
 
                     }
                 }
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.java
index 098eb1b..71ee9b7 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.modular.system.util.HuaWeiSMSUtil;
+//import com.stylefeng.guns.modular.system.util.HuaWeiSMSUtil;
 import com.stylefeng.guns.modular.system.util.task.base.AbstractJob;
 import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tInvoice/tInvoice.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tInvoice/tInvoice.js
index 45b26f9..bc14096 100644
--- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tInvoice/tInvoice.js
+++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tInvoice/tInvoice.js
@@ -82,20 +82,8 @@
         },
         {title: '更多信息', field: 'value', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
-                var btn = "";
-                if(row.value != '' && row.value != null) {
-                    var labelStr = "";
-                    var labelStrs = "";
-                    var labelArray = row.value.split(",");
-                    for(var i=0;i<labelArray.length;i++){
-                        labelStr += labelArray[i] +"<br>";
-                        labelStrs += labelArray[i] + "&#10;";
-                    }
-                    labelStr = labelStr.substring(0,labelStr.length-4);
-                    labelStrs = labelStrs.substring(0,labelStrs.length-5);
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + labelStrs + '" onfocus="TUser.tooltip()">' + labelStr + '</p>']
-                }
-                return btn;
+                var btn = "备注说明:" + (typeof row.remark == "undefined" ? '' : row.remark) + "<br/>地址和电话:" + (typeof row.address == "undefined" ? '' : row.address) + "<br/>开户行和账号:" + (typeof row.bank == "undefined" ? '' : row.bank);
+                return ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width: 260px;" title="' + btn + '" onfocus="TUser.tooltip()">' + btn+ '</p>']
             }
         },
         {title: '邮箱', field: 'email', visible: true, align: 'center', valign: 'middle',
diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
index 6b48130..aaf74d2 100644
--- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
+++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
@@ -282,7 +282,7 @@
             nickname = "【" + nickname + "】";
         }
         if (TOrderPrivateCar.seItem.state != 7) {
-            swal("取消失败", "【待支付】状态下才能执行此操作", "warning");
+            swal("支付失败", "【待支付】状态下才能执行此操作", "warning");
             return;
         }
         swal({
@@ -369,7 +369,7 @@
             nickname = "【" + nickname + "】";
         }
         if (TOrderPrivateCar.seItem.state == 7 || TOrderPrivateCar.seItem.state == 8 || TOrderPrivateCar.seItem.state == 9 || TOrderPrivateCar.seItem.state == 10 ) {
-            swal("支付失败", "【待评价】【已完成】【已取消】状态下不能执行此操作", "warning");
+            swal("取消失败", "【待评价】【已完成】【已取消】状态下不能执行此操作", "warning");
             return;
         }
         swal({
diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tPubWithdrawal/tPubWithdrawal.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tPubWithdrawal/tPubWithdrawal.js
index 51f3981..d349938 100644
--- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tPubWithdrawal/tPubWithdrawal.js
+++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tPubWithdrawal/tPubWithdrawal.js
@@ -94,8 +94,8 @@
         {title: '账户余额', field: 'balance', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
                 var btn = "";
-                if(row.money != '' && row.money != null) {
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.money + '" onfocus="TUser.tooltip()">' + row.money + '</p>']
+                if(row.balance != '' && row.balance != null) {
+                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.balance + '" onfocus="TUser.tooltip()">' + row.balance + '</p>']
                 }else if (row.withdrawalType == 2){
                     btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="0" onfocus="TUser.tooltip()">0</p>']
                 }

--
Gitblit v1.7.1