持久化SessionDetail完成

main
oeljeklaus-you 8 years ago
parent c2e142d595
commit 417f32101a

@ -2,9 +2,11 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="a7505764-040b-48e2-b2fc-8c5b579e595f" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java" />
<change beforePath="" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionDetailDao.java" />
<change beforePath="" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
@ -21,84 +23,139 @@
<file leaf-file-name="UserVisitAnalyze.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="403">
<caret line="497" column="8" lean-forward="false" selection-start-line="497" selection-start-column="8" selection-end-line="497" selection-end-column="8" />
<state relative-caret-position="430">
<caret line="538" column="58" lean-forward="false" selection-start-line="538" selection-start-column="58" selection-end-line="538" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#5059#5284#0" expanded="true" />
<element signature="e#5283#5284#0" expanded="true" />
<element signature="e#5514#8310#0" expanded="true" />
<element signature="e#8309#8310#0" expanded="true" />
<element signature="e#8530#8753#0" expanded="true" />
<element signature="e#8752#8753#0" expanded="true" />
<element signature="e#9006#10020#0" expanded="true" />
<element signature="e#10019#10020#0" expanded="true" />
<element signature="e#16239#16763#0" expanded="true" />
<element signature="e#16762#16763#0" expanded="true" />
<element signature="e#17004#17031#0" expanded="true" />
<element signature="e#17813#17846#0" expanded="true" />
<element signature="e#20024#22134#0" expanded="true" />
<element signature="e#20490#20514#0" expanded="true" />
<element signature="e#20719#20741#0" expanded="true" />
<element signature="e#22133#22134#0" expanded="true" />
<element signature="e#4969#5195#0" expanded="true" />
<element signature="e#5194#5195#0" expanded="true" />
<element signature="e#5544#5769#0" expanded="true" />
<element signature="e#5768#5769#0" expanded="true" />
<element signature="e#5999#8795#0" expanded="true" />
<element signature="e#8794#8795#0" expanded="true" />
<element signature="e#9015#9238#0" expanded="true" />
<element signature="e#9237#9238#0" expanded="true" />
<element signature="e#9491#10505#0" expanded="true" />
<element signature="e#10504#10505#0" expanded="true" />
<element signature="e#16802#17326#0" expanded="true" />
<element signature="e#17325#17326#0" expanded="true" />
<element signature="e#17567#17594#0" expanded="true" />
<element signature="e#18376#18409#0" expanded="true" />
<element signature="e#20587#22697#0" expanded="true" />
<element signature="e#21053#21077#0" expanded="true" />
<element signature="e#21282#21304#0" expanded="true" />
<element signature="e#22696#22697#0" expanded="true" />
<element signature="e#22961#24328#0" expanded="true" />
<element signature="e#24327#24328#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SessionRandomExtractDao.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java">
<file leaf-file-name="DaoFactory.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="7" column="47" lean-forward="false" selection-start-line="7" selection-start-column="47" selection-end-line="7" selection-end-column="47" />
<state relative-caret-position="361">
<caret line="34" column="42" lean-forward="false" selection-start-line="34" selection-start-column="42" selection-end-line="34" selection-end-column="42" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#834#835#0" expanded="true" />
<element signature="e#890#891#0" expanded="true" />
<element signature="e#955#956#0" expanded="true" />
<element signature="e#1004#1005#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SessionRandomExtractDaoImpl.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java">
<file leaf-file-name="SessionDetail.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="17" column="34" lean-forward="false" selection-start-line="17" selection-start-column="34" selection-end-line="17" selection-end-column="34" />
<state relative-caret-position="361">
<caret line="19" column="5" lean-forward="true" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
<folding>
<element signature="e#511#521#0" expanded="true" />
<element signature="e#1305#1306#0" expanded="true" />
<element signature="e#1334#1335#0" expanded="true" />
<element signature="e#1376#1377#0" expanded="true" />
<element signature="e#1412#1413#0" expanded="true" />
<element signature="e#1443#1444#0" expanded="true" />
<element signature="e#1472#1473#0" expanded="true" />
<element signature="e#1514#1515#0" expanded="true" />
<element signature="e#1550#1551#0" expanded="true" />
<element signature="e#1585#1586#0" expanded="true" />
<element signature="e#1616#1617#0" expanded="true" />
<element signature="e#1664#1665#0" expanded="true" />
<element signature="e#1704#1705#0" expanded="true" />
<element signature="e#1735#1736#0" expanded="true" />
<element signature="e#1764#1765#0" expanded="true" />
<element signature="e#1806#1807#0" expanded="true" />
<element signature="e#1842#1843#0" expanded="true" />
<element signature="e#1879#1880#0" expanded="true" />
<element signature="e#1912#1913#0" expanded="true" />
<element signature="e#1964#1965#0" expanded="true" />
<element signature="e#2008#2009#0" expanded="true" />
<element signature="e#2048#2049#0" expanded="true" />
<element signature="e#2084#2085#0" expanded="true" />
<element signature="e#2142#2143#0" expanded="true" />
<element signature="e#2192#2193#0" expanded="true" />
<element signature="e#2232#2233#0" expanded="true" />
<element signature="e#2270#2271#0" expanded="true" />
<element signature="e#2330#2331#0" expanded="true" />
<element signature="e#2384#2385#0" expanded="true" />
<element signature="e#2423#2424#0" expanded="true" />
<element signature="e#2460#2461#0" expanded="true" />
<element signature="e#2518#2519#0" expanded="true" />
<element signature="e#2570#2571#0" expanded="true" />
<element signature="e#2613#2614#0" expanded="true" />
<element signature="e#2652#2653#0" expanded="true" />
<element signature="e#2716#2717#0" expanded="true" />
<element signature="e#2772#2773#0" expanded="true" />
<element signature="e#2814#2815#0" expanded="true" />
<element signature="e#2852#2853#0" expanded="true" />
<element signature="e#2914#2915#0" expanded="true" />
<element signature="e#2968#2969#0" expanded="true" />
<element signature="e#3009#3010#0" expanded="true" />
<element signature="e#3046#3047#0" expanded="true" />
<element signature="e#3106#3107#0" expanded="true" />
<element signature="e#3158#3159#0" expanded="true" />
<element signature="e#3198#3199#0" expanded="true" />
<element signature="e#3234#3235#0" expanded="true" />
<element signature="e#3292#3293#0" expanded="true" />
<element signature="e#3342#3343#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DaoFactory.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java">
<file leaf-file-name="SessionDetailDao.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionDetailDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="26" column="49" lean-forward="false" selection-start-line="26" selection-start-column="49" selection-end-line="26" selection-end-column="49" />
<folding>
<element signature="e#702#703#0" expanded="true" />
<element signature="e#758#759#0" expanded="true" />
</folding>
<state relative-caret-position="95">
<caret line="5" column="43" lean-forward="false" selection-start-line="5" selection-start-column="43" selection-end-line="5" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="JDBCHelper.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/jdbc/JDBCHelper.java">
<file leaf-file-name="SessionDetailDaoImpl.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="154" column="17" lean-forward="false" selection-start-line="154" selection-start-column="17" selection-end-line="154" selection-end-column="17" />
<folding />
<caret line="14" column="58" lean-forward="false" selection-start-line="14" selection-start-column="58" selection-end-line="14" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Constants.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/constant/Constants.java">
<file leaf-file-name="MockData.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/mockData/MockData.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="494">
<caret line="26" column="47" lean-forward="false" selection-start-line="26" selection-start-column="31" selection-end-line="26" selection-end-column="47" />
<folding />
<state relative-caret-position="506">
<caret line="96" column="48" lean-forward="false" selection-start-line="96" selection-start-column="48" selection-end-line="96" selection-end-column="48" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -154,9 +211,12 @@
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionRadomExtract.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRadomExtractDao.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionRandomExtract.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDao.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionDetailDao.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java" />
<option value="$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java" />
</list>
@ -292,6 +352,16 @@
<item name="dao" type="462c0819:PsiDirectoryNode" />
<item name="factory" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="UserActionAnalyzePlatform" type="b2602c69:ProjectViewProjectNode" />
<item name="UserActionAnalyzePlatform" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="hust" type="462c0819:PsiDirectoryNode" />
<item name="dao" type="462c0819:PsiDirectoryNode" />
<item name="impl" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="UserActionAnalyzePlatform" type="b2602c69:ProjectViewProjectNode" />
<item name="UserActionAnalyzePlatform" type="462c0819:PsiDirectoryNode" />
@ -301,6 +371,15 @@
<item name="hust" type="462c0819:PsiDirectoryNode" />
<item name="domain" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="UserActionAnalyzePlatform" type="b2602c69:ProjectViewProjectNode" />
<item name="UserActionAnalyzePlatform" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="hust" type="462c0819:PsiDirectoryNode" />
<item name="mockData" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="UserActionAnalyzePlatform" type="b2602c69:ProjectViewProjectNode" />
<item name="UserActionAnalyzePlatform" type="462c0819:PsiDirectoryNode" />
@ -599,7 +678,7 @@
<workItem from="1529590333052" duration="2564000" />
<workItem from="1529630336674" duration="15098000" />
<workItem from="1529666057370" duration="13151000" />
<workItem from="1529717692529" duration="10693000" />
<workItem from="1529717692529" duration="12619000" />
</task>
<task id="LOCAL-00001" summary="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成">
<created>1529592741848</created>
@ -651,7 +730,7 @@
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="42540000" />
<option name="totallyTimeSpent" value="44466000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="1440" height="900" extended-state="0" />
@ -760,20 +839,6 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/conf/ConfigurationManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/conf.properties">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="95">
<caret line="5" column="17" lean-forward="false" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/constant/Constants.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="437">
@ -1047,16 +1112,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/mockData/MockData.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1177">
<caret line="93" column="49" lean-forward="false" selection-start-line="93" selection-start-column="49" selection-end-line="93" selection-end-column="49" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/src.zip!/java/lang/Long.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
@ -1236,63 +1291,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="76">
<caret line="4" column="50" lean-forward="false" selection-start-line="4" selection-start-column="50" selection-end-line="4" selection-end-column="50" />
<folding>
<element signature="e#1310#1311#0" expanded="true" />
<element signature="e#1339#1340#0" expanded="true" />
<element signature="e#1381#1382#0" expanded="true" />
<element signature="e#1417#1418#0" expanded="true" />
<element signature="e#1448#1449#0" expanded="true" />
<element signature="e#1477#1478#0" expanded="true" />
<element signature="e#1519#1520#0" expanded="true" />
<element signature="e#1555#1556#0" expanded="true" />
<element signature="e#1590#1591#0" expanded="true" />
<element signature="e#1621#1622#0" expanded="true" />
<element signature="e#1669#1670#0" expanded="true" />
<element signature="e#1709#1710#0" expanded="true" />
<element signature="e#1740#1741#0" expanded="true" />
<element signature="e#1769#1770#0" expanded="true" />
<element signature="e#1811#1812#0" expanded="true" />
<element signature="e#1847#1848#0" expanded="true" />
<element signature="e#1884#1885#0" expanded="true" />
<element signature="e#1917#1918#0" expanded="true" />
<element signature="e#1969#1970#0" expanded="true" />
<element signature="e#2013#2014#0" expanded="true" />
<element signature="e#2053#2054#0" expanded="true" />
<element signature="e#2089#2090#0" expanded="true" />
<element signature="e#2147#2148#0" expanded="true" />
<element signature="e#2197#2198#0" expanded="true" />
<element signature="e#2237#2238#0" expanded="true" />
<element signature="e#2275#2276#0" expanded="true" />
<element signature="e#2335#2336#0" expanded="true" />
<element signature="e#2389#2390#0" expanded="true" />
<element signature="e#2428#2429#0" expanded="true" />
<element signature="e#2465#2466#0" expanded="true" />
<element signature="e#2523#2524#0" expanded="true" />
<element signature="e#2575#2576#0" expanded="true" />
<element signature="e#2618#2619#0" expanded="true" />
<element signature="e#2657#2658#0" expanded="true" />
<element signature="e#2721#2722#0" expanded="true" />
<element signature="e#2777#2778#0" expanded="true" />
<element signature="e#2819#2820#0" expanded="true" />
<element signature="e#2857#2858#0" expanded="true" />
<element signature="e#2919#2920#0" expanded="true" />
<element signature="e#2973#2974#0" expanded="true" />
<element signature="e#3014#3015#0" expanded="true" />
<element signature="e#3051#3052#0" expanded="true" />
<element signature="e#3111#3112#0" expanded="true" />
<element signature="e#3163#3164#0" expanded="true" />
<element signature="e#3203#3204#0" expanded="true" />
<element signature="e#3239#3240#0" expanded="true" />
<element signature="e#3297#3298#0" expanded="true" />
<element signature="e#3347#3348#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionRandomExtract.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="38">
@ -1338,13 +1336,12 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="26" column="49" lean-forward="false" selection-start-line="26" selection-start-column="49" selection-end-line="26" selection-end-column="49" />
<state relative-caret-position="133">
<caret line="7" column="47" lean-forward="false" selection-start-line="7" selection-start-column="47" selection-end-line="7" selection-end-column="47" />
<folding>
<element signature="e#702#703#0" expanded="true" />
<element signature="e#758#759#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
@ -1359,38 +1356,130 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionRandomExtractDao.java">
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionDetailDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="7" column="47" lean-forward="false" selection-start-line="7" selection-start-column="47" selection-end-line="7" selection-end-column="47" />
<state relative-caret-position="95">
<caret line="5" column="43" lean-forward="false" selection-start-line="5" selection-start-column="43" selection-end-line="5" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/domain/SessionDetail.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="361">
<caret line="19" column="5" lean-forward="true" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
<folding>
<element signature="e#1305#1306#0" expanded="true" />
<element signature="e#1334#1335#0" expanded="true" />
<element signature="e#1376#1377#0" expanded="true" />
<element signature="e#1412#1413#0" expanded="true" />
<element signature="e#1443#1444#0" expanded="true" />
<element signature="e#1472#1473#0" expanded="true" />
<element signature="e#1514#1515#0" expanded="true" />
<element signature="e#1550#1551#0" expanded="true" />
<element signature="e#1585#1586#0" expanded="true" />
<element signature="e#1616#1617#0" expanded="true" />
<element signature="e#1664#1665#0" expanded="true" />
<element signature="e#1704#1705#0" expanded="true" />
<element signature="e#1735#1736#0" expanded="true" />
<element signature="e#1764#1765#0" expanded="true" />
<element signature="e#1806#1807#0" expanded="true" />
<element signature="e#1842#1843#0" expanded="true" />
<element signature="e#1879#1880#0" expanded="true" />
<element signature="e#1912#1913#0" expanded="true" />
<element signature="e#1964#1965#0" expanded="true" />
<element signature="e#2008#2009#0" expanded="true" />
<element signature="e#2048#2049#0" expanded="true" />
<element signature="e#2084#2085#0" expanded="true" />
<element signature="e#2142#2143#0" expanded="true" />
<element signature="e#2192#2193#0" expanded="true" />
<element signature="e#2232#2233#0" expanded="true" />
<element signature="e#2270#2271#0" expanded="true" />
<element signature="e#2330#2331#0" expanded="true" />
<element signature="e#2384#2385#0" expanded="true" />
<element signature="e#2423#2424#0" expanded="true" />
<element signature="e#2460#2461#0" expanded="true" />
<element signature="e#2518#2519#0" expanded="true" />
<element signature="e#2570#2571#0" expanded="true" />
<element signature="e#2613#2614#0" expanded="true" />
<element signature="e#2652#2653#0" expanded="true" />
<element signature="e#2716#2717#0" expanded="true" />
<element signature="e#2772#2773#0" expanded="true" />
<element signature="e#2814#2815#0" expanded="true" />
<element signature="e#2852#2853#0" expanded="true" />
<element signature="e#2914#2915#0" expanded="true" />
<element signature="e#2968#2969#0" expanded="true" />
<element signature="e#3009#3010#0" expanded="true" />
<element signature="e#3046#3047#0" expanded="true" />
<element signature="e#3106#3107#0" expanded="true" />
<element signature="e#3158#3159#0" expanded="true" />
<element signature="e#3198#3199#0" expanded="true" />
<element signature="e#3234#3235#0" expanded="true" />
<element signature="e#3292#3293#0" expanded="true" />
<element signature="e#3342#3343#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="14" column="58" lean-forward="false" selection-start-line="14" selection-start-column="58" selection-end-line="14" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/mockData/MockData.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="506">
<caret line="96" column="48" lean-forward="false" selection-start-line="96" selection-start-column="48" selection-end-line="96" selection-end-column="48" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/factory/DaoFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="361">
<caret line="34" column="42" lean-forward="false" selection-start-line="34" selection-start-column="42" selection-end-line="34" selection-end-column="42" />
<folding>
<element signature="e#834#835#0" expanded="true" />
<element signature="e#890#891#0" expanded="true" />
<element signature="e#955#956#0" expanded="true" />
<element signature="e#1004#1005#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/cn/edu/hust/session/UserVisitAnalyze.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="403">
<caret line="497" column="8" lean-forward="false" selection-start-line="497" selection-start-column="8" selection-end-line="497" selection-end-column="8" />
<state relative-caret-position="430">
<caret line="538" column="58" lean-forward="false" selection-start-line="538" selection-start-column="58" selection-end-line="538" selection-end-column="58" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#5059#5284#0" expanded="true" />
<element signature="e#5283#5284#0" expanded="true" />
<element signature="e#5514#8310#0" expanded="true" />
<element signature="e#8309#8310#0" expanded="true" />
<element signature="e#8530#8753#0" expanded="true" />
<element signature="e#8752#8753#0" expanded="true" />
<element signature="e#9006#10020#0" expanded="true" />
<element signature="e#10019#10020#0" expanded="true" />
<element signature="e#16239#16763#0" expanded="true" />
<element signature="e#16762#16763#0" expanded="true" />
<element signature="e#17004#17031#0" expanded="true" />
<element signature="e#17813#17846#0" expanded="true" />
<element signature="e#20024#22134#0" expanded="true" />
<element signature="e#20490#20514#0" expanded="true" />
<element signature="e#20719#20741#0" expanded="true" />
<element signature="e#22133#22134#0" expanded="true" />
<element signature="e#4969#5195#0" expanded="true" />
<element signature="e#5194#5195#0" expanded="true" />
<element signature="e#5544#5769#0" expanded="true" />
<element signature="e#5768#5769#0" expanded="true" />
<element signature="e#5999#8795#0" expanded="true" />
<element signature="e#8794#8795#0" expanded="true" />
<element signature="e#9015#9238#0" expanded="true" />
<element signature="e#9237#9238#0" expanded="true" />
<element signature="e#9491#10505#0" expanded="true" />
<element signature="e#10504#10505#0" expanded="true" />
<element signature="e#16802#17326#0" expanded="true" />
<element signature="e#17325#17326#0" expanded="true" />
<element signature="e#17567#17594#0" expanded="true" />
<element signature="e#18376#18409#0" expanded="true" />
<element signature="e#20587#22697#0" expanded="true" />
<element signature="e#21053#21077#0" expanded="true" />
<element signature="e#21282#21304#0" expanded="true" />
<element signature="e#22696#22697#0" expanded="true" />
<element signature="e#22961#24328#0" expanded="true" />
<element signature="e#24327#24328#0" expanded="true" />
</folding>
</state>
</provider>

@ -0,0 +1,7 @@
package cn.edu.hust.dao;
import cn.edu.hust.domain.SessionDetail;
public interface SessionDetailDao {
void insert(SessionDetail sessionDetail);
}

@ -1,11 +1,14 @@
package cn.edu.hust.dao.factory;
import cn.edu.hust.dao.SessionAggrStatDao;
import cn.edu.hust.dao.SessionDetailDao;
import cn.edu.hust.dao.SessionRandomExtractDao;
import cn.edu.hust.dao.TaskDao;
import cn.edu.hust.dao.impl.SessionAggrStatDaoImpl;
import cn.edu.hust.dao.impl.SessionDetailDaoImpl;
import cn.edu.hust.dao.impl.SessionRandomExtractDaoImpl;
import cn.edu.hust.dao.impl.TaskDaoImpl;
import cn.edu.hust.domain.SessionDetail;
import cn.edu.hust.domain.SessionRandomExtract;
public class DaoFactory {
@ -26,4 +29,9 @@ public class DaoFactory {
public static SessionRandomExtractDao getSessionRandomExtractDao(){
return new SessionRandomExtractDaoImpl();
}
public static SessionDetailDao getSessionDetailDao()
{
return new SessionDetailDaoImpl();
}
}

@ -0,0 +1,17 @@
package cn.edu.hust.dao.impl;
import cn.edu.hust.dao.SessionDetailDao;
import cn.edu.hust.domain.SessionDetail;
import cn.edu.hust.jdbc.JDBCHelper;
public class SessionDetailDaoImpl implements SessionDetailDao{
@Override
public void insert(SessionDetail sessionDetail) {
String sql="insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] object=new Object[]{sessionDetail.getTaskId(),sessionDetail.getUserId(),
sessionDetail.getSessinId(),sessionDetail.getPageid(),sessionDetail.getActionTime(),
sessionDetail.getSearchKeyWord(),sessionDetail.getClickCategoryId(),sessionDetail.getClickProductId()
,sessionDetail.getOrderCategoryIds(),sessionDetail.getOrderProductIds(),sessionDetail.getPayCategoryIds(),sessionDetail.getPayProductIds()};
JDBCHelper.getInstance().excuteUpdate(sql,object);
}
}

@ -19,7 +19,7 @@ public class SessionDetail implements Serializable{
public SessionDetail() {
}
public SessionDetail(Long taskId, Long userId, String sessinId, Long pageid, String actionTime, String searchKeyWord, Long clickCategoryId, Long clickProductId, String orderCategoryIds, String orderProductIds, String payCategoryIds, String payProductIds) {
public void set(Long taskId, Long userId, String sessinId, Long pageid, String actionTime, String searchKeyWord, Long clickCategoryId, Long clickProductId, String orderCategoryIds, String orderProductIds, String payCategoryIds, String payProductIds) {
this.taskId = taskId;
this.userId = userId;
this.sessinId = sessinId;

@ -2,31 +2,27 @@ package cn.edu.hust.session;
import cn.edu.hust.conf.ConfigurationManager;
import cn.edu.hust.constant.Constants;
import cn.edu.hust.dao.SessionDetailDao;
import cn.edu.hust.dao.TaskDao;
import cn.edu.hust.dao.factory.DaoFactory;
import cn.edu.hust.domain.SessionAggrStat;
import cn.edu.hust.domain.SessionDetail;
import cn.edu.hust.domain.SessionRandomExtract;
import cn.edu.hust.domain.Task;
import cn.edu.hust.mockData.MockData;
import cn.edu.hust.util.*;
import com.alibaba.fastjson.JSONObject;
import org.apache.spark.Accumulator;
import org.apache.spark.AccumulatorParam;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.api.java.function.PairFlatMapFunction;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.api.java.function.*;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SQLContext;
import org.apache.spark.sql.catalyst.expressions.Rand;
import org.apache.spark.sql.hive.HiveContext;
import org.joda.time.DateTime;
import scala.Tuple2;
import java.util.*;
@ -63,6 +59,8 @@ public class UserVisitAnalyze {
//获取指定范围内的Sesssion
JavaRDD<Row> sessionRangeDate=getActionRDD(sc,jsonObject);
//这里增加一个新的方法,主要是映射
JavaPairRDD<String,Row> sessionInfoPairRDD=getSessonInfoPairRDD(sessionRangeDate);
//按照Sesson进行聚合
JavaPairRDD<String,String> sesssionAggregateInfoRDD=aggregateBySessionId(sc,sessionRangeDate);
@ -98,7 +96,7 @@ public class UserVisitAnalyze {
/**
* 使CountByKey
*/
randomExtractSession(taskId,filteredSessionRDD);
randomExtractSession(taskId,filteredSessionRDD,sessionInfoPairRDD);
//计算各个session占比,并写入MySQL
calculateAndPersist(sessionAggrStatAccumulator.value(),taskId);
//关闭spark上下文
@ -147,6 +145,26 @@ public class UserVisitAnalyze {
return df.javaRDD();
}
/**
* PairSessionIdValueRow
* @param sessionRangeDate
* @return
*/
private static JavaPairRDD<String,Row> getSessonInfoPairRDD(JavaRDD<Row> sessionRangeDate) {
return sessionRangeDate.mapToPair(new PairFunction<Row, String, Row>() {
@Override
public Tuple2<String, Row> call(Row row) throws Exception {
return new Tuple2<String, Row>(row.getString(2),row);
}
});
}
/**
* session
* @param sc
* @param sessionRangeDate
* @return
*/
private static JavaPairRDD<String,String> aggregateBySessionId(SQLContext sc, JavaRDD<Row> sessionRangeDate) {
/**
* map
@ -366,8 +384,9 @@ public class UserVisitAnalyze {
* Sesison
* @param taskId
* @param filteredSessionRDD
* @param sessionInfoPairRDD
*/
private static void randomExtractSession(final Long taskId, JavaPairRDD<String, String> filteredSessionRDD) {
private static void randomExtractSession(final Long taskId, JavaPairRDD<String, String> filteredSessionRDD, JavaPairRDD<String, Row> sessionInfoPairRDD) {
//1.先将过滤Seesion进行映射映射成为Time,Info的数据格式
final JavaPairRDD<String,String> mapDataRDD=filteredSessionRDD.mapToPair(new PairFunction<Tuple2<String, String>, String, String>() {
@Override
@ -495,7 +514,33 @@ public class UserVisitAnalyze {
});
//3. 获取session的明细数据保存到数据库
JavaPairRDD<String,Tuple2<String,Row>> sessionDetailRDD= sessionIds.join(sessionInfoPairRDD);
final SessionDetailDao sessionDetailDao=DaoFactory.getSessionDetailDao();
sessionDetailRDD.foreachPartition(new VoidFunction<Iterator<Tuple2<String, Tuple2<String, Row>>>>() {
@Override
public void call(Iterator<Tuple2<String, Tuple2<String, Row>>> tuple2Iterator) throws Exception {
while(tuple2Iterator.hasNext())
{
Tuple2<String, Tuple2<String, Row>> tuple2=tuple2Iterator.next();
Row row=tuple2._2._2;
String sessionId=tuple2._1;
Long userId=row.getLong(1);
Long pageId=row.getLong(3);
String actionTime=row.getString(4);
String searchKeyWard=row.getString(5);
Long clickCategoryId=row.getLong(6);
Long clickProducetId=row.getLong(7);
String orderCategoryId=row.getString(8);
String orderProducetId=row.getString(9);
String payCategoryId=row.getString(10);
String payProducetId=row.getString(11);
SessionDetail sessionDetail=new SessionDetail();
sessionDetail.set(taskId,userId,sessionId,pageId,actionTime,searchKeyWard,clickCategoryId,clickProducetId,orderCategoryId,orderProducetId,payCategoryId,payProducetId);
sessionDetailDao.insert(sessionDetail);
}
}
});
}
//计算各个范围的占比,并持久化到数据库

Loading…
Cancel
Save