From 5af914837d11adc74a90a3a6363f9e79999cadc3 Mon Sep 17 00:00:00 2001 From: "lisai17@sina.com" Date: Mon, 31 Aug 2020 20:58:21 +0800 Subject: [PATCH] . --- .../truck/OrderclusterTruckService.java | 60 ++++++++++++++++--- .../com/cowr/ssjygl/prepay/PrepayService.java | 21 +------ .../devicectrl/common/DeviceThread.java | 2 +- .../devicectrl/controllers/Controller.java | 21 +++---- .../devicectrl/controllers/InController.java | 17 +++--- .../devicectrl/controllers/OutController.java | 17 +++--- .../local/ssjygl/devicectrl/device/LED.java | 6 +- .../ssjygl/devicectrl/device/LEDThread.java | 39 +++++++----- .../com/cowr/local/ssjygl/main/Config.java | 4 ++ .../transport/TransportQueryService.java | 16 ++++- .../com/cowr/service/ssjygl/main/Config.java | 4 ++ 11 files changed, 127 insertions(+), 80 deletions(-) diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/truck/OrderclusterTruckService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/truck/OrderclusterTruckService.java index 6ec651d..821d308 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/truck/OrderclusterTruckService.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/order/ordercluster/truck/OrderclusterTruckService.java @@ -5,11 +5,13 @@ import com.cowr.common.base.BaseService; import com.cowr.common.enums.OrderStateEnum; import com.cowr.common.utils.DateTimeUtil; import com.cowr.common.view.PageParam; +import com.cowr.model.Ordercluster; import com.cowr.model.OrderclusterTruck; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; + import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -25,12 +27,12 @@ public class OrderclusterTruckService extends BaseService { public static final OrderclusterTruckService me = new OrderclusterTruckService(); public Page find(PageParam pp) { - String selectsql = "select * "; - String fromsql = "from ordercluster_truck t where 1=1 "; - List paraList = new ArrayList<>(); + String selectsql = "select * "; + String fromsql = "from ordercluster_truck t where 1=1 "; + List paraList = new ArrayList<>(); String totalRowSql = "select count(*) " + fromsql; - String findSql = selectsql + fromsql; + String findSql = selectsql + fromsql; // 前端传了排序字段,并且排序字段存在相关表中 if (StrKit.notBlank(pp.getSort_field()) && OrderclusterTruck.dao.hasColunm(pp.getSort_field())) { @@ -50,17 +52,16 @@ public class OrderclusterTruckService extends BaseService { return OrderclusterTruck.dao.find("select * from ordercluster_truck"); } - public OrderclusterTruck checkValidLicense(int supermarket_id, String truck_license) { if (StrKit.isBlank(truck_license)) { return null; } Calendar c = Calendar.getInstance(); - c.set(Calendar.HOUR_OF_DAY,0); - c.set(Calendar.MINUTE,0); - c.set(Calendar.SECOND,0); - c.set(Calendar.MILLISECOND,0); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); Date start = c.getTime(); c.add(Calendar.HOUR_OF_DAY, 24); Date end = c.getTime(); @@ -79,4 +80,45 @@ public class OrderclusterTruckService extends BaseService { end, truck_license); } + + /** + * 用超市id、车牌号查询当天关联的集团订单信息 + * @param supermarket_id + * @param truck_license + * @return + */ + public Ordercluster getOrdercluster(int supermarket_id, String truck_license) { + if (StrKit.isBlank(truck_license)) { + return null; + } + + Calendar c = Calendar.getInstance(); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + Date start = c.getTime(); + c.add(Calendar.HOUR_OF_DAY, 24); + Date end = c.getTime(); + + OrderclusterTruck ot = OrderclusterTruck.dao.findFirst("select * from ordercluster_truck t\n" + + " left join ordercluster c on c.id = t.ordercluster_id \n" + + " where c.supermarket_id = ? \n" + + " and c.state < ?" + + " and c.cutoff_time >= ? \n" + + " and c.cutoff_time < ? \n" + + " and t.truck_license = ? \n" + + " limit 0,1", + supermarket_id, + OrderStateEnum.RECEIVED.getStateid(), // 只有未完成的订单才有效 + start, + end, + truck_license); + + if (ot == null) { + return null; + } + + return Ordercluster.dao.findById(ot.getOrderclusterId()); + } } diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayService.java index 3026ff6..b492320 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayService.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/prepay/PrepayService.java @@ -105,20 +105,8 @@ public class PrepayService { return Db.paginateByFullSql(pp.getPage(), pp.getSize(), totalRowSql, findSql, paraList.toArray()); } - public Record prepayInfo(Transport transport) { - if (transport == null) { - return null; - } - - OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(transport.getSupermarketId(), transport.getTruckLicense()); - - if (ot == null) { - return null; - } - - Ordercluster ordercluster = Ordercluster.dao.findById(ot.getOrderclusterId()); - - if (ordercluster == null) { + public Record prepayInfo(Ordercluster ordercluster, Transport transport) { + if(ordercluster == null || transport == null) { return null; } @@ -160,11 +148,6 @@ public class PrepayService { out.set("prepay_surplus", prepayCustomer.getSurplus()); out.set("prepay_customer", customer); out.set("prepay_customer_info", prepayCustomer); - out.set("prepay_ordercluster", ordercluster); // 预付费关联集团客户订单 - - List list = CustomerReceiverService.me.list(customer.getId(), null, null, transport.getSupermarketId()); - - out.set("prepay_customer_receiver", list); return out; } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/common/DeviceThread.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/common/DeviceThread.java index 1ebf5a9..d7e7d2d 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/common/DeviceThread.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/common/DeviceThread.java @@ -157,7 +157,7 @@ public class DeviceThread extends Thread { // 一个摄像头只能连一次 Camera camera = new Camera(which + "_camera", cameraconf.getString("ip")); HuangZhouScale scale = new HuangZhouScale(which + "_scale", scaleconf.getString("ip"), scaleconf.getIntValue("port")); - LED led = new LED(which + "_led", ledconf.getString("ip"), ledconf.getIntValue("port")); + LEDThread led = new LEDThread(which + "_led", ledconf.getString("ip"), ledconf.getIntValue("port")); PLC plc = null; for (Map.Entry entry : plcMap.entrySet()) { diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/Controller.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/Controller.java index 2c1b233..b69c6be 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/Controller.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/Controller.java @@ -1,10 +1,7 @@ package com.cowr.local.ssjygl.devicectrl.controllers; import com.alibaba.fastjson.JSONObject; -import com.cowr.local.ssjygl.devicectrl.device.AbsScale; -import com.cowr.local.ssjygl.devicectrl.device.Camera; -import com.cowr.local.ssjygl.devicectrl.device.LED; -import com.cowr.local.ssjygl.devicectrl.device.PLC; +import com.cowr.local.ssjygl.devicectrl.device.*; import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair; import com.cowr.local.ssjygl.main.CliCacheData; import com.cowr.local.ssjygl.transport.TransportDeviceService; @@ -32,9 +29,9 @@ public abstract class Controller implements Runnable { private String which; // 入场、出场 WhichEnum,规则:R01、R02、C01、C02 以此类推, TODO: 前端、后端、设备控制 几个部分可以共用一个枚举,保障一致性 private Camera camera; // 车牌识别 - private AbsScale scale; // 入场称重 - private LED led; // 称重结果显示 - private PLC plc; // 道闸控制 + private AbsScale scale; // 入场称重 + private LEDThread led; // 称重结果显示 + private PLC plc; // 道闸控制 private String currentLicense; // 当前流程车牌 private BlockingQueue licenseQueue = new LinkedBlockingQueue<>(); // 车识识别结果队列 @@ -43,7 +40,7 @@ public abstract class Controller implements Runnable { private boolean running = true; - public Controller(String which, Camera camera, AbsScale scale, LED led, PLC plc) { + public Controller(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc) { this.which = which; this.camera = camera; this.scale = scale; @@ -213,11 +210,11 @@ public abstract class Controller implements Runnable { this.scale = scale; } - public LED getLed() { + public LEDThread getLed() { return led; } - public void setLed(LED led) { + public void setLed(LEDThread led) { this.led = led; } @@ -284,8 +281,8 @@ public abstract class Controller implements Runnable { } try { - getLed().connect(); - } catch (IOException e) { + getLed().start(); + } catch (Exception e) { log.error("%s %s LED连接失败", getWhich(), getLed().getId()); log.error(e.getMessage(), e); } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java index dd43a57..dace67d 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java @@ -1,9 +1,6 @@ package com.cowr.local.ssjygl.devicectrl.controllers; -import com.cowr.local.ssjygl.devicectrl.device.AbsScale; -import com.cowr.local.ssjygl.devicectrl.device.Camera; -import com.cowr.local.ssjygl.devicectrl.device.LED; -import com.cowr.local.ssjygl.devicectrl.device.PLC; +import com.cowr.local.ssjygl.devicectrl.device.*; import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair; import com.cowr.local.ssjygl.main.CliCacheData; import com.cowr.model.PostLicenseResult; @@ -14,7 +11,7 @@ import java.io.IOException; public class InController extends Controller implements Runnable { private static Log log = Log.getLog(InController.class); - public InController(String which, Camera camera, AbsScale scale, LED led, PLC plc) { + public InController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc) { super(which, camera, scale, led, plc); } @@ -55,7 +52,7 @@ public class InController extends Controller implements Runnable { // 初始化 LED 显示内容 log.debug("等待入场车牌识别"); try { - getLed().screen(" ", "等待车辆", LEDInfoFormat); + getLed().setInfo(" ", "等待车辆"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -103,7 +100,7 @@ public class InController extends Controller implements Runnable { log.debug("%s 【%s】上磅前,控制LED显示", getWhich(), pair.license); try { - getLed().screen(pair.license, "等待上磅", LEDInfoFormat); + getLed().setInfo(pair.license, "等待上磅"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -152,7 +149,7 @@ public class InController extends Controller implements Runnable { log.debug("%s 【%s】上磅后,控制LED显示", getWhich(), pair.license); try { - getLed().screen(pair.license, "开始称重", LEDInfoFormat); + getLed().setInfo(pair.license, "开始称重"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -210,8 +207,8 @@ public class InController extends Controller implements Runnable { weightStr = String.format("%.2f", weight); } - getLed().screen(pair.license, weightStr, LEDWeightFormat); - } catch (IOException e) { + getLed().setWeightInfo(pair.license, weightStr); + } catch (Exception e) { log.error(e.getMessage(), e); log.debug("%s 【%s】控制LED显示称重结果失败【%s】", getWhich(), pair.license, weight); } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java index af21d7c..b00de9b 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java @@ -1,9 +1,6 @@ package com.cowr.local.ssjygl.devicectrl.controllers; -import com.cowr.local.ssjygl.devicectrl.device.AbsScale; -import com.cowr.local.ssjygl.devicectrl.device.Camera; -import com.cowr.local.ssjygl.devicectrl.device.LED; -import com.cowr.local.ssjygl.devicectrl.device.PLC; +import com.cowr.local.ssjygl.devicectrl.device.*; import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair; import com.cowr.local.ssjygl.main.CliCacheData; import com.cowr.model.PostLicenseResult; @@ -14,7 +11,7 @@ import java.io.IOException; public class OutController extends Controller implements Runnable { private static Log log = Log.getLog(InController.class); - public OutController(String which, Camera camera, AbsScale scale, LED led, PLC plc) { + public OutController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc) { super(which, camera, scale, led, plc); } @@ -55,7 +52,7 @@ public class OutController extends Controller implements Runnable { // 初始化 LED 显示内容 log.debug("等待出场车牌识别"); try { - getLed().screen(" ", "等待车辆", LEDInfoFormat); + getLed().setInfo(" ", "等待车辆"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -104,7 +101,7 @@ public class OutController extends Controller implements Runnable { log.debug("%s 【%s】上磅前,控制LED显示", getWhich(), pair.license); try { - getLed().screen(pair.license, "等待上磅", LEDInfoFormat); + getLed().setInfo(pair.license, "等待上磅"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -152,7 +149,7 @@ public class OutController extends Controller implements Runnable { log.debug("%s 【%s】上磅后,控制LED显示", getWhich(), pair.license); try { - getLed().screen(pair.license, "开始称重", LEDInfoFormat); + getLed().setInfo(pair.license, "开始称重"); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -210,8 +207,8 @@ public class OutController extends Controller implements Runnable { weightStr = String.format("%.2f", weight); } - getLed().screen(pair.license, weightStr, LEDWeightFormat); - } catch (IOException e) { + getLed().setWeightInfo(pair.license, weightStr); + } catch (Exception e) { log.error(e.getMessage(), e); log.debug("%s 【%s】控制LED显示称重结果失败【%s】", getWhich(), pair.license, weight); } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LED.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LED.java index fea30a7..d463685 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LED.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LED.java @@ -76,6 +76,8 @@ public class LED extends Device { msgCrc[msgCrc.length - 1] = frameTail; // System.out.println(HexDump.toHex(msgCrc)); + log.debug("LED 发送数据: %s", HexDump.toHex(msgCrc)); + socket.getOutputStream().write(msgCrc); socket.getOutputStream().flush(); @@ -90,8 +92,8 @@ public class LED extends Device { } byte[] z = new byte[read]; System.arraycopy(y, 0, z, 0, read); - System.out.println(HexDump.toHex(z)); - socket.close(); + log.debug("LED 返回数据: %s", HexDump.toHex(z)); +// socket.close(); } finally { lock.unlock(); } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java index 4ea6e39..b421e2b 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java @@ -22,7 +22,7 @@ public class LEDThread extends Device implements Runnable { private String license = ""; private String text = "系统启动"; private String format = LEDInfoFormat; - + private Thread thread; private boolean running = true; public void setRunning(boolean running) { @@ -56,12 +56,18 @@ public class LEDThread extends Device implements Runnable { public LEDThread(String id, String ip, int port) { super(id, ip, port); + + this.thread = new Thread(this); + this.thread.setDaemon(true); + } + + public void start(){ + this.thread.start(); } @Override public void run() { - DateFormat df = new SimpleDateFormat("mm:ss"); - + DateFormat df = new SimpleDateFormat("mm.ss"); while (this.running){ try { @@ -116,11 +122,11 @@ public class LEDThread extends Device implements Runnable { byte[] msgCrc = new byte[msg.length + 3]; System.arraycopy(msg, 0, msgCrc, 0, msg.length); -// System.out.println(HexDump.toHex(msgCrc)); msgCrc[msgCrc.length - 2] = (byte) (crc >> 8); msgCrc[msgCrc.length - 3] = (byte) crc; msgCrc[msgCrc.length - 1] = frameTail; -// System.out.println(HexDump.toHex(msgCrc)); + + System.out.println("LED 发送数据:" + HexDump.toHex(msgCrc)); socket.getOutputStream().write(msgCrc); socket.getOutputStream().flush(); @@ -129,16 +135,15 @@ public class LEDThread extends Device implements Runnable { byte[] buf = new byte[in.available()]; in.read(buf); // LED 返回 -// BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); -// byte[] y = new byte[128]; -// int read = bis.read(y); -// while (!(read > 0)) { -// read = bis.read(y); -// } -// byte[] z = new byte[read]; -// System.arraycopy(y, 0, z, 0, read); -// System.out.println("LED 返回:"); -// System.out.println(HexDump.toHex(z)); + BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); + byte[] y = new byte[128]; + int read = bis.read(y); + while (!(read > 0)) { + read = bis.read(y); + } + byte[] z = new byte[read]; + System.arraycopy(y, 0, z, 0, read); + System.out.println("LED 返回数据:" + HexDump.toHex(z)); // socket.close(); } catch (Exception e) { log.error(e.getMessage(), e); @@ -247,6 +252,8 @@ public class LEDThread extends Device implements Runnable { } running = false; + + this.thread.interrupt(); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -280,7 +287,7 @@ public class LEDThread extends Device implements Runnable { public static void main(String[] args) { try { - LEDThread led = new LEDThread("", "192.168.30.201", 5005); + LEDThread led = new LEDThread("", "192.168.30.205", 5005); Thread thread = new Thread(led); thread.setDaemon(true); thread.start(); diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java index 30340e1..b70b79f 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java @@ -64,6 +64,7 @@ import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.SqlReporter; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; import com.jfinal.plugin.druid.DruidPlugin; +import com.jfinal.plugin.druid.DruidStatViewHandler; import com.jfinal.plugin.redis.RedisPlugin; import com.jfinal.template.Engine; import com.cowr.common.Interceptor.ReporterInterceptor; @@ -270,6 +271,9 @@ public class Config extends JFinalConfig { // 让 druid 允许在 sql 中使用 union // https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE-wallfilter wallFilter.getConfig().setSelectUnionCheck(false); + if("dev".equals(ENV)){ + me.add(new DruidStatViewHandler("/druid")); + } me.add(new GlobalHandler()); } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java index 61cd0b1..38e0530 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java @@ -8,6 +8,7 @@ import com.cowr.common.utils.ImageUtil; import com.cowr.common.view.Result; import com.cowr.local.ssjygl.main.Config; import com.cowr.local.ssjygl.order.OrderService; +import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckService; import com.cowr.ssjygl.supermarket.product.SupermarketProductService; import com.cowr.model.*; import com.cowr.ssjygl.order.ordersale.OrderSaleService; @@ -41,9 +42,21 @@ public class TransportQueryService { return Result.failed("重量数据不完整"); } + OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(transport.getSupermarketId(), transport.getTruckLicense()); + + if (ot == null) { + return Result.failed("未找到车辆分配信息"); + } + + Ordercluster ordercluster = Ordercluster.dao.findById(ot.getOrderclusterId()); + + if (ordercluster == null) { + return Result.failed("未找到配额分配信息"); + } + BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()).abs(); Record transobj = transport.toRecord(); - Record prepayinfo = PrepayService.me.prepayInfo(transport); + Record prepayinfo = PrepayService.me.prepayInfo(ordercluster, transport); if (prepayinfo != null) { transobj.setColumns(prepayinfo); @@ -51,6 +64,7 @@ public class TransportQueryService { transobj.set("prepay_truck", false); } + transobj.set("ordercluster", ordercluster); transobj.set("weight", net_weight); transobj.set("net_weight", net_weight); diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java index 7c66a4f..59671af 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java @@ -57,6 +57,7 @@ import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.SqlReporter; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; import com.jfinal.plugin.druid.DruidPlugin; +import com.jfinal.plugin.druid.DruidStatViewHandler; import com.jfinal.plugin.redis.RedisPlugin; import com.jfinal.template.Engine; import com.cowr.common.Interceptor.ReporterInterceptor; @@ -237,6 +238,9 @@ public class Config extends JFinalConfig { // 让 druid 允许在 sql 中使用 union // https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE-wallfilter wallFilter.getConfig().setSelectUnionCheck(false); + if("dev".equals(ENV)){ + me.add(new DruidStatViewHandler("/druid")); + } me.add(new GlobalHandler()); }