diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java index f9dcffc..c55e80c 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java @@ -11,6 +11,7 @@ import com.jfinal.config.*; import com.jfinal.kit.PropKit; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; +import com.jfinal.plugin.activerecord.dialect.MysqlDialect; import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect; import com.jfinal.plugin.hikaricp.HikariCpPlugin; import com.jfinal.plugin.redis.RedisPlugin; @@ -108,6 +109,8 @@ public class Start extends JFinalConfig { arp.addSqlTemplate("/Sql/" + sqlFile.getName()); } } + arp.setShowSql(true); + arp.setDialect(new MysqlDialect()); //加载 me.add(arp); // 用于缓存模块的redis服务 diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Test/TestKeTuo.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Test/TestKeTuo.java index b43988f..0b60d84 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Test/TestKeTuo.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Test/TestKeTuo.java @@ -1,8 +1,35 @@ package com.dsideal.ZhuQue.Test; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONObject; +import com.dsideal.ZhuQue.Util.CommonUtil; + +import java.util.UUID; + public class TestKeTuo { public static void main(String[] args) { + String url = "http://10.10.21.20:12004/Cloud"; + JSONObject jo = new JSONObject(); + jo.put("Ver", 2);//协议版本 + jo.put("Uid", UUID.randomUUID().toString().toUpperCase());//请求编号(协议唯一码,可使用uuid) + jo.put("Timestamp", System.currentTimeMillis());//时间戳(1970-01-01到现在的秒数) + jo.put("Op", "discount");//下发优惠券 + String sign = "Op=discount&Timestamp=" + System.currentTimeMillis() + "&Uid=" + jo.getString("Uid") + "&key="; + jo.put("Sign", CommonUtil.md5(sign).toUpperCase());//签名 + JSONObject data = new JSONObject(); + data.put("Name", "驿来特停车优惠券"); + data.put("Serial", UUID.randomUUID().toString().toUpperCase());//优惠券派发流水 + data.put("License", "吉A888888");//车牌 + data.put("DiscountType", 2);//优惠类型为时长 + data.put("DiscountFee", 0);//优惠金额0分 + data.put("DiscountMinute", 60 * 2);//优惠分钟 + jo.put("Data", data);//请求数据 json + String result = HttpUtil.createPost(url) + .body(jo.toString()) // 将 JSON 对象转换为字符串作为请求正文 + .header("Content-Type", "application/json") // 设置请求头,指明内容类型为 JSON + .execute().body(); // 发送请求并获取响应体 + System.out.println(result); } } diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Util/CommonUtil.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Util/CommonUtil.java index 13e1a20..70c4291 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Util/CommonUtil.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Util/CommonUtil.java @@ -123,7 +123,6 @@ public class CommonUtil { } - /** * 功能:删除指定目录下所有的文件 * 作者:黄海 @@ -373,7 +372,7 @@ public class CommonUtil { return flag.toString(); } - public static String generatePassword(int length) { + public static String generatePassword(int length) { String upperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String lowerCase = upperCase.toLowerCase(); String numbers = "0123456789"; @@ -786,7 +785,7 @@ public class CommonUtil { return year + "-" + month + "-" + day; } - /** + /** * 功能:通过重载,获取返回的数据标准格式 * * @param record @@ -797,6 +796,7 @@ public class CommonUtil { dictList.add(record); return getRet(dictList, success, message); } + public static Kv getRet(boolean success, String message) { Kv kv = Kv.by("code", 1000); kv.set("success", success); @@ -804,6 +804,14 @@ public class CommonUtil { return kv; } + public static Kv getRet(JSONObject jo, boolean success, String message) { + Kv kv = Kv.by("code", 1000); + kv.set("success", success); + kv.set("msg", message); + kv.set("data", jo); + return kv; + } + public static Kv getRet(List dictList, boolean success, String message) { Kv kv = Kv.by("code", 1000); kv.set("success", success); diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java index 83a7fb9..8ba7b7f 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java @@ -55,13 +55,15 @@ public class YltController extends Controller { /** * 功能: 向第三方道闸同步充电桩支付信息 */ - @Before({POST.class}) - @IsLoginInterface({}) + //@Before({POST.class}) + //@IsLoginInterface({}) @EmptyInterface({"order_no", "charge_plate_no"}) // 非指定闸机场地 - // http://10.10.21.20:8888/ZhuQue/Ylt/SyncChargePilePay?order_no=2020092315154430479 + // http://10.10.21.20:8888/ZhuQue/Ylt/SyncChargePilePay?order_no=2020092315154430479&charge_plate_no=吉A88888 // 科拓闸机场地 - // http://10.10.21.20:8888/ZhuQue/Ylt/SyncChargePilePay?order_no=2022012911045715187 + // http://10.10.21.20:8888/ZhuQue/Ylt/SyncChargePilePay?order_no=2022012911045715187&charge_plate_no=吉A88888 + // 智门科技 + // http://10.10.21.20:8888/ZhuQue/Ylt/SyncChargePilePay?order_no=2021040710440684484&charge_plate_no=吉A88888 public void SyncChargePilePay(String order_no, String charge_plate_no) { //订单号,车牌号 //根据订单号获取到第三方方面提供的车场信息 Record thirdPartyStation = ym.getThirdPartyStation(order_no); @@ -148,15 +150,33 @@ public class YltController extends Controller { .header("version", "1.0.0") .header("Content-Type", "application/json") // 设置请求头,指明内容类型为 JSON .execute().body(); // 发送请求并获取响应体 - - // 返回结果 - JSONObject jj = JSONObject.parseObject(result); - String resCode = jj.getString("resCode"); - String resMsg = jj.getString("resMsg"); - String data = jj.getString("data"); //记录到数据库中闸机的流水记录 - ym.recordDzLog(order_no, charge_plate_no, jo.toString(), resCode, resMsg, data); - renderJson(CommonUtil.getRet(true, "已经向科拓闸机平台发送了减免消息!")); + ym.recordDzLog(order_no, charge_plate_no, jo.toString(), result); + renderJson(CommonUtil.getRet(JSONObject.parseObject(result),true, "已经向科拓闸机平台发送了减免消息!" )); + return; + } else if ("智门科技".equals(name)) { + JSONObject jo = new JSONObject(); + jo.put("Ver", 2);//协议版本 + jo.put("Uid", UUID.randomUUID().toString().toUpperCase());//请求编号(协议唯一码,可使用uuid) + jo.put("Timestamp", System.currentTimeMillis());//时间戳(1970-01-01到现在的秒数) + jo.put("Op", "discount");//下发优惠券 + String sign = "Op=discount&Timestamp=" + System.currentTimeMillis() + "&Uid=" + jo.getString("Uid") + "&key="; + jo.put("Sign", CommonUtil.md5(sign).toUpperCase());//签名 + JSONObject dataJo = new JSONObject(); + dataJo.put("Name", "驿来特停车优惠券"); + dataJo.put("Serial", UUID.randomUUID().toString().toUpperCase());//优惠券派发流水 + dataJo.put("License", charge_plate_no);//车牌 + dataJo.put("DiscountType", 2);//优惠类型为时长 + dataJo.put("DiscountFee", 0);//优惠金额0分 + dataJo.put("DiscountMinute", 60 * 2);//优惠分钟 + jo.put("Data", dataJo);//请求数据 json + String result = HttpUtil.createPost(url) + .body(jo.toString()) // 将 JSON 对象转换为字符串作为请求正文 + .header("Content-Type", "application/json") // 设置请求头,指明内容类型为 JSON + .execute().body(); // 发送请求并获取响应体 + //记录到数据库中闸机的流水记录 + ym.recordDzLog(order_no, charge_plate_no, jo.toString(), result); + renderJson(CommonUtil.getRet(JSONObject.parseObject(result),true, "已经向智门科技闸机平台发送了减免消息!")); return; } } diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java index d2e6524..d20fda0 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java @@ -106,22 +106,20 @@ public class YltModel { /** * 功能:记录道闸的日志 + * * @param order_no * @param charge_plate_no * @param request_body - * @param resCode - * @param resMsg - * @param data + * @param result */ - public void recordDzLog(String order_no, String charge_plate_no, String request_body, String resCode, String resMsg, String data) { - Db.deleteById("t_ext_dz_log", "order_no", order_no); + public void recordDzLog(String order_no, String charge_plate_no, String request_body, String result) { + String sql = "delete from t_ext_dz_log where order_no=?"; + Db.update(sql, order_no); Record record = new Record(); record.set("order_no", order_no); record.set("charge_plate_no", charge_plate_no); record.set("request_body", request_body); - record.set("resCode", resCode); - record.set("resMsg", resMsg); - record.set("data", data); + record.set("result", result); Db.save("t_ext_dz_log", "order_no", record); } } diff --git a/业务梳理/驿来特收到的需求、分析与现状.docx b/业务梳理/驿来特收到的需求、分析与现状.docx index b528cdd..60feffb 100644 Binary files a/业务梳理/驿来特收到的需求、分析与现状.docx and b/业务梳理/驿来特收到的需求、分析与现状.docx differ