Просмотр исходного кода

添加日志自定义注解,添加切面配置

laowo 4 лет назад
Родитель
Сommit
d3826efd9d

+ 169 - 112
WebRoot/WEB-INF/hibernate.cfg.xml

@@ -1,120 +1,177 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
 <hibernate-configuration>
 
 
+    <session-factory name="">
+        <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
+        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
+        <property name="hibernate.connection.password">uskyIOT</property>
+        <property name="hibernate.connection.url">jdbc:mysql://47.98.201.187:3306/ytIoT?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true&amp;autoReconnectForPools=true&amp;zeroDateTimeBehavior=convertToNull</property>
+        <property name="hibernate.connection.username">uskyIOT</property>
+        <property name="hibernate.connection.autocommit">true</property>
+        <property name="hibernate.connection.release_mode">after_statement</property>
+        <property name="hibernate.dialect">cn.com.usky.utils.DialectForInkfish</property>
+        <property name="hibernate.show_sql">true</property>
+        <property name="hibernate.format_sql">true</property>
+        <property name="hibernate.c3p0.max_size">10</property>
+        <property name="hibernate.c3p0.min_size">3</property>
+        <property name="hibernate.c3p0.timeout">1800</property>
+        <property name="hibernate.c3p0.max_statements">100</property>
+        <!--根据实体自动创建表-->
+        <property name="hbm2ddl.auto">update</property>
+        <!-- 最大执行的命令格个数 -->
+        <property name="hibernate.c3p0.idle_test_period">30000</property>
+        <!-- 空闲测试时间 -->
+        <property name="hibernate.c3p0.acquire_increment">2</property>
+        <!-- 连接不够用时,每次增加的个数 -->
+        <mapping class="cn.com.usky.iot.entity.YtiotTOrder" resource="cn/com/usky/iot/entity/YtiotTOrder.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTRelationCompanyAdmin"
+                 resource="cn/com/usky/iot/entity/YtiotTRelationCompanyAdmin.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTRelationverCompanyAdmin"
+                 resource="cn/com/usky/iot/entity/YtiotTRelationverCompanyAdmin.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTAdmin" resource="cn/com/usky/iot/entity/YtiotTAdmin.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTAdminVer"
+                 resource="cn/com/usky/iot/entity/YtiotTAdminVer.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTArea" resource="cn/com/usky/iot/entity/YtiotTArea.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTAreaver" resource="cn/com/usky/iot/entity/YtiotTAreaver.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTCompany" resource="cn/com/usky/iot/entity/YtiotTCompany.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTCompanyVer"
+                 resource="cn/com/usky/iot/entity/YtiotTCompanyVer.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTBuilding"
+                 resource="cn/com/usky/iot/entity/YtiotTBuilding.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTBuildingver"
+                 resource="cn/com/usky/iot/entity/YtiotTBuildingver.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTPoint" resource="cn/com/usky/iot/entity/YtiotTPoint.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTPointver"
+                 resource="cn/com/usky/iot/entity/YtiotTPointver.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTUnit" resource="cn/com/usky/iot/entity/YtiotTUnit.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTUnitver" resource="cn/com/usky/iot/entity/YtiotTUnitver.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVCompany" resource="cn/com/usky/iot/entity/YtiotVCompany.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVHj" resource="cn/com/usky/iot/entity/YtiotVHj.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVEfire" resource="cn/com/usky/iot/entity/YtiotVEfire.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVRtu" resource="cn/com/usky/iot/entity/YtiotVRtu.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVLift" resource="cn/com/usky/iot/entity/YtiotVLift.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVSj" resource="cn/com/usky/iot/entity/YtiotVSj.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVSync" resource="cn/com/usky/iot/entity/YtiotVSync.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVSyncData"
+                 resource="cn/com/usky/iot/entity/YtiotVSyncData.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVSyncStatus"
+                 resource="cn/com/usky/iot/entity/YtiotVSyncStatus.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVUsercompany"
+                 resource="cn/com/usky/iot/entity/YtiotVUsercompany.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVUserphone"
+                 resource="cn/com/usky/iot/entity/YtiotVUserphone.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTQrcodeAnalysis"
+                 resource="cn/com/usky/iot/entity/YtiotTQrcodeAnalysis.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTPatrolPlan"
+                 resource="cn/com/usky/iot/entity/YtiotTPatrolPlan.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTInspectors"
+                 resource="cn/com/usky/iot/entity/YtiotTInspectors.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTInspectionRecord"
+                 resource="cn/com/usky/iot/entity/YtiotTInspectionRecord.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTRoute" resource="cn/com/usky/iot/entity/YtiotTRoute.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTPatrolPoint"
+                 resource="cn/com/usky/iot/entity/YtiotTPatrolPoint.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTcAlarmPackages"
+                 resource="cn/com/usky/iot/entity/YtiotTcAlarmPackages.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTcAlarmPackagesZb"
+                 resource="cn/com/usky/iot/entity/YtiotTcAlarmPackagesZb.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTcOutgoingAlarm"
+                 resource="cn/com/usky/iot/entity/YtiotTcOutgoingAlarm.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVVideoalarm"
+                 resource="cn/com/usky/iot/entity/YtiotVVideoalarm.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTInterface"
+                 resource="cn/com/usky/iot/entity/YtiotTInterface.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTInterfaceU"
+                 resource="cn/com/usky/iot/entity/YtiotTInterfaceU.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTInterfaceUc"
+                 resource="cn/com/usky/iot/entity/YtiotTInterfaceUc.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVObject" resource="cn/com/usky/iot/entity/YtiotVObject.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTQrcodeAnalysis2"
+                 resource="cn/com/usky/iot/entity/YtiotTQrcodeAnalysis2.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTMaintenance"
+                 resource="cn/com/usky/iot/entity/YtiotTMaintenance.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTRoute2" resource="cn/com/usky/iot/entity/YtiotTRoute2.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTMaintenancePerson"
+                 resource="cn/com/usky/iot/entity/YtiotTMaintenancePerson.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTMaintenancePlan"
+                 resource="cn/com/usky/iot/entity/YtiotTMaintenancePlan.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTMaintenanceRecord"
+                 resource="cn/com/usky/iot/entity/YtiotTMaintenanceRecord.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjInspectionPoints"
+                 resource="cn/com/usky/iot/entity/YtiotXjInspectionPoints.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjInspectors"
+                 resource="cn/com/usky/iot/entity/YtiotXjInspectors.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjInspectorsCompany"
+                 resource="cn/com/usky/iot/entity/YtiotXjInspectorsCompany.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjOperationRecordPhotos"
+                 resource="cn/com/usky/iot/entity/YtiotXjOperationRecordPhotos.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjPlanChild"
+                 resource="cn/com/usky/iot/entity/YtiotXjPlanChild.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjPlanMaster"
+                 resource="cn/com/usky/iot/entity/YtiotXjPlanMaster.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjPlanSpot"
+                 resource="cn/com/usky/iot/entity/YtiotXjPlanSpot.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjPlanTeam"
+                 resource="cn/com/usky/iot/entity/YtiotXjPlanTeam.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjSpotEquipment"
+                 resource="cn/com/usky/iot/entity/YtiotXjSpotEquipment.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjSpotOperationRecord"
+                 resource="cn/com/usky/iot/entity/YtiotXjSpotOperationRecord.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjTeamPersonnel"
+                 resource="cn/com/usky/iot/entity/YtiotXjTeamPersonnel.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTProjectDetails"
+                 resource="cn/com/usky/iot/entity/YtiotTProjectDetails.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTProjectDevice"
+                 resource="cn/com/usky/iot/entity/YtiotTProjectDevice.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTProjectMonitor"
+                 resource="cn/com/usky/iot/entity/YtiotTProjectMonitor.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVDeviceStatus"
+                 resource="cn/com/usky/iot/entity/YtiotVDeviceStatus.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjEventProcessing"
+                 resource="cn/com/usky/iot/entity/YtiotXjEventProcessing.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjToExamine"
+                 resource="cn/com/usky/iot/entity/YtiotXjToExamine.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotXjToExamine1"
+                 resource="cn/com/usky/iot/entity/YtiotXjToExamine1.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotYyPzb" resource="cn/com/usky/iot/entity/YtiotYyPzb.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotYyPzb2" resource="cn/com/usky/iot/entity/YtiotYyPzb2.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotYySjjl" resource="cn/com/usky/iot/entity/YtiotYySjjl.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotYyCzjl" resource="cn/com/usky/iot/entity/YtiotYyCzjl.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotYyXhconfig"
+                 resource="cn/com/usky/iot/entity/YtiotYyXhconfig.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVideoAlarm"
+                 resource="cn/com/usky/iot/entity/YtiotVideoAlarm.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVideoAlarm2" resource="cn/com/usky/iot/entity/YtiotVideo2.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotVideoOffline"
+                 resource="cn/com/usky/iot/entity/YtiotVideoOffline.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.MqttBean" resource="cn/com/usky/iot/entity/MqttBean.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.MqttBeanAlarm" resource="cn/com/usky/iot/entity/MqttBeanAlarm.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.Hj2017Bean" resource="cn/com/usky/iot/entity/Hj2017Bean.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.Sp_owner" resource="cn/com/usky/iot/entity/Sp_owner.xml"/>
+        <mapping class="cn.com.usky.iot.entity.Sp_owner_phone" resource="cn/com/usky/iot/entity/Sp_owner_phone.xml"/>
+        <mapping class="cn.com.usky.iot.entity.MonthReport" resource="cn/com/usky/iot/entity/MonthRepor.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YearReport" resource="cn/com/usky/iot/entity/YearReport.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.firestation.YtiotFireStationEntity"
+                 resource="cn/com/usky/iot/entity/firestation/YtiotFireStationEntity.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.contract.YtiotContractEntity"
+                 resource="cn/com/usky/iot/entity/contract/YtiotContractEntity.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.group.YtTGroupEntity"
+                 resource="cn/com/usky/iot/entity/group/YtTGroupEntity.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTControlroom"
+                 resource="cn/com/usky/iot/entity/YtiotTControlroom.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.group.YtiotVDeviceEntity"
+                 resource="cn/com/usky/iot/entity/group/YtiotVDeviceEntity.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTEfAnalysis"
+                 resource="cn/com/usky/iot/entity/YtiotTEfAnalysis.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTWaterAnalysis"
+                 resource="cn/com/usky/iot/entity/YtiotTWaterAnalysis.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.YtiotTAdminStateEntity"
+                 resource="cn/com/usky/iot/entity/YtiotTAdminStateEntity.hbm.xml"/>
+        <mapping class="cn.com.usky.iot.entity.sys.SysLogDTO" resource="cn/com/usky/iot/entity/sys/SysLogDTO.hbm.xml"/>
 
- <session-factory name="">
-  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
-  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
-  <property name="hibernate.connection.password">uskyIOT</property>
-  <property name="hibernate.connection.url">jdbc:mysql://47.98.201.187:3306/ytIoT?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true&amp;autoReconnectForPools=true&amp;zeroDateTimeBehavior=convertToNull</property>
-  <property name="hibernate.connection.username">uskyIOT</property>
-  <property name="hibernate.connection.autocommit">true</property>
-  <property name="hibernate.connection.release_mode">after_statement</property>
-  <property name="hibernate.dialect">cn.com.usky.utils.DialectForInkfish</property>
-  <property name="hibernate.show_sql">true</property>
-  <property name="hibernate.format_sql">true</property>
-  <property name="hibernate.c3p0.max_size">10</property>
-  <property name="hibernate.c3p0.min_size">3</property>
-  <property name="hibernate.c3p0.timeout">1800</property>
-  <property name="hibernate.c3p0.max_statements">100</property>
-  <!--根据实体自动创建表-->
-  <property name="hbm2ddl.auto">update</property>
-  <!-- 最大执行的命令格个数 -->
-  <property name="hibernate.c3p0.idle_test_period">30000</property>
-  <!-- 空闲测试时间 -->
-  <property name="hibernate.c3p0.acquire_increment">2</property>
-  <!-- 连接不够用时,每次增加的个数 -->
-  <mapping class="cn.com.usky.iot.entity.YtiotTOrder" resource="cn/com/usky/iot/entity/YtiotTOrder.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTRelationCompanyAdmin" resource="cn/com/usky/iot/entity/YtiotTRelationCompanyAdmin.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTRelationverCompanyAdmin" resource="cn/com/usky/iot/entity/YtiotTRelationverCompanyAdmin.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTAdmin" resource="cn/com/usky/iot/entity/YtiotTAdmin.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTAdminVer" resource="cn/com/usky/iot/entity/YtiotTAdminVer.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTArea" resource="cn/com/usky/iot/entity/YtiotTArea.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTAreaver" resource="cn/com/usky/iot/entity/YtiotTAreaver.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTCompany" resource="cn/com/usky/iot/entity/YtiotTCompany.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTCompanyVer" resource="cn/com/usky/iot/entity/YtiotTCompanyVer.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTBuilding" resource="cn/com/usky/iot/entity/YtiotTBuilding.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTBuildingver" resource="cn/com/usky/iot/entity/YtiotTBuildingver.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTPoint" resource="cn/com/usky/iot/entity/YtiotTPoint.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTPointver" resource="cn/com/usky/iot/entity/YtiotTPointver.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTUnit" resource="cn/com/usky/iot/entity/YtiotTUnit.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTUnitver" resource="cn/com/usky/iot/entity/YtiotTUnitver.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVCompany" resource="cn/com/usky/iot/entity/YtiotVCompany.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVHj" resource="cn/com/usky/iot/entity/YtiotVHj.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVEfire" resource="cn/com/usky/iot/entity/YtiotVEfire.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVRtu" resource="cn/com/usky/iot/entity/YtiotVRtu.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVLift" resource="cn/com/usky/iot/entity/YtiotVLift.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVSj" resource="cn/com/usky/iot/entity/YtiotVSj.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVSync" resource="cn/com/usky/iot/entity/YtiotVSync.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVSyncData" resource="cn/com/usky/iot/entity/YtiotVSyncData.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVSyncStatus" resource="cn/com/usky/iot/entity/YtiotVSyncStatus.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVUsercompany" resource="cn/com/usky/iot/entity/YtiotVUsercompany.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVUserphone" resource="cn/com/usky/iot/entity/YtiotVUserphone.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTQrcodeAnalysis" resource="cn/com/usky/iot/entity/YtiotTQrcodeAnalysis.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTPatrolPlan" resource="cn/com/usky/iot/entity/YtiotTPatrolPlan.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTInspectors" resource="cn/com/usky/iot/entity/YtiotTInspectors.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTInspectionRecord" resource="cn/com/usky/iot/entity/YtiotTInspectionRecord.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTRoute" resource="cn/com/usky/iot/entity/YtiotTRoute.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTPatrolPoint" resource="cn/com/usky/iot/entity/YtiotTPatrolPoint.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTcAlarmPackages" resource="cn/com/usky/iot/entity/YtiotTcAlarmPackages.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTcAlarmPackagesZb" resource="cn/com/usky/iot/entity/YtiotTcAlarmPackagesZb.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTcOutgoingAlarm" resource="cn/com/usky/iot/entity/YtiotTcOutgoingAlarm.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVVideoalarm" resource="cn/com/usky/iot/entity/YtiotVVideoalarm.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTInterface" resource="cn/com/usky/iot/entity/YtiotTInterface.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTInterfaceU" resource="cn/com/usky/iot/entity/YtiotTInterfaceU.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTInterfaceUc" resource="cn/com/usky/iot/entity/YtiotTInterfaceUc.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVObject" resource="cn/com/usky/iot/entity/YtiotVObject.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTQrcodeAnalysis2" resource="cn/com/usky/iot/entity/YtiotTQrcodeAnalysis2.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTMaintenance" resource="cn/com/usky/iot/entity/YtiotTMaintenance.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTRoute2" resource="cn/com/usky/iot/entity/YtiotTRoute2.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTMaintenancePerson" resource="cn/com/usky/iot/entity/YtiotTMaintenancePerson.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTMaintenancePlan" resource="cn/com/usky/iot/entity/YtiotTMaintenancePlan.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTMaintenanceRecord" resource="cn/com/usky/iot/entity/YtiotTMaintenanceRecord.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjInspectionPoints" resource="cn/com/usky/iot/entity/YtiotXjInspectionPoints.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjInspectors" resource="cn/com/usky/iot/entity/YtiotXjInspectors.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjInspectorsCompany" resource="cn/com/usky/iot/entity/YtiotXjInspectorsCompany.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjOperationRecordPhotos" resource="cn/com/usky/iot/entity/YtiotXjOperationRecordPhotos.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjPlanChild" resource="cn/com/usky/iot/entity/YtiotXjPlanChild.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjPlanMaster" resource="cn/com/usky/iot/entity/YtiotXjPlanMaster.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjPlanSpot" resource="cn/com/usky/iot/entity/YtiotXjPlanSpot.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjPlanTeam" resource="cn/com/usky/iot/entity/YtiotXjPlanTeam.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjSpotEquipment" resource="cn/com/usky/iot/entity/YtiotXjSpotEquipment.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjSpotOperationRecord" resource="cn/com/usky/iot/entity/YtiotXjSpotOperationRecord.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjTeamPersonnel" resource="cn/com/usky/iot/entity/YtiotXjTeamPersonnel.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTProjectDetails" resource="cn/com/usky/iot/entity/YtiotTProjectDetails.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTProjectDevice" resource="cn/com/usky/iot/entity/YtiotTProjectDevice.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTProjectMonitor" resource="cn/com/usky/iot/entity/YtiotTProjectMonitor.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVDeviceStatus" resource="cn/com/usky/iot/entity/YtiotVDeviceStatus.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjEventProcessing" resource="cn/com/usky/iot/entity/YtiotXjEventProcessing.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjToExamine" resource="cn/com/usky/iot/entity/YtiotXjToExamine.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotXjToExamine1" resource="cn/com/usky/iot/entity/YtiotXjToExamine1.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotYyPzb" resource="cn/com/usky/iot/entity/YtiotYyPzb.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotYyPzb2" resource="cn/com/usky/iot/entity/YtiotYyPzb2.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotYySjjl" resource="cn/com/usky/iot/entity/YtiotYySjjl.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotYyCzjl" resource="cn/com/usky/iot/entity/YtiotYyCzjl.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotYyXhconfig" resource="cn/com/usky/iot/entity/YtiotYyXhconfig.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVideoAlarm" resource="cn/com/usky/iot/entity/YtiotVideoAlarm.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVideoAlarm2" resource="cn/com/usky/iot/entity/YtiotVideo2.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotVideoOffline" resource="cn/com/usky/iot/entity/YtiotVideoOffline.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.MqttBean" resource="cn/com/usky/iot/entity/MqttBean.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.MqttBeanAlarm" resource="cn/com/usky/iot/entity/MqttBeanAlarm.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.Hj2017Bean" resource="cn/com/usky/iot/entity/Hj2017Bean.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.Sp_owner" resource="cn/com/usky/iot/entity/Sp_owner.xml"/>
-  <mapping class="cn.com.usky.iot.entity.Sp_owner_phone" resource="cn/com/usky/iot/entity/Sp_owner_phone.xml"/>
-  <mapping class="cn.com.usky.iot.entity.MonthReport" resource="cn/com/usky/iot/entity/MonthRepor.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YearReport" resource="cn/com/usky/iot/entity/YearReport.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.firestation.YtiotFireStationEntity" resource="cn/com/usky/iot/entity/firestation/YtiotFireStationEntity.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.contract.YtiotContractEntity" resource="cn/com/usky/iot/entity/contract/YtiotContractEntity.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.group.YtTGroupEntity" resource="cn/com/usky/iot/entity/group/YtTGroupEntity.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTControlroom" resource="cn/com/usky/iot/entity/YtiotTControlroom.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.group.YtiotVDeviceEntity" resource="cn/com/usky/iot/entity/group/YtiotVDeviceEntity.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTEfAnalysis" resource="cn/com/usky/iot/entity/YtiotTEfAnalysis.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTWaterAnalysis" resource="cn/com/usky/iot/entity/YtiotTWaterAnalysis.hbm.xml"/>
-  <mapping class="cn.com.usky.iot.entity.YtiotTAdminStateEntity" resource="cn/com/usky/iot/entity/YtiotTAdminStateEntity.hbm.xml"/>
-
- </session-factory>
+    </session-factory>
 </hibernate-configuration>

BIN
WebRoot/WEB-INF/lib/aspectjrt-1.6.2.jar


BIN
WebRoot/WEB-INF/lib/aspectjweaver-1.9.2.jar


+ 40 - 9
WebRoot/WEB-INF/spring-servlet.xml

@@ -4,16 +4,15 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
+       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
 
-       xsi:schemaLocation="
-    http://www.springframework.org/schema/beans
-    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
-    http://www.springframework.org/schema/context
-    http://www.springframework.org/schema/context/spring-context-3.0.xsd
-    http://www.springframework.org/schema/task  
-	http://www.springframework.org/schema/task/spring-task-3.0.xsd
-    http://www.springframework.org/schema/mvc  
-    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+   http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/mvc
+        http://www.springframework.org/schema/mvc/spring-mvc.xsd
+        http://www.springframework.org/schema/context
+        http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+   ">
     <!-- 默认的注解映射的支持 -->
     <mvc:annotation-driven/>
     <!--启用自动扫描  -->
@@ -24,6 +23,17 @@
     <task:annotation-driven scheduler="qbScheduler" mode="proxy"/>
     <task:scheduler id="qbScheduler" pool-size="10"/>
 
+    <aop:config>
+        <!-- 切面 -->
+        <aop:aspect ref="AutoLogAspect">
+            <!-- 定义切点 -->
+            <aop:pointcut expression="@annotation(cn.com.usky.iot.annotion.AutoLog)" id="pt"/>
+            <!-- 声明环绕通知 -->
+            <aop:around method="around" pointcut-ref="pt"/>
+        </aop:aspect>
+    </aop:config>
+
+
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <property name="prefix" value="/opt/"/>
         <property name="suffix" value=".jsp"/>
@@ -1345,6 +1355,14 @@
             <ref bean="daoQuery"/>
         </property>
     </bean>
+
+    <bean id="LogServiceImpl" class="cn.com.usky.log.LogServiceImpl">
+        <property name="hibernateTemplate">
+            <ref bean="hibernateTemplate"/>
+        </property>
+
+    </bean>
+
     <bean id="ytiotTAdminStateEntityService"
           class="cn.com.usky.iot.userstatus.service.YtiotTAdminStateEntityServicesImpl">
         <property name="ytiotTAdminStateEntityDao">
@@ -1357,4 +1375,17 @@
             <ref bean="ytiotTEfAnalysisDao"/>
         </property>
     </bean>
+
+
+    <bean id="AutoLogAspect"
+          class="cn.com.usky.iot.aspect.AutoLogAspect">
+        <property name="TokenAuthService">
+            <ref bean="TokenAuthService"/>
+        </property>
+        <property name="LogServiceImpl">
+            <ref bean="LogServiceImpl"/>
+        </property>
+
+    </bean>
+
 </beans>

+ 2 - 1
WebRoot/view/frontpage/js/index.js

@@ -282,7 +282,8 @@
                 qobj.V_COMPANYID = company_code;
                 qobj.I_COMMAND = 4;
                 var qdata = "queryJson=" + JSON.stringify(qobj);
-                var qurl = 'https://iot.usky.cn/YtIoT/cgi-bin/WebAction2.cgi';
+            //    var qurl = 'https://iot.usky.cn/YtIoT/cgi-bin/WebAction2.cgi';
+                var qurl = 'http://47.103.74.123:8080/YtIoT/cgi-bin/WebAction.cgi';
                 $.ajax({
                     type: 'POST',
                     url: qurl,

+ 4 - 2
WebRoot/view/frontpage/js/map.js

@@ -286,7 +286,8 @@ var showInfo = function(e){
 			qobj.V_COMPANYID = company_code;
 			qobj.I_COMMAND = 4;
 			var qdata = "queryJson="+JSON.stringify(qobj);
-			var qurl = 'https://iot.usky.cn/YtIoT/cgi-bin/WebAction2.cgi';
+		//	var qurl = 'https://iot.usky.cn/YtIoT/cgi-bin/WebAction2.cgi';
+			var qurl = 'http://47.103.74.123:8080/YtIoT/cgi-bin/WebAction.cgi';
 			$.ajax({
 				type:'POST',
 				url: qurl,
@@ -1501,7 +1502,8 @@ var showOperat = function(){
 		qobj.V_COMPANYID = company_code;
 		qobj.I_COMMAND = 4;
 		var qdata = "queryJson="+JSON.stringify(qobj);
-		var qurl = 'https://47.103.74.123:8080/YtIoT/cgi-bin/WebAction2.cgi';
+	//	var qurl = 'https://47.103.74.123:8080/YtIoT/cgi-bin/WebAction2.cgi';
+		var qurl = 'http://47.103.74.123:8080/YtIoT/cgi-bin/WebAction.cgi';
 		for(var i=0;i<StatusStore.length;i++){
 			var obj = StatusStore[i];
 			d1  += obj.d1;

+ 2 - 1
WebRoot/view/frontpage/scripts/map.js

@@ -1145,7 +1145,8 @@ var showInfo = function(e) {
             qobj.V_COMPANYID = company_code;
             qobj.I_COMMAND = 4;
             var qdata = "queryJson=" + JSON.stringify(qobj);
-            var qurl = 'https://aiot.usky.cn:8443/YtIoT/cgi-bin/WebAction2.cgi';
+        //    var qurl = 'https://aiot.usky.cn:8443/YtIoT/cgi-bin/WebAction2.cgi';
+            var qurl = 'http://47.103.74.123:8080/YtIoT/cgi-bin/WebAction.cgi';
             $.ajax({
                 type: 'POST',
                 url: qurl,

+ 38 - 0
src/cn/com/usky/iot/annotion/AutoLog.java

@@ -0,0 +1,38 @@
+package cn.com.usky.iot.annotion;
+
+import cn.com.usky.iot.controller.login.CommonConstant;
+import cn.com.usky.iot.controller.login.Constants;
+
+import java.lang.annotation.*;
+
+/**
+ * 系统日志注解
+ *
+ * @author laowo
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface AutoLog {
+
+    /**
+     * 日志内容
+     *
+     * @return
+     */
+    String value() default "";
+
+    /**
+     * 日志类型
+     *
+     * @return 0:操作日志;1:登录日志;2:定时任务;
+     */
+    int logType() default CommonConstant.LOG_TYPE_2;
+
+    /**
+     * 操作日志类型
+     *
+     * @return (1查询,2添加,3修改,4删除)
+     */
+    int operateType() default 0;
+}

+ 193 - 0
src/cn/com/usky/iot/aspect/AutoLogAspect.java

@@ -0,0 +1,193 @@
+package cn.com.usky.iot.aspect;
+
+import cn.com.usky.iot.annotion.AutoLog;
+import cn.com.usky.iot.auth.TokenAuthBO;
+import cn.com.usky.iot.auth.TokenAuthService;
+import cn.com.usky.iot.controller.login.CommonConstant;
+import cn.com.usky.iot.controller.login.Constants;
+import cn.com.usky.iot.entity.YtiotTAdmin;
+import cn.com.usky.iot.entity.sys.SysLogDTO;
+import cn.com.usky.log.LogServiceImpl;
+import cn.com.usky.utils.HttpServletRequestUtils;
+import cn.com.usky.utils.IPUtils;
+import cn.com.usky.utils.SpringContextUtils;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.PropertyFilter;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Method;
+import java.sql.Timestamp;
+
+
+/**
+ * @author laowo
+ * @version v1.0
+ * @date 2020/11/10 14:41
+ * @description 系统日志切面类
+ **/
+//@Aspect
+//@Component
+public class AutoLogAspect {
+    public TokenAuthService getTokenAuthService() {
+        return tokenAuthService;
+    }
+
+    public void setTokenAuthService(TokenAuthService tokenAuthService) {
+        this.tokenAuthService = tokenAuthService;
+    }
+
+    private TokenAuthService tokenAuthService;
+
+    private LogServiceImpl logService;
+    public LogServiceImpl getLogService() {
+        return logService;
+    }
+    public void setLogServiceImpl(LogServiceImpl logService) {
+        this.logService = logService;
+    }
+  //  @Pointcut("@annotation(cn.com.usky.iot.annotion.AutoLog)")
+    public void logPointCut() {
+    }
+  //  @Around("logPointCut()")
+    public Object around(ProceedingJoinPoint point) throws Throwable {
+        long beginTime = System.currentTimeMillis();
+        //执行方法
+        Object result = point.proceed();
+        //执行时长(毫秒)
+        long time = System.currentTimeMillis() - beginTime;
+        //保存日志
+        saveSysLog(point, time, result);
+        return result;
+    }
+
+    private void saveSysLog(ProceedingJoinPoint joinPoint, long time, Object obj) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+        SysLogDTO dto = new SysLogDTO();
+        AutoLog syslog = method.getAnnotation(AutoLog.class);
+        if (syslog != null) {
+            //update-begin-author:taoyan date:
+            String content = syslog.value();
+            //注解上的描述,操作日志内容
+            dto.setLogType(syslog.logType());
+            dto.setLogContent(content);
+        }
+        //请求的方法名
+        String className = joinPoint.getTarget().getClass().getName();
+        String methodName = signature.getName();
+        dto.setMethod(className + "." + methodName + "()");
+        //设置操作类型
+        if (dto.getLogType() == CommonConstant.LOG_TYPE_2) {
+            dto.setOperateType(getOperateType(methodName, syslog.operateType()));
+        }
+        //获取request
+        HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
+        TokenAuthBO tokenAuthBO = HttpServletRequestUtils.tokenAuthForYT(request, tokenAuthService);
+        boolean isAuth = tokenAuthBO.isAuthState();
+        //请求的参数
+        dto.setRequestType(request.getMethod());
+        dto.setRequestParam(getReqestParams(request, joinPoint));
+        //设置IP地址
+        dto.setIp(IPUtils.getIpAddr(request));
+        if (!isAuth) {
+            return;
+        }
+        YtiotTAdmin o = (YtiotTAdmin) tokenAuthBO.getData().get(Constants.USER_INFO);
+        dto.setUserid(o.getVLoginname());
+        dto.setUsername(o.getUqAdminId());
+        //耗时
+        dto.setCostTime(time);
+        dto.setCreateTime(new Timestamp(System.currentTimeMillis()));
+        //保存系统日志
+        logService.addLog(dto);
+    }
+
+
+    /**
+     * 获取操作类型
+     */
+    private int getOperateType(String methodName, int operateType) {
+        if (operateType > 0) {
+            return operateType;
+        }
+        if (methodName.startsWith("list")) {
+            return CommonConstant.OPERATE_TYPE_1;
+        }
+        if (methodName.startsWith("add")) {
+            return CommonConstant.OPERATE_TYPE_2;
+        }
+        if (methodName.startsWith("edit")) {
+            return CommonConstant.OPERATE_TYPE_3;
+        }
+        if (methodName.startsWith("delete")) {
+            return CommonConstant.OPERATE_TYPE_4;
+        }
+        if (methodName.startsWith("import")) {
+            return CommonConstant.OPERATE_TYPE_5;
+        }
+        if (methodName.startsWith("export")) {
+            return CommonConstant.OPERATE_TYPE_6;
+        }
+        return CommonConstant.OPERATE_TYPE_1;
+    }
+
+    /**
+     * 请求参数获取
+     *
+     * @param request
+     * @param joinPoint
+     * @return
+     */
+    private String getReqestParams(HttpServletRequest request, JoinPoint joinPoint) {
+        String httpMethod = request.getMethod();
+        String params = "";
+        if ("POST".equals(httpMethod) || "PUT".equals(httpMethod) || "PATCH".equals(httpMethod)) {
+            Object[] paramsArray = joinPoint.getArgs();
+            // java.lang.IllegalStateException: It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
+            //  https://my.oschina.net/mengzhang6/blog/2395893
+            Object[] arguments = new Object[paramsArray.length];
+            for (int i = 0; i < paramsArray.length; i++) {
+                if (paramsArray[i] instanceof BindingResult || paramsArray[i] instanceof ServletRequest || paramsArray[i] instanceof ServletResponse || paramsArray[i] instanceof MultipartFile) {
+                    //ServletRequest不能序列化,从入参里排除,否则报异常:java.lang.IllegalStateException: It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
+                    //ServletResponse不能序列化 从入参里排除,否则报异常:java.lang.IllegalStateException: getOutputStream() has already been called for this response
+                    continue;
+                }
+                arguments[i] = paramsArray[i];
+            }
+            //update-begin-author:taoyan date:20200724 for:日志数据太长的直接过滤掉
+            PropertyFilter profilter = new PropertyFilter() {
+                @Override
+                public boolean apply(Object o, String name, Object value) {
+                    if (value != null && value.toString().length() > 500) {
+                        return false;
+                    }
+                    return true;
+                }
+            };
+            params = JSONObject.toJSONString(arguments, profilter);
+            //update-end-author:taoyan date:20200724 for:日志数据太长的直接过滤掉
+        } else {
+            MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+            Method method = signature.getMethod();
+            // 请求的方法参数值
+            Object[] args = joinPoint.getArgs();
+            // 请求的方法参数名称
+            LocalVariableTableParameterNameDiscoverer u = new LocalVariableTableParameterNameDiscoverer();
+            String[] paramNames = u.getParameterNames(method);
+            if (args != null && paramNames != null) {
+                for (int i = 0; i < args.length; i++) {
+                    params += "  " + paramNames[i] + ": " + args[i];
+                }
+            }
+        }
+        return params;
+    }
+}

+ 81 - 0
src/cn/com/usky/iot/controller/login/CommonConstant.java

@@ -0,0 +1,81 @@
+package cn.com.usky.iot.controller.login;
+
+public interface CommonConstant {
+
+	/**
+	 * 正常状态
+	 */
+	public static final Integer STATUS_NORMAL = 0;
+
+	/**
+	 * 禁用状态
+	 */
+	public static final Integer STATUS_DISABLE = -1;
+
+	/**
+	 * 删除标志
+	 */
+	public static final Integer DEL_FLAG_1 = 1;
+
+	/**
+	 * 未删除
+	 */
+	public static final Integer DEL_FLAG_0 = 0;
+
+	/**
+	 * 系统日志类型: 登录
+	 */
+	public static final int LOG_TYPE_1 = 1;
+	
+	/**
+	 * 系统日志类型: 操作
+	 */
+	public static final int LOG_TYPE_2 = 2;
+
+	/**
+	 * 操作日志类型: 查询
+	 */
+	public static final int OPERATE_TYPE_1 = 1;
+	
+	/**
+	 * 操作日志类型: 添加
+	 */
+	public static final int OPERATE_TYPE_2 = 2;
+	
+	/**
+	 * 操作日志类型: 更新
+	 */
+	public static final int OPERATE_TYPE_3 = 3;
+	
+	/**
+	 * 操作日志类型: 删除
+	 */
+	public static final int OPERATE_TYPE_4 = 4;
+	
+	/**
+	 * 操作日志类型: 导入
+	 */
+	public static final int OPERATE_TYPE_5 = 5;
+	
+	/**
+	 * 操作日志类型: 导出
+	 */
+	public static final int OPERATE_TYPE_6 = 6;
+	
+	
+	/** {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */
+    public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500;
+    /** {@code 200 OK} (HTTP/1.0 - RFC 1945) */
+    public static final Integer SC_OK_200 = 200;
+
+	/**
+	 * 首页天气地址
+	 */
+
+	public static final String TOP_WEATHER_HOST  = "https://weather01.market.alicloudapi.com";
+	public static final String TOP_WEATHER_PATH  = "/area-to-weather";
+	public static final String TOP_WEATHER_METHOD  = "GET";
+	public static final String TOP_WEATHER_APPCODE  = "0f2b7fce6e104ba8835358b7b59b4fb6";
+
+
+}

+ 3 - 27
src/cn/com/usky/iot/controller/login/LoginController.java

@@ -1,5 +1,6 @@
 package cn.com.usky.iot.controller.login;
 
+import cn.com.usky.iot.annotion.AutoLog;
 import cn.com.usky.iot.auth.TokenAuthBO;
 import cn.com.usky.iot.auth.TokenAuthService;
 import cn.com.usky.utils.CheckNumber;
@@ -38,6 +39,7 @@ public class LoginController extends BaseReController {
 
     @RequestMapping("tolgin")
     @ResponseBody
+    @AutoLog("用户登录")
     public String login(@RequestParam("queryJson") String queryJson) {
         String sessionCheckNumber = (String) session.getAttribute("checkNumber");
         JSONObject jsonObject = JSONObject.fromObject(queryJson);
@@ -62,7 +64,7 @@ public class LoginController extends BaseReController {
         String V_PASSWORD = jsonObject.has("V_PASSWORD") ? jsonObject.getString("V_PASSWORD") : null;
         return loginService.tologin(V_LOGINNAME, V_PASSWORD, response, request);
     }
-
+    @AutoLog("sjdidjisdjisdjisdjis")
     @RequestMapping(value = "getCheckNumber")
     public void getCheckNumber(HttpServletResponse response, HttpServletRequest request) throws IOException {
         //创建对象
@@ -78,30 +80,4 @@ public class LoginController extends BaseReController {
         ImageIO.write(image, "JPEG", response.getOutputStream());
     }
 
-
-    //    @RequestMapping("/checkNumber/{userCaptcha}")
-//    @ResponseBody
-//    public Map checkNumber(@PathVariable("userCaptcha") String userCaptcha, HttpServletRequest request) throws IOException{
-//        //获取用户输入的校验码并进行比较
-//        System.out.println("开始校验contl");
-//        Map<String, String> map = new HashMap<>();
-//        HttpSession session = request.getSession();
-//        String sessionCheckNumber = (String) this.session.getAttribute("checkNumber");
-//        System.out.println(userCaptcha +":"+ sessionCheckNumber);
-//        if (sessionCheckNumber.equalsIgnoreCase(userCaptcha)) {
-//            msg.setCode(ResponseMessage.SUCCESS_CODE);
-//            return msg;
-//        }
-//        msg.setCode(ResponseMessage.ERROR_CODE);
-//        msg.setMessage("验证码输入有误!请重新输入!");
-//        return msg;
-//    }
-    @RequestMapping("test")
-    @ResponseBody
-    public void tett() {
-        TokenAuthBO tokenAuthBO = HttpServletRequestUtils.tokenAuthForPC(request, tokenAuthService);
-        boolean isAuth = tokenAuthBO.isAuthState();
-        System.out.println("isAuth = " + isAuth);
-    }
-
 }

+ 23 - 0
src/cn/com/usky/iot/entity/sys/SysLogDTO.hbm.xml

@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping>
+    <class name="cn.com.usky.iot.entity.sys.SysLogDTO" table="sys_log" schema="ytIoT">
+        <id name="id" column="id"/>
+        <property name="logType" column="log_type"/>
+        <property name="logContent" column="log_content"/>
+        <property name="operateType" column="operate_type"/>
+        <property name="userid" column="userid"/>
+        <property name="username" column="username"/>
+        <property name="ip" column="ip"/>
+        <property name="method" column="method"/>
+        <property name="requestUrl" column="request_url"/>
+        <property name="requestParam" column="request_param"/>
+        <property name="requestType" column="request_type"/>
+        <property name="costTime" column="cost_time"/>
+        <property name="createBy" column="create_by"/>
+        <property name="createTime" column="create_time"/>
+        <property name="updateBy" column="update_by"/>
+        <property name="updateTime" column="update_time"/>
+    </class>
+</hibernate-mapping>

+ 205 - 0
src/cn/com/usky/iot/entity/sys/SysLogDTO.java

@@ -0,0 +1,205 @@
+package cn.com.usky.iot.entity.sys;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+import java.util.Objects;
+
+/**
+ * @author laowo
+ * @version v1.0
+ * @date 2021/8/5 16:21
+ * @description TODO
+ **/
+@Entity
+@Table(name = "sys_log", schema = "ytIoT", catalog = "")
+public class SysLogDTO {
+    private int id;
+    private Integer logType;
+    private String logContent;
+    private Integer operateType;
+    private String userid;
+    private String username;
+    private String ip;
+    private String method;
+    private String requestUrl;
+    private String requestParam;
+    private String requestType;
+    private Long costTime;
+    private String createBy;
+    private Timestamp createTime;
+    private String updateBy;
+    private Timestamp updateTime;
+
+    @Id
+    @Column(name = "id")
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    @Basic
+    @Column(name = "log_type")
+    public Integer getLogType() {
+        return logType;
+    }
+
+    public void setLogType(Integer logType) {
+        this.logType = logType;
+    }
+
+    @Basic
+    @Column(name = "log_content")
+    public String getLogContent() {
+        return logContent;
+    }
+
+    public void setLogContent(String logContent) {
+        this.logContent = logContent;
+    }
+
+    @Basic
+    @Column(name = "operate_type")
+    public Integer getOperateType() {
+        return operateType;
+    }
+
+    public void setOperateType(Integer operateType) {
+        this.operateType = operateType;
+    }
+
+    @Basic
+    @Column(name = "userid")
+    public String getUserid() {
+        return userid;
+    }
+
+    public void setUserid(String userid) {
+        this.userid = userid;
+    }
+
+    @Basic
+    @Column(name = "username")
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    @Basic
+    @Column(name = "ip")
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    @Basic
+    @Column(name = "method")
+    public String getMethod() {
+        return method;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    @Basic
+    @Column(name = "request_url")
+    public String getRequestUrl() {
+        return requestUrl;
+    }
+
+    public void setRequestUrl(String requestUrl) {
+        this.requestUrl = requestUrl;
+    }
+
+    @Basic
+    @Column(name = "request_param")
+    public String getRequestParam() {
+        return requestParam;
+    }
+
+    public void setRequestParam(String requestParam) {
+        this.requestParam = requestParam;
+    }
+
+    @Basic
+    @Column(name = "request_type")
+    public String getRequestType() {
+        return requestType;
+    }
+
+    public void setRequestType(String requestType) {
+        this.requestType = requestType;
+    }
+
+    @Basic
+    @Column(name = "cost_time")
+    public Long getCostTime() {
+        return costTime;
+    }
+
+    public void setCostTime(Long costTime) {
+        this.costTime = costTime;
+    }
+
+    @Basic
+    @Column(name = "create_by")
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    @Basic
+    @Column(name = "create_time")
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+
+    @Basic
+    @Column(name = "update_by")
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    @Basic
+    @Column(name = "update_time")
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        SysLogDTO sysLogDTO = (SysLogDTO) o;
+        return id == sysLogDTO.id && Objects.equals(logType, sysLogDTO.logType) && Objects.equals(logContent, sysLogDTO.logContent) && Objects.equals(operateType, sysLogDTO.operateType) && Objects.equals(userid, sysLogDTO.userid) && Objects.equals(username, sysLogDTO.username) && Objects.equals(ip, sysLogDTO.ip) && Objects.equals(method, sysLogDTO.method) && Objects.equals(requestUrl, sysLogDTO.requestUrl) && Objects.equals(requestParam, sysLogDTO.requestParam) && Objects.equals(requestType, sysLogDTO.requestType) && Objects.equals(costTime, sysLogDTO.costTime) && Objects.equals(createBy, sysLogDTO.createBy) && Objects.equals(createTime, sysLogDTO.createTime) && Objects.equals(updateBy, sysLogDTO.updateBy) && Objects.equals(updateTime, sysLogDTO.updateTime);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id, logType, logContent, operateType, userid, username, ip, method, requestUrl, requestParam, requestType, costTime, createBy, createTime, updateBy, updateTime);
+    }
+}

+ 7 - 0
src/cn/com/usky/log/LogService.java

@@ -0,0 +1,7 @@
+package cn.com.usky.log;
+
+import cn.com.usky.iot.entity.sys.SysLogDTO;
+
+public interface LogService {
+    void addLog(SysLogDTO dto);
+}

+ 30 - 0
src/cn/com/usky/log/LogServiceImpl.java

@@ -0,0 +1,30 @@
+package cn.com.usky.log;
+
+
+import cn.com.usky.iot.entity.sys.SysLogDTO;
+import org.springframework.orm.hibernate3.HibernateTemplate;
+
+/**
+ * @author laowo
+ * @version v1.0
+ * @date 2021/7/14 14:10
+ * @description TODO
+ **/
+
+public class LogServiceImpl implements LogService {
+    private HibernateTemplate hibernateTemplate;
+
+    public HibernateTemplate getHibernateTemplate() {
+        return hibernateTemplate;
+    }
+
+    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
+        this.hibernateTemplate = hibernateTemplate;
+    }
+
+    @Override
+    public void addLog(SysLogDTO dto) {
+        hibernateTemplate.save(dto);
+
+    }
+}

+ 1 - 1
src/cn/com/usky/utils/HttpServletRequestUtils.java

@@ -8,7 +8,7 @@ import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * @author laowo PC版本token认证辅助类
+ * @author laowo token认证辅助类
  **/
 public final class HttpServletRequestUtils {
 

+ 58 - 0
src/cn/com/usky/utils/IPUtils.java

@@ -0,0 +1,58 @@
+
+package cn.com.usky.utils;
+
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * IP地址
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+public class IPUtils {
+    private static Logger logger = LoggerFactory.getLogger(IPUtils.class);
+
+    /**
+     * 获取IP地址
+     * <p>
+     * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
+     * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
+     */
+    public static String getIpAddr(HttpServletRequest request) {
+        String ip = null;
+        try {
+            ip = request.getHeader("x-forwarded-for");
+            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+                ip = request.getHeader("Proxy-Client-IP");
+            }
+            if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+                ip = request.getHeader("WL-Proxy-Client-IP");
+            }
+            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+                ip = request.getHeader("HTTP_CLIENT_IP");
+            }
+            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+                ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+            }
+            if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
+                ip = request.getRemoteAddr();
+            }
+        } catch (Exception e) {
+            logger.error("IPUtils ERROR ", e);
+        }
+
+        //使用代理,则获取第一个IP地址
+        if (StringUtils.isEmpty(ip) && ip.length() > 15) {
+            if (ip.indexOf(",") > 0) {
+                ip = ip.substring(0, ip.indexOf(","));
+            }
+        }
+
+        return ip;
+    }
+
+}

+ 79 - 0
src/cn/com/usky/utils/SpringContextUtils.java

@@ -0,0 +1,79 @@
+package cn.com.usky.utils;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Component
+public class SpringContextUtils implements ApplicationContextAware {
+
+	/**
+	 * 上下文对象实例
+	 */
+	private static ApplicationContext applicationContext;
+
+	@Override
+	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+		SpringContextUtils.applicationContext = applicationContext;
+	}
+
+	/**
+	 * 获取applicationContext
+	 *
+	 * @return
+	 */
+	public static ApplicationContext getApplicationContext() {
+		return applicationContext;
+	}
+
+	/**
+	  * 获取HttpServletRequest
+	 */
+	public static HttpServletRequest getHttpServletRequest() {
+		return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+	}
+
+
+	public static String getOrigin(){
+		HttpServletRequest request = getHttpServletRequest();
+		return request.getHeader("Origin");
+	}
+	
+	/**
+	 * 通过name获取 Bean.
+	 *
+	 * @param name
+	 * @return
+	 */
+	public static Object getBean(String name) {
+		return getApplicationContext().getBean(name);
+	}
+
+	/**
+	 * 通过class获取Bean.
+	 *
+	 * @param clazz
+	 * @param       <T>
+	 * @return
+	 */
+	public static <T> T getBean(Class<T> clazz) {
+		return getApplicationContext().getBean(clazz);
+	}
+
+	/**
+	 * 通过name,以及Clazz返回指定的Bean
+	 *
+	 * @param name
+	 * @param clazz
+	 * @param       <T>
+	 * @return
+	 */
+	public static <T> T getBean(String name, Class<T> clazz) {
+		return getApplicationContext().getBean(name, clazz);
+	}
+}