├── .gitignore ├── SCSS.iml ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── obsidian │ │ └── scss │ │ ├── bean │ │ ├── AddTag.java │ │ ├── AdvertisementAndFlag.java │ │ ├── AvgScoreList.java │ │ ├── ChangeClientConversationRelationship.java │ │ ├── ChangeClientDetail.java │ │ ├── ClientChat.java │ │ ├── ClientDetailReq.java │ │ ├── ClientDetailResp.java │ │ ├── ClientDetailResp2.java │ │ ├── ClientLogin.java │ │ ├── CommonLanguageClick.java │ │ ├── CommonLanguageList.java │ │ ├── ConnectStatus.java │ │ ├── ConversationEndReq.java │ │ ├── ConversationEndSignal.java │ │ ├── ConversationStart.java │ │ ├── DeleteTag.java │ │ ├── DetailViewList.java │ │ ├── FastSearchKnowledges.java │ │ ├── GroupAndPersonNum.java │ │ ├── GroupAndTag.java │ │ ├── IdList.java │ │ ├── KnowledgeAndKeyword.java │ │ ├── KnowledgeList.java │ │ ├── Message.java │ │ ├── NameList.java │ │ ├── Notification.java │ │ ├── NotificationAndTypeAndObjectType.java │ │ ├── OverViewInfo.java │ │ ├── PeopleDayAndTime.java │ │ ├── PullReq.java │ │ ├── RecommandKnowledges.java │ │ ├── RecommandTags.java │ │ ├── RobotChat.java │ │ ├── ScoreAndNum.java │ │ ├── ScoreReq.java │ │ ├── SearchClientByNameReq.java │ │ ├── SearchClientByNameResp.java │ │ ├── ServiceAndRankInfo.java │ │ ├── ServiceChat.java │ │ ├── ServiceConnectInfo.java │ │ ├── ServiceInfo.java │ │ ├── ServiceLogin.java │ │ ├── ServiceMessage.java │ │ ├── ServiceOverview.java │ │ ├── ServiceStatus.java │ │ ├── SetScore.java │ │ ├── Show.java │ │ ├── TransferEndSignal.java │ │ ├── TransferReq.java │ │ ├── TransferSignal.java │ │ ├── UserInfoReq.java │ │ └── UserInfoResp.java │ │ ├── controller │ │ ├── AdvertisementController.java │ │ ├── ClientController.java │ │ ├── CommonLanguageController.java │ │ ├── CustomerServiceManagementController.java │ │ ├── InitController.java │ │ ├── KeyWordAndKnowledgeManagementController.java │ │ ├── NotificationController.java │ │ ├── OnlineGroupController.java │ │ ├── OverViewController.java │ │ ├── ServerGroupController.java │ │ ├── ServiceLoginController.java │ │ ├── ServiceOverviewController.java │ │ ├── TestCjnController.java │ │ ├── detailView.java │ │ └── operationUserController.java │ │ ├── conversation │ │ ├── ClientWS.java │ │ ├── KnowledgeListWS.java │ │ ├── ServiceWS.java │ │ └── WebSocket.java │ │ ├── dao │ │ ├── AccessMapper.java │ │ ├── AdvFlagMapper.java │ │ ├── AdvertisementMapper.java │ │ ├── ChatLogMapper.java │ │ ├── ClientFlagMapper.java │ │ ├── ClientMapper.java │ │ ├── CommonLanguageMapper.java │ │ ├── ConversationMapper.java │ │ ├── CustomerServiceMapper.java │ │ ├── FlagMapper.java │ │ ├── GroupWordMapper.java │ │ ├── JoinUpMapper.java │ │ ├── KeywordHeatMapper.java │ │ ├── KeywordMapper.java │ │ ├── KnowledgeKeywordMapper.java │ │ ├── KnowledgeMapper.java │ │ ├── NotificationMapper.java │ │ ├── NotificationObjectTypeMapper.java │ │ ├── NotificationTypeMapper.java │ │ ├── OperationUserMapper.java │ │ ├── QuestionPushMapper.java │ │ ├── ServiceGroupMapper.java │ │ └── WorkTimeMapper.java │ │ ├── entity │ │ ├── Access.java │ │ ├── AccessAndNumDuring.java │ │ ├── AccessExample.java │ │ ├── AdvFlag.java │ │ ├── AdvFlagExample.java │ │ ├── Advertisement.java │ │ ├── AdvertisementExample.java │ │ ├── ChatLog.java │ │ ├── ChatLogAndSendRecInfo.java │ │ ├── ChatLogExample.java │ │ ├── Client.java │ │ ├── ClientAndFlag.java │ │ ├── ClientAndImlInfo.java │ │ ├── ClientExample.java │ │ ├── ClientFlag.java │ │ ├── ClientFlagExample.java │ │ ├── CommonLanguage.java │ │ ├── CommonLanguageExample.java │ │ ├── ConNumAndRank.java │ │ ├── Conversation.java │ │ ├── ConversationExample.java │ │ ├── CustomerService.java │ │ ├── CustomerServiceExample.java │ │ ├── DayAndTime.java │ │ ├── Flag.java │ │ ├── FlagExample.java │ │ ├── GroupWord.java │ │ ├── GroupWordExample.java │ │ ├── JoinUp.java │ │ ├── JoinUpExample.java │ │ ├── Keyword.java │ │ ├── KeywordAndHeat.java │ │ ├── KeywordExample.java │ │ ├── KeywordHeat.java │ │ ├── KeywordHeatExample.java │ │ ├── Knowledge.java │ │ ├── KnowledgeExample.java │ │ ├── KnowledgeKeyword.java │ │ ├── KnowledgeKeywordExample.java │ │ ├── Notification.java │ │ ├── NotificationExample.java │ │ ├── NotificationObjectType.java │ │ ├── NotificationObjectTypeExample.java │ │ ├── NotificationType.java │ │ ├── NotificationTypeExample.java │ │ ├── OperationUser.java │ │ ├── OperationUserExample.java │ │ ├── QuestionPush.java │ │ ├── QuestionPushExample.java │ │ ├── ScoreAndRank.java │ │ ├── ServiceGroup.java │ │ ├── ServiceGroupExample.java │ │ ├── TimeAndRank.java │ │ ├── WorkTime.java │ │ └── WorkTimeExample.java │ │ ├── interceptor │ │ └── AllInterceptor.java │ │ ├── service │ │ ├── AdvFlagService.java │ │ ├── AdvertisementService.java │ │ ├── ChatLogService.java │ │ ├── ClientFlagService.java │ │ ├── ClientService.java │ │ ├── CommonLanguageService.java │ │ ├── ConversationService.java │ │ ├── CustomerServiceService.java │ │ ├── FlagService.java │ │ ├── GroupQueue.java │ │ ├── GroupWordService.java │ │ ├── Impl │ │ │ ├── AdvFlagServiceImpl.java │ │ │ ├── AdvertisementImpl.java │ │ │ ├── ChatLogServiceImpl.java │ │ │ ├── ClientFlagServiceImpl.java │ │ │ ├── ClientServiceImpl.java │ │ │ ├── CommonLanguageServiceImpl.java │ │ │ ├── ConversationServiceImpl.java │ │ │ ├── CustomerServiceServiceImpl.java │ │ │ ├── FlagServiceImpl.java │ │ │ ├── GroupWordServiceImpl.java │ │ │ ├── JoinUpServiceImpl.java │ │ │ ├── KeywordHeatServiceImpl.java │ │ │ ├── KeywordServiceImpl.java │ │ │ ├── KnowledgeKeywordServiceImpl.java │ │ │ ├── KnowledgeServiceImpl.java │ │ │ ├── NotificationObjectTypeServiceImpl.java │ │ │ ├── NotificationServiceImpl.java │ │ │ ├── NotificationTypeServiceImpl.java │ │ │ ├── OperationUserServiceImpl.java │ │ │ ├── ServiceGroupServiceImpl.java │ │ │ └── WorkTimeServiceImpl.java │ │ ├── JoinUpService.java │ │ ├── KeyService.java │ │ ├── KeywordHeatService.java │ │ ├── KeywordService.java │ │ ├── KnowledgeKeywordService.java │ │ ├── KnowledgeService.java │ │ ├── NotificationObjectTypeService.java │ │ ├── NotificationService.java │ │ ├── NotificationTypeService.java │ │ ├── OnlineService.java │ │ ├── OperationUserService.java │ │ ├── ServiceGroupPeople.java │ │ ├── ServiceGroupService.java │ │ ├── WorkTimeService.java │ │ └── resolver │ │ │ ├── AddTagResolver.java │ │ │ ├── ChangeClientConversationRelationshipResolver.java │ │ │ ├── ChangeClientDetailResolver.java │ │ │ ├── ClientChatResolver.java │ │ │ ├── ClientDetailReqResolver.java │ │ │ ├── ClientLoginResolver.java │ │ │ ├── CommonLanguageClickResolver.java │ │ │ ├── ContentResolver.java │ │ │ ├── ConversationEndReqResolver.java │ │ │ ├── DeleteTagResolver.java │ │ │ ├── FastSearchKnowledgesResolver.java │ │ │ ├── PullReqResolver.java │ │ │ ├── ResolverFactory.java │ │ │ ├── SearchClientByNameReqResolver.java │ │ │ ├── ServiceChatResolver.java │ │ │ ├── ServiceLoginResolver.java │ │ │ ├── SetScoreResolver.java │ │ │ ├── TransferReqResolver.java │ │ │ └── UserInfoReqResolver.java │ │ └── util │ │ ├── KeywordFinder.java │ │ ├── Trie.java │ │ └── TrieNode.java ├── resources │ ├── generatorConfig.xml │ ├── log4j.properties │ ├── mapper │ │ ├── AccessMapper.xml │ │ ├── AdvFlagMapper.xml │ │ ├── AdvertisementMapper.xml │ │ ├── ChatLogMapper.xml │ │ ├── ClientFlagMapper.xml │ │ ├── ClientMapper.xml │ │ ├── CommonLanguageMapper.xml │ │ ├── ConversationMapper.xml │ │ ├── CustomerServiceMapper.xml │ │ ├── FlagMapper.xml │ │ ├── GroupWordMapper.xml │ │ ├── JoinUpMapper.xml │ │ ├── KeywordHeatMapper.xml │ │ ├── KeywordMapper.xml │ │ ├── KnowledgeKeywordMapper.xml │ │ ├── KnowledgeMapper.xml │ │ ├── NotificationMapper.xml │ │ ├── NotificationObjectTypeMapper.xml │ │ ├── NotificationTypeMapper.xml │ │ ├── OperationUserMapper.xml │ │ ├── QuestionPushMapper.xml │ │ ├── ServiceGroupMapper.xml │ │ └── WorkTimeMapper.xml │ ├── mybatis-config.xml │ ├── mysql-connector-java-6.0.6.jar │ └── spring │ │ ├── spring-dao.xml │ │ ├── spring-service.xml │ │ └── spring-web.xml └── webapp │ ├── WEB-INF │ ├── jsp │ │ ├── OverView.jsp │ │ ├── customerServiceManagement.jsp │ │ ├── index.jsp │ │ ├── serviceWS.jsp │ │ └── ws.jsp │ └── web.xml │ └── page │ ├── admin.html │ ├── admin_login.html │ ├── css │ ├── admin.css │ ├── admin_for_cs.css │ ├── bootstrap.min.css │ ├── clientService.css │ ├── customer.css │ ├── customerMobile.css │ ├── font-awesome.css │ ├── font-awesome.min.css │ ├── layim.css │ ├── layout.css │ └── m_login_css.css │ ├── customer.html │ ├── customerMobile.html │ ├── customerService.html │ ├── fakeCustomer.html │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 │ ├── img │ ├── 1.jpg │ ├── bg1.jpg │ ├── bg2.jpg │ ├── logo.png │ ├── logo.psd │ ├── mbg.jpg │ ├── tx.jpg │ └── tx.png │ ├── js │ ├── bootstrap.min.js │ ├── echarts.min.js │ ├── html5shiv.min.js │ ├── jquery-3.1.1.min.js │ ├── jquery-ui-1.12.1 │ │ ├── AUTHORS.txt │ │ ├── LICENSE.txt │ │ ├── external │ │ │ └── jquery │ │ │ │ └── jquery.js │ │ ├── images │ │ │ ├── ui-icons_444444_256x240.png │ │ │ ├── ui-icons_555555_256x240.png │ │ │ ├── ui-icons_777620_256x240.png │ │ │ ├── ui-icons_777777_256x240.png │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ └── ui-icons_ffffff_256x240.png │ │ ├── index.html │ │ ├── jquery-ui.css │ │ ├── jquery-ui.js │ │ ├── jquery-ui.min.css │ │ ├── jquery-ui.min.js │ │ ├── jquery-ui.structure.css │ │ ├── jquery-ui.structure.min.css │ │ ├── jquery-ui.theme.css │ │ ├── jquery-ui.theme.min.css │ │ └── package.json │ ├── jquery.cookie.js │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ ├── icon.png │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ ├── dest │ │ │ │ └── layui.all.js │ │ │ └── modules │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit-old.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ └── layui.js │ ├── masonry-docs.min.js │ ├── respond.min.js │ ├── src │ │ ├── admin │ │ │ └── admin.js │ │ ├── customer │ │ │ ├── customer.js │ │ │ ├── customerHandle.js │ │ │ └── customerMessage.js │ │ ├── customer2 │ │ │ ├── customer.js │ │ │ ├── customerHandle.js │ │ │ ├── customerMessage.js │ │ │ └── customerMobile.js │ │ └── service │ │ │ ├── clientService.js │ │ │ ├── serviceHandle.js │ │ │ └── serviceMessage.js │ ├── vue-router.js │ └── vue.js │ ├── kf_login.html │ └── routertest.html ├── sql └── scss.sql └── test └── java ├── KnowledgeServiceTest.java ├── Test.java └── org └── obsidian └── scss └── service ├── ChatLogServiceTest.java ├── ConversationServiceTest.java ├── GroupWordServiceTest.java ├── Impl └── KnowledgeServiceImplTest.java └── TestSqlCjn.java /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | src/main/resources/jdbc.properties 3 | .idea 4 | src/main/java/org/obsidian/scss/conversation/ClientDetailWS.java 5 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/AddTag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/17. 5 | */ 6 | public class AddTag { 7 | 8 | private int clientId; 9 | 10 | private String tag; 11 | 12 | public AddTag(int clientId, String tag) { 13 | this.clientId = clientId; 14 | this.tag = tag; 15 | } 16 | 17 | public AddTag() { 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "AddTag{" + 23 | "clientId=" + clientId + 24 | ", tag='" + tag + '\'' + 25 | '}'; 26 | } 27 | 28 | public int getClientId() { 29 | return clientId; 30 | } 31 | 32 | public void setClientId(int clientId) { 33 | this.clientId = clientId; 34 | } 35 | 36 | public String getTag() { 37 | return tag; 38 | } 39 | 40 | public void setTag(String tag) { 41 | this.tag = tag; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/AdvertisementAndFlag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import java.util.List; 4 | import org.obsidian.scss.entity.Advertisement; 5 | import org.obsidian.scss.entity.Flag; 6 | 7 | /** 8 | * Created by hp on 2017/7/18. 9 | */ 10 | public class AdvertisementAndFlag { 11 | public Advertisement advertisement; 12 | public List flagList; 13 | 14 | public List getFlagList() { 15 | return flagList; 16 | } 17 | 18 | public void setFlagList(List flagList) { 19 | this.flagList = flagList; 20 | } 21 | 22 | public Advertisement getAdvertisement() { 23 | return advertisement; 24 | } 25 | 26 | public void setAdvertisement(Advertisement advertisement) { 27 | this.advertisement = advertisement; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/AvgScoreList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/26. 5 | */ 6 | public class AvgScoreList { 7 | 8 | private int serviceId; 9 | 10 | private double avgScore; 11 | 12 | public AvgScoreList() { 13 | } 14 | 15 | public AvgScoreList(int serviceId, double avgScore) { 16 | this.serviceId = serviceId; 17 | this.avgScore = avgScore; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "AvgScoreList{" + 23 | "serviceId=" + serviceId + 24 | ", avgScore=" + avgScore + 25 | '}'; 26 | } 27 | 28 | public int getServiceId() { 29 | return serviceId; 30 | } 31 | 32 | public void setServiceId(int serviceId) { 33 | this.serviceId = serviceId; 34 | } 35 | 36 | public double getAvgScore() { 37 | return avgScore; 38 | } 39 | 40 | public void setAvgScore(double avgScore) { 41 | this.avgScore = avgScore; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ChangeClientConversationRelationship.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/17. 5 | */ 6 | public class ChangeClientConversationRelationship { 7 | 8 | private int conversationId; 9 | 10 | private int clientId; 11 | 12 | public ChangeClientConversationRelationship(int conversationId, int clientId) { 13 | this.conversationId = conversationId; 14 | this.clientId = clientId; 15 | } 16 | 17 | public ChangeClientConversationRelationship() { 18 | } 19 | 20 | public int getConversationId() { 21 | return conversationId; 22 | } 23 | 24 | public void setConversationId(int conversationId) { 25 | this.conversationId = conversationId; 26 | } 27 | 28 | public int getClientId() { 29 | return clientId; 30 | } 31 | 32 | public void setClientId(int clientId) { 33 | this.clientId = clientId; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return "ChangeClientConversationRelationship{" + 39 | "conversationId=" + conversationId + 40 | ", clientId=" + clientId + 41 | '}'; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ClientChat.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/8. 5 | */ 6 | public class ClientChat { 7 | 8 | private int conversationId; 9 | 10 | private int clientId; 11 | 12 | private int contentType; 13 | 14 | private String content; 15 | 16 | private long time; 17 | 18 | public int getClientId() { 19 | return clientId; 20 | } 21 | 22 | public void setClientId(int clientId) { 23 | this.clientId = clientId; 24 | } 25 | 26 | public int getConversationId() { 27 | return conversationId; 28 | } 29 | 30 | public void setConversationId(int conversationId) { 31 | this.conversationId = conversationId; 32 | } 33 | 34 | public int getContentType() { 35 | return contentType; 36 | } 37 | 38 | public void setContentType(int contentType) { 39 | this.contentType = contentType; 40 | } 41 | 42 | public String getContent() { 43 | return content; 44 | } 45 | 46 | public void setContent(String content) { 47 | this.content = content; 48 | } 49 | 50 | public long getTime() { 51 | return time; 52 | } 53 | 54 | public void setTime(long time) { 55 | this.time = time; 56 | } 57 | 58 | public ClientChat(int conversationId, int clientId, int contentType, String content, long time) { 59 | this.conversationId = conversationId; 60 | this.clientId = clientId; 61 | this.contentType = contentType; 62 | this.content = content; 63 | this.time = time; 64 | } 65 | 66 | public ClientChat() { 67 | } 68 | 69 | @Override 70 | public String toString() { 71 | return "ClientChat{" + 72 | "conversationId=" + conversationId + 73 | ", clientId=" + clientId + 74 | ", contentType=" + contentType + 75 | ", content='" + content + '\'' + 76 | ", time=" + time + 77 | '}'; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ClientDetailReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/15. 5 | */ 6 | public class ClientDetailReq { 7 | 8 | private int clientId; 9 | 10 | public int getClientId() { 11 | return clientId; 12 | } 13 | 14 | public void setClientId(int clientId) { 15 | this.clientId = clientId; 16 | } 17 | 18 | public ClientDetailReq(int clientId) { 19 | this.clientId = clientId; 20 | } 21 | 22 | public ClientDetailReq() { 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return "ClientDetailReq{" + 28 | "clientId=" + clientId + 29 | '}'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ClientDetailResp2.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by Administrator on 2017/7/27. 7 | */ 8 | public class ClientDetailResp2 extends ClientDetailResp{ 9 | 10 | private int conversationId; 11 | 12 | public int getConversationId() { 13 | return conversationId; 14 | } 15 | 16 | public void setConversationId(int conversationId) { 17 | this.conversationId = conversationId; 18 | } 19 | 20 | public ClientDetailResp2(){ 21 | } 22 | 23 | public ClientDetailResp2(int clientId, String clientName, int sex, Long phoneNum, String email, String wx, String qq, String weibo, String address, List tagList, List unusedTagList, int conversationId) { 24 | super(clientId, clientName, sex, phoneNum, email, wx, qq, weibo, address, tagList, unusedTagList); 25 | this.conversationId = conversationId; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ClientLogin.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/8. 5 | */ 6 | public class ClientLogin { 7 | 8 | private int accessId; 9 | 10 | private String account; 11 | 12 | public int getAccessId() { 13 | return accessId; 14 | } 15 | 16 | public void setAccessId(int accessId) { 17 | this.accessId = accessId; 18 | } 19 | 20 | public String getAccount() { 21 | return account; 22 | } 23 | 24 | public void setAccount(String account) { 25 | this.account = account; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/CommonLanguageClick.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/24. 5 | */ 6 | public class CommonLanguageClick { 7 | int commonLanguageId; 8 | 9 | public CommonLanguageClick(int commonLanguageId) { 10 | this.commonLanguageId = commonLanguageId; 11 | } 12 | 13 | public CommonLanguageClick() { 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return "CommonLanguageClick{" + 19 | "commonLanguageId=" + commonLanguageId + 20 | '}'; 21 | } 22 | 23 | public int getCommonLanguageId() { 24 | return commonLanguageId; 25 | } 26 | 27 | public void setCommonLanguageId(int commonLanguageId) { 28 | this.commonLanguageId = commonLanguageId; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/CommonLanguageList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.CommonLanguage; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/24. 9 | */ 10 | public class CommonLanguageList { 11 | private List commonLanguageList; 12 | 13 | public CommonLanguageList(List commonLanguageList) { 14 | this.commonLanguageList = commonLanguageList; 15 | } 16 | 17 | public CommonLanguageList() { 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "CommonLanguageList{" + 23 | "commonLanguageList=" + commonLanguageList + 24 | '}'; 25 | } 26 | 27 | public List getCommonLanguageList() { 28 | return commonLanguageList; 29 | } 30 | 31 | public void setCommonLanguageList(List commonLanguageList) { 32 | this.commonLanguageList = commonLanguageList; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ConnectStatus.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/8. 5 | */ 6 | public class ConnectStatus { 7 | private int statusCode; 8 | 9 | public ConnectStatus(int statusCode){ 10 | this.statusCode = statusCode; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ConversationEndReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/18. 5 | */ 6 | public class ConversationEndReq { 7 | 8 | private int conversationId; 9 | 10 | private int clientId; 11 | 12 | public ConversationEndReq(int conversationId) { 13 | this.conversationId = conversationId; 14 | } 15 | 16 | public int getConversationId() { 17 | return conversationId; 18 | } 19 | 20 | public void setConversationId(int conversationId) { 21 | this.conversationId = conversationId; 22 | } 23 | 24 | public ConversationEndReq() { 25 | } 26 | 27 | @Override 28 | public String toString() { 29 | return "ConversationEndReq{" + 30 | "conversationId=" + conversationId + 31 | ", clientId=" + clientId + 32 | '}'; 33 | } 34 | 35 | public int getClientId() { 36 | return clientId; 37 | } 38 | 39 | public void setClientId(int clientId) { 40 | this.clientId = clientId; 41 | } 42 | 43 | public ConversationEndReq(int conversationId, int clientId) { 44 | this.conversationId = conversationId; 45 | this.clientId = clientId; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ConversationEndSignal.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/18. 5 | */ 6 | public class ConversationEndSignal { 7 | 8 | private int conversationId; 9 | 10 | @Override 11 | public String toString() { 12 | return "ConversationEndSignal{" + 13 | "conversationId=" + conversationId + 14 | '}'; 15 | } 16 | 17 | public int getConversationId() { 18 | return conversationId; 19 | } 20 | 21 | public void setConversationId(int conversationId) { 22 | this.conversationId = conversationId; 23 | } 24 | 25 | public ConversationEndSignal(int conversationId) { 26 | this.conversationId = conversationId; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ConversationStart.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.ChatLog; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Lee on 2017/7/14. 9 | */ 10 | public class ConversationStart { 11 | 12 | private int conversationId; 13 | 14 | private String account; 15 | 16 | private int clientId; 17 | 18 | private List chatLogList; 19 | 20 | public ConversationStart() { 21 | } 22 | 23 | public ConversationStart(int conversationId, String account, int clientId, List chatLogList) { 24 | this.conversationId = conversationId; 25 | this.account = account; 26 | this.clientId = clientId; 27 | this.chatLogList = chatLogList; 28 | } 29 | 30 | public int getConversationId() { 31 | return conversationId; 32 | } 33 | 34 | public void setConversationId(int conversationId) { 35 | this.conversationId = conversationId; 36 | } 37 | 38 | public String getAccount() { 39 | return account; 40 | } 41 | 42 | public void setAccount(String account) { 43 | this.account = account; 44 | } 45 | 46 | public int getClientId() { 47 | return clientId; 48 | } 49 | 50 | public void setClientId(int clientId) { 51 | this.clientId = clientId; 52 | } 53 | 54 | public List getChatLogList() { 55 | return chatLogList; 56 | } 57 | 58 | public void setChatLogList(List chatLogList) { 59 | this.chatLogList = chatLogList; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/DeleteTag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/17. 5 | */ 6 | public class DeleteTag { 7 | private int clientId; 8 | 9 | private String tag; 10 | 11 | public DeleteTag(int clientId, String tag) { 12 | this.clientId = clientId; 13 | this.tag = tag; 14 | } 15 | 16 | public DeleteTag() { 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "DeleteTag{" + 22 | "clientId=" + clientId + 23 | ", tag='" + tag + '\'' + 24 | '}'; 25 | } 26 | 27 | public int getClientId() { 28 | return clientId; 29 | } 30 | 31 | public void setClientId(int clientId) { 32 | this.clientId = clientId; 33 | } 34 | 35 | public String getTag() { 36 | return tag; 37 | } 38 | 39 | public void setTag(String tag) { 40 | this.tag = tag; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/DetailViewList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.AccessAndNumDuring; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by hp on 2017/8/1. 9 | */ 10 | public class DetailViewList { 11 | long conversationCount; 12 | int clientNum; 13 | double avgScore; 14 | List scoreAndNums; 15 | List accessAndNumDurings; 16 | 17 | public long getConversationCount() { 18 | return conversationCount; 19 | } 20 | 21 | public void setConversationCount(long conversationCount) { 22 | this.conversationCount = conversationCount; 23 | } 24 | 25 | public int getClientNum() { 26 | return clientNum; 27 | } 28 | 29 | public void setClientNum(int clientNum) { 30 | this.clientNum = clientNum; 31 | } 32 | 33 | public double getAvgScore() { 34 | return avgScore; 35 | } 36 | 37 | public void setAvgScore(double avgScore) { 38 | this.avgScore = avgScore; 39 | } 40 | 41 | public List getScoreAndNums() { 42 | return scoreAndNums; 43 | } 44 | 45 | public void setScoreAndNums(List scoreAndNums) { 46 | this.scoreAndNums = scoreAndNums; 47 | } 48 | 49 | public List getAccessAndNumDurings() { 50 | return accessAndNumDurings; 51 | } 52 | 53 | public void setAccessAndNumDurings(List accessAndNumDurings) { 54 | this.accessAndNumDurings = accessAndNumDurings; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/FastSearchKnowledges.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/18. 5 | */ 6 | public class FastSearchKnowledges { 7 | 8 | private int conversationId; 9 | 10 | private String searchSentence; 11 | 12 | public FastSearchKnowledges() { 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "FastSearchKnowledges{" + 18 | "conversationId=" + conversationId + 19 | ", searchSentence='" + searchSentence + '\'' + 20 | '}'; 21 | } 22 | 23 | public int getConversationId() { 24 | return conversationId; 25 | } 26 | 27 | public void setConversationId(int conversationId) { 28 | this.conversationId = conversationId; 29 | } 30 | 31 | public String getSearchSentence() { 32 | return searchSentence; 33 | } 34 | 35 | public void setSearchSentence(String searchSentence) { 36 | this.searchSentence = searchSentence; 37 | } 38 | 39 | public FastSearchKnowledges(int conversationId, String searchSentence) { 40 | this.conversationId = conversationId; 41 | this.searchSentence = searchSentence; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/GroupAndPersonNum.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.ServiceGroup; 4 | import org.obsidian.scss.service.ServiceGroupService; 5 | 6 | /** 7 | * Created by hp on 2017/7/20. 8 | */ 9 | public class GroupAndPersonNum { 10 | public ServiceGroup serviceGroup; 11 | public int total; 12 | 13 | public ServiceGroup getServiceGroup() { 14 | return serviceGroup; 15 | } 16 | 17 | public void setServiceGroup(ServiceGroup serviceGroup) { 18 | this.serviceGroup = serviceGroup; 19 | } 20 | 21 | public int getTotal() { 22 | return total; 23 | } 24 | 25 | public void setTotal(int total) { 26 | this.total = total; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/GroupAndTag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.GroupWord; 4 | import org.obsidian.scss.entity.ServiceGroup; 5 | import java.util.*; 6 | /** 7 | * Created by hp on 2017/7/30. 8 | */ 9 | public class GroupAndTag { 10 | public ServiceGroup serviceGroup; 11 | public List groupWords; 12 | 13 | public ServiceGroup getServiceGroup() { 14 | return serviceGroup; 15 | } 16 | 17 | public void setServiceGroup(ServiceGroup serviceGroup) { 18 | this.serviceGroup = serviceGroup; 19 | } 20 | 21 | public List getGroupWords() { 22 | return groupWords; 23 | } 24 | 25 | public void setGroupWords(List groupWords) { 26 | this.groupWords = groupWords; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/IdList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by hp on 2017/7/16. 5 | */ 6 | public class IdList { 7 | int id; 8 | 9 | public int getId() { 10 | return id; 11 | } 12 | 13 | public void setId(int id) { 14 | this.id = id; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/KnowledgeAndKeyword.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import java.util.List; 4 | import org.obsidian.scss.entity.Keyword; 5 | import org.obsidian.scss.entity.Knowledge; 6 | 7 | /** 8 | * Created by hp on 2017/7/16. 9 | */ 10 | public class KnowledgeAndKeyword { 11 | Knowledge knowledge; 12 | List keywords; 13 | 14 | public Knowledge getKnowledge() { 15 | return knowledge; 16 | } 17 | 18 | public void setKnowledge(Knowledge knowledge) { 19 | this.knowledge = knowledge; 20 | } 21 | 22 | public List getKeywords() { 23 | return keywords; 24 | } 25 | 26 | public void setKeywords(List keywords) { 27 | this.keywords = keywords; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/KnowledgeList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.Knowledge; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Lee on 2017/7/12. 9 | */ 10 | public class KnowledgeList { 11 | private List knowledgeList; 12 | 13 | public List getKnowledgeList() { 14 | return knowledgeList; 15 | } 16 | 17 | public void setKnowledgeList(List knowledgeList) { 18 | this.knowledgeList = knowledgeList; 19 | } 20 | 21 | public KnowledgeList(List knowledgeList) { 22 | this.knowledgeList = knowledgeList; 23 | } 24 | 25 | public KnowledgeList() { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/Message.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | 4 | /** 5 | * Created by Lee on 2017/7/7. 6 | */ 7 | public class Message { 8 | 9 | private String type; 10 | 11 | private T content; 12 | 13 | public Message(T content){ 14 | this.content = content; 15 | String tmp = content.getClass().getName(); 16 | this.type = tmp.substring(tmp.lastIndexOf(".") + 1); 17 | } 18 | 19 | public String getType() { 20 | return type; 21 | } 22 | 23 | public void setType(String type) { 24 | this.type = type; 25 | } 26 | 27 | public T getContent() { 28 | return content; 29 | } 30 | 31 | public void setContent(T content) { 32 | this.content = content; 33 | } 34 | 35 | public Message() { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/NameList.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by hp on 2017/7/16. 5 | */ 6 | public class NameList { 7 | String name; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public void setName(String name) { 14 | this.name = name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/Notification.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/19. 5 | */ 6 | public class Notification { 7 | private String title; 8 | 9 | private String notiContent; 10 | 11 | private long time; 12 | 13 | 14 | public Notification() { 15 | } 16 | 17 | public String getTitle() { 18 | return title; 19 | } 20 | 21 | public void setTitle(String title) { 22 | this.title = title; 23 | } 24 | 25 | public String getNotiContent() { 26 | return notiContent; 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return "Notification{" + 32 | "title='" + title + '\'' + 33 | ", notiContent='" + notiContent + '\'' + 34 | ", time=" + time + 35 | '}'; 36 | } 37 | 38 | public void setNotiContent(String notiContent) { 39 | this.notiContent = notiContent; 40 | } 41 | 42 | public Notification(String title, String notiContent, long time) { 43 | this.title = title; 44 | this.notiContent = notiContent; 45 | this.time = time; 46 | } 47 | 48 | public long getTime() { 49 | return time; 50 | } 51 | 52 | public void setTime(long time) { 53 | this.time = time; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/NotificationAndTypeAndObjectType.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.Notification; 4 | import org.obsidian.scss.entity.NotificationObjectType; 5 | import org.obsidian.scss.entity.NotificationType; 6 | 7 | /** 8 | * Created by hp on 2017/7/19. 9 | */ 10 | public class NotificationAndTypeAndObjectType { 11 | public String type; 12 | 13 | public Notification notification; 14 | 15 | public NotificationType notificationType; 16 | 17 | public NotificationObjectType notificationObjectType; 18 | 19 | public Object getMessageObject; 20 | 21 | public String getType() { 22 | return type; 23 | } 24 | 25 | public void setType(String type) { 26 | this.type = type; 27 | } 28 | 29 | public Object getGetMessageObject() { 30 | return getMessageObject; 31 | } 32 | 33 | public void setGetMessageObject(Object getMessageObject) { 34 | this.getMessageObject = getMessageObject; 35 | } 36 | 37 | public Notification getNotification() { 38 | return notification; 39 | } 40 | 41 | public void setNotification(Notification notification) { 42 | this.notification = notification; 43 | } 44 | 45 | public NotificationType getNotificationType() { 46 | return notificationType; 47 | } 48 | 49 | public void setNotificationType(NotificationType notificationType) { 50 | this.notificationType = notificationType; 51 | } 52 | 53 | public NotificationObjectType getNotificationObjectType() { 54 | return notificationObjectType; 55 | } 56 | 57 | public void setNotificationObjectType(NotificationObjectType notificationObjectType) { 58 | this.notificationObjectType = notificationObjectType; 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/PeopleDayAndTime.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.CustomerService; 4 | import org.obsidian.scss.entity.DayAndTime; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by hp on 2017/7/15. 10 | * 客服信息和客服工作绩效 11 | */ 12 | public class PeopleDayAndTime { 13 | public CustomerService customerService; 14 | public List monthInfo; 15 | public List weekInfo; 16 | public List dayInfo; 17 | 18 | public CustomerService getCustomerService() { 19 | return customerService; 20 | } 21 | 22 | public void setCustomerService(CustomerService customerService) { 23 | this.customerService = customerService; 24 | } 25 | 26 | public List getMonthInfo() { 27 | return monthInfo; 28 | } 29 | 30 | public void setMonthInfo(List monthInfo) { 31 | this.monthInfo = monthInfo; 32 | } 33 | 34 | public List getWeekInfo() { 35 | return weekInfo; 36 | } 37 | 38 | public void setWeekInfo(List weekInfo) { 39 | this.weekInfo = weekInfo; 40 | } 41 | 42 | public List getDayInfo() { 43 | return dayInfo; 44 | } 45 | 46 | public void setDayInfo(List dayInfo) { 47 | this.dayInfo = dayInfo; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/PullReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/18. 5 | */ 6 | public class PullReq { 7 | private int serviceId; 8 | 9 | public PullReq(int serviceId) { 10 | this.serviceId = serviceId; 11 | } 12 | 13 | public PullReq() { 14 | } 15 | 16 | public int getServiceId() { 17 | return serviceId; 18 | } 19 | 20 | public void setServiceId(int serviceId) { 21 | this.serviceId = serviceId; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/RecommandKnowledges.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.Knowledge; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Lee on 2017/7/15. 9 | */ 10 | public class RecommandKnowledges { 11 | 12 | private int conversationId; 13 | 14 | private List knowledgeList; 15 | 16 | public RecommandKnowledges(int conversationId, List knowledgeList) { 17 | this.conversationId = conversationId; 18 | this.knowledgeList = knowledgeList; 19 | } 20 | 21 | public int getConversationId() { 22 | return conversationId; 23 | } 24 | 25 | public void setConversationId(int conversationId) { 26 | this.conversationId = conversationId; 27 | } 28 | 29 | public List getKnowledgeList() { 30 | return knowledgeList; 31 | } 32 | 33 | public void setKnowledgeList(List knowledgeList) { 34 | this.knowledgeList = knowledgeList; 35 | } 36 | 37 | public RecommandKnowledges() { 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/RecommandTags.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by Administrator on 2017/7/18. 7 | */ 8 | public class RecommandTags { 9 | private int conversationId; 10 | 11 | private List tagList; 12 | 13 | public RecommandTags(int conversationId, List tagList) { 14 | this.conversationId = conversationId; 15 | this.tagList = tagList; 16 | } 17 | 18 | public RecommandTags() { 19 | } 20 | 21 | @Override 22 | public String toString() { 23 | return "RecommandTags{" + 24 | "conversationId=" + conversationId + 25 | ", tagList=" + tagList + 26 | '}'; 27 | } 28 | 29 | public int getConversationId() { 30 | return conversationId; 31 | } 32 | 33 | public void setConversationId(int conversationId) { 34 | this.conversationId = conversationId; 35 | } 36 | 37 | public List getTagList() { 38 | return tagList; 39 | } 40 | 41 | public void setTagList(List tagList) { 42 | this.tagList = tagList; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/RobotChat.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by Lee on 2017/7/8. 7 | */ 8 | public class RobotChat { 9 | 10 | private String answer; 11 | 12 | private List questionPush; 13 | 14 | private long time; 15 | 16 | @Override 17 | public String toString() { 18 | return "RobotChat{" + 19 | "answer='" + answer + '\'' + 20 | ", questionPush=" + questionPush + 21 | ", time=" + time + 22 | '}'; 23 | } 24 | 25 | public List getQuestionPush() { 26 | return questionPush; 27 | } 28 | 29 | public void setQuestionPush(List questionPush) { 30 | this.questionPush = questionPush; 31 | } 32 | 33 | public RobotChat(String answer, List questionPush, long time) { 34 | this.answer = answer; 35 | this.questionPush = questionPush; 36 | this.time = time; 37 | } 38 | 39 | public RobotChat() { 40 | } 41 | 42 | public String getAnswer() { 43 | return answer; 44 | } 45 | 46 | public void setAnswer(String answer) { 47 | this.answer = answer; 48 | } 49 | 50 | 51 | public long getTime() { 52 | return time; 53 | } 54 | 55 | public void setTime(long time) { 56 | this.time = time; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ScoreAndNum.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by hp on 2017/8/1. 5 | */ 6 | public class ScoreAndNum { 7 | int score; 8 | int countNum; 9 | 10 | public int getScore() { 11 | return score; 12 | } 13 | 14 | public void setScore(int score) { 15 | this.score = score; 16 | } 17 | 18 | public int getCountNum() { 19 | return countNum; 20 | } 21 | 22 | public void setCountNum(int countNum) { 23 | this.countNum = countNum; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ScoreReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/20. 5 | */ 6 | public class ScoreReq { 7 | 8 | private int conversationId; 9 | 10 | public ScoreReq(int conversationId) { 11 | this.conversationId = conversationId; 12 | } 13 | 14 | public int getConversationId() { 15 | return conversationId; 16 | } 17 | 18 | public void setConversationId(int conversationId) { 19 | this.conversationId = conversationId; 20 | } 21 | 22 | @Override 23 | public String toString() { 24 | return "ScoreReq{" + 25 | "conversationId=" + conversationId + 26 | '}'; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/SearchClientByNameReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/17. 5 | */ 6 | public class SearchClientByNameReq { 7 | 8 | private String searchWord; 9 | 10 | public SearchClientByNameReq() { 11 | } 12 | 13 | public SearchClientByNameReq(String searchWord) { 14 | this.searchWord = searchWord; 15 | } 16 | 17 | public String getSearchWord() { 18 | return searchWord; 19 | } 20 | 21 | public void setSearchWord(String searchWord) { 22 | this.searchWord = searchWord; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return "SearchClientByNameReq{" + 28 | "searchWord='" + searchWord + '\'' + 29 | '}'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/SearchClientByNameResp.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.Client; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/17. 9 | */ 10 | public class SearchClientByNameResp { 11 | private List clientList; 12 | 13 | public SearchClientByNameResp(List clientList) { 14 | this.clientList = clientList; 15 | } 16 | 17 | public SearchClientByNameResp() { 18 | } 19 | 20 | public List getClientList() { 21 | return clientList; 22 | } 23 | 24 | public void setClientList(List clientList) { 25 | this.clientList = clientList; 26 | } 27 | 28 | @Override 29 | public String toString() { 30 | return "SearchClientByNameResp{" + 31 | "clientList=" + clientList + 32 | '}'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceAndRankInfo.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.*; 4 | 5 | import java.util.*; 6 | /** 7 | * Created by hp on 2017/8/1. 8 | */ 9 | public class ServiceAndRankInfo { 10 | public CustomerService customerService; 11 | public ServiceGroup serviceGroup; 12 | public List conNumAndRanks; 13 | public ListscoreAndRanks; 14 | public List timeAndRanks; 15 | 16 | public ServiceGroup getServiceGroup() { 17 | return serviceGroup; 18 | } 19 | 20 | public void setServiceGroup(ServiceGroup serviceGroup) { 21 | this.serviceGroup = serviceGroup; 22 | } 23 | 24 | public CustomerService getCustomerService() { 25 | return customerService; 26 | } 27 | 28 | public void setCustomerService(CustomerService customerService) { 29 | this.customerService = customerService; 30 | } 31 | 32 | public List getConNumAndRanks() { 33 | return conNumAndRanks; 34 | } 35 | 36 | public void setConNumAndRanks(List conNumAndRanks) { 37 | this.conNumAndRanks = conNumAndRanks; 38 | } 39 | 40 | public List getScoreAndRanks() { 41 | return scoreAndRanks; 42 | } 43 | 44 | public void setScoreAndRanks(List scoreAndRanks) { 45 | this.scoreAndRanks = scoreAndRanks; 46 | } 47 | 48 | public List getTimeAndRanks() { 49 | return timeAndRanks; 50 | } 51 | 52 | public void setTimeAndRanks(List timeAndRanks) { 53 | this.timeAndRanks = timeAndRanks; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceConnectInfo.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/8. 5 | */ 6 | public class ServiceConnectInfo { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceLogin.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/17. 5 | */ 6 | public class ServiceLogin { 7 | 8 | private String token; 9 | 10 | public String getToken() { 11 | return token; 12 | } 13 | 14 | public void setToken(String token) { 15 | this.token = token; 16 | } 17 | 18 | public ServiceLogin(String token) { 19 | this.token = token; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceMessage.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/8. 5 | */ 6 | public class ServiceMessage { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceOverview.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/26. 5 | */ 6 | public class ServiceOverview { 7 | 8 | private int conversationCount; 9 | 10 | private int conversationCountRank; 11 | 12 | private long onlineTime; 13 | 14 | private int onlineTimeRank; 15 | 16 | private double avgScore; 17 | 18 | private int avgScoreRank; 19 | 20 | private long clientCount; 21 | 22 | 23 | public ServiceOverview() { 24 | } 25 | 26 | public int getConversationCount() { 27 | return conversationCount; 28 | } 29 | 30 | public void setConversationCount(int conversationCount) { 31 | this.conversationCount = conversationCount; 32 | } 33 | 34 | public int getConversationCountRank() { 35 | return conversationCountRank; 36 | } 37 | 38 | public void setConversationCountRank(int conversationCountRank) { 39 | this.conversationCountRank = conversationCountRank; 40 | } 41 | 42 | public long getOnlineTime() { 43 | return onlineTime; 44 | } 45 | 46 | public void setOnlineTime(long onlineTime) { 47 | this.onlineTime = onlineTime; 48 | } 49 | 50 | public int getOnlineTimeRank() { 51 | return onlineTimeRank; 52 | } 53 | 54 | public void setOnlineTimeRank(int onlineTimeRank) { 55 | this.onlineTimeRank = onlineTimeRank; 56 | } 57 | 58 | public double getAvgScore() { 59 | return avgScore; 60 | } 61 | 62 | public void setAvgScore(double avgScore) { 63 | this.avgScore = avgScore; 64 | } 65 | 66 | public int getAvgScoreRank() { 67 | return avgScoreRank; 68 | } 69 | 70 | public void setAvgScoreRank(int avgScoreRank) { 71 | this.avgScoreRank = avgScoreRank; 72 | } 73 | 74 | public long getClientCount() { 75 | return clientCount; 76 | } 77 | 78 | public void setClientCount(long clientCount) { 79 | this.clientCount = clientCount; 80 | } 81 | 82 | } 83 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/ServiceStatus.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/20. 5 | */ 6 | public class ServiceStatus { 7 | 8 | private int conversationCount; 9 | 10 | private int queuePeopleCount; 11 | 12 | public ServiceStatus(int conversationCount, int queuePeopleCount) { 13 | this.conversationCount = conversationCount; 14 | this.queuePeopleCount = queuePeopleCount; 15 | } 16 | 17 | public ServiceStatus() { 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "ServiceStatus{" + 23 | "conversationCount=" + conversationCount + 24 | ", queuePeopleCount=" + queuePeopleCount + 25 | '}'; 26 | } 27 | 28 | public int getConversationCount() { 29 | return conversationCount; 30 | } 31 | 32 | public void setConversationCount(int conversationCount) { 33 | this.conversationCount = conversationCount; 34 | } 35 | 36 | public int getQueuePeopleCount() { 37 | return queuePeopleCount; 38 | } 39 | 40 | public void setQueuePeopleCount(int queuePeopleCount) { 41 | this.queuePeopleCount = queuePeopleCount; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/SetScore.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/18. 5 | */ 6 | public class SetScore { 7 | 8 | private int conversationId; 9 | 10 | private int score; 11 | 12 | @Override 13 | public String toString() { 14 | return "SetScore{" + 15 | "conversationId=" + conversationId + 16 | ", score=" + score + 17 | '}'; 18 | } 19 | 20 | public SetScore() { 21 | } 22 | 23 | public int getConversationId() { 24 | return conversationId; 25 | } 26 | 27 | public void setConversationId(int conversationId) { 28 | this.conversationId = conversationId; 29 | } 30 | 31 | public int getScore() { 32 | return score; 33 | } 34 | 35 | public void setScore(int score) { 36 | this.score = score; 37 | } 38 | 39 | public SetScore(int conversationId, int score) { 40 | this.conversationId = conversationId; 41 | this.score = score; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/Show.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Cjn on 2017/7/14. 5 | * 负责HTTP前后端通信的接口 6 | */ 7 | 8 | public class Show { 9 | public Object data; 10 | public int status = 1; 11 | public String message = "操作成功"; 12 | 13 | public Object getData() { 14 | return data; 15 | } 16 | 17 | public void setData(Object date) { 18 | this.data = date; 19 | } 20 | 21 | public int getStatus() { 22 | return status; 23 | } 24 | 25 | public void setStatus(int status) { 26 | this.status = status; 27 | } 28 | 29 | public String getMessage() { 30 | return message; 31 | } 32 | 33 | public void setMessage(String message) { 34 | this.message = message; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/TransferEndSignal.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/28. 5 | */ 6 | public class TransferEndSignal { 7 | private int conversationId; 8 | 9 | public TransferEndSignal(int conversationId) { 10 | this.conversationId = conversationId; 11 | } 12 | 13 | public int getConversationId() { 14 | return conversationId; 15 | } 16 | 17 | public void setConversationId(int conversationId) { 18 | this.conversationId = conversationId; 19 | } 20 | 21 | public TransferEndSignal() { 22 | } 23 | 24 | @Override 25 | public String toString() { 26 | return "TransferEndSignal{" + 27 | "conversationId=" + conversationId + 28 | '}'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/TransferReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/15. 5 | */ 6 | public class TransferReq { 7 | 8 | private int transferType; 9 | 10 | private int targetId; 11 | 12 | private int clientId; 13 | 14 | private int conversationId; 15 | 16 | public TransferReq() { 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "TransferReq{" + 22 | "transferType=" + transferType + 23 | ", targetId=" + targetId + 24 | ", clientId=" + clientId + 25 | ", conversationId=" + conversationId + 26 | '}'; 27 | } 28 | 29 | public TransferReq(int transferType, int targetId, int clientId, int conversationId) { 30 | this.transferType = transferType; 31 | this.targetId = targetId; 32 | this.clientId = clientId; 33 | this.conversationId = conversationId; 34 | } 35 | 36 | public int getConversationId() { 37 | return conversationId; 38 | } 39 | 40 | public void setConversationId(int conversationId) { 41 | this.conversationId = conversationId; 42 | } 43 | 44 | public int getClientId() { 45 | return clientId; 46 | } 47 | 48 | public void setClientId(int clientId) { 49 | this.clientId = clientId; 50 | } 51 | 52 | public int getTransferType() { 53 | return transferType; 54 | } 55 | 56 | public void setTransferType(int transferType) { 57 | this.transferType = transferType; 58 | } 59 | 60 | public int getTargetId() { 61 | return targetId; 62 | } 63 | 64 | public void setTargetId(int targetId) { 65 | this.targetId = targetId; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/TransferSignal.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | import org.obsidian.scss.entity.ChatLog; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Lee on 2017/7/17. 9 | */ 10 | public class TransferSignal { 11 | 12 | private int conversationId; 13 | 14 | private int clientId; 15 | 16 | private List historyList; 17 | 18 | 19 | public TransferSignal() { 20 | } 21 | 22 | public int getConversationId() { 23 | return conversationId; 24 | } 25 | 26 | public void setConversationId(int conversationId) { 27 | this.conversationId = conversationId; 28 | } 29 | 30 | public int getClientId() { 31 | return clientId; 32 | } 33 | 34 | public void setClientId(int clientId) { 35 | this.clientId = clientId; 36 | } 37 | 38 | public List getHistoryList() { 39 | return historyList; 40 | } 41 | 42 | public void setHistoryList(List historyList) { 43 | this.historyList = historyList; 44 | } 45 | 46 | public TransferSignal(int conversationId, int clientId, List historyList) { 47 | this.conversationId = conversationId; 48 | this.clientId = clientId; 49 | this.historyList = historyList; 50 | } 51 | 52 | @Override 53 | public String toString() { 54 | return "TransferSignal{" + 55 | "conversationId=" + conversationId + 56 | ", clientId=" + clientId + 57 | ", historyList=" + historyList + 58 | '}'; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/UserInfoReq.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/14. 5 | */ 6 | public class UserInfoReq { 7 | private int userType; 8 | private int userId; 9 | 10 | public UserInfoReq(int userType, int userId) { 11 | this.userType = userType; 12 | this.userId = userId; 13 | } 14 | 15 | public UserInfoReq() { 16 | } 17 | 18 | public int getUserType() { 19 | return userType; 20 | } 21 | 22 | public void setUserType(int userType) { 23 | this.userType = userType; 24 | } 25 | 26 | public int getUserId() { 27 | return userId; 28 | } 29 | 30 | public void setUserId(int userId) { 31 | this.userId = userId; 32 | } 33 | 34 | @Override 35 | public String toString() { 36 | return "UserInfoReq{" + 37 | "userType=" + userType + 38 | ", userId=" + userId + 39 | '}'; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/bean/UserInfoResp.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.bean; 2 | 3 | /** 4 | * Created by Lee on 2017/7/14. 5 | */ 6 | public class UserInfoResp { 7 | 8 | private int userType; 9 | 10 | private String nickName; 11 | 12 | private int userId; 13 | 14 | public UserInfoResp() { 15 | } 16 | 17 | public int getUserType() { 18 | return userType; 19 | } 20 | 21 | public void setUserType(int userType) { 22 | this.userType = userType; 23 | } 24 | 25 | 26 | public String getNickName() { 27 | return nickName; 28 | } 29 | 30 | public void setNickName(String nickName) { 31 | this.nickName = nickName; 32 | } 33 | 34 | public UserInfoResp(int userType, String nickName, int userId) { 35 | this.userType = userType; 36 | this.nickName = nickName; 37 | this.userId = userId; 38 | } 39 | 40 | public int getUserId() { 41 | return userId; 42 | } 43 | 44 | 45 | public void setUserId(int userId) { 46 | this.userId = userId; 47 | } 48 | 49 | @Override 50 | public String toString() { 51 | return "UserInfoResp{" + 52 | "userType=" + userType + 53 | ", nickName='" + nickName + '\'' + 54 | ", userId=" + userId + 55 | '}'; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/InitController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import org.obsidian.scss.service.GroupQueue; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.context.ApplicationListener; 6 | import org.springframework.context.event.ContextRefreshedEvent; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | import org.springframework.web.bind.annotation.RequestMethod; 10 | 11 | /** 12 | * Created by Lee on 2017/7/7. 13 | */ 14 | @Controller 15 | @RequestMapping("/") 16 | public class InitController implements ApplicationListener { 17 | 18 | @Autowired 19 | private GroupQueue groupQueue; 20 | 21 | public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { 22 | System.out.println("服务器启动!======初始化队列Bean"); 23 | System.out.println(groupQueue); 24 | } 25 | 26 | @RequestMapping(value = "/", method = RequestMethod.GET) 27 | public String kf_login(){ 28 | return "redirect:/page/kf_login.html"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/OnlineGroupController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import org.obsidian.scss.dao.ServiceGroupMapper; 4 | import org.obsidian.scss.entity.CustomerService; 5 | import org.obsidian.scss.entity.ServiceGroup; 6 | import org.obsidian.scss.service.CustomerServiceService; 7 | import org.obsidian.scss.service.GroupQueue; 8 | import org.obsidian.scss.service.OnlineService; 9 | import org.obsidian.scss.service.ServiceGroupService; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Controller; 12 | import org.springframework.web.bind.annotation.RequestMapping; 13 | import org.springframework.web.bind.annotation.RequestMethod; 14 | import org.springframework.web.bind.annotation.ResponseBody; 15 | 16 | import java.util.List; 17 | 18 | /** 19 | * Created by Lee on 2017/7/24. 20 | */ 21 | @Controller 22 | @RequestMapping(value = "/api") 23 | public class OnlineGroupController { 24 | 25 | @Autowired 26 | private ServiceGroupService serviceGroupService; 27 | 28 | @Autowired 29 | private OnlineService onlineService; 30 | 31 | @Autowired 32 | private CustomerServiceService customerServiceService; 33 | 34 | @RequestMapping(value = "/onlineGroup", method = RequestMethod.GET) 35 | @ResponseBody 36 | public List onlineGroup(){ 37 | List list = serviceGroupService.selectAllGroup(); 38 | for (String employeeId : onlineService.getMap().values()){ 39 | CustomerService customerService = customerServiceService.selectCustomerServiceByEmployeeId(employeeId); 40 | for (ServiceGroup serviceGroup : list){ 41 | if (serviceGroup.getGroupId().equals(customerService.getGroupId())){ 42 | serviceGroup.getOnlineMembers().add(customerService); 43 | } 44 | } 45 | } 46 | return list; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/ServiceLoginController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import org.obsidian.scss.bean.Message; 4 | import org.obsidian.scss.entity.CustomerService; 5 | import org.obsidian.scss.service.CustomerServiceService; 6 | import org.obsidian.scss.service.OnlineService; 7 | import org.obsidian.scss.service.ServiceGroupPeople; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RequestMethod; 12 | import sun.misc.BASE64Encoder; 13 | 14 | import javax.servlet.http.Cookie; 15 | import javax.servlet.http.HttpServletRequest; 16 | import javax.servlet.http.HttpServletResponse; 17 | import java.security.MessageDigest; 18 | import java.security.NoSuchAlgorithmException; 19 | 20 | /** 21 | * Created by Lee on 2017/7/17. 22 | */ 23 | @Controller 24 | @RequestMapping(value ="/" ) 25 | public class ServiceLoginController { 26 | 27 | @Autowired 28 | private CustomerServiceService customerServiceService; 29 | 30 | @Autowired 31 | private OnlineService onlineService; 32 | 33 | @Autowired 34 | private ServiceGroupPeople serviceGroupPeople; 35 | 36 | @RequestMapping(value = "/login", method = RequestMethod.POST) 37 | public String login(HttpServletRequest req, HttpServletResponse resp){ 38 | String employeeId = req.getParameter("employeeId"); 39 | String password = req.getParameter("password"); 40 | if (employeeId != null && password != null){ 41 | CustomerService customerService = customerServiceService.selectByEIdAndPwd(employeeId,password); 42 | if (customerService != null){ 43 | onlineService.online(employeeId, resp); 44 | serviceGroupPeople.joinGroup(customerService.getGroupId(), customerService.getServiceId()); 45 | return "redirect:/page/customerService.html"; 46 | } 47 | } 48 | return null; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/ServiceOverviewController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import org.obsidian.scss.bean.ServiceOverview; 4 | import org.obsidian.scss.service.ConversationService; 5 | import org.obsidian.scss.service.JoinUpService; 6 | import org.obsidian.scss.service.WorkTimeService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestMethod; 11 | import org.springframework.web.bind.annotation.ResponseBody; 12 | 13 | /** 14 | * Created by Lee on 2017/7/26. 15 | */ 16 | @Controller 17 | @RequestMapping("/service") 18 | public class ServiceOverviewController { 19 | 20 | @Autowired 21 | private WorkTimeService workTimeService; 22 | 23 | @Autowired 24 | private ConversationService conversationService; 25 | 26 | @Autowired 27 | private JoinUpService joinUpService; 28 | 29 | @RequestMapping(value = "/overview", method = RequestMethod.GET) 30 | @ResponseBody 31 | public ServiceOverview overView(){ 32 | int serviceId = 0; 33 | ServiceOverview serviceOverView = new ServiceOverview(); 34 | serviceOverView.setAvgScore(conversationService.getAvgScoreByServiceId(serviceId)); 35 | serviceOverView.setAvgScoreRank(conversationService.getAvgScoreRankByServiceId(serviceId)); 36 | serviceOverView.setClientCount(joinUpService.getTodayClientCount()); 37 | 38 | return serviceOverView; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/TestCjnController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import java.util.List; 4 | import org.obsidian.scss.entity.Keyword; 5 | import org.obsidian.scss.entity.KeywordAndHeat; 6 | import org.obsidian.scss.service.KeywordHeatService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.ResponseBody; 11 | 12 | /** 13 | * Created by hp on 2017/7/15. 14 | */ 15 | @Controller 16 | public class TestCjnController { 17 | @Autowired 18 | KeywordHeatService keywordHeatService; 19 | 20 | @RequestMapping("x5") 21 | @ResponseBody 22 | public List xxx(){ 23 | System.out.println(keywordHeatService.getHeatWord().get(0).getKeywords().get(0).getValue()); 24 | return keywordHeatService.getHeatWord(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/controller/operationUserController.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.controller; 2 | 3 | import org.obsidian.scss.bean.Show; 4 | import org.obsidian.scss.entity.OperationUser; 5 | import org.obsidian.scss.service.OperationUserService; 6 | import org.omg.CORBA.Request; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.RequestBody; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RequestParam; 12 | import org.springframework.web.bind.annotation.ResponseBody; 13 | 14 | import javax.servlet.http.HttpSession; 15 | 16 | /** 17 | * Created by hp on 2017/7/25. 18 | */ 19 | @Controller 20 | public class operationUserController { 21 | 22 | @Autowired 23 | private OperationUserService operationUserService; 24 | 25 | @RequestMapping("opUserLogin") 26 | @ResponseBody 27 | public Show opLogin(@RequestParam("opId") int oid,@RequestParam("opsd") String opsd,HttpSession session){ 28 | OperationUser res = operationUserService.selectUser(oid,opsd); 29 | Show show = new Show(); 30 | if (res == null){ 31 | show.setStatus(0); 32 | show.setMessage("您输入的账号密码有误"); 33 | }else { 34 | session.setAttribute("uid", oid); 35 | show.setData(res); 36 | show.setMessage("欢迎"+res.getUsername()); 37 | } 38 | return show; 39 | } 40 | 41 | @RequestMapping("opUserLoginOut") 42 | @ResponseBody 43 | public Show opLogin(HttpSession session){ 44 | Show show = new Show(); 45 | if (session.getAttribute("uid") !=null) 46 | session.setAttribute("uid",null); 47 | show.setMessage("登出成功"); 48 | show.setStatus(1); 49 | return show; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/conversation/KnowledgeListWS.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.conversation; 2 | 3 | import com.google.gson.Gson; 4 | import org.obsidian.scss.bean.KnowledgeList; 5 | import org.obsidian.scss.service.Impl.KnowledgeServiceImpl; 6 | import org.obsidian.scss.service.KnowledgeService; 7 | import org.obsidian.scss.service.resolver.ResolverFactory; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.web.socket.server.standard.SpringConfigurator; 11 | 12 | import javax.websocket.*; 13 | import javax.websocket.server.ServerEndpoint; 14 | import java.io.IOException; 15 | import java.util.Vector; 16 | 17 | /** 18 | * Created by Lee on 2017/7/12. 19 | */ 20 | @ServerEndpoint(value = "/knowledgeListWS", configurator = SpringConfigurator.class) 21 | public class KnowledgeListWS { 22 | private static Vector knowledgeListVector = new Vector(); 23 | 24 | private Session session; 25 | 26 | @Autowired 27 | private KnowledgeService knowledgeService; 28 | 29 | @Autowired 30 | private ResolverFactory resolverFactory; 31 | 32 | @OnOpen 33 | public void onOpen(Session session, EndpointConfig config){ 34 | this.session = session; 35 | System.out.println(config.getUserProperties()); 36 | knowledgeListVector.add(this); 37 | } 38 | 39 | @OnMessage 40 | public void onMessage(String msg){ 41 | System.out.println("收到消息" + msg); 42 | 43 | /* Gson gson = new Gson(); 44 | try { 45 | this.session.getBasicRemote().sendText(gson.toJson(knowledgeService.getKnowledgeByContent(msg))); 46 | 47 | } catch (IOException e) { 48 | e.printStackTrace(); 49 | }*/ 50 | } 51 | 52 | @OnError 53 | public void onError(Throwable t){ 54 | knowledgeListVector.remove(this); 55 | } 56 | 57 | @OnClose 58 | public void onClose(){ 59 | knowledgeListVector.remove(this); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/conversation/WebSocket.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.conversation; 2 | 3 | import javax.websocket.Session; 4 | import java.util.Vector; 5 | 6 | /** 7 | * Created by Lee on 2017/7/14. 8 | */ 9 | public interface WebSocket { 10 | 11 | Session getSession(); 12 | 13 | Vector getWsVector(); 14 | 15 | int getClientId(); 16 | 17 | void setClientId(int clientId); 18 | 19 | int getServiceId(); 20 | 21 | void setServiceId(int serviceId); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/AccessMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.Access; 6 | import org.obsidian.scss.entity.AccessExample; 7 | 8 | public interface AccessMapper { 9 | long countByExample(AccessExample example); 10 | 11 | int deleteByExample(AccessExample example); 12 | 13 | int insert(Access record); 14 | 15 | int insertSelective(Access record); 16 | 17 | List selectByExample(AccessExample example); 18 | 19 | int updateByExampleSelective(@Param("record") Access record, @Param("example") AccessExample example); 20 | 21 | int updateByExample(@Param("record") Access record, @Param("example") AccessExample example); 22 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/AdvFlagMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.AdvFlag; 5 | import org.obsidian.scss.entity.AdvFlagExample; 6 | 7 | import java.util.List; 8 | 9 | public interface AdvFlagMapper { 10 | int countByExample(AdvFlagExample example); 11 | 12 | int deleteByExample(AdvFlagExample example); 13 | 14 | int insert(AdvFlag record); 15 | 16 | int insertSelective(AdvFlag record); 17 | 18 | List selectByExample(AdvFlagExample example); 19 | 20 | int updateByExampleSelective(@Param("record") AdvFlag record, @Param("example") AdvFlagExample example); 21 | 22 | int updateByExample(@Param("record") AdvFlag record, @Param("example") AdvFlagExample example); 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/AdvertisementMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.Advertisement; 5 | import org.obsidian.scss.entity.AdvertisementExample; 6 | import org.obsidian.scss.entity.Client; 7 | 8 | import java.util.List; 9 | 10 | public interface AdvertisementMapper { 11 | int countByExample(AdvertisementExample example); 12 | 13 | int deleteByExample(AdvertisementExample example); 14 | 15 | int deleteByPrimaryKey(Integer advId); 16 | 17 | int insert(Advertisement record); 18 | 19 | int insertSelective(Advertisement record); 20 | 21 | List selectByExample(AdvertisementExample example); 22 | 23 | Advertisement selectByPrimaryKey(Integer advId); 24 | 25 | int updateByExampleSelective(@Param("record") Advertisement record, @Param("example") AdvertisementExample example); 26 | 27 | int updateByExample(@Param("record") Advertisement record, @Param("example") AdvertisementExample example); 28 | 29 | int updateByPrimaryKeySelective(Advertisement record); 30 | 31 | int updateByPrimaryKey(Advertisement record); 32 | /** 33 | * Create By cjn 34 | */ 35 | int countAdv(); 36 | int insertAdv(@Param("content") String content); 37 | List selectId(@Param("content") String content); 38 | List selectAdvClient(@Param("advId") int advId); 39 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/ChatLogMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.ChatLog; 6 | import org.obsidian.scss.entity.ChatLogAndSendRecInfo; 7 | import org.obsidian.scss.entity.ChatLogExample; 8 | 9 | public interface ChatLogMapper { 10 | long countByExample(ChatLogExample example); 11 | 12 | int deleteByExample(ChatLogExample example); 13 | 14 | int insert(ChatLog record); 15 | 16 | int insertSelective(ChatLog record); 17 | 18 | List selectByExample(ChatLogExample example); 19 | 20 | int updateByExampleSelective(@Param("record") ChatLog record, @Param("example") ChatLogExample example); 21 | 22 | int updateByExample(@Param("record") ChatLog record, @Param("example") ChatLogExample example); 23 | 24 | List selectByConversationId(int conversationId); 25 | 26 | List selectByClientId(int clientId); 27 | 28 | List selectClientSayByConversationId(int conversationId); 29 | 30 | List selectClientAndServerChatLog(@Param("clientId") int clientId,@Param("serviceId")int serviceId); 31 | 32 | List selectClientChatLog(@Param("clientId") int clientId); 33 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/ClientFlagMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.ClientFlag; 5 | import org.obsidian.scss.entity.ClientFlagExample; 6 | 7 | import java.util.List; 8 | 9 | public interface ClientFlagMapper { 10 | int deleteClientFlag(@Param("clientId") int clientId,@Param("flagId") int flagId); 11 | 12 | long countByExample(ClientFlagExample example); 13 | 14 | int deleteByExample(ClientFlagExample example); 15 | 16 | int insert(ClientFlag record); 17 | 18 | int insertSelective(ClientFlag record); 19 | 20 | List selectByExample(ClientFlagExample example); 21 | 22 | int updateByExampleSelective(@Param("record") ClientFlag record, @Param("example") ClientFlagExample example); 23 | 24 | int updateByExample(@Param("record") ClientFlag record, @Param("example") ClientFlagExample example); 25 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/ClientMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.Client; 5 | import org.obsidian.scss.entity.ClientAndImlInfo; 6 | import org.obsidian.scss.entity.ClientExample; 7 | 8 | import java.util.List; 9 | 10 | public interface ClientMapper { 11 | int updateClient(Client client); 12 | 13 | int deleteClient(int clientId); 14 | 15 | long countByExample(ClientExample example); 16 | 17 | int deleteByExample(ClientExample example); 18 | 19 | int insert(Client record); 20 | 21 | int insertSelective(Client record); 22 | 23 | List selectByExample(ClientExample example); 24 | 25 | int updateByExampleSelective(@Param("record") Client record, @Param("example") ClientExample example); 26 | 27 | int updateByExample(@Param("record") Client record, @Param("example") ClientExample example); 28 | 29 | int selectLastId(); 30 | 31 | List selectClientDetail(@Param("clientId")int clientId); 32 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/CommonLanguageMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.CommonLanguage; 5 | import org.obsidian.scss.entity.CommonLanguageExample; 6 | 7 | import java.util.List; 8 | 9 | public interface CommonLanguageMapper { 10 | List selectAllServiceAndCommonLanguage(int serviceId); 11 | 12 | long countByExample(CommonLanguageExample example); 13 | 14 | int deleteByExample(CommonLanguageExample example); 15 | 16 | int insert(CommonLanguage record); 17 | 18 | int insertSelective(CommonLanguage record); 19 | 20 | List selectByExample(CommonLanguageExample example); 21 | 22 | int updateByExampleSelective(@Param("record") CommonLanguage record, @Param("example") CommonLanguageExample example); 23 | 24 | int updateByExample(@Param("record") CommonLanguage record, @Param("example") CommonLanguageExample example); 25 | 26 | int deleteCommonLanguage(int commonLanguageId); 27 | 28 | int addCommonLanguageFrequency(int commonLanguageId); 29 | 30 | int updateCommonLanguage(CommonLanguage commonLanguage); 31 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/CustomerServiceMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.CustomerService; 5 | import org.obsidian.scss.entity.CustomerServiceExample; 6 | 7 | import javax.swing.undo.CannotUndoException; 8 | import java.util.List; 9 | 10 | public interface CustomerServiceMapper { 11 | long countByExample(CustomerServiceExample example); 12 | 13 | int deleteByExample(CustomerServiceExample example); 14 | 15 | int insert(CustomerService record); 16 | 17 | int insertSelective(CustomerService record); 18 | 19 | List selectByExample(CustomerServiceExample example); 20 | 21 | int updateByExampleSelective(@Param("record") CustomerService record, @Param("example") CustomerServiceExample example); 22 | 23 | int updateByExample(@Param("record") CustomerService record, @Param("example") CustomerServiceExample example); 24 | 25 | int deleteCustomerService(int serviceId); 26 | 27 | List selectAll(); 28 | 29 | /** 30 | * Create By cjn 31 | * @return 32 | */ 33 | int selectAllServerNum(); 34 | List selectNotDimissionPerson(); 35 | 36 | ListselectBySearchName(@Param("name") String name); 37 | 38 | int updateDimission(@Param("service_id") int service_id); 39 | 40 | CustomerService verify(@Param("employeeId") String employeeId,@Param("password") String password); 41 | 42 | CustomerService selectByEIdAndPwd(@Param("employeeId") String employeeId,@Param("password") String password); 43 | 44 | List selectAllCustom(); 45 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/FlagMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.Flag; 5 | import org.obsidian.scss.entity.FlagExample; 6 | 7 | import java.util.List; 8 | 9 | public interface FlagMapper { 10 | List selectAllUnusedFlag(int clientId); 11 | 12 | List selectAllFlag(int clientId); 13 | 14 | int deleteFlag(int flagId); 15 | 16 | int updateFlag(Flag flag); 17 | 18 | Object selectFlagId(String name); 19 | 20 | String selectName(int flagId); 21 | 22 | long countByExample(FlagExample example); 23 | 24 | int deleteByExample(FlagExample example); 25 | 26 | int insert(Flag record); 27 | 28 | int insertSelective(Flag record); 29 | 30 | List selectByExample(FlagExample example); 31 | 32 | int updateByExampleSelective(@Param("record") Flag record, @Param("example") FlagExample example); 33 | 34 | int updateByExample(@Param("record") Flag record, @Param("example") FlagExample example); 35 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/GroupWordMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.GroupWord; 6 | import org.obsidian.scss.entity.GroupWordExample; 7 | 8 | public interface GroupWordMapper { 9 | long countByExample(GroupWordExample example); 10 | 11 | int deleteByExample(GroupWordExample example); 12 | 13 | int insert(GroupWord record); 14 | 15 | int insertSelective(GroupWord record); 16 | 17 | List selectByExample(GroupWordExample example); 18 | 19 | int updateByExampleSelective(@Param("record") GroupWord record, @Param("example") GroupWordExample example); 20 | 21 | int updateByExample(@Param("record") GroupWord record, @Param("example") GroupWordExample example); 22 | 23 | List selectAll(); 24 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/JoinUpMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.AccessAndNumDuring; 5 | import org.obsidian.scss.entity.JoinUp; 6 | import org.obsidian.scss.entity.JoinUpExample; 7 | 8 | import java.util.List; 9 | 10 | public interface JoinUpMapper { 11 | Long getTodayClientCount(@Param("dayStartTime") Long dayStartTime,@Param("nowTime") Long nowTime); 12 | 13 | // int updateAllJoinUp(@Param("clientId")int clientId,@Param("qq") String wx,@Param("wx") String qq,@Param("weibo") String weibo); 14 | 15 | long countByExample(JoinUpExample example); 16 | 17 | int deleteByExample(JoinUpExample example); 18 | 19 | int insert(JoinUp record); 20 | 21 | int insertSelective(JoinUp record); 22 | 23 | List selectByExample(JoinUpExample example); 24 | 25 | int updateByExampleSelective(@Param("record") JoinUp record, @Param("example") JoinUpExample example); 26 | 27 | int updateByExample(@Param("record") JoinUp record, @Param("example") JoinUpExample example); 28 | 29 | List selectByClientId(int clientId); 30 | 31 | List selectByRecord(@Param("accessId") int accessId,@Param("account") String account); 32 | 33 | JoinUp selectLastJoinByClientId(int clientId); 34 | 35 | List selectDuringClientNum(@Param("startTime") long startTime,@Param("stopTime") long stopTime); 36 | 37 | List selectAccess(@Param("startTime") long startTime,@Param("stopTime") long stopTime); 38 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/KeywordHeatMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.KeywordAndHeat; 6 | import org.obsidian.scss.entity.KeywordHeat; 7 | import org.obsidian.scss.entity.KeywordHeatExample; 8 | 9 | public interface KeywordHeatMapper { 10 | long countByExample(KeywordHeatExample example); 11 | 12 | int deleteByExample(KeywordHeatExample example); 13 | 14 | int insert(KeywordHeat record); 15 | 16 | int insertSelective(KeywordHeat record); 17 | 18 | List selectByExample(KeywordHeatExample example); 19 | 20 | int updateByExampleSelective(@Param("record") KeywordHeat record, @Param("example") KeywordHeatExample example); 21 | 22 | int updateByExample(@Param("record") KeywordHeat record, @Param("example") KeywordHeatExample example); 23 | /** 24 | * CJN 25 | */ 26 | List getDayHeat(@Param("timestamp") long timestamp); 27 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/KeywordMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.Keyword; 6 | import org.obsidian.scss.entity.KeywordExample; 7 | 8 | public interface KeywordMapper { 9 | long countByExample(KeywordExample example); 10 | 11 | int deleteByExample(KeywordExample example); 12 | 13 | int insert(Keyword record); 14 | 15 | int insertSelective(Keyword record); 16 | 17 | List selectByExample(KeywordExample example); 18 | 19 | int updateByExampleSelective(@Param("record") Keyword record, @Param("example") KeywordExample example); 20 | 21 | int updateByExample(@Param("record") Keyword record, @Param("example") KeywordExample example); 22 | 23 | int selectLastId(); 24 | 25 | Keyword selectByValue(String value); 26 | 27 | List selectAll(); 28 | 29 | int deleteById(int keywordId); 30 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/KnowledgeKeywordMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.KnowledgeKeyword; 6 | import org.obsidian.scss.entity.KnowledgeKeywordExample; 7 | 8 | public interface KnowledgeKeywordMapper { 9 | long countByExample(KnowledgeKeywordExample example); 10 | 11 | int deleteByExample(KnowledgeKeywordExample example); 12 | 13 | int insert(KnowledgeKeyword record); 14 | 15 | int insertSelective(KnowledgeKeyword record); 16 | 17 | List selectByExample(KnowledgeKeywordExample example); 18 | 19 | int updateByExampleSelective(@Param("record") KnowledgeKeyword record, @Param("example") KnowledgeKeywordExample example); 20 | 21 | int updateByExample(@Param("record") KnowledgeKeyword record, @Param("example") KnowledgeKeywordExample example); 22 | 23 | int deleteByKnowledgeId(int knowledgeId); 24 | 25 | int selectByKeywordId(int keywordId); 26 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/KnowledgeMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.Knowledge; 6 | import org.obsidian.scss.entity.KnowledgeExample; 7 | 8 | public interface KnowledgeMapper { 9 | long countByExample(KnowledgeExample example); 10 | 11 | int deleteByExample(KnowledgeExample example); 12 | 13 | int insert(Knowledge record); 14 | 15 | int insertSelective(Knowledge record); 16 | 17 | List selectByExample(KnowledgeExample example); 18 | 19 | int updateByExampleSelective(@Param("record") Knowledge record, @Param("example") KnowledgeExample example); 20 | 21 | int updateByExample(@Param("record") Knowledge record, @Param("example") KnowledgeExample example); 22 | 23 | int selectLastId(); 24 | 25 | //查询到的是所有知识库,最高权限 26 | List selectByKeywordId(int keywordId); 27 | 28 | //level小于等于1,即机器人能看到的知识库 29 | List selectByKeywordId1(int keywordId); 30 | 31 | int deleteById(int knowledgeId); 32 | 33 | Knowledge selectByKnowledgeId(int knowledgeId); 34 | 35 | List selectKnowledgeBySearchName(@Param("keyword") String keyword); 36 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/NotificationMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.Notification; 6 | import org.obsidian.scss.entity.NotificationExample; 7 | 8 | public interface NotificationMapper { 9 | long countByExample(NotificationExample example); 10 | 11 | int deleteByExample(NotificationExample example); 12 | 13 | int insert(Notification record); 14 | 15 | int insertSelective(Notification record); 16 | 17 | List selectByExample(NotificationExample example); 18 | 19 | int updateByExampleSelective(@Param("record") Notification record, @Param("example") NotificationExample example); 20 | 21 | int updateByExample(@Param("record") Notification record, @Param("example") NotificationExample example); 22 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/NotificationObjectTypeMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.NotificationObjectType; 5 | import org.obsidian.scss.entity.NotificationObjectTypeExample; 6 | 7 | import java.util.List; 8 | 9 | public interface NotificationObjectTypeMapper { 10 | int updateNotificationObjectType(@Param("notId") int notId,@Param("name") String name); 11 | 12 | long countByExample(NotificationObjectTypeExample example); 13 | 14 | int deleteByExample(NotificationObjectTypeExample example); 15 | 16 | int insert(NotificationObjectType record); 17 | 18 | int insertSelective(NotificationObjectType record); 19 | 20 | List selectByExample(NotificationObjectTypeExample example); 21 | 22 | int updateByExampleSelective(@Param("record") NotificationObjectType record, @Param("example") NotificationObjectTypeExample example); 23 | 24 | int updateByExample(@Param("record") NotificationObjectType record, @Param("example") NotificationObjectTypeExample example); 25 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/NotificationTypeMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.NotificationType; 5 | import org.obsidian.scss.entity.NotificationTypeExample; 6 | 7 | import java.util.List; 8 | 9 | public interface NotificationTypeMapper { 10 | int updateNotificationType(@Param("ntId")int ntId,@Param("name")String name); 11 | 12 | long countByExample(NotificationTypeExample example); 13 | 14 | int deleteByExample(NotificationTypeExample example); 15 | 16 | int insert(NotificationType record); 17 | 18 | int insertSelective(NotificationType record); 19 | 20 | List selectByExample(NotificationTypeExample example); 21 | 22 | int updateByExampleSelective(@Param("record") NotificationType record, @Param("example") NotificationTypeExample example); 23 | 24 | int updateByExample(@Param("record") NotificationType record, @Param("example") NotificationTypeExample example); 25 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/OperationUserMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.OperationUser; 5 | import org.obsidian.scss.entity.OperationUserExample; 6 | 7 | import java.util.List; 8 | 9 | public interface OperationUserMapper { 10 | int deleteOperationUser(int userId); 11 | 12 | int updateOperationUser(OperationUser operationUser); 13 | 14 | List selectUserIdByUsername(String username); 15 | 16 | String selectUsernameByUserId(int userId); 17 | 18 | long countByExample(OperationUserExample example); 19 | 20 | int deleteByExample(OperationUserExample example); 21 | 22 | int insert(OperationUser record); 23 | 24 | int insertSelective(OperationUser record); 25 | 26 | List selectByExample(OperationUserExample example); 27 | 28 | int updateByExampleSelective(@Param("record") OperationUser record, @Param("example") OperationUserExample example); 29 | 30 | int updateByExample(@Param("record") OperationUser record, @Param("example") OperationUserExample example); 31 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/QuestionPushMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.obsidian.scss.entity.QuestionPush; 6 | import org.obsidian.scss.entity.QuestionPushExample; 7 | 8 | public interface QuestionPushMapper { 9 | long countByExample(QuestionPushExample example); 10 | 11 | int deleteByExample(QuestionPushExample example); 12 | 13 | int insert(QuestionPush record); 14 | 15 | int insertSelective(QuestionPush record); 16 | 17 | List selectByExample(QuestionPushExample example); 18 | 19 | int updateByExampleSelective(@Param("record") QuestionPush record, @Param("example") QuestionPushExample example); 20 | 21 | int updateByExample(@Param("record") QuestionPush record, @Param("example") QuestionPushExample example); 22 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/ServiceGroupMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.ServiceGroup; 5 | import org.obsidian.scss.entity.ServiceGroupExample; 6 | 7 | import java.util.List; 8 | 9 | public interface ServiceGroupMapper { 10 | long countByExample(ServiceGroupExample example); 11 | 12 | int deleteByExample(ServiceGroupExample example); 13 | 14 | int insert(ServiceGroup record); 15 | 16 | int insertSelective(ServiceGroup record); 17 | 18 | List selectByExample(ServiceGroupExample example); 19 | 20 | int updateByExampleSelective(@Param("record") ServiceGroup record, @Param("example") ServiceGroupExample example); 21 | 22 | int updateByExample(@Param("record") ServiceGroup record, @Param("example") ServiceGroupExample example); 23 | 24 | int deleteServiceGroup(int groupId); 25 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/dao/WorkTimeMapper.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.dao; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.obsidian.scss.entity.TimeAndRank; 5 | import org.obsidian.scss.entity.WorkTime; 6 | import org.obsidian.scss.entity.WorkTimeExample; 7 | 8 | import java.util.List; 9 | 10 | public interface WorkTimeMapper { 11 | int deleteWorkTime(int workTimeId); 12 | 13 | int deleteAllWorkTimeList(int serviceId); 14 | 15 | int updateWorkTime(@Param("serviceId") int serviceId,@Param("endTime") Long endTime); 16 | 17 | long selectAllWorkTimeSum(int serviceId); 18 | 19 | long countByExample(WorkTimeExample example); 20 | 21 | int deleteByExample(WorkTimeExample example); 22 | 23 | int insert(WorkTime record); 24 | 25 | int insertSelective(WorkTime record); 26 | 27 | List selectByExample(WorkTimeExample example); 28 | 29 | int updateByExampleSelective(@Param("record") WorkTime record, @Param("example") WorkTimeExample example); 30 | 31 | int updateByExample(@Param("record") WorkTime record, @Param("example") WorkTimeExample example); 32 | 33 | List selectTodayWorkTime(@Param("serviceId") int serviceId,@Param("dayStart") long dayStart,@Param("dayEnd") long dayEnd); 34 | /** 35 | * Create By CJN 36 | */ 37 | int selectOnlineServerNum(); 38 | List selectTimeAndRank(@Param("startTime") long startTime,@Param("endTime") long endTime,@Param("serviceId") int serviceId ); 39 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/Access.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class Access { 4 | private Integer accessId; 5 | 6 | private String name; 7 | 8 | public Integer getAccessId() { 9 | return accessId; 10 | } 11 | 12 | public void setAccessId(Integer accessId) { 13 | this.accessId = accessId; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name == null ? null : name.trim(); 22 | } 23 | 24 | @Override 25 | public String toString() { 26 | return "Access{" + 27 | "accessId=" + accessId + 28 | ", name='" + name + '\'' + 29 | '}'; 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/AccessAndNumDuring.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | /** 4 | * Created by hp on 2017/8/1. 5 | */ 6 | public class AccessAndNumDuring { 7 | public int id; 8 | public String name; 9 | public int num; 10 | 11 | public int getId() { 12 | return id; 13 | } 14 | 15 | public void setId(int id) { 16 | this.id = id; 17 | } 18 | 19 | public String getName() { 20 | return name; 21 | } 22 | 23 | public void setName(String name) { 24 | this.name = name; 25 | } 26 | 27 | public int getNum() { 28 | return num; 29 | } 30 | 31 | public void setNum(int num) { 32 | this.num = num; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/AdvFlag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class AdvFlag { 4 | private Integer flagId; 5 | 6 | private Integer advId; 7 | 8 | public AdvFlag(Integer flagId, Integer advId) { 9 | this.flagId = flagId; 10 | this.advId = advId; 11 | } 12 | 13 | public AdvFlag() { 14 | super(); 15 | } 16 | 17 | public Integer getFlagId() { 18 | return flagId; 19 | } 20 | 21 | public void setFlagId(Integer flagId) { 22 | this.flagId = flagId; 23 | } 24 | 25 | public Integer getAdvId() { 26 | return advId; 27 | } 28 | 29 | public void setAdvId(Integer advId) { 30 | this.advId = advId; 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/Advertisement.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class Advertisement { 4 | private Integer advId; 5 | 6 | private String advContent; 7 | 8 | public Advertisement(Integer advId, String advContent) { 9 | this.advId = advId; 10 | this.advContent = advContent; 11 | } 12 | 13 | public Advertisement() { 14 | super(); 15 | } 16 | 17 | public Integer getAdvId() { 18 | return advId; 19 | } 20 | 21 | public void setAdvId(Integer advId) { 22 | this.advId = advId; 23 | } 24 | 25 | public String getAdvContent() { 26 | return advContent; 27 | } 28 | 29 | public void setAdvContent(String advContent) { 30 | this.advContent = advContent == null ? null : advContent.trim(); 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/ClientAndFlag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by hp on 2017/7/17. 7 | */ 8 | public class ClientAndFlag { 9 | Client client; 10 | List flags; 11 | 12 | public Client getClient() { 13 | return client; 14 | } 15 | 16 | public void setClient(Client client) { 17 | this.client = client; 18 | } 19 | 20 | public List getFlags() { 21 | return flags; 22 | } 23 | 24 | public void setFlags(List flags) { 25 | this.flags = flags; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/ClientFlag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class ClientFlag { 4 | private Integer clientId; 5 | 6 | private Integer flagId; 7 | 8 | public Integer getClientId() { 9 | return clientId; 10 | } 11 | 12 | public void setClientId(Integer clientId) { 13 | this.clientId = clientId; 14 | } 15 | 16 | public Integer getFlagId() { 17 | return flagId; 18 | } 19 | 20 | public void setFlagId(Integer flagId) { 21 | this.flagId = flagId; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/CommonLanguage.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class CommonLanguage { 4 | private Integer commonLanguageId; 5 | 6 | private Integer serviceId; 7 | 8 | private String content; 9 | 10 | private Integer frequency; 11 | 12 | public Integer getCommonLanguageId() { 13 | return commonLanguageId; 14 | } 15 | 16 | public void setCommonLanguageId(Integer commonLanguageId) { 17 | this.commonLanguageId = commonLanguageId; 18 | } 19 | 20 | public Integer getServiceId() { 21 | return serviceId; 22 | } 23 | 24 | public void setServiceId(Integer serviceId) { 25 | this.serviceId = serviceId; 26 | } 27 | 28 | public String getContent() { 29 | return content; 30 | } 31 | 32 | public void setContent(String content) { 33 | this.content = content == null ? null : content.trim(); 34 | } 35 | 36 | public Integer getFrequency() { 37 | return frequency; 38 | } 39 | 40 | public void setFrequency(Integer frequency) { 41 | this.frequency = frequency; 42 | } 43 | 44 | @Override 45 | public String toString() { 46 | return "CommonLanguage{" + 47 | "commonLanguageId=" + commonLanguageId + 48 | ", serviceId=" + serviceId + 49 | ", content='" + content + '\'' + 50 | ", frequency=" + frequency + 51 | '}'; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/ConNumAndRank.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | /** 4 | * Created by hp on 2017/8/1. 5 | */ 6 | public class ConNumAndRank { 7 | public int serviceId; 8 | public int num; 9 | public int numrank; 10 | 11 | public int getServiceId() { 12 | return serviceId; 13 | } 14 | 15 | public void setServiceId(int serviceId) { 16 | this.serviceId = serviceId; 17 | } 18 | 19 | public int getNum() { 20 | return num; 21 | } 22 | 23 | public void setNum(int num) { 24 | this.num = num; 25 | } 26 | 27 | public int getNumrank() { 28 | return numrank; 29 | } 30 | 31 | public void setNumrank(int numrank) { 32 | this.numrank = numrank; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/DayAndTime.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | /** 4 | * Created by hp on 2017/7/14. 5 | */ 6 | public class DayAndTime { 7 | public long time;//时间戳 8 | public int times;//出现次数 9 | 10 | public long getTime() { 11 | return time; 12 | } 13 | 14 | public void setTime(long time) { 15 | this.time = time; 16 | } 17 | 18 | public int getTimes() { 19 | return times; 20 | } 21 | 22 | public void setTimes(int times) { 23 | this.times = times; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/Flag.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class Flag { 4 | private Integer flagId; 5 | 6 | private String name; 7 | 8 | public Integer getFlagId() { 9 | return flagId; 10 | } 11 | 12 | public void setFlagId(Integer flagId) { 13 | this.flagId = flagId; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name == null ? null : name.trim(); 22 | } 23 | 24 | @Override 25 | public String toString() { 26 | return "Flag{" + 27 | "flagId=" + flagId + 28 | ", name='" + name + '\'' + 29 | '}'; 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/GroupWord.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class GroupWord { 4 | private Integer groupId; 5 | 6 | private String word; 7 | 8 | public Integer getGroupId() { 9 | return groupId; 10 | } 11 | 12 | public void setGroupId(Integer groupId) { 13 | this.groupId = groupId; 14 | } 15 | 16 | public String getWord() { 17 | return word; 18 | } 19 | 20 | public void setWord(String word) { 21 | this.word = word == null ? null : word.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/JoinUp.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class JoinUp { 4 | private Integer joinUpId; 5 | 6 | private Integer accessId; 7 | 8 | private Integer clientId; 9 | 10 | private Long time; 11 | 12 | private String account; 13 | 14 | private Access access; 15 | 16 | public Integer getJoinUpId() { 17 | return joinUpId; 18 | } 19 | 20 | public void setJoinUpId(Integer joinUpId) { 21 | this.joinUpId = joinUpId; 22 | } 23 | 24 | public Integer getAccessId() { 25 | return accessId; 26 | } 27 | 28 | public void setAccessId(Integer accessId) { 29 | this.accessId = accessId; 30 | } 31 | 32 | public Integer getClientId() { 33 | return clientId; 34 | } 35 | 36 | public void setClientId(Integer clientId) { 37 | this.clientId = clientId; 38 | } 39 | 40 | public Long getTime() { 41 | return time; 42 | } 43 | 44 | public void setTime(Long time) { 45 | this.time = time; 46 | } 47 | 48 | public String getAccount() { 49 | return account; 50 | } 51 | 52 | public void setAccount(String account) { 53 | this.account = account == null ? null : account.trim(); 54 | } 55 | 56 | public Access getAccess() { 57 | return access; 58 | } 59 | 60 | public void setAccess(Access access) { 61 | this.access = access; 62 | } 63 | 64 | @Override 65 | public String toString() { 66 | return "JoinUp{" + 67 | "joinUpId=" + joinUpId + 68 | ", accessId=" + accessId + 69 | ", clientId=" + clientId + 70 | ", time=" + time + 71 | ", account='" + account + '\'' + 72 | ", access=" + access + 73 | '}'; 74 | } 75 | 76 | public JoinUp() { 77 | } 78 | 79 | public JoinUp(Integer accessId, Integer clientId, Long time, String account) { 80 | this.accessId = accessId; 81 | this.clientId = clientId; 82 | this.time = time; 83 | this.account = account; 84 | } 85 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/Keyword.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class Keyword { 4 | private Integer keywordId; 5 | 6 | private String value; 7 | 8 | public Integer getKeywordId() { 9 | return keywordId; 10 | } 11 | 12 | public void setKeywordId(Integer keywordId) { 13 | this.keywordId = keywordId; 14 | } 15 | 16 | public String getValue() { 17 | return value; 18 | } 19 | 20 | public void setValue(String value) { 21 | this.value = value == null ? null : value.trim(); 22 | } 23 | 24 | public Keyword(Integer keywordId, String value) { 25 | this.keywordId = keywordId; 26 | this.value = value; 27 | } 28 | 29 | public Keyword() { 30 | } 31 | 32 | public Keyword(String value) { 33 | this.value = value; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return "Keyword{" + 39 | "keywordId=" + keywordId + 40 | ", value='" + value + '\'' + 41 | '}'; 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/KeywordAndHeat.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | import java.util.List; 4 | 5 | public class KeywordAndHeat { 6 | private Integer keywordId; 7 | 8 | private Long heatTime; 9 | 10 | private List keywords; 11 | 12 | public Integer getKeywordId() { 13 | return keywordId; 14 | } 15 | 16 | public void setKeywordId(Integer keywordId) { 17 | this.keywordId = keywordId; 18 | } 19 | 20 | public Long getHeatTime() { 21 | return heatTime; 22 | } 23 | 24 | public void setHeatTime(Long heatTime) { 25 | this.heatTime = heatTime; 26 | } 27 | public List getKeywords() { 28 | return keywords; 29 | } 30 | 31 | public void setKeywords(List keywords) { 32 | this.keywords = keywords; 33 | } 34 | public KeywordAndHeat(Integer keywordId, Long heatTime,List keywords) { 35 | this.keywordId = keywordId; 36 | this.heatTime = heatTime; 37 | this.keywords =keywords; 38 | } 39 | 40 | public KeywordAndHeat() { 41 | } 42 | 43 | @Override 44 | public String toString() { 45 | return "KeywordHeat{" + 46 | "keywordId=" + keywordId + 47 | ", heatTime=" + heatTime + 48 | '}'; 49 | } 50 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/KeywordHeat.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class KeywordHeat { 4 | private Integer keywordId; 5 | 6 | private Long heatTime; 7 | 8 | public Integer getKeywordId() { 9 | return keywordId; 10 | } 11 | 12 | public void setKeywordId(Integer keywordId) { 13 | this.keywordId = keywordId; 14 | } 15 | 16 | public Long getHeatTime() { 17 | return heatTime; 18 | } 19 | 20 | public void setHeatTime(Long heatTime) { 21 | this.heatTime = heatTime; 22 | } 23 | 24 | public KeywordHeat(Integer keywordId, Long heatTime) { 25 | this.keywordId = keywordId; 26 | this.heatTime = heatTime; 27 | } 28 | 29 | public KeywordHeat() { 30 | } 31 | 32 | @Override 33 | public String toString() { 34 | return "KeywordHeat{" + 35 | "keywordId=" + keywordId + 36 | ", heatTime=" + heatTime + 37 | '}'; 38 | } 39 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/KnowledgeKeyword.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class KnowledgeKeyword { 4 | private Integer keywordId; 5 | 6 | private Integer knowledgeId; 7 | 8 | public Integer getKeywordId() { 9 | return keywordId; 10 | } 11 | 12 | public void setKeywordId(Integer keywordId) { 13 | this.keywordId = keywordId; 14 | } 15 | 16 | public Integer getKnowledgeId() { 17 | return knowledgeId; 18 | } 19 | 20 | public void setKnowledgeId(Integer knowledgeId) { 21 | this.knowledgeId = knowledgeId; 22 | } 23 | 24 | public KnowledgeKeyword(Integer keywordId, Integer knowledgeId) { 25 | this.keywordId = keywordId; 26 | this.knowledgeId = knowledgeId; 27 | } 28 | 29 | public KnowledgeKeyword() { 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/Notification.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class Notification { 4 | private Integer notificationId; 5 | 6 | private Integer ntId; 7 | 8 | private Integer notId; 9 | 10 | private Integer objectId; 11 | 12 | private String content; 13 | 14 | private Long time; 15 | 16 | public Integer getNotificationId() { 17 | return notificationId; 18 | } 19 | 20 | public void setNotificationId(Integer notificationId) { 21 | this.notificationId = notificationId; 22 | } 23 | 24 | public Integer getNtId() { 25 | return ntId; 26 | } 27 | 28 | public void setNtId(Integer ntId) { 29 | this.ntId = ntId; 30 | } 31 | 32 | public Integer getNotId() { 33 | return notId; 34 | } 35 | 36 | public void setNotId(Integer notId) { 37 | this.notId = notId; 38 | } 39 | 40 | public Integer getObjectId() { 41 | return objectId; 42 | } 43 | 44 | public void setObjectId(Integer objectId) { 45 | this.objectId = objectId; 46 | } 47 | 48 | public String getContent() { 49 | return content; 50 | } 51 | 52 | public void setContent(String content) { 53 | this.content = content == null ? null : content.trim(); 54 | } 55 | 56 | public Long getTime() { 57 | return time; 58 | } 59 | 60 | public void setTime(Long time) { 61 | this.time = time; 62 | } 63 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/NotificationObjectType.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class NotificationObjectType { 4 | private Integer notId; 5 | 6 | private String name; 7 | 8 | public Integer getNotId() { 9 | return notId; 10 | } 11 | 12 | public void setNotId(Integer notId) { 13 | this.notId = notId; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name == null ? null : name.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/NotificationType.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class NotificationType { 4 | private Integer ntId; 5 | 6 | private String name; 7 | 8 | public Integer getNtId() { 9 | return ntId; 10 | } 11 | 12 | public void setNtId(Integer ntId) { 13 | this.ntId = ntId; 14 | } 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name == null ? null : name.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/OperationUser.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class OperationUser { 4 | private Integer userId; 5 | 6 | private String username; 7 | 8 | private String password; 9 | 10 | public Integer getUserId() { 11 | return userId; 12 | } 13 | 14 | public void setUserId(Integer userId) { 15 | this.userId = userId; 16 | } 17 | 18 | public String getUsername() { 19 | return username; 20 | } 21 | 22 | public void setUsername(String username) { 23 | this.username = username == null ? null : username.trim(); 24 | } 25 | 26 | public String getPassword() { 27 | return password; 28 | } 29 | 30 | public void setPassword(String password) { 31 | this.password = password == null ? null : password.trim(); 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/QuestionPush.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class QuestionPush { 4 | private Integer fromId; 5 | 6 | private Integer toId; 7 | 8 | public Integer getFromId() { 9 | return fromId; 10 | } 11 | 12 | public void setFromId(Integer fromId) { 13 | this.fromId = fromId; 14 | } 15 | 16 | public Integer getToId() { 17 | return toId; 18 | } 19 | 20 | public void setToId(Integer toId) { 21 | this.toId = toId; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/ScoreAndRank.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | /** 4 | * Created by hp on 2017/8/1. 5 | */ 6 | public class ScoreAndRank { 7 | public int serviceId; 8 | public double grades; 9 | public int gradesrank; 10 | 11 | public int getServiceId() { 12 | return serviceId; 13 | } 14 | 15 | public void setServiceId(int serviceId) { 16 | this.serviceId = serviceId; 17 | } 18 | 19 | public double getGrades() { 20 | return grades; 21 | } 22 | 23 | public void setGrades(double grades) { 24 | this.grades = grades; 25 | } 26 | 27 | public int getGradesrank() { 28 | return gradesrank; 29 | } 30 | 31 | public void setGradesrank(int gradesrank) { 32 | this.gradesrank = gradesrank; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/ServiceGroup.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | import java.util.LinkedList; 4 | import java.util.List; 5 | 6 | public class ServiceGroup { 7 | private Integer groupId; 8 | 9 | private String name; 10 | 11 | private List onlineMembers = new LinkedList(); 12 | 13 | public Integer getGroupId() { 14 | return groupId; 15 | } 16 | 17 | public void setGroupId(Integer groupId) { 18 | this.groupId = groupId; 19 | } 20 | 21 | public String getName() { 22 | return name; 23 | } 24 | 25 | public void setName(String name) { 26 | this.name = name == null ? null : name.trim(); 27 | } 28 | 29 | public List getOnlineMembers() { 30 | return onlineMembers; 31 | } 32 | 33 | public void setOnlineMembers(List onlineMembers) { 34 | this.onlineMembers = onlineMembers; 35 | } 36 | 37 | public ServiceGroup() { 38 | } 39 | 40 | public ServiceGroup(Integer groupId, String name, List onlineMembers) { 41 | this.groupId = groupId; 42 | this.name = name; 43 | this.onlineMembers = onlineMembers; 44 | } 45 | 46 | @Override 47 | public String toString() { 48 | return "ServiceGroup{" + 49 | "groupId=" + groupId + 50 | ", name='" + name + '\'' + 51 | ", onlineMembers=" + onlineMembers + 52 | '}'; 53 | } 54 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/TimeAndRank.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | /** 4 | * Created by hp on 2017/8/1. 5 | */ 6 | public class TimeAndRank { 7 | public int serviceId; 8 | public long tottime; 9 | public int timerank; 10 | 11 | public int getServiceId() { 12 | return serviceId; 13 | } 14 | 15 | public void setServiceId(int serviceId) { 16 | this.serviceId = serviceId; 17 | } 18 | 19 | public long getTottime() { 20 | return tottime; 21 | } 22 | 23 | public void setTottime(long tottime) { 24 | this.tottime = tottime; 25 | } 26 | 27 | public int getTimerank() { 28 | return timerank; 29 | } 30 | 31 | public void setTimerank(int timerank) { 32 | this.timerank = timerank; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/entity/WorkTime.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.entity; 2 | 3 | public class WorkTime { 4 | private Integer workTimeId; 5 | 6 | private Integer serviceId; 7 | 8 | private Long startTime; 9 | 10 | private Long endTime; 11 | 12 | public Integer getWorkTimeId() { 13 | return workTimeId; 14 | } 15 | 16 | public void setWorkTimeId(Integer workTimeId) { 17 | this.workTimeId = workTimeId; 18 | } 19 | 20 | public Integer getServiceId() { 21 | return serviceId; 22 | } 23 | 24 | public void setServiceId(Integer serviceId) { 25 | this.serviceId = serviceId; 26 | } 27 | 28 | public Long getStartTime() { 29 | return startTime; 30 | } 31 | 32 | public void setStartTime(Long startTime) { 33 | this.startTime = startTime; 34 | } 35 | 36 | public Long getEndTime() { 37 | return endTime; 38 | } 39 | 40 | public void setEndTime(Long endTime) { 41 | this.endTime = endTime; 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/interceptor/AllInterceptor.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.interceptor; 2 | 3 | import org.springframework.web.servlet.HandlerInterceptor; 4 | import org.springframework.web.servlet.ModelAndView; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | /** 10 | * Created by Lee on 2017/7/7. 11 | */ 12 | public class AllInterceptor implements HandlerInterceptor { 13 | public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { 14 | httpServletRequest.setCharacterEncoding("UTF-8"); 15 | httpServletResponse.setCharacterEncoding("UTF-8"); 16 | return true; 17 | } 18 | 19 | public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { 20 | 21 | } 22 | 23 | public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/AdvFlagService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import java.util.List; 4 | import org.obsidian.scss.entity.AdvFlag; 5 | 6 | /** 7 | * Created by hp on 2017/7/18. 8 | */ 9 | public interface AdvFlagService { 10 | List getFlagId(int advId); 11 | int insertAdvFlag(int advId,int flagId); 12 | int selectIsExit(int advId,int flagId); 13 | int deleteAdvFlag(int advId); 14 | int deleteAdvOneFlag(int advId,int flagId); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/AdvertisementService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.Advertisement; 4 | import org.obsidian.scss.entity.Client; 5 | 6 | import java.util.*; 7 | /** 8 | * Created by hp on 2017/7/15. 9 | */ 10 | 11 | public interface AdvertisementService { 12 | int getTotalAdv(); 13 | List getTotalAdvInfo(); 14 | int insertAdv(String content ,List flagList); 15 | int selectByContent(String content); 16 | int selectId(String content); 17 | int delete(int id); 18 | int updateAdv(Advertisement advertisement); 19 | List selectAdvClient(int advId); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/ChatLogService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.ChatLog; 4 | import org.obsidian.scss.entity.ChatLogAndSendRecInfo; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by Lee on 2017/7/13. 10 | */ 11 | public interface ChatLogService { 12 | 13 | int add(int senderId, int receiverId, int contentType, String content, Long time, int fromClient); 14 | 15 | int addWithConversationId(int conversationId, int senderId, int receiverId, int contentType, String content, Long time, int fromClient); 16 | 17 | List getByClientId(int clientId); 18 | 19 | List getByConversationId(int conversationId); 20 | 21 | List getClientSayByConversationId(int conversationId); 22 | 23 | List selectClientAndServerChatLog(int clientId,int serviceId); 24 | 25 | List selectClientChatLog(int clientId); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/ClientFlagService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | /** 4 | * Created by Administrator on 2017/7/11. 5 | */ 6 | public interface ClientFlagService { 7 | int insertClientFlag(int clientId,String name); 8 | 9 | int deleteClientFlag(int clientId,int flagId); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/ClientService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.Client; 4 | import org.obsidian.scss.entity.ClientAndImlInfo; 5 | import org.obsidian.scss.entity.Flag; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created by Administrator on 2017/7/11. 11 | */ 12 | public interface ClientService { 13 | List selectAllByName(String name); 14 | 15 | int insertClient(String name,String address,String email,Long telephone,int sex); 16 | 17 | int deleteClient(int clientId); 18 | 19 | int updateClient(int clientId,String name,String address,String email,Long telephone,int sex); 20 | 21 | Client selectClientByClientId(int clientId); 22 | 23 | int addFlag(int clientId,String flagName); 24 | 25 | int deleteFlag(int clientId,int flagId); 26 | 27 | List selectAllFlag(int clientId); 28 | 29 | List selectAllUnusedFlag(int clientId); 30 | 31 | /** 32 | * creaete By cjn 33 | */ 34 | List selectAllClient(); 35 | 36 | List selectClientAndImlInfo(int clientId); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/CommonLanguageService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.CommonLanguage; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/10. 9 | */ 10 | public interface CommonLanguageService { 11 | 12 | int insertCommonLanguage(String content); 13 | 14 | int insertServiceLanguage(int serviceId,String content); 15 | 16 | int deleteCommonLanguage(int commonLanguageId); 17 | 18 | int addCommonLanguageFrequency(int commonLanguageId); 19 | 20 | int updateCommonLanguage(int commonLanguageId,String content); 21 | 22 | List selectAllCommonLanguage(); 23 | 24 | List selectAllServiceLanguage(int serviceId); 25 | 26 | List selectAllServiceAndCommonLanguage(int serviceId); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/CustomerServiceService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.CustomerService; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/10. 9 | */ 10 | public interface CustomerServiceService { 11 | 12 | int insertCustomerService(String name,int groupId,String nickName,String employeeId,String autoMessage); 13 | 14 | int deleteCustomerService(int serviceId); 15 | 16 | int updateCustomerService(int serviceId,String name,int groupId,String nickName, 17 | String employeeId,String autoMessage); 18 | 19 | List selectAllCustomerService(); 20 | 21 | List selectCustomerServiceByGroup(int groupId); 22 | 23 | CustomerService selectCustomerServiceByServiceId(int serviceId); 24 | 25 | CustomerService selectCustomerServiceByEmployeeId(String employeeId); 26 | 27 | /** 28 | * create By cjn 29 | */ 30 | int selectTotalServer(); 31 | List selectNotDimissionPerson(); 32 | 33 | 34 | CustomerService selectByEIdAndPwd(String employeeId, String password); 35 | 36 | List selectBySearchName(String name); 37 | int updateCustomDimission(int id); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/FlagService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.Flag; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/11. 9 | */ 10 | public interface FlagService { 11 | List recommendFlags(Integer clientId,String content); 12 | 13 | List getFlagByContent(String content); 14 | 15 | List selectFlags(); 16 | 17 | int insertFlag(String name); 18 | 19 | int deleteFlag(int flagId); 20 | 21 | int updateFlag(int flagId,String name); 22 | 23 | String selectName(int clientId); 24 | 25 | int selectFlagId(String name); 26 | 27 | List selectAllFlag(int clientId); 28 | 29 | List selectAllUnusedFlag(int clientId); 30 | /** 31 | * Create By cjn 32 | */ 33 | Flag selectAdv(int flagId); 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/GroupWordService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.GroupWord; 4 | import org.obsidian.scss.entity.ServiceGroup; 5 | import org.obsidian.scss.util.Trie; 6 | 7 | import java.security.acl.Group; 8 | import java.util.*; 9 | 10 | /** 11 | * Created by Lee on 2017/7/15. 12 | */ 13 | public interface GroupWordService { 14 | 15 | Trie getTrie(); 16 | 17 | int getServiceGroupIdByContent(String content); 18 | /** 19 | * Create By Cjn 20 | */ 21 | int insertGroupWord(GroupWord groupWord); 22 | int deleteGroupWord(GroupWord groupWord); 23 | List selectGroupTag(int id); 24 | int selectTagIsExit(int groupId,String content); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/Impl/ClientFlagServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.Impl; 2 | 3 | import org.obsidian.scss.dao.ClientFlagMapper; 4 | import org.obsidian.scss.entity.ClientFlag; 5 | import org.obsidian.scss.service.ClientFlagService; 6 | import org.obsidian.scss.service.FlagService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | import org.springframework.transaction.annotation.Transactional; 10 | 11 | /** 12 | * Created by Administrator on 2017/7/11. 13 | */ 14 | @Service 15 | public class ClientFlagServiceImpl implements ClientFlagService { 16 | 17 | @Autowired 18 | private ClientFlagMapper clientFlagMapper; 19 | 20 | @Autowired 21 | private FlagService flagService; 22 | 23 | @Transactional 24 | public int insertClientFlag(int clientId, String name) { 25 | int selectSum = flagService.selectFlagId(name); 26 | if(selectSum == 0){ 27 | flagService.insertFlag(name); 28 | } 29 | int flagId = flagService.selectFlagId(name); 30 | ClientFlag clientFlag = new ClientFlag(); 31 | clientFlag.setClientId(clientId); 32 | clientFlag.setFlagId(flagId); 33 | int insertSum = clientFlagMapper.insertSelective(clientFlag); 34 | return insertSum; 35 | } 36 | 37 | @Transactional 38 | public int deleteClientFlag(int clientId,int flagId){ 39 | int deleteSum = clientFlagMapper.deleteClientFlag(clientId,flagId); 40 | return deleteSum; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/Impl/KeywordHeatServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.Impl; 2 | 3 | import org.obsidian.scss.dao.KeywordHeatMapper; 4 | import org.obsidian.scss.entity.KeywordAndHeat; 5 | import org.obsidian.scss.entity.KeywordHeat; 6 | import org.obsidian.scss.service.KeywordHeatService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * Created by hp on 2017/7/15. 14 | */ 15 | @Service 16 | public class KeywordHeatServiceImpl implements KeywordHeatService{ 17 | @Autowired 18 | KeywordHeatMapper keywordHeatMapper; 19 | public List getHeatWord() { 20 | return keywordHeatMapper.getDayHeat(System.currentTimeMillis()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/Impl/KeywordServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.Impl; 2 | 3 | import org.obsidian.scss.dao.KeywordMapper; 4 | import org.obsidian.scss.entity.Keyword; 5 | import org.obsidian.scss.entity.KeywordExample; 6 | import org.obsidian.scss.service.KeywordService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | import org.springframework.transaction.annotation.Transactional; 10 | 11 | /** 12 | * Created by hp on 2017/7/16. 13 | */ 14 | @Service 15 | public class KeywordServiceImpl implements KeywordService{ 16 | @Autowired 17 | private KeywordMapper keywordMapper; 18 | 19 | @Transactional 20 | public Keyword selectKeyword(int keywordId) { 21 | KeywordExample example = new KeywordExample(); 22 | KeywordExample.Criteria criteria = example.createCriteria(); 23 | criteria.andKeywordIdEqualTo(keywordId); 24 | return keywordMapper.selectByExample(example).get(0); 25 | } 26 | 27 | @Transactional 28 | public Keyword selectByValue(String tagName) { 29 | KeywordExample example = new KeywordExample(); 30 | KeywordExample.Criteria criteria = example.createCriteria(); 31 | criteria.andValueEqualTo(tagName); 32 | if (keywordMapper.selectByExample(example)!=null && keywordMapper.selectByExample(example).size()!=0) 33 | return keywordMapper.selectByExample(example).get(0); 34 | else{ 35 | return null; 36 | } 37 | } 38 | 39 | @Transactional 40 | public int deleteByKeywordId(int keywordId) { 41 | return keywordMapper.deleteById(keywordId); 42 | } 43 | 44 | @Transactional 45 | public int insertKeyword(String tagName) { 46 | Keyword keyword = new Keyword(); 47 | keyword.setValue(tagName); 48 | return keywordMapper.insert(keyword); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/JoinUpService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.AccessAndNumDuring; 4 | import org.obsidian.scss.entity.JoinUp; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by Lee on 2017/7/13. 10 | */ 11 | public interface JoinUpService { 12 | String selectAccountByAccessIdAndClientId(int accessId, int clientId); 13 | 14 | int selectByAccessIdAndClientId(int accessId,int clientId); 15 | 16 | int insertJoinUp(int accessId,int clientId,String account); 17 | 18 | int updateJoinUp(int accessId,int clientId,String account); 19 | 20 | int deleteJoinUp(int accessId,int clientId); 21 | 22 | Long getTodayClientCount(); 23 | 24 | int updateAllJoinUp(int clientId,String qq,String wx,String weibo); 25 | 26 | List hasJoinedUp(int accessId, String account); 27 | 28 | int addJoinUp(int accessId, int clientId, long time, String account); 29 | 30 | List getByClientId(int clientId); 31 | 32 | JoinUp getLastByClientId(int clientId); 33 | 34 | int selectDuringClientNum(long startTime,long stopTime); 35 | 36 | List selectAccess(long startTime,long stopTime); 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/KeyService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | /** 4 | * Created by Lee on 2017/7/9. 5 | */ 6 | public interface KeyService { 7 | 8 | public int addKey(String keyWord); 9 | 10 | public int removeKey(int keyId); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/KeywordHeatService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.KeywordAndHeat; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by hp on 2017/7/15. 9 | */ 10 | public interface KeywordHeatService { 11 | List getHeatWord(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/KeywordService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.Keyword; 4 | 5 | /** 6 | * Created by hp on 2017/7/16. 7 | */ 8 | public interface KeywordService { 9 | Keyword selectKeyword(int keywordId); 10 | Keyword selectByValue(String tagName); 11 | int deleteByKeywordId(int keywordId); 12 | int insertKeyword(String tagName); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/KnowledgeKeywordService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import java.util.List; 4 | 5 | import org.obsidian.scss.entity.Knowledge; 6 | import org.obsidian.scss.entity.KnowledgeKeyword; 7 | 8 | /** 9 | * Created by hp on 2017/7/16. 10 | */ 11 | public interface KnowledgeKeywordService { 12 | List selectKeywordId(int knowledgeId); 13 | int selectKeywordIdNum(int keywordId); 14 | int delete(int keyword,int knowledgeId); 15 | int insert(KnowledgeKeyword knowledgeKeyword); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/KnowledgeService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.bean.KnowledgeList; 4 | import org.obsidian.scss.bean.Message; 5 | import org.obsidian.scss.bean.RobotChat; 6 | import org.obsidian.scss.entity.Knowledge; 7 | import org.obsidian.scss.util.Trie; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Created by Lee on 2017/7/9. 13 | */ 14 | public interface KnowledgeService { 15 | 16 | int addKnowledgeAndKey(String question, String answer ,int level, int author, long time , List keyList); 17 | 18 | int removeKnowledge(int knowledgeId); 19 | 20 | Trie readTrieFromDB(); 21 | 22 | Trie readTrieFromFile(); 23 | 24 | List getKnowledgeByContent(String content); 25 | 26 | Message getRobotChat(String content); 27 | 28 | /*** 29 | * Create By Cjn 30 | */ 31 | List selectKnowledgeBySearchName(String keyword); 32 | List selectKnowledge(); 33 | int updateKnowledge (Knowledge knowledge); 34 | Knowledge selectById(int id); 35 | Knowledge selectByContent(String content); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/NotificationObjectTypeService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.NotificationObjectType; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/11. 9 | */ 10 | public interface NotificationObjectTypeService { 11 | int insertNotificationObjectType(String name); 12 | 13 | int deleteNotificationObjectType(int notId); 14 | 15 | int updateNotificationObjectType(int notId,String name); 16 | 17 | NotificationObjectType selectNotificationObjectType(int notId); 18 | 19 | List selectAllNotificationObjectType(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/NotificationService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.Notification; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/12. 9 | */ 10 | public interface NotificationService { 11 | 12 | int insertNotificationService(int ntId,int notId,int objectId,String content); 13 | 14 | List selectAllNotification(); 15 | 16 | int deleteById(int id); 17 | 18 | List searchByType(int ntId,int notId); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/NotificationTypeService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.NotificationType; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/11. 9 | */ 10 | public interface NotificationTypeService { 11 | int insertNotificationType(String name); 12 | 13 | int deleteNotificationType(int ntId); 14 | 15 | int updateNotificationType(int ntId,String name); 16 | 17 | NotificationType selectNotificationType(int ntId); 18 | 19 | List selectAllNotificationType(); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/OnlineService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.stereotype.Service; 5 | import sun.misc.BASE64Encoder; 6 | 7 | import javax.servlet.http.Cookie; 8 | import javax.servlet.http.HttpServletResponse; 9 | import java.security.MessageDigest; 10 | import java.security.NoSuchAlgorithmException; 11 | import java.util.HashMap; 12 | import java.util.Map; 13 | 14 | /** 15 | * Created by Lee on 2017/7/17. 16 | */ 17 | @Service 18 | public class OnlineService { 19 | 20 | @Autowired 21 | private ServiceGroupPeople serviceGroupPeople; 22 | 23 | private Map map = new HashMap(); 24 | 25 | public void online(String employeeId, HttpServletResponse resp){ 26 | try { 27 | MessageDigest md5 = MessageDigest.getInstance("md5"); 28 | BASE64Encoder base64Encoder = new BASE64Encoder(); 29 | String token = base64Encoder.encode(md5.digest(employeeId.getBytes())); 30 | Cookie cookie = new Cookie("token", token); 31 | resp.addCookie(cookie); 32 | System.out.println("登录者token:" + token + " employeeId:" + employeeId); 33 | map.put(token, employeeId); 34 | } catch (NoSuchAlgorithmException e) { 35 | e.printStackTrace(); 36 | } 37 | } 38 | 39 | public String getEmployeeId(String md5Str){ 40 | return map.get(md5Str); 41 | } 42 | 43 | public Map getMap() { 44 | return map; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/OperationUserService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.OperationUser; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2017/7/11. 9 | */ 10 | public interface OperationUserService { 11 | 12 | int insertUser(String username,String password); 13 | 14 | int deleteUser(int userId); 15 | 16 | int updateUser(int userId,String password); 17 | 18 | List selectUserIdByUsername(String username); 19 | 20 | String selectUsernameByUserId(int userId); 21 | 22 | List selectAllUser(); 23 | 24 | OperationUser selectUser(int userId,String password); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/ServiceGroupPeople.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | import java.util.ArrayList; 6 | import java.util.HashMap; 7 | import java.util.List; 8 | 9 | /** 10 | * Created by Lee on 2017/9/7. 11 | */ 12 | @Service 13 | public class ServiceGroupPeople { 14 | 15 | private HashMap> group = new HashMap>(); 16 | 17 | public ServiceGroupPeople(){ 18 | for (int i = 1; i <= 10; i++){ 19 | group.put(i, new ArrayList()); 20 | } 21 | } 22 | 23 | public void joinGroup(int groupId, int serviceId){ 24 | List list = group.get(groupId); 25 | list.add(serviceId); 26 | } 27 | 28 | public boolean groupIsEmpty(int groupId){ 29 | if (group.get(groupId).size() == 0){ 30 | return true; 31 | } 32 | return false; 33 | } 34 | 35 | public void quit(int serviceId){ 36 | for (List list : group.values()){ 37 | for (int i : list){ 38 | if (i == serviceId){ 39 | list.remove(new Integer(i)); 40 | } 41 | } 42 | } 43 | } 44 | 45 | public int findNotEmptyGroup(){ 46 | for (Integer i : group.keySet()){ 47 | if (group.get(i).size() != 0){ 48 | return i; 49 | } 50 | } 51 | return 2; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/ServiceGroupService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.bean.GroupAndPersonNum; 4 | import org.obsidian.scss.entity.ServiceGroup; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by Administrator on 2017/7/10. 10 | */ 11 | public interface ServiceGroupService { 12 | 13 | int insertGroup(String name); 14 | 15 | int deleteGroup(int groupId); 16 | 17 | int updateGroup(int groupId,String name); 18 | 19 | ServiceGroup selectGroupByGroupId(int groupId); 20 | 21 | ServiceGroup selectGroupByName(String name); 22 | 23 | List selectAllGroup(); 24 | 25 | List selectGroupPersonNum(); 26 | 27 | int deleteGroupById(int id); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/WorkTimeService.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.obsidian.scss.entity.TimeAndRank; 4 | import org.obsidian.scss.entity.WorkTime; 5 | 6 | import java.sql.Time; 7 | import java.util.List; 8 | 9 | /** 10 | * Created by Administrator on 2017/7/10. 11 | */ 12 | public interface WorkTimeService { 13 | int online(int serviceId); 14 | 15 | int offline(int serviceId); 16 | 17 | int deleteWorkTime(int workTimeId); 18 | 19 | int deleteAllWorkTimeList(int serviceId); 20 | 21 | List selectAllWorkTimeList(int serviceId); 22 | 23 | Long selectAllWorkTimeSum(int serviceId); 24 | 25 | long getTodayWorkTime(int serviceId); 26 | 27 | int getTodayWorkTimeRank(int serviceId); 28 | 29 | /*** 30 | * Create By CJN 31 | */ 32 | 33 | int OnlineServer(); 34 | List selectTimeAndRank(long startTime,long endTime,int serviceId); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/AddTagResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.AddTag; 6 | import org.obsidian.scss.bean.Message; 7 | import org.obsidian.scss.conversation.WebSocket; 8 | import org.obsidian.scss.service.ClientService; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Service; 11 | import org.springframework.transaction.annotation.Transactional; 12 | 13 | import java.lang.reflect.Type; 14 | 15 | /** 16 | * Created by Administrator on 2017/7/17. 17 | */ 18 | @Service 19 | public class AddTagResolver implements ContentResolver { 20 | 21 | @Autowired 22 | private ClientService clientService; 23 | 24 | @Transactional 25 | public void resolve(String msgJson, WebSocket webSocket) { 26 | Gson gson = new Gson(); 27 | Type objectType = new TypeToken>(){}.getType(); 28 | Message message = gson.fromJson(msgJson,objectType); 29 | AddTag addTag = message.getContent(); 30 | int clientId = addTag.getClientId(); 31 | String tag = addTag.getTag(); 32 | clientService.addFlag(clientId,tag); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/CommonLanguageClickResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.CommonLanguageClick; 6 | import org.obsidian.scss.bean.Message; 7 | import org.obsidian.scss.conversation.WebSocket; 8 | import org.obsidian.scss.service.CommonLanguageService; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Service; 11 | import org.springframework.transaction.annotation.Transactional; 12 | 13 | import java.lang.reflect.Type; 14 | 15 | /** 16 | * Created by Administrator on 2017/7/24. 17 | */ 18 | @Service 19 | public class CommonLanguageClickResolver implements ContentResolver { 20 | 21 | @Autowired 22 | private CommonLanguageService commonLanguageService; 23 | 24 | @Transactional 25 | public void resolve(String msgJson, WebSocket webSocket) { 26 | Gson gson = new Gson(); 27 | Type objectType = new TypeToken>(){}.getType(); 28 | Message message = gson.fromJson(msgJson,objectType); 29 | CommonLanguageClick commonLanguageClick = message.getContent(); 30 | int commonLanguageId = commonLanguageClick.getCommonLanguageId(); 31 | commonLanguageService.addCommonLanguageFrequency(commonLanguageId); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/ContentResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import org.obsidian.scss.bean.ClientChat; 4 | import org.obsidian.scss.conversation.WebSocket; 5 | 6 | import javax.websocket.Session; 7 | 8 | /** 9 | * 处理从前端接收的消息 10 | * Created by Lee on 2017/7/12. 11 | */ 12 | public interface ContentResolver{ 13 | void resolve(String msgJson, WebSocket webSocket); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/DeleteTagResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.AddTag; 6 | import org.obsidian.scss.bean.Message; 7 | import org.obsidian.scss.conversation.WebSocket; 8 | import org.obsidian.scss.service.ClientService; 9 | import org.obsidian.scss.service.FlagService; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Service; 12 | import org.springframework.transaction.annotation.Transactional; 13 | 14 | import java.lang.reflect.Type; 15 | 16 | /** 17 | * Created by Administrator on 2017/7/17. 18 | */ 19 | @Service 20 | public class DeleteTagResolver implements ContentResolver { 21 | 22 | @Autowired 23 | private ClientService clientService; 24 | 25 | @Autowired 26 | private FlagService flagService; 27 | 28 | @Transactional 29 | public void resolve(String msgJson, WebSocket webSocket) { 30 | Gson gson = new Gson(); 31 | Type objectType = new TypeToken>(){}.getType(); 32 | Message message = gson.fromJson(msgJson,objectType); 33 | AddTag addTag = message.getContent(); 34 | int clientId = addTag.getClientId(); 35 | String tag = addTag.getTag(); 36 | int flagId = flagService.selectFlagId(tag); 37 | if(flagId != 0){ 38 | clientService.deleteFlag(clientId,flagId); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/FastSearchKnowledgesResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.FastSearchKnowledges; 6 | import org.obsidian.scss.bean.Message; 7 | import org.obsidian.scss.bean.RecommandKnowledges; 8 | import org.obsidian.scss.conversation.WebSocket; 9 | import org.obsidian.scss.entity.Knowledge; 10 | import org.obsidian.scss.service.KnowledgeService; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | 15 | import javax.websocket.Session; 16 | import java.io.IOException; 17 | import java.lang.reflect.Type; 18 | import java.util.List; 19 | 20 | /** 21 | * Created by Administrator on 2017/7/18. 22 | */ 23 | @Service 24 | public class FastSearchKnowledgesResolver implements ContentResolver { 25 | 26 | @Autowired 27 | private KnowledgeService knowledgeService; 28 | 29 | @Transactional 30 | public void resolve(String msgJson, WebSocket webSocket) { 31 | Session session = webSocket.getSession(); 32 | Gson gson = new Gson(); 33 | Type objectType = new TypeToken>(){}.getType(); 34 | Message message = gson.fromJson(msgJson,objectType); 35 | FastSearchKnowledges fastSearchKnowledges = message.getContent(); 36 | int conversationId = fastSearchKnowledges.getConversationId(); 37 | String searchSentence = fastSearchKnowledges.getSearchSentence(); 38 | List knowledgeList = knowledgeService.getKnowledgeByContent(searchSentence); 39 | RecommandKnowledges recommandKnowledges = new RecommandKnowledges(conversationId,knowledgeList); 40 | Message res = new Message(recommandKnowledges); 41 | try{ 42 | session.getBasicRemote().sendText(gson.toJson(res)); 43 | } 44 | catch (IOException e){ 45 | e.printStackTrace(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/ResolverFactory.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.ClientChat; 6 | import org.obsidian.scss.bean.Message; 7 | import org.obsidian.scss.conversation.WebSocket; 8 | import org.springframework.beans.BeansException; 9 | import org.springframework.context.ApplicationContext; 10 | import org.springframework.context.ApplicationContextAware; 11 | import org.springframework.stereotype.Service; 12 | 13 | import javax.websocket.Session; 14 | import java.lang.reflect.Type; 15 | 16 | /** 17 | * Created by Lee on 2017/7/12. 18 | */ 19 | @Service 20 | public class ResolverFactory implements ApplicationContextAware{ 21 | 22 | private ApplicationContext applicationContext; 23 | 24 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 25 | this.applicationContext = applicationContext; 26 | } 27 | 28 | public void doAction(String msgJson, WebSocket webSocket){ 29 | System.out.println("doAction"); 30 | Gson gson = new Gson(); 31 | Message message = gson.fromJson(msgJson, Message.class); 32 | String type = message.getType() + "Resolver"; 33 | System.out.println(type); 34 | ((ContentResolver)applicationContext.getBean(type)).resolve(msgJson, webSocket); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/service/resolver/SetScoreResolver.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service.resolver; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.reflect.TypeToken; 5 | import org.obsidian.scss.bean.ConversationEndReq; 6 | import org.obsidian.scss.bean.ConversationEndSignal; 7 | import org.obsidian.scss.bean.Message; 8 | import org.obsidian.scss.bean.SetScore; 9 | import org.obsidian.scss.conversation.WebSocket; 10 | import org.obsidian.scss.dao.ConversationMapper; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | 15 | import javax.websocket.Session; 16 | import java.io.IOException; 17 | import java.lang.reflect.Type; 18 | import java.util.Date; 19 | 20 | /** 21 | * Created by Lee on 2017/7/18. 22 | */ 23 | @Service 24 | public class SetScoreResolver implements ContentResolver { 25 | 26 | private Gson gson = new Gson(); 27 | 28 | @Autowired 29 | private ConversationMapper conversationMapper; 30 | 31 | @Transactional 32 | public void resolve(String msgJson, WebSocket webSocket) { 33 | Session session = webSocket.getSession(); 34 | Type objectType = new TypeToken>(){}.getType(); 35 | Message message = gson.fromJson(msgJson, objectType); 36 | SetScore setScore = message.getContent(); 37 | int score = setScore.getScore(); 38 | int conversationId = setScore.getConversationId(); 39 | System.out.println("!!" + score + conversationId); 40 | System.out.println(conversationMapper + "!!"); 41 | conversationMapper.updateScore(conversationId,score); 42 | webSocket.setServiceId(0); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/obsidian/scss/util/TrieNode.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.util; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | /** 7 | * Created by Lee on 2017/7/9. 8 | * 字典树节点 9 | */ 10 | public class TrieNode { 11 | 12 | Map children; 13 | 14 | boolean wordEnd; 15 | 16 | Integer keyId; 17 | 18 | Character character; 19 | 20 | public TrieNode(Character character, Integer keyId){ 21 | this.children = new HashMap(); 22 | this.wordEnd = false; 23 | this.keyId = keyId; 24 | this.character = character; 25 | } 26 | 27 | public TrieNode(){ 28 | this.children = new HashMap(); 29 | this.wordEnd = false; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | ddlog4j.rootLogger=DEBUG,Console 2 | 3 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 4 | 5 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 6 | 7 | log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 8 | 9 | log4j.logger.org.apache=INFO -------------------------------------------------------------------------------- /src/main/resources/mybatis-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/mysql-connector-java-6.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/resources/mysql-connector-java-6.0.6.jar -------------------------------------------------------------------------------- /src/main/resources/spring/spring-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/OverView.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: hp 4 | Date: 2017/7/14 5 | Time: 9:29 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 10 | 11 | Title 12 | 13 | 14 | HelloCjn 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/customerServiceManagement.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: hp 4 | Date: 2017/7/14 5 | Time: 17:08 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 10 | 11 | Title 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Hello World!

4 |
5 | 6 | 7 | 8 |
9 |
10 | 11 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/serviceWS.jsp: -------------------------------------------------------------------------------- 1 | <%@page contentType="text/html; UTF-8" pageEncoding="UTF-8" %> 2 | 3 | 4 | 5 | 6 | Document 7 | 8 | 9 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/jsp/ws.jsp: -------------------------------------------------------------------------------- 1 | <%@page contentType="text/html; UTF-8" pageEncoding="UTF-8" %> 2 | 3 | 4 | 5 | 6 | Document 7 | 8 | 9 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | Archetype Created Web Application 11 | 12 | /page/kf_login.html 13 | 14 | 15 | 16 | 17 | contextConfigLocation 18 | classpath*:spring/spring-service.xml 19 | 20 | 21 | 22 | 23 | org.springframework.web.context.ContextLoaderListener 24 | 25 | 26 | 27 | 28 | DispatcherServlet 29 | org.springframework.web.servlet.DispatcherServlet 30 | 31 | contextConfigLocation 32 | classpath:spring/spring-web.xml 33 | 34 | 35 | 36 | DispatcherServlet 37 | / 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/page/css/customer.css: -------------------------------------------------------------------------------- 1 | #bg{ 2 | position: absolute; 3 | top: 0; 4 | bottom: 0; 5 | left: 0; 6 | right: 0; 7 | background-image: url(../img/bg.jpg); 8 | background-size: 100% 100%; 9 | z-index: -9999; 10 | overflow: hidden; 11 | } 12 | #wenzi{ 13 | position: absolute; 14 | text-align: center; 15 | top: 100px; 16 | left: 200px; 17 | color: rgba(251,251,251,0.9); 18 | font-size: 3em; 19 | font-family: '楷体' 20 | } 21 | #kfWindow{ 22 | display: none; 23 | } 24 | #chatMain{ 25 | width: 400px; 26 | height: 600px; 27 | } 28 | #chatMain-msgList{ 29 | height: calc(100% - 50px - 145px); /*-上部标题 -下部按钮区 -编辑器区*/ 30 | overflow: auto; 31 | overflow-y: auto; 32 | } 33 | .chatMain-bottom{ 34 | height: 40px; 35 | padding: 5px; 36 | } 37 | .chatMain-bottom button{ 38 | float: right; 39 | width: 100px; 40 | } 41 | .chatMain-bottom-tip{ 42 | line-height: 40px; 43 | float: right; 44 | margin-right: 20px; 45 | color: #212121; 46 | } 47 | 48 | .layim-chat-text hr{ 49 | margin:0 0; 50 | background-color: #a5a5a5; 51 | } 52 | 53 | .questionPush{ 54 | cursor: pointer; 55 | color: blue !important; 56 | } 57 | .questionPush:hover{ 58 | text-decoration: underline; 59 | } 60 | #scoreWindow{ 61 | font-size: 30px; 62 | } 63 | .scoreWindow-starList{ 64 | padding-left: 60px; 65 | padding-right: 60px; 66 | line-height: 60px; 67 | } 68 | .golden{ 69 | color: goldenrod; 70 | cursor: pointer; 71 | } -------------------------------------------------------------------------------- /src/main/webapp/page/css/customerMobile.css: -------------------------------------------------------------------------------- 1 | #kfWindow{ 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | right: 0; 6 | bottom: 0; 7 | } 8 | #header{ 9 | height: 60px; 10 | color: white; 11 | background-color: #5FB878; 12 | font-family: '黑体'; 13 | overflow: hidden; 14 | line-height: 60px; 15 | } 16 | #header-title{ 17 | height: 60px; 18 | font-size: 22px; 19 | position: absolute; 20 | left: calc(50% - 2em); 21 | } 22 | #header-back{ 23 | font-size: 18px; 24 | position: absolute; 25 | left: 10px; 26 | } 27 | #header-back > i{ 28 | font-size: 27px; 29 | } 30 | #header-rengong{ 31 | font-size: 18px; 32 | position: absolute; 33 | right: 10px; 34 | } 35 | #chatMain{ 36 | width: 100%; 37 | height: 100%; 38 | } 39 | #chatMain-msgList{ 40 | height: calc(100% - 60px - 50px); /*-上部标题 -下部按钮区 -编辑器区*/ 41 | overflow: auto; 42 | overflow-y: auto; 43 | } 44 | .chatMain-bottom{ 45 | height: 40px; 46 | padding: 5px; 47 | } 48 | .chatMain-bottom button{ 49 | float: right; 50 | width: 100px; 51 | } 52 | .chatMain-bottom-tip{ 53 | line-height: 40px; 54 | float: right; 55 | margin-right: 20px; 56 | color: #212121; 57 | } 58 | 59 | .layim-chat-text hr{ 60 | margin:0 0; 61 | background-color: #a5a5a5; 62 | } 63 | 64 | .questionPush{ 65 | cursor: pointer; 66 | color: blue !important; 67 | } 68 | .questionPush:hover{ 69 | text-decoration: underline; 70 | } 71 | #inputBar{ 72 | height: 50px; 73 | background-color: #EEEEEE; 74 | } 75 | #input{ 76 | height: 28px; 77 | margin: 10px 0 10px 5px; 78 | width: 80%; 79 | } 80 | .sendBtn{ 81 | height: 28px; 82 | font-size: inherit; 83 | width: calc(20% - 20px); 84 | } -------------------------------------------------------------------------------- /src/main/webapp/page/css/m_login_css.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-image: url("../img/mbg.jpg"); 3 | /*background:#0f0f0f;*/ 4 | font-family: "Roboto",sans-serif; 5 | 6 | } 7 | .bottom span{ 8 | font-size: 120%; 9 | } 10 | .bottom a{ 11 | text-decoration: none; 12 | color: #f8f8f8; 13 | } 14 | .bottom a:hover{ 15 | font-weight: bold; 16 | } 17 | .container{ 18 | margin-top: 3%; 19 | } 20 | .text-center{ 21 | color: #f8f8f8; 22 | } 23 | .form-box{ 24 | background: #e3e3e3; 25 | border-radius: 4px; 26 | margin-top: 40px; 27 | padding-right: 0; 28 | padding-left: 0; 29 | margin-bottom: 20px; 30 | } 31 | .form-top{ 32 | background: #fbfbfb; 33 | overflow: hidden; 34 | border-radius: 4px; 35 | padding: 5px 20px 15px 20px; 36 | } 37 | .form-top-right{ 38 | padding-top: 10px; 39 | } 40 | .form-body{ 41 | padding: 20px 20px 40px 20px; 42 | } -------------------------------------------------------------------------------- /src/main/webapp/page/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/webapp/page/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/webapp/page/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/page/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/webapp/page/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/webapp/page/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/1.jpg -------------------------------------------------------------------------------- /src/main/webapp/page/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/bg1.jpg -------------------------------------------------------------------------------- /src/main/webapp/page/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/bg2.jpg -------------------------------------------------------------------------------- /src/main/webapp/page/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/logo.png -------------------------------------------------------------------------------- /src/main/webapp/page/img/logo.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/logo.psd -------------------------------------------------------------------------------- /src/main/webapp/page/img/mbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/mbg.jpg -------------------------------------------------------------------------------- /src/main/webapp/page/img/tx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/tx.jpg -------------------------------------------------------------------------------- /src/main/webapp/page/img/tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/img/tx.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery-ui 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | Copyright and related rights for sample code are waived via CC0. Sample 34 | code is defined as all source code contained within the demos directory. 35 | 36 | CC0: http://creativecommons.org/publicdomain/zero/1.0/ 37 | 38 | ==== 39 | 40 | All files located in the node_modules and external directories are 41 | externally maintained libraries used by this software which have their 42 | own licenses; we recommend you read them, as their terms may differ from 43 | the terms above. 44 | -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:30px;line-height:30px;border-bottom:1px solid #ddd}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #ddd;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/laydate/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/laydate/icon.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiQiyao/SCSS/cb9acb5503ac6d29b4900e38faa41acf548408ad/src/main/webapp/page/js/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.jquery,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var u=l(e.elem);if(u[0]){var f=l(e.scrollElem||document),m=e.mb||50,s=!("isAuto"in e)||e.isAuto,y=e.end||"没有更多了",v=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");u.find(".layui-flow-more")[0]||u.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(y):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(f.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=v?e.height():l(window).height(),n=v?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=m&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var f=e.attr("lay-src");layui.img(f,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",f).removeAttr("lay-src"),l[0]&&u(l),i++})}},u=function(e,o){var u=a?(o||n).height():l(window).height(),f=n.scrollTop(),m=f+u;if(t.lazyimg.elem=l(r),e)c(e,u);else for(var s=0;sm)break}};if(u(),!o){var f;n.on("scroll",function(){var e=l(this);f&&clearTimeout(f),f=setTimeout(function(){u(null,e)},50)}),o=!0}return u},e("flow",new o)}); -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},n={exp:function(e){return new RegExp(e,"g")},query:function(e,n,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return c((n||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var n="Laytpl Error:";return"object"==typeof console&&console.error(n+e+"\n"+(r||"")),n+e}},c=n.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=c("^"+r.open+"#",""),l=c(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(c(r.open+"#"),r.open+"# ").replace(c(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(/(?="|')/g,"\\").replace(n.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(n.query(1),function(e){var n='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(c(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),n='"+_escape_('),n+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,n.escape)}catch(u){return delete o.cache,n.error(u,p)}},t.pt.render=function(e,r){var c,t=this;return e?(c=t.cache?t.cache(e,n.escape):t.parse(t.tpl,e),r?void r(c):c):n.error("no data")};var o=function(e){return"string"!=typeof e?n.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var n in e)r[n]=e[n]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /src/main/webapp/page/js/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(l){"use strict";var o=layui.jquery,i={fixbar:function(l){l=l||{},l.bgcolor=l.bgcolor?"background-color:"+l.bgcolor:"";var i,a,c="layui-fixbar-top",t=[l.bar1===!0?"":l.bar1,l.bar2===!0?"":l.bar2,""],r=o(['
    ',l.bar1?'
  • '+t[0]+"
  • ":"",l.bar2?'
  • '+t[1]+"
  • ":"",'
  • '+t[2]+"
  • ","
"].join("")),e=r.find("."+c),s=function(){var i=o(document).scrollTop();i>=(l.showHeight||200)?a||(e.show(),a=1):a&&(e.hide(),a=0)};o(".layui-fixbar")[0]||("object"==typeof l.css&&r.css(l.css),o("body").append(r),s(),r.find("li").on("click",function(){var i=o(this),a=i.attr("lay-type");"top"===a&&o("html,body").animate({scrollTop:0},200),l.click&&l.click.call(this,a)}),o(document).on("scroll",function(){i&&clearTimeout(i),i=setTimeout(function(){s()},100)}))}};l("util",i)}); -------------------------------------------------------------------------------- /src/main/webapp/page/js/src/customer/customerHandle.js: -------------------------------------------------------------------------------- 1 | //咨询者端的 2 | MControl.addHandle('ConversationStart',function(content) { 3 | $.cookie('account',content.account,{expires: 15, path: '/' }); 4 | conversationId=content.conversationId; 5 | clientId=content.clientId; 6 | }); -------------------------------------------------------------------------------- /src/main/webapp/page/js/src/customer/customerMessage.js: -------------------------------------------------------------------------------- 1 | class Message{ 2 | constructor(type,content){ 3 | this.type=type; 4 | this.content=content; 5 | } 6 | } 7 | 8 | class ClientLogin{ 9 | constructor(accessId,account){ 10 | this.accessId=accessId; 11 | this.account=account; 12 | } 13 | } 14 | 15 | class UserInfoReq{ 16 | constructor(userType,userId){ 17 | this.userType=userType; 18 | this.userId=userId; 19 | } 20 | } 21 | 22 | class ServiceLogin{ 23 | constructor(token){ 24 | this.token=token; 25 | } 26 | } 27 | 28 | class ClientChat{ 29 | constructor(conversationId,clientId,contentType,content,time){ 30 | this.conversationId=conversationId; 31 | this.clientId=clientId; 32 | this.contentType=contentType; 33 | this.content=content; 34 | this.time=time;//只有服务端才填,可不填 35 | } 36 | } 37 | 38 | class SetScore{ 39 | constructor(conversationId,score){ 40 | this.conversationId=conversationId; 41 | this.score=score; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/webapp/page/js/src/customer2/customerHandle.js: -------------------------------------------------------------------------------- 1 | //咨询者端的 2 | MControl.addHandle('ConversationStart',function(content) { 3 | $.cookie('account',content.account,{expires: 15, path: '/' }); 4 | conversationId=content.conversationId; 5 | clientId=content.clientId; 6 | 7 | let map = new Map(); 8 | for (let msg of content.chatLogList){ 9 | msg.time = new Date(msg.time); 10 | map.set(msg.senderId,msg); 11 | } 12 | for(let msg of map.values()){ 13 | getUserBriefInfo(msg.senderId, 1 - msg.fromClient); 14 | } 15 | 16 | 17 | chatApp.msgList = content.chatLogList; 18 | 19 | FLAG_UPDATE_CHAT =true; 20 | }); 21 | 22 | MControl.addHandle('UserInfoResp', function (info) { 23 | chatApp.$set(chatApp.nickNameManager[1 - info.userType], info.userId, info.nickName); 24 | }); 25 | 26 | MControl.addHandle('ClientChat', function (chat) { 27 | getUserBriefInfo(clientId,0); 28 | chatApp.msgList.push( 29 | new VueChatMessage(chat.clientId, 1, new Date(chat.time), chat.contentType, chat.content) 30 | ); 31 | 32 | FLAG_UPDATE_CHAT =true; 33 | }); 34 | 35 | MControl.addHandle('ServiceChat', function (chat) { 36 | getUserBriefInfo(chat.serviceId,1); 37 | chatApp.msgList.push( 38 | new VueChatMessage(chat.serviceId, 0, new Date(chat.time), chat.contentType, chat.content) 39 | ); 40 | 41 | FLAG_UPDATE_CHAT =true; 42 | }); 43 | 44 | MControl.addHandle('RobotChat',function(chat){ 45 | getUserBriefInfo(0,1); 46 | let msg = new VueChatMessage(0,0,new Date(chat.time),0,chat.answer); 47 | msg.questionPush = chat.questionPush; 48 | chatApp.msgList.push(msg); 49 | 50 | FLAG_UPDATE_CHAT =true; 51 | }); 52 | 53 | MControl.addHandle('ScoreReq',function(data){ 54 | openScore(); 55 | }); -------------------------------------------------------------------------------- /src/main/webapp/page/js/src/customer2/customerMessage.js: -------------------------------------------------------------------------------- 1 | class Message{ 2 | constructor(type,content){ 3 | this.type=type; 4 | this.content=content; 5 | } 6 | } 7 | 8 | class ClientLogin{ 9 | constructor(accessId,account){ 10 | this.accessId=accessId; 11 | this.account=account; 12 | } 13 | } 14 | 15 | class UserInfoReq{ 16 | constructor(userType,userId){ 17 | this.userType=userType; 18 | this.userId=userId; 19 | } 20 | } 21 | 22 | class ClientChat{ 23 | constructor(conversationId,clientId,contentType,content,time){ 24 | this.conversationId=conversationId; 25 | this.clientId=clientId; 26 | this.contentType=contentType; 27 | this.content=content; 28 | this.time=time;//只有服务端才填,可不填 29 | } 30 | } 31 | 32 | class SetScore{ 33 | constructor(conversationId,score){ 34 | this.conversationId=conversationId; 35 | this.score=score; 36 | } 37 | } -------------------------------------------------------------------------------- /src/main/webapp/page/routertest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 8 | 9 | 10 |
11 |

Hello App!

12 |

13 | 14 | 15 | 16 | 18 |

19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 59 | 60 | -------------------------------------------------------------------------------- /src/test/java/KnowledgeServiceTest.java: -------------------------------------------------------------------------------- 1 | import org.junit.Test; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | /** 6 | * Created by Lee on 2017/7/11. 7 | */ 8 | public class KnowledgeServiceTest { 9 | 10 | 11 | } -------------------------------------------------------------------------------- /src/test/java/Test.java: -------------------------------------------------------------------------------- 1 | import org.junit.runner.RunWith; 2 | import org.obsidian.scss.service.FlagService; 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.test.annotation.Rollback; 5 | import org.springframework.test.context.ContextConfiguration; 6 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * Created by Administrator on 2017/7/10. 13 | */ 14 | @RunWith(SpringJUnit4ClassRunner.class) 15 | @ContextConfiguration({"classpath:spring/spring-*.xml"}) 16 | @Transactional(transactionManager = "transactionManager") 17 | @Rollback(value = false) 18 | public class Test { 19 | 20 | @Autowired 21 | 22 | @org.junit.Test 23 | public void test(){ 24 | 25 | } 26 | } -------------------------------------------------------------------------------- /src/test/java/org/obsidian/scss/service/ChatLogServiceTest.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.obsidian.scss.dao.ChatLogMapper; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.test.context.ContextConfiguration; 8 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Created by Lee on 2017/7/13. 14 | */ 15 | @ContextConfiguration("classpath:spring/spring-*.xml") 16 | @RunWith(SpringJUnit4ClassRunner.class) 17 | public class ChatLogServiceTest { 18 | 19 | @Autowired 20 | private ChatLogService chatLogService; 21 | 22 | @Autowired 23 | private ClientService clientService; 24 | 25 | @Test 26 | public void add() throws Exception { 27 | chatLogService.add(1,1,0,"hhhh",122222L,1); 28 | } 29 | 30 | @Test 31 | public void getByClientId() throws Exception { 32 | clientService.insertClient(null, null, null, null, 0); 33 | } 34 | } -------------------------------------------------------------------------------- /src/test/java/org/obsidian/scss/service/ConversationServiceTest.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.test.context.ContextConfiguration; 7 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 8 | 9 | import static org.junit.Assert.*; 10 | 11 | /** 12 | * Created by Lee on 2017/7/13. 13 | */ 14 | @ContextConfiguration("classpath:spring/spring-*.xml") 15 | @RunWith(SpringJUnit4ClassRunner.class) 16 | public class ConversationServiceTest { 17 | 18 | @Autowired 19 | private ConversationService conversationService; 20 | 21 | @Test 22 | public void getByClientId() throws Exception { 23 | 24 | } 25 | 26 | @Test 27 | public void getByServiceId() throws Exception { 28 | 29 | } 30 | 31 | @Test 32 | public void getAvgScoreByServiceId() throws Exception { 33 | 34 | } 35 | 36 | @Test 37 | public void startConversation() throws Exception { 38 | conversationService.startConversation(1, 1, 100000); 39 | } 40 | 41 | @Test 42 | public void endConversation() throws Exception { 43 | conversationService.endConversation(1,199999, 3); 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/test/java/org/obsidian/scss/service/GroupWordServiceTest.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.context.annotation.Configuration; 7 | import org.springframework.test.context.ContextConfiguration; 8 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Created by Lee on 2017/7/15. 14 | */ 15 | @RunWith(SpringJUnit4ClassRunner.class) 16 | @ContextConfiguration(value = "classpath:spring/spring-*.xml") 17 | public class GroupWordServiceTest { 18 | 19 | @Autowired 20 | private GroupWordService groupWordService; 21 | 22 | @Test 23 | public void getTrie() throws Exception { 24 | String s = "abc"; 25 | String s1 = new String("abc"); 26 | String s2 = new String("cba"); 27 | String s3 = "cbd"; 28 | System.out.println(s == s1); 29 | System.out.println(s2 == s3); 30 | } 31 | 32 | @Test 33 | public void getServiceGroupIdByContent() throws Exception { 34 | Integer integer = groupWordService.getServiceGroupIdByContent("sdsadsa"); 35 | System.out.println(integer ); 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /src/test/java/org/obsidian/scss/service/TestSqlCjn.java: -------------------------------------------------------------------------------- 1 | package org.obsidian.scss.service; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.io.Resources; 5 | import org.apache.ibatis.session.SqlSession; 6 | import org.apache.ibatis.session.SqlSessionFactory; 7 | import org.apache.ibatis.session.SqlSessionFactoryBuilder; 8 | import org.junit.Before; 9 | import org.junit.Test; 10 | import org.junit.runner.RunWith; 11 | import org.obsidian.scss.dao.KeywordHeatMapper; 12 | import org.obsidian.scss.dao.KeywordMapper; 13 | import org.obsidian.scss.entity.Keyword; 14 | import org.obsidian.scss.entity.KeywordAndHeat; 15 | import org.obsidian.scss.entity.KeywordHeat; 16 | import org.obsidian.scss.entity.Knowledge; 17 | import org.springframework.beans.factory.annotation.Autowired; 18 | import org.springframework.test.context.ContextConfiguration; 19 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 20 | 21 | import java.io.IOException; 22 | 23 | /** 24 | * Created by hp on 2017/7/15. 25 | */ 26 | @ContextConfiguration("classpath:spring/spring-*.xml") 27 | @RunWith(SpringJUnit4ClassRunner.class) 28 | public class TestSqlCjn { 29 | @Autowired 30 | private KeywordHeatService keywordHeatService; 31 | @Autowired 32 | private CustomerServiceService customerServiceService; 33 | @Autowired 34 | private ConversationService conversationService; 35 | @Autowired 36 | private KnowledgeService knowledgeService; 37 | @Test 38 | public void testGetByIdWithOrdersWithProducts() { 39 | keywordHeatService.getHeatWord().get(0); 40 | } 41 | 42 | @Test 43 | public void testPerson(){ 44 | // customerServiceService.selectBySearchName("小"); 45 | // knowledgeService.selectKnowledgeBySearchName("小"); 46 | } 47 | } 48 | --------------------------------------------------------------------------------