From b0923c5e054f33283e0cea737e871e55caa6f7ef Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期六, 10 八月 2024 13:59:42 +0800
Subject: [PATCH] 修改2.0 bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java           |    1 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java                             |   10 +
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java |  155 ++++++++++++++++++++++++++++----------
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                            |   33 ++++++++
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java                  |   17 ++-
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml                  |    2 
 6 files changed, 164 insertions(+), 54 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index ace0daa..e2a1ec1 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.mchange.util.FailSuppressedMessageLogger;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -22,6 +23,8 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -30,7 +33,10 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -42,6 +48,8 @@
 @RestController
 @RequestMapping("")
 public class DriverController {
+    
+    private Logger log = LoggerFactory.getLogger(DriverController.class);
 
     @Autowired
     private IDriverService driverService;
@@ -1821,4 +1829,29 @@
             throw new RuntimeException(e);
         }
     }
+    
+    
+    
+    /**
+     * 短信回调通知
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/sendCellulantMessageCallback")
+    public void sendCellulantMessageCallback(HttpServletRequest request){
+        try {
+            StringBuilder sb = new StringBuilder();
+            InputStream inputStream = request.getInputStream();
+            String s;
+            BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+            while ((s = in.readLine()) != null) {
+                sb.append(s);
+            }
+            in.close();
+            inputStream.close();
+            log.info("短信通知回调:" + sb.toString());
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
index 956b9ce..f9111eb 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.api;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.model.SettlementRecord;
 import com.stylefeng.guns.modular.system.service.IDriverService;
@@ -137,7 +138,7 @@
      * @return
      */
     @ResponseBody
-    @PostMapping("/base/settlementRecord/querySettlementAmount")
+    @PostMapping("/base/settlementRecord/paymentSettlementAmountCallback")
     public CallbackResponse paymentSettlementAmountCallback(@RequestBody CallbackRequest callbackRequest){
         CallbackResponse callbackResponse = new CallbackResponse();
         try {
@@ -161,12 +162,14 @@
                     Integer payType = Integer.valueOf(out_trade_no.substring(18, 19));
                     Integer id = Integer.valueOf(out_trade_no.substring(19));
 
-                    SettlementRecord settlementRecord = settlementRecordService.selectById(id);
-                    settlementRecord.setPayType(payType);
-                    settlementRecord.setPaymentStatus(2);
-                    settlementRecord.setPayTime(new Date());
-                    settlementRecord.setCode(order_id);
-                    settlementRecordService.updateById(settlementRecord);
+                    List<SettlementRecord> settlementRecords = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", id).eq("paymentStatus", 1));
+                    for (SettlementRecord settlementRecord : settlementRecords) {
+                        settlementRecord.setPayType(payType);
+                        settlementRecord.setPaymentStatus(2);
+                        settlementRecord.setPayTime(new Date());
+                        settlementRecord.setCode(order_id);
+                        settlementRecordService.updateById(settlementRecord);
+                    }
 
                     callbackResponse.setCheckout_request_id(order_id);
                     callbackResponse.setMerchant_transaction_id(out_trade_no);
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
index 1ea3ead..75c57bb 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -177,7 +177,7 @@
         b.carLicensePlate as licensePlate,
         b.carColor as carColor,
         b.vehicleId,
-        CONCAT(d.`name`, c.`name`) as brand,
+        CONCAT(d.`name`, ' ', c.`name`) as brand,
         (
         (select count(id) from t_order_private_car where driverId = a.id and state in (7, 8, 9)) +
         (select count(id) from t_order_taxi where driverId = a.id and state in (7, 8, 9)) +
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 9059077..6fa8d1c 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -1469,7 +1469,6 @@
             driver.setQrCode(QrCodeUtil.getQrCode(uid));
             driverMapper.updateById(driver);
         }
-        //减去本周的收入
         return map;
     }
 
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
index ff48b02..4acac24 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.SettlementRecordMapper;
@@ -25,6 +26,7 @@
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -64,11 +66,26 @@
     @Override
     public QuerySettlementAmount querySettlementAmount(Integer language, Integer driverId) {
         QuerySettlementAmount querySettlementAmount = new QuerySettlementAmount();
-        SettlementRecord settlementRecord = this.selectOne(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
-        if(null != settlementRecord){
-            querySettlementAmount.setType(settlementRecord.getType());
-            querySettlementAmount.setAmount(settlementRecord.getPayMoney());
-            List<SettlementDetail> settlementDetailList = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>().eq("settlementRecordId", settlementRecord.getId()).orderBy("createTime desc"));
+        SettlementAllocation settlementAllocation = settlementAllocationService.selectOne(null);
+        if(null != settlementAllocation) {
+            JSONObject jsonObject = JSON.parseObject(settlementAllocation.getContent());
+            Double maxPrice = jsonObject.getDouble("maxPrice");
+            Integer type = jsonObject.getInteger("type");
+            querySettlementAmount.setType(null != maxPrice ? 1 : type);
+            List<SettlementRecord> settlementRecords = this.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
+            double sum = settlementRecords.stream().mapToDouble(SettlementRecord::getPayMoney).sum();
+            List<SettlementDetail> settlementDetailList = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>().eq("driverId", driverId).isNull("settlementRecordId"));
+            double sum1 = settlementDetailList.stream().mapToDouble(SettlementDetail::getPrice).sum();
+            querySettlementAmount.setAmount(new BigDecimal(sum).add(new BigDecimal(sum1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+    
+            List<Integer> collect = settlementRecords.stream().map(SettlementRecord::getId).collect(Collectors.toList());
+            Wrapper<SettlementDetail> wrapper = new EntityWrapper<SettlementDetail>();
+            if(collect.size() > 0){
+                wrapper.in("settlementRecordId", collect).or().isNull("settlementRecordId");
+            }else{
+                wrapper.isNull("settlementRecordId");
+            }
+            settlementDetailList = settlementDetailService.selectList(wrapper.orderBy("createTime desc"));
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
             List<QuerySettlementAmountDetails> list = new ArrayList<>();
             settlementDetailList.forEach(s -> {
@@ -97,15 +114,46 @@
     @Override
     public ResultUtil paymentSettlementAmount(Integer driverId, Integer payType, Integer bankCardId, Integer language) throws Exception {
         Driver driver1 = driverService.selectById(driverId);
-        SettlementRecord settlementRecord = this.selectOne(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
-        if(null == settlementRecord){
+        QuerySettlementAmount querySettlementAmount = querySettlementAmount(language, driverId);
+        if(querySettlementAmount.getAmount() == 0){
             return ResultUtil.error(language == 1 ? "暂无需支付" : language == 2 ? "No payment is required" : "Aucun paiement n’est requis");
         }
-        Double payMoney = settlementRecord.getPayMoney();
+    
+        Double payMoney = 0D;
+        //主动生成结算主数据
+        SettlementAllocation settlementAllocation = settlementAllocationService.selectOne(null);
+        if(null == settlementAllocation){
+            JSONObject jsonObject = JSON.parseObject(settlementAllocation.getContent());
+            Double maxPrice = jsonObject.getDouble("maxPrice");
+            Integer type = jsonObject.getInteger("type");
+    
+            List<SettlementDetail> settlementDetails = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>().eq("driverId", driverId).isNull("settlementRecordId"));
+            double sum = settlementDetails.stream().mapToDouble(SettlementDetail::getPrice).sum();
+            if(sum > 0){
+                SettlementRecord settlementRecord = new SettlementRecord();
+                settlementRecord.setDay(new Date());
+                settlementRecord.setDriverId(driverId);
+                settlementRecord.setType(null != maxPrice ? 1 : type);
+                settlementRecord.setPaymentStatus(1);
+                settlementRecord.setPayMoney(new BigDecimal(sum).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+                settlementRecord.setInsertTime(new Date());
+                this.insert(settlementRecord);
+        
+                settlementDetails.forEach(s -> {
+                    s.setSettlementRecordId(settlementRecord.getId());
+                });
+                settlementDetailService.updateBatchById(settlementDetails);
+            }
+        }
+        List<SettlementRecord> settlementRecords = this.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
+        payMoney = settlementRecords.stream().mapToDouble(SettlementRecord::getPayMoney).sum();
+        if(payMoney == 0){
+            return ResultUtil.error(language == 1 ? "暂无需支付" : language == 2 ? "No payment is required" : "Aucun paiement n’est requis");
+        }
         ResultUtil resultUtil = ResultUtil.success("");
         if(payType == 1){//手机支付
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-            String merchantTransactionId = sdf.format(new Date()) + language + payType + settlementRecord.getId();
+            String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1;
             CheckoutRequest checkoutRequest = new CheckoutRequest();
             checkoutRequest.setMsisdn(Long.valueOf(driver1.getPhone()));
             checkoutRequest.setCustomerEmail(driver1.getEmail());
@@ -115,7 +163,7 @@
             checkoutRequest.setRequestAmount(payMoney);
             checkoutRequest.setMerchantTransactionId(merchantTransactionId);
             checkoutRequest.setRequestDescription("Settlement cost");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/querySettlementAmount");
+            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
             checkoutRequest.setPendingRedirectUrl("");
             checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
             checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
@@ -129,7 +177,7 @@
         if(payType == 2){//银行卡支付
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-            String merchantTransactionId = sdf.format(new Date()) + language + payType + settlementRecord.getId();
+            String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1;
             CheckoutRequest checkoutRequest = new CheckoutRequest();
             checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
             checkoutRequest.setCustomerEmail(driver1.getEmail());
@@ -139,7 +187,7 @@
             checkoutRequest.setRequestAmount(payMoney);
             checkoutRequest.setMerchantTransactionId(merchantTransactionId);
             checkoutRequest.setRequestDescription("Settlement cost");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/querySettlementAmount");
+            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
             checkoutRequest.setPendingRedirectUrl("");
             checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
             checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
@@ -160,49 +208,72 @@
             //活动余额小于结算金额
             if(null != laveActivityMoney && 0 < laveActivityMoney && laveActivityMoney.compareTo(payMoney) < 0){
                 driver1.setLaveActivityMoney(0D);
-                BigDecimal m = new BigDecimal(payMoney).subtract(new BigDecimal(laveActivityMoney)).setScale(2, RoundingMode.HALF_EVEN);
-                driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(m).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                settlementRecord.setPayMoney(laveActivityMoney);
-                settlementRecord.setPaymentStatus(2);
-                settlementRecord.setPayType(payType);
-                settlementRecord.setBalanceType(1);
-                settlementRecord.setPayTime(new Date());
-                this.updateById(settlementRecord);
-                balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2);
-                balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, m.doubleValue(), settlementRecord.getType() + 2);
-    
-                SettlementRecord settlementRecord1 = new SettlementRecord();
-                BeanUtils.copyProperties(settlementRecord, settlementRecord1);
-                settlementRecord1.setId(null);
-                settlementRecord1.setPayMoney(m.doubleValue());
-                settlementRecord1.setBalanceType(2);
-                this.insert(settlementRecord1);
+                for (SettlementRecord settlementRecord : settlementRecords) {
+                    Double payMoney1 = settlementRecord.getPayMoney();
+                    if(laveActivityMoney >= payMoney1){
+                        settlementRecord.setPayMoney(payMoney1);
+                        settlementRecord.setPaymentStatus(2);
+                        settlementRecord.setPayType(payType);
+                        settlementRecord.setBalanceType(1);
+                        settlementRecord.setPayTime(new Date());
+                        this.updateById(settlementRecord);
+                        balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney1, settlementRecord.getType() + 2);
+                        laveActivityMoney = new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney1)).doubleValue();
+                    }else{
+                        Double m = payMoney1;
+                        if(laveActivityMoney > 0){
+                            settlementRecord.setPayMoney(laveActivityMoney);
+                            settlementRecord.setPaymentStatus(2);
+                            settlementRecord.setPayType(payType);
+                            settlementRecord.setBalanceType(1);
+                            settlementRecord.setPayTime(new Date());
+                            this.updateById(settlementRecord);
+                            balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2);
+                            laveActivityMoney = 0D;
+                            m = new BigDecimal(payMoney1).subtract(new BigDecimal(laveActivityMoney)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+                        }
+                        
+                        SettlementRecord settlementRecord1 = new SettlementRecord();
+                        BeanUtils.copyProperties(settlementRecord, settlementRecord1);
+                        settlementRecord1.setId(null);
+                        settlementRecord1.setPayMoney(m.doubleValue());
+                        settlementRecord1.setBalanceType(2);
+                        this.insert(settlementRecord1);
+                        balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, m.doubleValue(), settlementRecord.getType() + 2);
+                        laveBusinessMoney = new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(m)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                    }
+                }
+                driver1.setLaveBusinessMoney(laveBusinessMoney);
             }
             //活动余额大于结算金额
             if(null != laveActivityMoney && 0 < laveActivityMoney && laveActivityMoney.compareTo(payMoney) >= 0){
                 driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                settlementRecord.setPaymentStatus(2);
-                settlementRecord.setPayType(payType);
-                settlementRecord.setBalanceType(1);
-                settlementRecord.setPayTime(new Date());
-                this.updateById(settlementRecord);
-                balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney, settlementRecord.getType() + 2);
+                for (SettlementRecord settlementRecord : settlementRecords) {
+                    settlementRecord.setPaymentStatus(2);
+                    settlementRecord.setPayType(payType);
+                    settlementRecord.setBalanceType(1);
+                    settlementRecord.setPayTime(new Date());
+                    this.updateById(settlementRecord);
+                    balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney, settlementRecord.getType() + 2);
+                }
             }
             if(null == laveActivityMoney || 0 == laveActivityMoney){
                 driver1.setLaveActivityMoney(0D);
                 driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                settlementRecord.setPaymentStatus(2);
-                settlementRecord.setPayType(payType);
-                settlementRecord.setBalanceType(2);
-                settlementRecord.setPayTime(new Date());
-                this.updateById(settlementRecord);
-                balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, payMoney, settlementRecord.getType() + 2);
+                for (SettlementRecord settlementRecord : settlementRecords) {
+                    settlementRecord.setPaymentStatus(2);
+                    settlementRecord.setPayType(payType);
+                    settlementRecord.setBalanceType(1);
+                    settlementRecord.setPayTime(new Date());
+                    this.updateById(settlementRecord);
+                    balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, payMoney, settlementRecord.getType() + 2);
+                }
             }
             
             driver1.setBalance(new BigDecimal(driver1.getBalance()).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 
             //添加交易明细
-            transactionDetailsService.saveData(driverId, "线下结算", payMoney, 2, 1, 2, null, null);
+            transactionDetailsService.saveData(driverId, "支付结算费用", payMoney, 2, 1, 2, null, null);
             driverService.updateById(driver1);
             return ResultUtil.success("");
         }
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
index 2042cf8..b384d21 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
@@ -281,19 +281,23 @@
 
 
     public boolean sendCellulantMessage(String toPhone, String msg){
-        String url = "https://sms.nalosolutions.com/smsbackend/clientapi/Cell_resl/send-message/";
+        String url = "https://sms.nalosolutions.com/smsbackend/Cell_resl/send-message/";
         HttpRequest post = HttpUtil.createPost(url);
         post.contentType(ContentType.JSON.toString());
         JSONObject params = new JSONObject();
-        params.put("key", "ru#0flkf3993qh!!rg!@y4)nhwi08c#tg_vasek!ja)kvfnfjyoljoz(@nai(jkf");
+        params.put("key", "c_x7x5!v_1mhg(l34p05g2b@teheq)ex9mk1jj(u@nlfx_w5(rdx)tb_ttx22b3o");
+        params.put("username", "I-GO");
+        params.put("password", "abcd1234");
         params.put("msisdn", toPhone);
         params.put("message", msg);
         params.put("sender_id", "I-GO");
+        params.put("callback_url", "http://182.160.16.251:80/driver/base/sendCellulantMessageCallback");
         post.body(params.toJSONString());
+        System.err.println("短信请求:\n请求地址:" + url + "\n请求参数:" + params.toJSONString());
         HttpResponse execute = post.execute();
         String body = execute.body();
         execute.close();
-        System.err.println("短信:" + body);
+        System.err.println("短信响应:" + body);
         JSONObject jsonObject = JSON.parseObject(body);
         Integer status = jsonObject.getInteger("status");
         if(null != status && 1701 == status){

--
Gitblit v1.7.1