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